]> icculus.org git repositories - mikachu/openbox.git/blob - otk/application.hh
surface started
[mikachu/openbox.git] / otk / application.hh
1 // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
2 #ifndef __application_hh
3 #define __application_hh
4
5 #include "eventdispatcher.hh"
6 #include "display.hh"
7 #include "configuration.hh"
8 #include "image.hh"
9 #include "style.hh"
10
11 namespace otk {
12
13 class AppWidget;
14
15 class Application : public EventDispatcher {
16
17 public:
18
19   Application(int argc, char **argv);
20   virtual ~Application();
21
22   virtual void run(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 private:
32   void loadStyle(void);
33
34   Display _display;
35   ImageControl *_img_ctrl;
36   Configuration *_style_conf;
37   Style *_style;
38   bool _dockable;
39
40   int _appwidget_count;
41
42   friend class AppWidget;
43 };
44
45 }
46
47 #endif