]> icculus.org git repositories - mikachu/openbox.git/blob - src/Windowmenu.hh
change the font to be nicer
[mikachu/openbox.git] / src / Windowmenu.hh
1 // Windowmenu.hh for Blackbox - an X11 Window manager
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.hh"
27
28 // forward declaration
29 class Windowmenu;
30 class SendtoWorkspaceMenu;
31
32 class BlackboxWindow;
33
34 class Windowmenu : public Basemenu {
35 private:
36   BlackboxWindow *window;
37
38   class SendtoWorkspacemenu : public Basemenu {
39   private:
40     BlackboxWindow *window;
41     SendtoWorkspacemenu(const SendtoWorkspacemenu&);
42     SendtoWorkspacemenu& operator=(const SendtoWorkspacemenu&);
43
44   protected:
45     virtual void itemSelected(int button, unsigned int index);
46
47   public:
48     SendtoWorkspacemenu(Windowmenu *w);
49
50     void update(void);
51
52     virtual void show(void);
53   };
54
55   SendtoWorkspacemenu *sendToMenu;
56
57   friend class SendtoWorkspacemenu;
58
59   Windowmenu(const Windowmenu&);
60   Windowmenu& operator=(const Windowmenu&);
61
62 protected:
63   virtual void itemSelected(int button, unsigned int index);
64
65
66 public:
67   Windowmenu(BlackboxWindow *win);
68   virtual ~Windowmenu(void);
69
70   inline Basemenu *getSendToMenu(void) { return (Basemenu *) sendToMenu; }
71
72   void reconfigure(void);
73   void setClosable(void);
74
75   virtual void show(void);
76 };
77
78
79 #endif // __Windowmenu_hh