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

#include <DesktopMenu.h>

Public Member Functions

 DesktopMenu (char *pszTitle)
 
virtual ~DesktopMenu ()
 
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 Attached (Menu *pMenu)
 
bool Active (bool bActivate)
 
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

◆ DesktopMenu()

DesktopMenu::DesktopMenu ( char * pszTitle)
48 : FolderItem(NULL, pszTitle, NULL)
49{
50}
FolderItem(Menu *pSubMenu, char *pszTitleANSI, wchar_t *pszTitleUnicode)
Definition FolderItem.cpp:43

◆ ~DesktopMenu()

DesktopMenu::~DesktopMenu ( )
virtual
53{
54 m_pParent->RemoveChild(m_pSubMenu);
55 if (m_pSubMenu) delete m_pSubMenu;
56 m_pSubMenu = NULL;
57}
Menu * m_pSubMenu
Definition MenuItem.h:181
Menu * m_pParent
Definition MenuItem.h:180

Member Function Documentation

◆ Active()

bool DesktopMenu::Active ( bool bActivate)
virtual

Reimplemented from MenuItem.

62{
63 if (bActivate && !m_bActive) UpdateFolder();
64 return FolderItem::Active(bActivate);
65}
void UpdateFolder()
Definition DesktopMenu.cpp:77
bool Active(bool bActivate)
Definition FolderItem.cpp:76
bool m_bActive
Definition MenuItem.h:188

◆ Attached()

void DesktopMenu::Attached ( Menu * pMenu)
virtual

Reimplemented from MenuItem.

68{
70 m_pSubMenu = new Menu(pMenuCommon->hInst);
71 m_pParent->AddChild(m_pSubMenu);
72 m_pSubMenu->SetParent(m_pParent);
73}
MenuCommon * pMenuCommon
Definition Blackbox.cpp:41
Menu * pMenu
Definition Blackbox.cpp:40
HINSTANCE hInst
Definition MenuCommon.h:94

◆ UpdateFolder()

void DesktopMenu::UpdateFolder ( )
78{
79 m_pSubMenu->DeleteMenuItems();
81
82 char temp[MAX_LINE_LENGTH];
83
84 //====================
85
86 Menu* desktopWidgetPlacementsSubMenu = MakeMenu("Placements");
87
89 {
90 sprintf(temp, "Clock: <%s>", pSettings->desktopClockPlacement.rcString);
91 pMenuCommon->CreateMenuItem(desktopWidgetPlacementsSubMenu, MENUITEM_EDITSTRING, "@xoblite Desktop Clock Placement", pSettings->desktopClockPlacement.rcString, temp, false);
92 }
93 else if (pSettings->desktopClockPlacement.placement == PLACEMENT_DEFAULT) pMenuCommon->CreateMenuItem(desktopWidgetPlacementsSubMenu, MENUITEM_EDITSTRING, "@xoblite Desktop Clock Placement", "Default", "Clock: <Default>", false);
94 else pMenuCommon->CreateMenuItem(desktopWidgetPlacementsSubMenu, MENUITEM_EDITSTRING, "@xoblite Desktop Clock Placement", "Manual x0 y0", "Clock: <Manual x0 y0>", false);
96 {
97 sprintf(temp, "Weekday: <%s>", pSettings->desktopWeekdayPlacement.rcString);
98 pMenuCommon->CreateMenuItem(desktopWidgetPlacementsSubMenu, MENUITEM_EDITSTRING, "@xoblite Desktop Weekday Placement", pSettings->desktopWeekdayPlacement.rcString, temp, false);
99 }
100 else pMenuCommon->CreateMenuItem(desktopWidgetPlacementsSubMenu, MENUITEM_EDITSTRING, "@xoblite Desktop Weekday Placement", "Manual x0 y0", "Weekday: <Manual x0 y0>", false);
102 {
103 sprintf(temp, "Date: <%s>", pSettings->desktopDatePlacement.rcString);
104 pMenuCommon->CreateMenuItem(desktopWidgetPlacementsSubMenu, MENUITEM_EDITSTRING, "@xoblite Desktop Date Placement", pSettings->desktopDatePlacement.rcString, temp, false);
105 }
106 else pMenuCommon->CreateMenuItem(desktopWidgetPlacementsSubMenu, MENUITEM_EDITSTRING, "@xoblite Desktop Date Placement", "Manual x0 y0", "Date: <Manual x0 y0>", false);
108 {
109 sprintf(temp, "Greeting: <%s>", pSettings->desktopGreetingPlacement.rcString);
110 pMenuCommon->CreateMenuItem(desktopWidgetPlacementsSubMenu, MENUITEM_EDITSTRING, "@xoblite Desktop Greeting Placement", pSettings->desktopGreetingPlacement.rcString, temp, false);
111 }
112 else pMenuCommon->CreateMenuItem(desktopWidgetPlacementsSubMenu, MENUITEM_EDITSTRING, "@xoblite Desktop Greeting Placement", "Manual x0 y0", "Greeting: <Manual x0 y0>", false);
113
114 MakeSubmenu(m_pSubMenu, desktopWidgetPlacementsSubMenu, "Placements");
115
116 //====================
117
118 Menu* desktopClockSubMenu = MakeMenu("Clock type");
119
120 MenuItem* groupItem;
121 groupItem = pMenuCommon->CreateMenuItem(desktopClockSubMenu, MENUITEM_BOOLEAN, "@xoblite Desktop Clock Regular", NULL, "Regular", !_stricmp(pSettings->desktopClockType, "Regular"));
123 groupItem = pMenuCommon->CreateMenuItem(desktopClockSubMenu, MENUITEM_BOOLEAN, "@xoblite Desktop Clock Text", NULL, "Text", !_stricmp(pSettings->desktopClockType, "Text"));
125 groupItem = pMenuCommon->CreateMenuItem(desktopClockSubMenu, MENUITEM_BOOLEAN, "@xoblite Desktop Clock Binary", NULL, "Binary", !_stricmp(pSettings->desktopClockType, "Binary"));
127
128 MakeSubmenu(m_pSubMenu, desktopClockSubMenu, "Clock type");
129
130 //====================
131
132 char tempColor[10];
133 sprintf(tempColor, "#%02x%02x%02x", GetRValue(pSettings->desktopWidgetColor), GetGValue(pSettings->desktopWidgetColor), GetBValue(pSettings->desktopWidgetColor));
134 sprintf(temp, "Widget color: <%s>", tempColor);
135 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_EDITSTRING, "@xoblite Desktop Widget Color", tempColor, temp, false);
136
137 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
138
139 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Desktop Toggle Clock", NULL, "Hide clock", pSettings->desktopClockHidden);
140 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Desktop Toggle Weekday", NULL, "Hide weekday", pSettings->desktopWeekdayHidden);
141 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Desktop Toggle Date", NULL, "Hide date", pSettings->desktopDateHidden);
142 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Desktop Toggle Greeting", NULL, "Hide greeting", pSettings->desktopGreetingHidden);
143
144 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
145
146 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Desktop Toggle Indicator", NULL, "Hide indicator", pSettings->desktopWorkspaceIndicatorHidden);
147 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Desktop Toggle Border", NULL, "Hide border", pSettings->desktopBorderHidden);
148
149 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
150
151 //====================
152
153 Menu* desktopClickOverridesSubMenu = MakeMenu("Mouse click overrides");
154
155 sprintf(temp, "R: <%s>", pSettings->desktopRClickOverride);
156 pMenuCommon->CreateMenuItem(desktopClickOverridesSubMenu, MENUITEM_EDITSTRING, "@xoblite Desktop Click R", pSettings->desktopRClickOverride, temp, false);
157 sprintf(temp, "M: <%s>", pSettings->desktopMClickOverride);
158 pMenuCommon->CreateMenuItem(desktopClickOverridesSubMenu, MENUITEM_EDITSTRING, "@xoblite Desktop Click M", pSettings->desktopMClickOverride, temp, false);
159 sprintf(temp, "X1: <%s>", pSettings->desktopX1ClickOverride);
160 pMenuCommon->CreateMenuItem(desktopClickOverridesSubMenu, MENUITEM_EDITSTRING, "@xoblite Desktop Click X1", pSettings->desktopX1ClickOverride, temp, false);
161 sprintf(temp, "X2: <%s>", pSettings->desktopX2ClickOverride);
162 pMenuCommon->CreateMenuItem(desktopClickOverridesSubMenu, MENUITEM_EDITSTRING, "@xoblite Desktop Click X2", pSettings->desktopX2ClickOverride, temp, false);
163
164 MakeSubmenu(m_pSubMenu, desktopClickOverridesSubMenu, "Mouse click overrides");
165
166 //====================
167
169
170 m_pSubMenu->Invalidate();
171 m_pSubMenu->Validate();
172}
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 GROUP_DESKTOP_CLOCK
Definition DesktopMenu.cpp:44
#define MENUITEM_SEPARATOR
Definition MenuItem.h:47
#define MENUITEM_BOOLEAN
Definition MenuItem.h:45
#define MENUITEM_EDITSTRING
Definition MenuItem.h:43
#define PLACEMENT_DEFAULT
Definition Settings.h:77
#define PLACEMENT_MANUAL
Definition Settings.h:67
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
MenuItem(int type, char *pszTitleANSI, wchar_t *pszTitleUnicode, char *pszCommand, char *pszArgument, bool isSelected)
Definition MenuItem.cpp:42
void AddToSelectionGroup(int group)
Definition MenuItem.cpp:534
char * m_pszTitleANSI
Definition MenuItem.h:93
Placement desktopGreetingPlacement
Definition Settings.h:281
Placement desktopClockPlacement
Definition Settings.h:256
char desktopX1ClickOverride[MAX_LINE_LENGTH]
Definition Settings.h:299
char desktopClockType[MAX_LINE_LENGTH]
Definition Settings.h:255
char desktopRClickOverride[MAX_LINE_LENGTH]
Definition Settings.h:297
char desktopMClickOverride[MAX_LINE_LENGTH]
Definition Settings.h:298
bool desktopClockHidden
Definition Settings.h:254
bool desktopWeekdayHidden
Definition Settings.h:263
Placement desktopDatePlacement
Definition Settings.h:273
char desktopX2ClickOverride[MAX_LINE_LENGTH]
Definition Settings.h:300
bool desktopBorderHidden
Definition Settings.h:293
bool desktopWorkspaceIndicatorHidden
Definition Settings.h:292
COLORREF desktopWidgetColor
Definition Settings.h:295
bool desktopGreetingHidden
Definition Settings.h:280
bool desktopDateHidden
Definition Settings.h:271
Placement desktopWeekdayPlacement
Definition Settings.h:264
int placement
Definition Settings.h:89
char rcString[255]
Definition Settings.h:98