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

#include <ConfigMenu.h>

Public Member Functions

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

◆ GlobalConfig()

GlobalConfig::GlobalConfig ( char * pszTitle)
300 : FolderItem(NULL, pszTitle, NULL)
301{
302}
FolderItem(Menu *pSubMenu, char *pszTitleANSI, wchar_t *pszTitleUnicode)
Definition FolderItem.cpp:43

◆ ~GlobalConfig()

GlobalConfig::~GlobalConfig ( )
virtual
305{
306 m_pParent->RemoveChild(m_pSubMenu);
307 if (m_pSubMenu) delete m_pSubMenu;
308 m_pSubMenu = NULL;
309}
Menu * m_pSubMenu
Definition MenuItem.h:181
Menu * m_pParent
Definition MenuItem.h:180

Member Function Documentation

◆ Active()

bool GlobalConfig::Active ( bool bActivate)
virtual

Reimplemented from FolderItem.

314{
315 if (bActivate && !m_bActive) UpdateFolder();
316 return FolderItem::Active(bActivate);
317}
bool Active(bool bActivate)
Definition FolderItem.cpp:76
void UpdateFolder()
Definition ConfigMenu.cpp:329
bool m_bActive
Definition MenuItem.h:188

◆ Attached()

void GlobalConfig::Attached ( Menu * pMenu)
virtual

Reimplemented from FolderItem.

320{
322 m_pSubMenu = new Menu(pMenuCommon->hInst);
323 m_pParent->AddChild(m_pSubMenu);
324 m_pSubMenu->SetParent(m_pParent);
325}
MenuCommon * pMenuCommon
Definition Blackbox.cpp:41
Menu * pMenu
Definition Blackbox.cpp:40
HINSTANCE hInst
Definition MenuCommon.h:94

◆ UpdateFolder()

void GlobalConfig::UpdateFolder ( )
330{
331 m_pSubMenu->DeleteMenuItems();
333
334 //====================
335/*
336 Menu* windowHandlingSubMenu = MakeMenu("Window handling");
337
338 Menu* focusModelSubMenu = MakeMenu("Window focus model");
339 pMenuCommon->CreateMenuItem(focusModelSubMenu, MENUITEM_COMMAND, "<config_menu_item>", "ClickToFocus", "Click to focus", (!_stricmp(pSettings->focusModel, "ClickToFocus")) ? true : false);
340 pMenuCommon->CreateMenuItem(focusModelSubMenu, MENUITEM_COMMAND, "<config_menu_item>", "SloppyFocus", "Sloppy focus", (!_stricmp(pSettings->focusModel, "SloppyFocus")) ? true : false);
341 pMenuCommon->CreateMenuItem(focusModelSubMenu, MENUITEM_COMMAND, "<config_menu_item>", "AutoRaiseSloppyFocus", "Auto raise", (!_stricmp(pSettings->focusModel, "AutoRaiseSloppyFocus")) ? true : false);
342 MakeSubmenu(windowHandlingSubMenu, focusModelSubMenu, "Window focus model");
343
344 pMenuCommon->CreateMenuItem(windowHandlingSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
345
346 // pMenuCommon->CreateMenuItem(windowHandlingSubMenu, MENUITEM_COMMAND, "@xoblite Global", "FocusNewWindows", "Focus new windows", pSettings->focusNewWindows);
347 // pMenuCommon->CreateMenuItem(windowHandlingSubMenu, MENUITEM_COMMAND, "@xoblite Global", "FocusLastWindow", "Focus window on workspace change", pSettings->focusLastWindow);
348 pMenuCommon->CreateMenuItem(windowHandlingSubMenu, MENUITEM_BOOLEAN, "@xoblite Global", "OpaqueWindowMoving", "Opaque window moving", pSettings->opaqueMove);
349// pMenuCommon->CreateMenuItem(windowHandlingSubMenu, MENUITEM_BOOLEAN, "@xoblite Global", "FullMaximization", "Full maximization", pSettings->fullMaximization);
350 // pMenuCommon->CreateMenuItem(windowHandlingSubMenu, MENUITEM_BOOLEAN, "@xoblite Global", "ToggleFollowActive", "Follow active task", pSettings->followActive);
351
352 MakeSubmenu(m_pSubMenu, windowHandlingSubMenu, "Window handling");
353
354 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
355*/
356 //====================
357
358 char command[128];
359 sprintf(command, "\"@xoblite Global HiDPI\" %d 1 4", pSettings->scalingFactorHiDPI);
360 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_EDITINT, command, NULL, "HiDPI scaling factor:", false);
361 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Global ToggleMultiMonitorPlacements", NULL, "Multi-monitor placements", pSettings->multimonPlacements);
362 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Global ToggleSoundFX", NULL, "Enable sound effects", pSettings->enableSoundFX);
363
364 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
365
366 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Global ToggleDesignerMode", NULL, "Enable Designer mode", pSettings->designerModeEnabled);
367
368 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
369
370 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite ToggleWriteProtection", NULL, "Write protection", pSettings->writeProtection);
371 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Global ToggleRootCommands", NULL, "Disable rootCommands", pSettings->disableRootCommands);
372 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Global ToggleThemeFonts", NULL, "Disable theme fonts", pSettings->disableThemeFonts);
373 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite Global ToggleScriptSupport", NULL, "Disable @Script support", pSettings->disableScriptSupport);
374
375 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
376
377 Menu* editorSubMenu = MakeMenu("Preferred editor");
378 pMenuCommon->CreateMenuItem(editorSubMenu, MENUITEM_EDITSTRING, "@xoblite Global SetEditor", pSettings->preferredEditor, pSettings->preferredEditor, false);
379 MakeSubmenu(m_pSubMenu, editorSubMenu, "Preferred editor");
380
381 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
382 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_COMMAND, "@xoblite Run", NULL, "@xoblite Run...", false);
383 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_COMMAND, "@xoblite CheckForUpdates", NULL, "Check for updates...", false);
384 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_COMMAND, "[exec]", "http://xoblite.net/docs/", "Online documentation...", false);
385 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_COMMAND, "@xoblite Edit", "$Blackbox$\\xoblite.log", "Open xoblite.log", false);
386
388 {
389// if (pSettings->explorerHidden)
390 {
391 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
392 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite EmptyRecycleBin", NULL, "Empty Recycle Bin...", false);
393 }
394
395 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_SEPARATOR, NULL, NULL, NULL, false);
396 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_BOOLEAN, "@xoblite ToggleExplorer", NULL, "Hide Explorer taskbar", pSettings->explorerHidden);
397 }
398
399 //====================
400
402
403 m_pSubMenu->Invalidate();
404 m_pSubMenu->Validate();
405}
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 MENUITEM_EDITSTRING
Definition MenuItem.h:43
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
char * m_pszTitleANSI
Definition MenuItem.h:93
int scalingFactorHiDPI
Definition Settings.h:327
bool disableRootCommands
Definition Settings.h:332
bool underExplorer
Definition Settings.h:368
bool explorerHidden
Definition Settings.h:337
char preferredEditor[MAX_LINE_LENGTH]
Definition Settings.h:341
bool writeProtection
Definition Settings.h:331
bool multimonPlacements
Definition Settings.h:328
bool enableSoundFX
Definition Settings.h:329
bool designerModeEnabled
Definition Settings.h:330
bool disableScriptSupport
Definition Settings.h:334
bool disableThemeFonts
Definition Settings.h:333