Laxkit  0.0.7.1
menubutton.h
1 //
2 //
3 // The Laxkit, a windowing toolkit
4 // Please consult http://laxkit.sourceforge.net about where to send any
5 // correspondence about this software.
6 //
7 // This library is free software; you can redistribute it and/or
8 // modify it under the terms of the GNU Library General Public
9 // License as published by the Free Software Foundation; either
10 // version 2 of the License, or (at your option) any later version.
11 //
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 // Library General Public License for more details.
16 //
17 // You should have received a copy of the GNU Library General Public
18 // License along with this library; if not, write to the Free Software
19 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 //
21 // Copyright (C) 2004-2007,2010-2011,2013 by Tom Lechner
22 //
23 #ifndef _LAX_MENUBUTTON_H
24 #define _LAX_MENUBUTTON_H
25 
26 
27 #include <lax/button.h>
28 #include <lax/menuinfo.h>
29 
30 #define MENUBUTTON_DOWNARROW (1<<22)
31 #define MENUBUTTON_CLICK_CALLS_OWNER (1<<23)
32 #define MENUBUTTON_LEFT (1<<24)
33 #define MENUBUTTON_RIGHT (1<<25)
34 #define MENUBUTTON_SEND_STRINGS (1<<26)
35 
36 #define MENUBUTTON_ICON_ONLY (1<<27)
37 #define MENUBUTTON_TEXT_ONLY (1<<28)
38 #define MENUBUTTON_TEXT_ICON (1<<29)
39 #define MENUBUTTON_ICON_TEXT (1<<30)
40 
41 namespace Laxkit {
42 
43 
44 class MenuButton : public Button
45 {
46  protected:
47  MenuInfo *menuinfo;
48  public:
49  unsigned long menubutton_style;
50  MenuButton(anXWindow *parnt,const char *nname,const char *ntitle,unsigned long nstyle,
51  int xx,int yy,int ww,int hh,int brder,
52  anXWindow *prev,unsigned long nowner,const char *nsendmes,int nid=-1,
53  MenuInfo *menu=NULL, int absorb=1,
54  const char *nlabel=NULL,
55  const char *filename=NULL,LaxImage *img=NULL,
56  int npad=0,int ngap=0);
57 
58  virtual ~MenuButton();
59  virtual const char *whattype() { return "MenuButton"; }
60  virtual int LBDown(int x,int y,unsigned int wstate,int count,const LaxMouse *d);
61  virtual int SetMenu(MenuInfo *menu, int absorb);
62  virtual void makePopup(int mouseid);
63 };
64 
65 } // namespace Laxkit
66 
67 #endif
68 

Mon Feb 17 2014 11:52:57, Laxkit