xoblite™ / Blackbox for Windows bb5 | RC6 preview | 0.25.2.14
http://xoblite.net/
ToolbarMenu Class Reference

#include <ToolbarMenu.h>

Public Member Functions

 ToolbarMenu (char *pszTitle)
 
virtual ~ToolbarMenu ()
 
bool Active (bool bActivate)
 
void Attached (Menu *pMenu)
 
void UpdateFolder ()
 
- Public Member Functions inherited from FolderItem
 FolderItem (Menu *pSubMenu, char *pszTitleANSI, wchar_t *pszTitleUnicode)
 
virtual ~FolderItem ()
 
void Invoke ()
 
void Timer (int nTimer)
 
void ShowSubMenu ()
 
- Public Member Functions inherited from MenuItem
 MenuItem (int type, char *pszTitleANSI, wchar_t *pszTitleUnicode, char *pszCommand, char *pszArgument, bool isSelected)
 
virtual ~MenuItem ()
 
virtual LRESULT NcHitTest (int x, int y)
 
int IsOver (int x, int y)
 
virtual void Mouse (UINT nMsg, POINT pt)
 
virtual void Invoke (int button)
 
virtual bool IsActive ()
 
virtual char * GetSortString ()
 
virtual void GetItemRect (RECT *r)
 
virtual void GetTitleRect (RECT *r)
 
virtual UINT GetDrawTextFormat ()
 
virtual void SetTitleANSI (char *pszTitleANSI)
 
virtual void SetTitleUnicode (wchar_t *pszTitleUnicode)
 
void AddToSelectionGroup (int group)
 
void ItemSetTimer ()
 
void ItemKillTimer ()
 
virtual void SetWidth (int nWidth)
 
virtual int GetWidth ()
 
virtual void SetHeight (int nHeight)
 
virtual int GetHeight ()
 
virtual void SetPosition (int nLeft, int nTop)
 
virtual void SetSortPriority (int nSortPriority)
 
virtual int GetSortPriority ()
 
virtual LRESULT Command (WPARAM wParam, LPARAM lParam)
 
virtual bool OnUser (int nMessage, WPARAM wParam, LPARAM lParam, LRESULT &lResult)
 
virtual void Moving ()
 
virtual HWND GetWindow ()
 
void ToggleSelected ()
 

Additional Inherited Members

- Static Public Member Functions inherited from MenuItem
static bool Compare (MenuItem *pM1, MenuItem *pM2)
 
- Public Attributes inherited from FolderItem
UINT m_nTimerId
 
- Public Attributes inherited from MenuItem
char * m_pszTitleANSI
 
wchar_t * m_pszTitleUnicode
 
int itemType
 
char * m_pszCommand
 
char * m_pszArgument
 
char * m_pszOriginalTitleANSI
 
wchar_t * m_pszOriginalTitleUnicode
 
bool m_isSelected
 
int m_selectionGroup
 
int m_currentValue
 
int m_minValue
 
int m_maxValue
 
POINT m_mousePos
 
int m_nSortPriority
 
Menum_pParent
 
Menum_pSubMenu
 
int m_nLeft
 
int m_nTop
 
int m_nWidth
 
int m_nHeight
 
bool m_bActive
 
UINT m_nTimerId
 
int m_nLastMouseButton
 

Constructor & Destructor Documentation

◆ ToolbarMenu()

ToolbarMenu::ToolbarMenu ( char * pszTitle)
52 : FolderItem(NULL, pszTitle, NULL)
53{
54}
FolderItem(Menu *pSubMenu, char *pszTitleANSI, wchar_t *pszTitleUnicode)
Definition FolderItem.cpp:43

◆ ~ToolbarMenu()

ToolbarMenu::~ToolbarMenu ( )
virtual
57{
58 m_pParent->RemoveChild(m_pSubMenu);
59 if (m_pSubMenu) delete m_pSubMenu;
60 m_pSubMenu = NULL;
61}
Menu * m_pSubMenu
Definition MenuItem.h:181
Menu * m_pParent
Definition MenuItem.h:180

