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 __FOLDERITEM_H
32: #define __FOLDERITEM_H
33:
34: #include "MenuItem.h"
35: #include "..\Settings\Settings.h"
36:
37: #define FOLDER_PATH 1
38: #define FOLDER_STYLES 2
39: #define FOLDER_THEMES 3
40:
41: //===========================================================================
42:
43: class FolderItem : public MenuItem
44: {
45: public:
46: FolderItem(Menu* pSubMenu, char* pszTitleANSI, wchar_t* pszTitleUnicode);
47: virtual ~FolderItem();
48:
49: void Attached(Menu* pMenu);
50: bool Active(bool bActivate);
51: void Invoke();
52:
53: void Timer(int nTimer);
54:
55: void ShowSubMenu();
56:
57: UINT m_nTimerId; // The current timer ID, 0 if the folder is not currently waiting...
58: };
59:
60: //===========================================================================
61:
62: class SpecialFolder : public FolderItem
63: {
64: public:
65: SpecialFolder(char* pszTitleANSI, wchar_t* pszTitleUnicode, char* pszPath, int menuType);
66: virtual ~SpecialFolder();
67:
68: void Invoke(int button);
69: bool Active(bool bActivate);
70: void Attached(Menu* pMenu);
71:
72: char* m_pszPath;
73: int m_MenuType;
74: };
75:
76: //===========================================================================
77:
78: #endif /* __FOLDERITEM_H */
79: