DBG+GUI+BRIDGE: added various menu manipulation functions for plugins
This commit is contained in:
parent
e09c325090
commit
8b4c784457
|
@ -1397,6 +1397,26 @@ BRIDGE_IMPEXP void GuiMenuSetEntryChecked(int hEntry, bool checked)
|
|||
_gui_sendmessage(GUI_MENU_SET_ENTRY_CHECKED, (void*)hEntry, (void*)checked);
|
||||
}
|
||||
|
||||
BRIDGE_IMPEXP void GuiMenuSetVisible(int hMenu, bool visible)
|
||||
{
|
||||
_gui_sendmessage(GUI_MENU_SET_VISIBLE, (void*)hMenu, (void*)visible);
|
||||
}
|
||||
|
||||
BRIDGE_IMPEXP void GuiMenuSetEntryVisible(int hEntry, bool visible)
|
||||
{
|
||||
_gui_sendmessage(GUI_MENU_SET_VISIBLE, (void*)hEntry, (void*)visible);
|
||||
}
|
||||
|
||||
BRIDGE_IMPEXP void GuiMenuSetName(int hMenu, const char* name)
|
||||
{
|
||||
_gui_sendmessage(GUI_MENU_SET_VISIBLE, (void*)hMenu, (void*)name);
|
||||
}
|
||||
|
||||
BRIDGE_IMPEXP void GuiMenuSetEntryName(int hEntry, const char* name)
|
||||
{
|
||||
_gui_sendmessage(GUI_MENU_SET_VISIBLE, (void*)hEntry, (void*)name);
|
||||
}
|
||||
|
||||
BRIDGE_IMPEXP void GuiShowCpu()
|
||||
{
|
||||
_gui_sendmessage(GUI_SHOW_CPU, 0, 0);
|
||||
|
|
|
@ -987,6 +987,10 @@ typedef enum
|
|||
GUI_TYPE_CLEAR, // param1=unused, param2=unused
|
||||
GUI_UPDATE_TYPE_WIDGET, // param1=unused, param2=unused
|
||||
GUI_CLOSE_APPLICATION, // param1=unused, param2=unused
|
||||
GUI_MENU_SET_VISIBLE, // param1=int hMenu, param2=bool visible
|
||||
GUI_MENU_SET_ENTRY_VISIBLE, // param1=int hEntry, param2=bool visible
|
||||
GUI_MENU_SET_NAME, // param1=int hMenu, param2=const char* name
|
||||
GUI_MENU_SET_ENTRY_NAME, // param1=int hEntry, param2=const char* name
|
||||
} GUIMSG;
|
||||
|
||||
//GUI Typedefs
|
||||
|
@ -1114,6 +1118,10 @@ BRIDGE_IMPEXP void GuiLoadSourceFile(const char* path, int line);
|
|||
BRIDGE_IMPEXP void GuiMenuSetIcon(int hMenu, const ICONDATA* icon);
|
||||
BRIDGE_IMPEXP void GuiMenuSetEntryIcon(int hEntry, const ICONDATA* icon);
|
||||
BRIDGE_IMPEXP void GuiMenuSetEntryChecked(int hEntry, bool checked);
|
||||
BRIDGE_IMPEXP void GuiMenuSetVisible(int hMenu, bool visible);
|
||||
BRIDGE_IMPEXP void GuiMenuSetEntryVisible(int hEntry, bool visible);
|
||||
BRIDGE_IMPEXP void GuiMenuSetName(int hMenu, const char* name);
|
||||
BRIDGE_IMPEXP void GuiMenuSetEntryName(int hEntry, const char* name);
|
||||
BRIDGE_IMPEXP void GuiShowCpu();
|
||||
BRIDGE_IMPEXP void GuiAddQWidgetTab(void* qWidget);
|
||||
BRIDGE_IMPEXP void GuiShowQWidgetTab(void* qWidget);
|
||||
|
|
|
@ -98,6 +98,26 @@ PLUG_IMPEXP void _plugin_menuentrysetchecked(int pluginHandle, int hEntry, bool
|
|||
pluginmenuentrysetchecked(pluginHandle, hEntry, checked);
|
||||
}
|
||||
|
||||
PLUG_IMPEXP void _plugin_menusetvisible(int pluginHandle, int hMenu, bool visible)
|
||||
{
|
||||
pluginmenusetvisible(pluginHandle, hMenu, visible);
|
||||
}
|
||||
|
||||
PLUG_IMPEXP void _plugin_menuentrysetvisible(int pluginHandle, int hEntry, bool visible)
|
||||
{
|
||||
pluginmenuentrysetvisible(pluginHandle, hEntry, visible);
|
||||
}
|
||||
|
||||
PLUG_IMPEXP void _plugin_menusetname(int pluginHandle, int hMenu, const char* name)
|
||||
{
|
||||
pluginmenusetname(pluginHandle, hMenu, name);
|
||||
}
|
||||
|
||||
PLUG_IMPEXP void _plugin_menuentrysetname(int pluginHandle, int hEntry, const char* name)
|
||||
{
|
||||
pluginmenuentrysetname(pluginHandle, hEntry, name);
|
||||
}
|
||||
|
||||
PLUG_IMPEXP void _plugin_startscript(CBPLUGINSCRIPT cbScript)
|
||||
{
|
||||
dbgstartscriptthread(cbScript);
|
||||
|
|
|
@ -286,6 +286,10 @@ PLUG_IMPEXP bool _plugin_menuclear(int hMenu);
|
|||
PLUG_IMPEXP void _plugin_menuseticon(int hMenu, const ICONDATA* icon);
|
||||
PLUG_IMPEXP void _plugin_menuentryseticon(int pluginHandle, int hEntry, const ICONDATA* icon);
|
||||
PLUG_IMPEXP void _plugin_menuentrysetchecked(int pluginHandle, int hEntry, bool checked);
|
||||
PLUG_IMPEXP void _plugin_menusetvisible(int pluginHandle, int hMenu, bool visible);
|
||||
PLUG_IMPEXP void _plugin_menuentrysetvisible(int pluginHandle, int hEntry, bool visible);
|
||||
PLUG_IMPEXP void _plugin_menusetname(int pluginHandle, int hMenu, const char* name);
|
||||
PLUG_IMPEXP void _plugin_menuentrysetname(int pluginHandle, int hEntry, const char* name);
|
||||
PLUG_IMPEXP void _plugin_startscript(CBPLUGINSCRIPT cbScript);
|
||||
PLUG_IMPEXP bool _plugin_waituntilpaused();
|
||||
PLUG_IMPEXP bool _plugin_registerexprfunction(int pluginHandle, const char* name, int argc, CBPLUGINEXPRFUNCTION cbFunction, void* userdata);
|
||||
|
|
|
@ -803,6 +803,64 @@ void pluginmenuentrysetchecked(int pluginHandle, int hEntry, bool checked)
|
|||
}
|
||||
}
|
||||
|
||||
void pluginmenusetvisible(int pluginHandle, int hMenu, bool visible)
|
||||
{
|
||||
SHARED_ACQUIRE(LockPluginMenuList);
|
||||
for(const auto & currentMenu : pluginMenuList)
|
||||
{
|
||||
if(currentMenu.hEntryMenu == hMenu && currentMenu.hEntryPlugin == -1)
|
||||
{
|
||||
GuiMenuSetVisible(hMenu, visible);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void pluginmenuentrysetvisible(int pluginHandle, int hEntry, bool visible)
|
||||
{
|
||||
if(hEntry == -1)
|
||||
return;
|
||||
SHARED_ACQUIRE(LockPluginMenuList);
|
||||
for(const auto & currentMenu : pluginMenuList)
|
||||
{
|
||||
if(currentMenu.pluginHandle == pluginHandle && currentMenu.hEntryPlugin == hEntry)
|
||||
{
|
||||
GuiMenuSetEntryChecked(currentMenu.hEntryMenu, visible);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void pluginmenusetname(int pluginHandle, int hMenu, const char* name)
|
||||
{
|
||||
if(!name)
|
||||
return;
|
||||
SHARED_ACQUIRE(LockPluginMenuList);
|
||||
for(const auto & currentMenu : pluginMenuList)
|
||||
{
|
||||
if(currentMenu.hEntryMenu == hMenu && currentMenu.hEntryPlugin == -1)
|
||||
{
|
||||
GuiMenuSetName(hMenu, name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void pluginmenuentrysetname(int pluginHandle, int hEntry, const char* name)
|
||||
{
|
||||
if(hEntry == -1 || !name)
|
||||
return;
|
||||
SHARED_ACQUIRE(LockPluginMenuList);
|
||||
for(const auto & currentMenu : pluginMenuList)
|
||||
{
|
||||
if(currentMenu.pluginHandle == pluginHandle && currentMenu.hEntryPlugin == hEntry)
|
||||
{
|
||||
GuiMenuSetEntryName(currentMenu.hEntryMenu, name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool pluginexprfuncregister(int pluginHandle, const char* name, int argc, CBPLUGINEXPRFUNCTION cbFunction, void* userdata)
|
||||
{
|
||||
PLUG_EXPRFUNCTION plugExprfunction;
|
||||
|
|
|
@ -75,6 +75,10 @@ bool pluginwineventglobal(MSG* message);
|
|||
void pluginmenuseticon(int hMenu, const ICONDATA* icon);
|
||||
void pluginmenuentryseticon(int pluginHandle, int hEntry, const ICONDATA* icon);
|
||||
void pluginmenuentrysetchecked(int pluginHandle, int hEntry, bool checked);
|
||||
void pluginmenusetvisible(int pluginHandle, int hMenu, bool visible);
|
||||
void pluginmenuentrysetvisible(int pluginHandle, int hEntry, bool visible);
|
||||
void pluginmenusetname(int pluginHandle, int hMenu, const char* name);
|
||||
void pluginmenuentrysetname(int pluginHandle, int hEntry, const char* name);
|
||||
bool pluginexprfuncregister(int pluginHandle, const char* name, int argc, CBPLUGINEXPRFUNCTION cbFunction, void* userdata);
|
||||
bool pluginexprfuncunregister(int pluginHandle, const char* name);
|
||||
|
||||
|
|
|
@ -504,6 +504,38 @@ void* Bridge::processMessage(GUIMSG type, void* param1, void* param2)
|
|||
}
|
||||
break;
|
||||
|
||||
case GUI_MENU_SET_VISIBLE:
|
||||
{
|
||||
BridgeResult result;
|
||||
emit setVisibleMenu(int(param1), bool(param2));
|
||||
result.Wait();
|
||||
}
|
||||
break;
|
||||
|
||||
case GUI_MENU_SET_ENTRY_VISIBLE:
|
||||
{
|
||||
BridgeResult result;
|
||||
emit setVisibleMenuEntry(int(param1), bool(param2));
|
||||
result.Wait();
|
||||
}
|
||||
break;
|
||||
|
||||
case GUI_MENU_SET_NAME:
|
||||
{
|
||||
BridgeResult result;
|
||||
emit setNameMenu(int(param1), QString((const char*)param2));
|
||||
result.Wait();
|
||||
}
|
||||
break;
|
||||
|
||||
case GUI_MENU_SET_ENTRY_NAME:
|
||||
{
|
||||
BridgeResult result;
|
||||
emit setNameMenuEntry(int(param1), QString((const char*)param2));
|
||||
result.Wait();
|
||||
}
|
||||
break;
|
||||
|
||||
case GUI_SHOW_CPU:
|
||||
emit showCpu();
|
||||
break;
|
||||
|
|
|
@ -112,6 +112,10 @@ signals:
|
|||
void setIconMenuEntry(int hEntry, QIcon icon);
|
||||
void setIconMenu(int hMenu, QIcon icon);
|
||||
void setCheckedMenuEntry(int hEntry, bool checked);
|
||||
void setVisibleMenuEntry(int hEntry, bool visible);
|
||||
void setVisibleMenu(int hMenu, bool visible);
|
||||
void setNameMenuEntry(int hEntry, QString name);
|
||||
void setNameMenu(int hMenu, QString name);
|
||||
void showCpu();
|
||||
void addQWidgetTab(QWidget* qWidget);
|
||||
void showQWidgetTab(QWidget* qWidget);
|
||||
|
|
|
@ -1287,6 +1287,60 @@ void MainWindow::setCheckedMenuEntry(int hEntry, bool checked)
|
|||
Bridge::getBridge()->setResult();
|
||||
}
|
||||
|
||||
void MainWindow::setVisibleMenuEntry(int hEntry, bool visible)
|
||||
{
|
||||
for(int i = 0; i < mEntryList.size(); i++)
|
||||
{
|
||||
if(mEntryList.at(i).hEntry == hEntry)
|
||||
{
|
||||
const MenuEntryInfo & entry = mEntryList.at(i);
|
||||
entry.mAction->setVisible(visible);
|
||||
break;
|
||||
}
|
||||
}
|
||||
Bridge::getBridge()->setResult();
|
||||
}
|
||||
|
||||
void MainWindow::setVisibleMenu(int hMenu, bool visible)
|
||||
{
|
||||
for(int i = 0; i < mMenuList.size(); i++)
|
||||
{
|
||||
if(mMenuList.at(i).hMenu == hMenu)
|
||||
{
|
||||
const MenuInfo & menu = mMenuList.at(i);
|
||||
menu.mMenu->setVisible(visible);
|
||||
}
|
||||
}
|
||||
Bridge::getBridge()->setResult();
|
||||
}
|
||||
|
||||
void MainWindow::setNameMenuEntry(int hEntry, QString name)
|
||||
{
|
||||
for(int i = 0; i < mEntryList.size(); i++)
|
||||
{
|
||||
if(mEntryList.at(i).hEntry == hEntry)
|
||||
{
|
||||
const MenuEntryInfo & entry = mEntryList.at(i);
|
||||
entry.mAction->setText(name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
Bridge::getBridge()->setResult();
|
||||
}
|
||||
|
||||
void MainWindow::setNameMenu(int hMenu, QString name)
|
||||
{
|
||||
for(int i = 0; i < mMenuList.size(); i++)
|
||||
{
|
||||
if(mMenuList.at(i).hMenu == hMenu)
|
||||
{
|
||||
const MenuInfo & menu = mMenuList.at(i);
|
||||
menu.mMenu->setTitle(name);
|
||||
}
|
||||
}
|
||||
Bridge::getBridge()->setResult();
|
||||
}
|
||||
|
||||
void MainWindow::runSelection()
|
||||
{
|
||||
QString command;
|
||||
|
|
|
@ -107,6 +107,10 @@ public slots:
|
|||
void setIconMenuEntry(int hEntry, QIcon icon);
|
||||
void setIconMenu(int hMenu, QIcon icon);
|
||||
void setCheckedMenuEntry(int hEntry, bool checked);
|
||||
void setVisibleMenuEntry(int hEntry, bool visible);
|
||||
void setVisibleMenu(int hMenu, bool visible);
|
||||
void setNameMenuEntry(int hEntry, QString name);
|
||||
void setNameMenu(int hMenu, QString name);
|
||||
void runSelection();
|
||||
void runExpression();
|
||||
void getStrWindow(const QString title, QString* text);
|
||||
|
|
Loading…
Reference in New Issue