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

#include <PluginsMenu.h>

Public Member Functions

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

◆ BroamMenu()

BroamMenu::BroamMenu ( char * pszTitle)
175 : FolderItem(NULL, pszTitle, NULL)
176{
177}
FolderItem(Menu *pSubMenu, char *pszTitleANSI, wchar_t *pszTitleUnicode)
Definition FolderItem.cpp:43

◆ ~BroamMenu()

BroamMenu::~BroamMenu ( )
virtual
180{
181 m_pParent->RemoveChild(m_pSubMenu);
182 if (m_pSubMenu) delete m_pSubMenu;
183 m_pSubMenu = NULL;
184}
Menu * m_pSubMenu
Definition MenuItem.h:181
Menu * m_pParent
Definition MenuItem.h:180

Member Function Documentation

◆ Active()

bool BroamMenu::Active ( bool bActivate)
virtual

Reimplemented from MenuItem.

189{
190 if (bActivate && !m_bActive) UpdateFolder();
191 return FolderItem::Active(bActivate);
192}
void UpdateFolder()
Definition PluginsMenu.cpp:204
bool Active(bool bActivate)
Definition FolderItem.cpp:76
bool m_bActive
Definition MenuItem.h:188

◆ Attached()

void BroamMenu::Attached ( Menu * pMenu)
virtual

Reimplemented from MenuItem.

195{
197 m_pSubMenu = new Menu(pMenuCommon->hInst);
198 m_pParent->AddChild(m_pSubMenu);
199 m_pSubMenu->SetParent(m_pParent);
200}
MenuCommon * pMenuCommon
Definition Blackbox.cpp:41
Menu * pMenu
Definition Blackbox.cpp:40
HINSTANCE hInst
Definition MenuCommon.h:94

◆ UpdateFolder()

void BroamMenu::UpdateFolder ( )
205{
206 m_pSubMenu->DeleteMenuItems();
208
209 if ((int)pPluginManager->pluginList.size() > 0)
210 {
211// char pluginName[MAX_LINE_LENGTH], pluginBroams[MAX_LINE_LENGTH], pluginCheck[MAX_LINE_LENGTH];
212 char pluginName[MAX_LINE_LENGTH], pluginBroams[MAX_LINE_LENGTH];
213
214 for (int i=0; i < (int)pPluginManager->pluginList.size(); i++)
215 {
216 strcpy(pluginName, pPluginManager->GetPluginInfo(i, PLUGIN_NAME));
217
218 // Check if the plugin supports the pluginInfo bro@m list parameter...
219 strcpy(pluginBroams, pPluginManager->GetPluginInfo(i, PLUGIN_BROAMS)); // Fetch broams list (if supported)...
220// strcpy(pluginCheck, pPluginManager->getPluginInfo(i, -1)); // Fetch default fallback string...
221// if (strlen(pluginBroams) && _stricmp(pluginBroams, pluginCheck))
222// if (strlen(pluginBroams) && _stricmp(pluginBroams, pluginName) && (pluginBroams[0] == '@'))
223 if (strlen(pluginBroams) && _stricmp(pluginBroams, pluginName) && strchr(pluginBroams, '@'))
224 {
225 // If it does, create a bro@m subfolder for the plugin...
226 PluginBroamList *PBList = new PluginBroamList(pluginName, i);
228 m_pSubMenu->AddMenuItem(PBList);
229 }
230 else
231 {
232 // ...and if not we just create a [nop] == ghosted item...
233 pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_NOP, NULL, NULL, pluginName, false);
234 }
235 }
236 }
237 else pMenuCommon->CreateMenuItem(m_pSubMenu, MENUITEM_NOP, NULL, NULL, "(No plugins loaded)", false);
238
240
241 m_pSubMenu->Invalidate();
242 m_pSubMenu->Validate();
243}
PluginManager * pPluginManager
Definition Blackbox.cpp:43
#define PLUGIN_NAME
Definition BBApi.h:266
#define PLUGIN_BROAMS
Definition BBApi.h:272
#define MAX_LINE_LENGTH
Definition BBApi.h:64
#define MENUITEM_NOP
Definition MenuItem.h:46
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
virtual void SetHeight(int nHeight)
Definition MenuItem.h:121
char * m_pszTitleANSI
Definition MenuItem.h:93
LPCSTR GetPluginInfo(int pluginNumber, int infoParam)
Definition PluginManager.cpp:978
PluginsVector pluginList
Definition PluginManager.h:84