Member Function Documentation

◆ Active()

bool ToolbarMenu::Active ( bool bActivate)
virtual

Reimplemented from FolderItem.

66{
67 if (bActivate && !m_bActive) UpdateFolder();
68 return FolderItem::Active(bActivate);
69}
bool Active(bool bActivate)
Definition FolderItem.cpp:76
bool m_bActive
Definition MenuItem.h:188
void UpdateFolder()
Definition ToolbarMenu.cpp:81

◆ Attached()

void ToolbarMenu::Attached ( Menu * pMenu)
virtual

Reimplemented from FolderItem.

72{
74 m_pSubMenu = new Menu(pMenuCommon->hInst);
75 m_pParent->AddChild(m_pSubMenu);
76 m_pSubMenu->SetParent(m_pParent);
77}
MenuCommon * pMenuCommon
Definition Blackbox.cpp:41
Menu * pMenu
Definition Blackbox.cpp:40
HINSTANCE hInst
Definition MenuCommon.h:94

◆ UpdateFolder()

void ToolbarMenu::UpdateFolder ( )
82{
83 m_pSubMenu->DeleteMenuItems();
85
86 MenuItem* groupItem;
87 char command[128];
88 char temp[MAX_LINE_LENGTH];
89
90 //====================
91
92 Menu* placementSubMenu = MakeMenu("Placement");
93
95 {
96 char itemTitle[128];
97 sprintf_s(itemTitle, sizeof(itemTitle), "<%s>", pSettings->ToolbarPlacement.rcString);
99 }
100 else groupItem = pMenuCommon->CreateMenuItem(placementSubMenu, MENUITEM_EDITSTRING, toolbarPlacementBroam, "Manual xC y-50", "<Manual xC y-50>", false);
102 pMenuCommon->CreateMenuItem(placementSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
103 groupItem = pMenuCommon->CreateMenuItem(placementSubMenu, MENUITEM_COMMAND, toolbarPlacementBroam, "TopLeft", "Top Left", (pSettings->ToolbarPlacement.placement == PLACEMENT_TOP_LEFT));
105 groupItem = pMenuCommon->CreateMenuItem(placementSubMenu, MENUITEM_COMMAND, toolbarPlacementBroam, "CenterLeft", "Center Left", (pSettings->ToolbarPlacement.placement == PLACEMENT_CENTER_LEFT));
107 groupItem = pMenuCommon->CreateMenuItem(placementSubMenu, MENUITEM_COMMAND, toolbarPlacementBroam, "BottomLeft", "Bottom Left", (pSettings->ToolbarPlacement.placement == PLACEMENT_BOTTOM_LEFT));
109 pMenuCommon->CreateMenuItem(placementSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
110 groupItem = pMenuCommon->CreateMenuItem(placementSubMenu, MENUITEM_COMMAND, toolbarPlacementBroam, "TopCenter", "Top Center", (pSettings->ToolbarPlacement.placement == PLACEMENT_TOP_CENTER));
112 groupItem = pMenuCommon->CreateMenuItem(placementSubMenu, MENUITEM_COMMAND, toolbarPlacementBroam, "BottomCenter", "Bottom Center", (pSettings->ToolbarPlacement.placement == PLACEMENT_BOTTOM_CENTER));
114 pMenuCommon->CreateMenuItem(placementSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
115 groupItem = pMenuCommon->CreateMenuItem(placementSubMenu, MENUITEM_COMMAND, toolbarPlacementBroam, "TopRight", "Top Right", (pSettings->ToolbarPlacement.placement == PLACEMENT_TOP_RIGHT));
117 groupItem = pMenuCommon->CreateMenuItem(placementSubMenu, MENUITEM_COMMAND, toolbarPlacementBroam, "CenterRight", "Center Right", (pSettings->ToolbarPlacement.placement == PLACEMENT_CENTER_RIGHT));
119 groupItem = pMenuCommon->CreateMenuItem(placementSubMenu, MENUITEM_COMMAND, toolbarPlacementBroam, "BottomRight", "Bottom Right", (pSettings->ToolbarPlacement.placement == PLACEMENT_BOTTOM_RIGHT));
121
122 MakeSubmenu(m_pSubMenu, placementSubMenu, "Placement");
123
124 //====================
125
126 Menu* orientationSubMenu = MakeMenu("Orientation");
127
128 groupItem = pMenuCommon->CreateMenuItem(orientationSubMenu, MENUITEM_COMMAND, toolbarOrientationBroam, "Horizontal", "Horizontal", !pSettings->toolbarVertical);
130 groupItem = pMenuCommon->CreateMenuItem(orientationSubMenu, MENUITEM_COMMAND, toolbarOrientationBroam, "Vertical", "Vertical", pSettings->toolbarVertical);
132
133 MakeSubmenu(m_pSubMenu, orientationSubMenu, "Orientation");
134
135 //====================
136
137 Menu* transparencySubMenu = MakeMenu("Transparency");
138
139 sprintf(command, "\"@xoblite Toolbar Transparency\" %d 1 255", pSettings->toolbarTransparencyAlpha);
140 pMenuCommon->CreateMenuItem(transparencySubMenu, MENUITEM_EDITINT, command, NULL, "Toolbar:", false);
141 sprintf(command, "\"@xoblite Toolbar Transparency Label\" %d 1 255", pSettings->toolbarLabelTransparencyAlpha);
142 pMenuCommon->CreateMenuItem(transparencySubMenu, MENUITEM_EDITINT, command, NULL, "Label:", false);
143 sprintf(command, "\"@xoblite Toolbar Transparency WindowLabel\" %d 1 255", pSettings->toolbarWindowLabelTransparencyAlpha);
144 pMenuCommon->CreateMenuItem(transparencySubMenu, MENUITEM_EDITINT, command, NULL, "WindowLabel:", false);
145 sprintf(command, "\"@xoblite Toolbar Transparency Clock\" %d 1 255", pSettings->toolbarClockTransparencyAlpha);
146 pMenuCommon->CreateMenuItem(transparencySubMenu, MENUITEM_EDITINT, command, NULL, "Clock:", false);
147 sprintf(command, "\"@xoblite Toolbar Transparency Button\" %d 1 255", pSettings->toolbarButtonTransparencyAlpha);
148 pMenuCommon->CreateMenuItem(transparencySubMenu, MENUITEM_EDITINT, command, NULL, "Button:", false);
149 sprintf(command, "\"@xoblite Toolbar Transparency ActiveTask\" %d 1 255", pSettings->taskbarActiveTransparencyAlpha);
150 pMenuCommon->CreateMenuItem(transparencySubMenu, MENUITEM_EDITINT, command, NULL, "Active Task:", false);
151
152 MakeSubmenu(m_pSubMenu, transparencySubMenu, "Transparency");
153
154 //====================
155
156 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
157
158 TaskbarMenu *taskbarSubMenu = new TaskbarMenu("Taskbar"); // Taskbar submenu -> Toolbar/TaskbarMenu.cpp/h
159 taskbarSubMenu->SetHeight(pMenuCommon->m_nSubmenuHeight);
160 m_pSubMenu->AddMenuItem(taskbarSubMenu);
161
162 //====================
163
164 Menu* hideOtherSubMenu = MakeMenu("Other elements");
165
166 pMenuCommon->CreateMenuItem(hideOtherSubMenu, MENUITEM_BOOLEAN, "@xoblite Toolbar Toggle Label", NULL, "Hide workspace label", pSettings->toolbarLabelHidden);
167 pMenuCommon->CreateMenuItem(hideOtherSubMenu, MENUITEM_BOOLEAN, "@xoblite Toolbar Toggle DownUp Buttons", NULL, "Hide down/up buttons", pSettings->toolbarDownUpButtonsHidden);
168 pMenuCommon->CreateMenuItem(hideOtherSubMenu, MENUITEM_BOOLEAN, "@xoblite Toolbar Toggle LeftRight Buttons", NULL, "Hide left/right buttons", pSettings->toolbarLeftRightButtonsHidden);
169 pMenuCommon->CreateMenuItem(hideOtherSubMenu, MENUITEM_BOOLEAN, "@xoblite Toolbar Toggle Clock", NULL, "Hide clock", pSettings->toolbarClockHidden);
170 pMenuCommon->CreateMenuItem(hideOtherSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
171 pMenuCommon->CreateMenuItem(hideOtherSubMenu, MENUITEM_BOOLEAN, "@xoblite Toolbar Toggle Asymmetry", NULL, "Allow asymmetry", pSettings->toolbarAllowAsymmetry);
172 pMenuCommon->CreateMenuItem(hideOtherSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
173
174 Menu* buttonOverridesSubMenu = MakeMenu("Button overrides");
175 sprintf(temp, "Down: <%s>", pSettings->toolbarDownButtonOverride);
176 pMenuCommon->CreateMenuItem(buttonOverridesSubMenu, MENUITEM_EDITSTRING, "@xoblite Toolbar Button Down", pSettings->toolbarDownButtonOverride, temp, false);
177 sprintf(temp, "Up: <%s>", pSettings->toolbarUpButtonOverride);
178 pMenuCommon->CreateMenuItem(buttonOverridesSubMenu, MENUITEM_EDITSTRING, "@xoblite Toolbar Button Up", pSettings->toolbarUpButtonOverride, temp, false);
179 sprintf(temp, "Left: <%s>", pSettings->toolbarLeftButtonOverride);
180 pMenuCommon->CreateMenuItem(buttonOverridesSubMenu, MENUITEM_EDITSTRING, "@xoblite Toolbar Button Left", pSettings->toolbarLeftButtonOverride, temp, false);
181 sprintf(temp, "Right: <%s>", pSettings->toolbarRightButtonOverride);
182 pMenuCommon->CreateMenuItem(buttonOverridesSubMenu, MENUITEM_EDITSTRING, "@xoblite Toolbar Button Right", pSettings->toolbarRightButtonOverride, temp, false);
183 MakeSubmenu(hideOtherSubMenu, buttonOverridesSubMenu, "Button overrides");
184
185 MakeSubmenu(m_pSubMenu, hideOtherSubMenu, "Other elements");
186
187 //====================
188
189 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
190
192
193// sprintf(temp, "Clock format: <%s>", pSettings->toolbarClockFormat);
194// pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_EDITSTRING, "@xoblite SetClockFormat", pSettings->toolbarClockFormat, temp, false);
195
196 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, toolbarBroam, "ToggleAlwaysOnTop", "Always on top", pSettings->toolbarOnTop);
197 if (pSettings->ToolbarPlacement.placement == PLACEMENT_MANUAL) // Manual positioning?
198 {
199 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, toolbarBroam, "ToggleSnapToEdges", "Snap to screen edges", pSettings->toolbarSnapToEdges);
200 }
201
202// pMenuCommon->CreateMenuItem(this, MENUITEM_COMMAND, toolbarBroam, "EditWorkspaceName", "Edit current workspace name", false);
203
204 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
205
207
208 //====================
209
211
212 m_pSubMenu->Invalidate();
213 m_pSubMenu->Validate();
214}
MenuItem * MakeSubmenu(Menu *ParentMenu, Menu *ChildMenu, LPCSTR Title)
Definition BBApi.cpp:2797
Menu * MakeMenu(LPCSTR HeaderText)
Definition BBApi.cpp:2735
Settings * pSettings
Definition Blackbox.cpp:46
#define MAX_LINE_LENGTH
Definition BBApi.h:64
#define MENUITEM_EDITINT
Definition MenuItem.h:44
#define MENUITEM_COMMAND
Definition MenuItem.h:42
#define MENUITEM_SEPARATOR
Definition MenuItem.h:47
#define MENUITEM_BOOLEAN
Definition MenuItem.h:45
#define MENUITEM_EDITSTRING
Definition MenuItem.h:43
#define PLACEMENT_CENTER_LEFT
Definition Settings.h:71
#define PLACEMENT_TOP_CENTER
Definition Settings.h:69
#define PLACEMENT_BOTTOM_CENTER
Definition Settings.h:75
#define PLACEMENT_MANUAL
Definition Settings.h:67
#define PLACEMENT_BOTTOM_LEFT
Definition Settings.h:74
#define PLACEMENT_TOP_LEFT
Definition Settings.h:68
#define PLACEMENT_TOP_RIGHT
Definition Settings.h:70
#define PLACEMENT_BOTTOM_RIGHT
Definition Settings.h:76
#define PLACEMENT_CENTER_RIGHT
Definition Settings.h:73
#define GROUP_TOOLBAR_ORIENTATION
Definition ToolbarMenu.cpp:48
char toolbarOrientationBroam[]
Definition ToolbarMenu.cpp:45
char toolbarBroam[]
Definition ToolbarMenu.cpp:43
char toolbarPlacementBroam[]
Definition ToolbarMenu.cpp:44
#define GROUP_TOOLBAR_PLACEMENT
Definition ToolbarMenu.cpp:47
void AddFooterItem(Menu *pMenu, LPSTR pszTitle)
Definition MenuCommon.cpp:813
MenuItem * CreateMenuItem(Menu *pMenu, int itemType, char *pszCommand, char *pszArgument, char *pszTitle, bool isSelected)
Definition MenuCommon.cpp:1065
void AddHeaderItem(Menu *pMenu, LPSTR pszTitle)
Definition MenuCommon.cpp:791
int m_nSubmenuHeight
Definition MenuCommon.h:104
MenuItem(int type, char *pszTitleANSI, wchar_t *pszTitleUnicode, char *pszCommand, char *pszArgument, bool isSelected)
Definition MenuItem.cpp:42
virtual void SetHeight(int nHeight)
Definition MenuItem.h:121
void AddToSelectionGroup(int group)
Definition MenuItem.cpp:534
char * m_pszTitleANSI
Definition MenuItem.h:93
BYTE toolbarWindowLabelTransparencyAlpha
Definition Settings.h:197
char toolbarUpButtonOverride[MAX_LINE_LENGTH]
Definition Settings.h:211
BYTE taskbarActiveTransparencyAlpha
Definition Settings.h:224
BYTE toolbarButtonTransparencyAlpha
Definition Settings.h:199
bool toolbarLabelHidden
Definition Settings.h:204
bool toolbarAllowAsymmetry
Definition Settings.h:208
BYTE toolbarLabelTransparencyAlpha
Definition Settings.h:196
bool toolbarHidden
Definition Settings.h:188
BYTE toolbarTransparencyAlpha
Definition Settings.h:195
bool toolbarDownUpButtonsHidden
Definition Settings.h:205
char toolbarLeftButtonOverride[MAX_LINE_LENGTH]
Definition Settings.h:212
Placement ToolbarPlacement
Definition Settings.h:189
char toolbarRightButtonOverride[MAX_LINE_LENGTH]
Definition Settings.h:213
bool toolbarOnTop
Definition Settings.h:201
bool toolbarLeftRightButtonsHidden
Definition Settings.h:206
bool toolbarClockHidden
Definition Settings.h:207
char toolbarDownButtonOverride[MAX_LINE_LENGTH]
Definition Settings.h:210
bool toolbarSnapToEdges
Definition Settings.h:194
bool toolbarVertical
Definition Settings.h:191
BYTE toolbarClockTransparencyAlpha
Definition Settings.h:198
bool toolbarRoundedCorners
Definition Settings.h:200
int placement
Definition Settings.h:89
char rcString[255]
Definition Settings.h:98