- StringTokeniser commandTokeniser(commands, ",;");
- StringTokeniser titleTokeniser(titles, ",;");
-
- const char* cmdToken = commandTokeniser.getToken();
- const char *titleToken = titleTokeniser.getToken();
- while (!string_empty(cmdToken))
- {
- if(string_empty(titleToken))
- {
- m_CommandStrings.push_back(cmdToken);
- m_CommandTitleStrings.push_back(cmdToken);
- cmdToken = commandTokeniser.getToken();
- titleToken = "";
- }
- else
- {
- m_CommandStrings.push_back(cmdToken);
- m_CommandTitleStrings.push_back(titleToken);
- cmdToken = commandTokeniser.getToken();
- titleToken = titleTokeniser.getToken();
+ std::size_t getCommandCount();
+
+ const char *getCommand(std::size_t n);
+
+ const char *getCommandTitle(std::size_t n);
+
+ void addMenuID(std::size_t n);
+
+ bool ownsCommandID(std::size_t n);
+
+};
+
+CPluginSlot::CPluginSlot(ui::Widget main_window, const char *name, const _QERPluginTable &table)
+{
+ mpTable = &table;
+ m_menu_name = name;
+
+ const char *commands = mpTable->m_pfnQERPlug_GetCommandList();
+ const char *titles = mpTable->m_pfnQERPlug_GetCommandTitleList();
+
+ StringTokeniser commandTokeniser(commands, ",;");
+ StringTokeniser titleTokeniser(titles, ",;");
+
+ const char *cmdToken = commandTokeniser.getToken();
+ const char *titleToken = titleTokeniser.getToken();
+ while (!string_empty(cmdToken)) {
+ if (string_empty(titleToken)) {
+ m_CommandStrings.push_back(cmdToken);
+ m_CommandTitleStrings.push_back(cmdToken);
+ cmdToken = commandTokeniser.getToken();
+ titleToken = "";
+ } else {
+ m_CommandStrings.push_back(cmdToken);
+ m_CommandTitleStrings.push_back(titleToken);
+ cmdToken = commandTokeniser.getToken();
+ titleToken = titleTokeniser.getToken();
+ }