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

#include <TaskbarMenu.h>

Public Member Functions

 TaskbarMenu (char *pszTitle)
 
virtual ~TaskbarMenu ()
 
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

◆ TaskbarMenu()

TaskbarMenu::TaskbarMenu ( char * pszTitle)
45 : FolderItem(NULL, pszTitle, NULL)
46{
47}
FolderItem(Menu *pSubMenu, char *pszTitleANSI, wchar_t *pszTitleUnicode)
Definition FolderItem.cpp:43

◆ ~TaskbarMenu()

TaskbarMenu::~TaskbarMenu ( )
virtual
50{
51 m_pParent->RemoveChild(m_pSubMenu);
52 if (m_pSubMenu) delete m_pSubMenu;
53 m_pSubMenu = NULL;
54}
Menu * m_pSubMenu
Definition MenuItem.h:181
Menu * m_pParent
Definition MenuItem.h:180

Member Function Documentation

◆ Active()

bool TaskbarMenu::Active ( bool bActivate)
virtual

Reimplemented from FolderItem.

59{
60 if (bActivate && !m_bActive) UpdateFolder();
61 return FolderItem::Active(bActivate);
62}
bool Active(bool bActivate)
Definition FolderItem.cpp:76
bool m_bActive
Definition MenuItem.h:188
void UpdateFolder()
Definition TaskbarMenu.cpp:74

◆ Attached()

void TaskbarMenu::Attached ( Menu * pMenu)
virtual

Reimplemented from FolderItem.

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

◆ UpdateFolder()

void TaskbarMenu::UpdateFolder ( )
75{
76 m_pSubMenu->DeleteMenuItems();
78
79 //====================
80
81 MenuItem* groupItem;
82 groupItem = pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_COMMAND, "@xoblite Taskbar Hide", NULL, "Hidden", (pSettings->taskbarMode == TASKBAR_MODE_HIDDEN));
84 groupItem = pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_COMMAND, "@xoblite Taskbar Mode Bars", NULL, "Bars mode", (pSettings->taskbarMode == TASKBAR_MODE_BARS));
86 groupItem = pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_COMMAND, "@xoblite Taskbar Mode Bars+Icons", NULL, "Bars+Icons mode", (pSettings->taskbarMode == TASKBAR_MODE_BARSICONS));
89 {
90 groupItem = pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_COMMAND, "@xoblite Taskbar Mode Icons", NULL, "Icons mode", (pSettings->taskbarMode == TASKBAR_MODE_ICONS));
92 }
93
94 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
95
96 //====================
97
98 char command[50];
99 sprintf(command, "\"@xoblite Taskbar Items\" %d 1 255", pSettings->taskbarMaxItems);
100 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_EDITINT, command, NULL, "Max # of visible items:", false);
101
102 Menu* sortingSubMenu = MakeMenu("Sort visible items");
103 groupItem = pMenuCommon->CreateMenuItem(sortingSubMenu, MENUITEM_COMMAND, "@xoblite Taskbar Sort Last Used", NULL, "Last used", (pSettings->taskbarSorting == TASKBAR_SORT_BY_LAST_USED));
105 groupItem = pMenuCommon->CreateMenuItem(sortingSubMenu, MENUITEM_COMMAND, "@xoblite Taskbar Sort Follow Active", NULL, "Follow active", (pSettings->taskbarSorting == TASKBAR_SORT_FOLLOW_ACTIVE));
107 groupItem = pMenuCommon->CreateMenuItem(sortingSubMenu, MENUITEM_COMMAND, "@xoblite Taskbar Sort Disabled", NULL, "Disabled", (pSettings->taskbarSorting == TASKBAR_SORT_DISABLED));
109 MakeSubmenu(m_pSubMenu, sortingSubMenu, "Sort visible items");
110
111 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
112
113 //====================
114
115 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Taskbar ToggleShowTaskWorkspace", NULL, "Show task workspace", pSettings->taskbarShowTaskWorkspace);
116 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Taskbar ToggleCurrentOnly", NULL, "Current workspace only", pSettings->taskbarCurrentOnly);
117 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Taskbar ToggleFlashing", NULL, "Disable task flashing", !pSettings->taskbarFlashing);
118
119 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
120
121 //====================
122
123 sprintf(command, "\"@xoblite Taskbar IconSaturation\" %d 0 255", pSettings->taskbarSaturationValue);
124 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_EDITINT, command, NULL, "Icon saturation:", false);
125 sprintf(command, "\"@xoblite Taskbar IconHue\" %d 0 255", pSettings->taskbarHueIntensity);
126 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_EDITINT, command, NULL, "Icon hue:", false);
127
128 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Taskbar ToggleActiveSatHue", NULL, "Active task sat/hue", pSettings->taskbarActiveSatHue);
129
130 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
131
132 //====================
133
134 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Taskbar ToggleActiveLivePreview", NULL, "Active task live preview", pSettings->taskbarActiveLivePreview);
135 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Taskbar ToggleInactiveBackground", NULL, "Inactive task background", pSettings->taskbarInactiveBackground);
136
137 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
138
139 //====================
140
141 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Taskbar ToggleTooltips", NULL, "Show tooltips", pSettings->taskbarTooltips);
142
143 //====================
144
146 m_pSubMenu->Invalidate();
147 m_pSubMenu->Validate();
148}
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 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 TASKBAR_SORT_BY_LAST_USED
Definition Settings.h:49
#define TASKBAR_MODE_BARS
Definition Settings.h:43
#define TASKBAR_MODE_BARSICONS
Definition Settings.h:44
#define TASKBAR_MODE_HIDDEN
Definition Settings.h:42
#define TASKBAR_SORT_DISABLED
Definition Settings.h:47
#define TASKBAR_MODE_ICONS
Definition Settings.h:45
#define TASKBAR_SORT_FOLLOW_ACTIVE
Definition Settings.h:48
#define GROUP_TASKBAR_SORT
Definition TaskbarMenu.cpp:41
#define GROUP_TASKBAR_MODE
Definition TaskbarMenu.cpp:40
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
bool taskbarTooltips
Definition Settings.h:227
int taskbarMaxItems
Definition Settings.h:216
unsigned int taskbarSaturationValue
Definition Settings.h:221
bool taskbarFlashing
Definition Settings.h:220
bool taskbarInactiveBackground
Definition Settings.h:226
unsigned int taskbarHueIntensity
Definition Settings.h:222
bool taskbarCurrentOnly
Definition Settings.h:219
bool taskbarShowTaskWorkspace
Definition Settings.h:218
bool taskbarActiveLivePreview
Definition Settings.h:225
int taskbarSorting
Definition Settings.h:217
bool toolbarVertical
Definition Settings.h:191
int taskbarMode
Definition Settings.h:215
bool taskbarActiveSatHue
Definition Settings.h:223