adding bootstrap which generates all the auto* files such as configure
[mikachu/openbox.git] / src / Windowmenu.h
1 // Windowmenu.h for Openbox
2 // Copyright (c) 2001 Sean 'Shaleh' Perry <shaleh@debian.org>
3 // Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net)
4 //
5 // Permission is hereby granted, free of charge, to any person obtaining a
6 // copy of this software and associated documentation files (the "Software"),
7 // to deal in the Software without restriction, including without limitation
8 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 // and/or sell copies of the Software, and to permit persons to whom the
10 // Software is furnished to do so, subject to the following conditions:
11 //
12 // The above copyright notice and this permission notice shall be included in
13 // all copies or substantial portions of the Software.
14 //
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 // DEALINGS IN THE SOFTWARE.
22
23 #ifndef   __Windowmenu_hh
24 #define   __Windowmenu_hh
25
26 #include "Basemenu.h"
27
28 // forward declaration
29 class Windowmenu;
30 class SendtoWorkspaceMenu;
31
32 class Openbox;
33 class OpenboxWindow;
34 class Toolbar;
35
36 class Windowmenu : public Basemenu {
37 private:
38   OpenboxWindow &window;
39   BScreen &screen;
40
41   class SendtoWorkspacemenu : public Basemenu {
42   private:
43     Windowmenu &windowmenu;
44
45   protected:
46     virtual void itemSelected(int, int);
47
48   public:
49     SendtoWorkspacemenu(Windowmenu &);
50
51     void update(void);
52
53     virtual void show(void);
54   };
55
56   SendtoWorkspacemenu *sendToMenu;
57
58   friend class SendtoWorkspacemenu;
59
60
61 protected:
62   virtual void itemSelected(int, int);
63
64
65 public:
66   Windowmenu(OpenboxWindow &);
67   virtual ~Windowmenu(void);
68
69   inline Basemenu *getSendToMenu(void) { return (Basemenu *) sendToMenu; }
70
71   void reconfigure(void);
72   void setClosable(void);
73
74   virtual void show(void);
75 };
76
77
78 #endif // __Windowmenu_hh