1: /*
2: ============================================================================
3: xoblite™ -> an advanced "extended shell" for Microsoft® Windows® 11
4: Copyright © 2002-2026 Karl Henrik Henriksson [qwilk/@xoblite]
5: Copyright © 2001-2004 The Blackbox for Windows Development Team
6: http://xoblite.net/ + https://github.com/xoblite/
7: ============================================================================
8:
9: Blackbox for Windows is free software, released under the
10: GNU General Public License (GPL version 2 or later), with an extension
11: that allows linking of proprietary modules under a controlled interface.
12: What this means is that plugins etc. are allowed to be released
13: under any license the author wishes. Please note, however, that the
14: original Blackbox gradient math code used in Blackbox for Windows
15: is available under the BSD license.
16:
17: http://www.fsf.org/licenses/gpl.html
18: http://www.fsf.org/licenses/gpl-faq.html#LinkingOverControlledInterface
19: http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5
20:
21: This program is distributed in the hope that it will be useful,
22: but WITHOUT ANY WARRANTY; without even the implied warranty of
23: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24: GNU General Public License for more details.
25:
26: For additional license information, please read the included license.html.
27:
28: ============================================================================
29: */
30:
31: #ifndef __PLUGINSMENU_H
32: #define __PLUGINSMENU_H
33:
34: #include "..\Menu\Menu.h"
35: #include "..\Menu\FolderItem.h"
36:
37: //===========================================================================
38:
39: class PluginMenu : public FolderItem
40: {
41: public:
42: PluginMenu(char* pszTitle);
43: virtual ~PluginMenu();
44: bool Active(bool bActivate);
45: void Attached(Menu* pMenu);
46: void UpdateFolder();
47: };
48:
49: //====================
50:
51: class UnloadPluginMenu : public FolderItem
52: {
53: public:
54: UnloadPluginMenu(char* pszTitle);
55: virtual ~UnloadPluginMenu();
56: bool Active(bool bActivate);
57: void Attached(Menu* pMenu);
58: void UpdateFolder();
59: };
60:
61: //====================
62:
63: class BroamMenu : public FolderItem
64: {
65: public:
66: BroamMenu(char* pszTitle);
67: virtual ~BroamMenu();
68: bool Active(bool bActivate);
69: void Attached(Menu* pMenu);
70: void UpdateFolder();
71: };
72:
73: //====================
74:
75: class PluginBroamList : public FolderItem
76: {
77: public:
78: PluginBroamList(char* pszTitle, int pluginNumber);
79: virtual ~PluginBroamList();
80: bool Active(bool bActivate);
81: void Attached(Menu* pMenu);
82: void UpdateFolder();
83: private:
84: int plugNumber;
85: };
86:
87: //===========================================================================
88:
89: #endif /* __PLUGINSMENU_H */
90: