]> git.xonotic.org Git - xonotic/netradiant.git/blob - include/itoolbar.h
transfer from internal tree r5311 branches/1.4-gpl
[xonotic/netradiant.git] / include / itoolbar.h
1 /*\r
2 Copyright (C) 1999-2007 id Software, Inc. and contributors.\r
3 For a list of contributors, see the accompanying CONTRIBUTORS file.\r
4 \r
5 This file is part of GtkRadiant.\r
6 \r
7 GtkRadiant is free software; you can redistribute it and/or modify\r
8 it under the terms of the GNU General Public License as published by\r
9 the Free Software Foundation; either version 2 of the License, or\r
10 (at your option) any later version.\r
11 \r
12 GtkRadiant is distributed in the hope that it will be useful,\r
13 but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
15 GNU General Public License for more details.\r
16 \r
17 You should have received a copy of the GNU General Public License\r
18 along with GtkRadiant; if not, write to the Free Software\r
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\r
20 */\r
21 \r
22 #ifndef __IPLUGTOOLBAR_H_\r
23 #define __IPLUGTOOLBAR_H_\r
24 \r
25 /*\r
26 NOTE: this API requires Gtk\r
27 it's a good practice to avoid putting #include <gtk/gtk.h> here\r
28 in some cases, the compiler will get confused because of 'list' identifiers between Gtk and STL headers\r
29 */\r
30 \r
31 #define TOOLBAR_MAJOR "toolbar"\r
32 \r
33 class IToolbarButton\r
34 {\r
35 public:\r
36   enum EType\r
37   {\r
38     eSpace,\r
39     eButton,\r
40     eToggleButton,\r
41     eRadioButton,\r
42   };\r
43 \r
44   virtual const char* getImage() const = 0;\r
45   virtual const char* getText() const = 0;\r
46   virtual const char* getTooltip() const = 0;\r
47   virtual EType getType() const = 0;\r
48   virtual void activate() const = 0;\r
49 };\r
50 \r
51 typedef unsigned int  (* PFN_TOOLBARBUTTONCOUNT)();\r
52 typedef const IToolbarButton* (* PFN_GETTOOLBARBUTTON)(unsigned int index);\r
53 \r
54 struct _QERPlugToolbarTable\r
55 {\r
56   int m_nSize;\r
57   PFN_TOOLBARBUTTONCOUNT m_pfnToolbarButtonCount;\r
58   PFN_GETTOOLBARBUTTON   m_pfnGetToolbarButton;\r
59 };\r
60 \r
61 #endif\r