00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef EVDB_DISPLAYWINDOW_H
00010 #define EVDB_DISPLAYWINDOW_H
00011 #include <vector>
00012 #include <string>
00013 #include "TQObject.h"
00014 #include "RQ_OBJECT.h"
00015 class TGMainFrame;
00016 namespace evdb {
00017 class MenuBar;
00018 class ButtonBar;
00019 class StatusBar;
00020 class Canvas;
00021 typedef Canvas* (*CanvasCreator_t)(TGMainFrame* mf);
00022 }
00023
00024
00025
00026 namespace evdb {
00028 class DisplayWindow {
00029 RQ_OBJECT("evdb::DisplayWindow")
00030
00031 public:
00032 static void Register(const char* name,
00033 const char* description,
00034 unsigned int h,
00035 unsigned int w,
00036 CanvasCreator_t creator);
00037 static const std::vector<std::string>& Names();
00038 static int OpenWindow(int type=0);
00039
00040 DisplayWindow(int window=0);
00041 virtual ~DisplayWindow();
00042
00043 virtual void Draw(const char* opt="");
00044 virtual void CloseWindow();
00045 void Raise();
00046
00047 private:
00048 TGMainFrame* fMain;
00049 MenuBar* fMenuBar;
00050 ButtonBar* fButtonBar;
00051 StatusBar* fStatusBar;
00052 Canvas* fDisplay;
00053 };
00054 }
00055 #endif
00056