]> icculus.org git repositories - mikachu/openbox.git/blob - otk/application.hh
set the close protocol on the app's main widget
[mikachu/openbox.git] / otk / application.hh
1 #ifndef __application_hh
2 #define __application_hh
3
4 #include "eventdispatcher.hh"
5 #include "display.hh"
6 #include "configuration.hh"
7 #include "timerqueuemanager.hh"
8 #include "image.hh"
9 #include "style.hh"
10
11 namespace otk {
12
13 class OtkWidget;
14
15 class OtkApplication : public OtkEventDispatcher {
16
17 public:
18
19   OtkApplication(int argc, char **argv);
20   virtual ~OtkApplication();
21
22   virtual void exec(void);
23   // more bummy cool functionality
24
25   void setDockable(bool dockable) { _dockable = dockable; }
26   inline bool isDockable(void) const { return _dockable; }
27
28   inline Style *getStyle(void) const { return _style; }
29   // more accessors
30
31 protected:
32   bool setMainWidget(const OtkWidget *main_widget);
33
34 private:
35   void loadStyle(void);
36
37   const OtkWidget *_main_widget;
38   OBTimerQueueManager *_timer_manager;
39   BImageControl *_img_ctrl;
40   Configuration *_style_conf;
41   Style *_style;
42   bool _dockable;
43
44   friend class OtkWidget; // for access to setMainWidget
45 };
46
47 }
48
49 #endif