1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-21 14:02:57 +02:00

Change expansion of XXO and pass more arguments to CommandManager

This commit is contained in:
Paul Licameli
2018-03-15 22:53:35 -04:00
parent 4e18318934
commit bb7b77cde0
5 changed files with 50 additions and 14 deletions

View File

@@ -704,6 +704,7 @@ void CommandManager::ClearCurrentMenu()
mCurrentMenu = nullptr;
}
#if 0
///
/// Add a menu item to the current menu. When the user selects it, the
/// given functor will be called
@@ -760,7 +761,7 @@ void CommandManager::InsertItem(const wxString & name,
}
}
CommandListEntry *entry = NewIdentifier(name, label_in, menu, finder, callback, {}, 0, 0, false);
CommandListEntry *entry = NewIdentifier(name, label_in, false, menu, finder, callback, {}, 0, 0, false);
int ID = entry->id;
wxString label = GetLabel(entry);
@@ -774,32 +775,36 @@ void CommandManager::InsertItem(const wxString & name,
mbSeparatorAllowed = true;
}
#endif
void CommandManager::AddCheck(const wxChar *name,
const wxChar *label,
bool hasDialog,
CommandHandlerFinder finder,
CommandFunctorPointer callback,
int checkmark)
{
AddItem(name, label, finder, callback, wxT(""),
AddItem(name, label, hasDialog, finder, callback, wxT(""),
NoFlagsSpecifed, NoFlagsSpecifed, checkmark);
}
void CommandManager::AddCheck(const wxChar *name,
const wxChar *label,
bool hasDialog,
CommandHandlerFinder finder,
CommandFunctorPointer callback,
int checkmark,
CommandFlag flags,
CommandMask mask)
{
AddItem(name, label, finder, callback, wxT(""), flags, mask, checkmark);
AddItem(name, label, hasDialog, finder, callback, wxT(""), flags, mask, checkmark);
}
void CommandManager::AddItem(const wxChar *name,
const wxChar *label,
bool hasDialog,
CommandHandlerFinder finder,
CommandFunctorPointer callback,
CommandFlag flags,
@@ -807,11 +812,12 @@ void CommandManager::AddItem(const wxChar *name,
bool bIsEffect,
const CommandParameter &parameter)
{
AddItem(name, label, finder, callback, wxT(""), flags, mask, -1, bIsEffect, parameter);
AddItem(name, label, hasDialog, finder, callback, wxT(""), flags, mask, -1, bIsEffect, parameter);
}
void CommandManager::AddItem(const wxChar *name,
const wxChar *label_in,
bool hasDialog,
CommandHandlerFinder finder,
CommandFunctorPointer callback,
const wxChar *accel,
@@ -827,7 +833,7 @@ void CommandManager::AddItem(const wxChar *name,
else
cookedParameter = parameter;
CommandListEntry *entry =
NewIdentifier(name, label_in, accel, CurrentMenu(), finder, callback,
NewIdentifier(name, label_in, hasDialog, accel, CurrentMenu(), finder, callback,
{}, 0, 0, bIsEffect, cookedParameter);
int ID = entry->id;
wxString label = GetLabelWithDisabledAccel(entry);
@@ -864,6 +870,8 @@ void CommandManager::AddItemList(const wxString & name,
for (size_t i = 0, cnt = nItems; i < cnt; i++) {
CommandListEntry *entry = NewIdentifier(name,
items[i].Translated(),
// No means yet to specify !
false,
CurrentMenu(),
finder,
callback,
@@ -897,7 +905,7 @@ void CommandManager::AddCommand(const wxChar *name,
CommandFlag flags,
CommandMask mask)
{
NewIdentifier(name, label_in, accel, NULL, finder, callback, {}, 0, 0, false, {});
NewIdentifier(name, label_in, false, accel, NULL, finder, callback, {}, 0, 0, false, {});
if (flags != NoFlagsSpecifed || mask != NoFlagsSpecifed) {
SetCommandFlags(name, flags, mask);
@@ -906,12 +914,13 @@ void CommandManager::AddCommand(const wxChar *name,
void CommandManager::AddGlobalCommand(const wxChar *name,
const wxChar *label_in,
bool hasDialog,
CommandHandlerFinder finder,
CommandFunctorPointer callback,
const wxChar *accel)
{
CommandListEntry *entry =
NewIdentifier(name, label_in, accel, NULL, finder, callback,
NewIdentifier(name, label_in, hasDialog, accel, NULL, finder, callback,
{}, 0, 0, false, {});
entry->enabled = false;
@@ -945,6 +954,7 @@ int CommandManager::NextIdentifier(int ID)
///and keep menus above wxID_HIGHEST
CommandListEntry *CommandManager::NewIdentifier(const wxString & name,
const wxString & label,
bool hasDialog,
wxMenu *menu,
CommandHandlerFinder finder,
CommandFunctorPointer callback,
@@ -955,6 +965,7 @@ CommandListEntry *CommandManager::NewIdentifier(const wxString & name,
{
return NewIdentifier(name,
label.BeforeFirst(wxT('\t')),
hasDialog,
label.AfterFirst(wxT('\t')),
menu,
finder,
@@ -968,6 +979,7 @@ CommandListEntry *CommandManager::NewIdentifier(const wxString & name,
CommandListEntry *CommandManager::NewIdentifier(const wxString & nameIn,
const wxString & label,
bool WXUNUSED(hasDialog),
const wxString & accel,
wxMenu *menu,
CommandHandlerFinder finder,

View File

@@ -154,12 +154,14 @@ class AUDACITY_DLL_API CommandManager final : public XMLTagHandler
wxMenu* BeginSubMenu(const wxString & tName);
void EndSubMenu();
/*
void InsertItem(const wxString & name,
const wxString & label,
CommandHandlerFinder finder,
CommandFunctorPointer callback,
const wxString & after,
int checkmark = -1);
*/
void AddItemList(const wxString & name,
const TranslatedInternalString items[],
@@ -170,12 +172,14 @@ class AUDACITY_DLL_API CommandManager final : public XMLTagHandler
void AddCheck(const wxChar *name,
const wxChar *label,
bool hasDialog,
CommandHandlerFinder finder,
CommandFunctorPointer callback,
int checkmark = 0);
void AddCheck(const wxChar *name,
const wxChar *label,
bool hasDialog,
CommandHandlerFinder finder,
CommandFunctorPointer callback,
int checkmark,
@@ -184,6 +188,7 @@ class AUDACITY_DLL_API CommandManager final : public XMLTagHandler
void AddItem(const wxChar *name,
const wxChar *label,
bool hasDialog,
CommandHandlerFinder finder,
CommandFunctorPointer callback,
CommandFlag flags = NoFlagsSpecifed,
@@ -193,6 +198,7 @@ class AUDACITY_DLL_API CommandManager final : public XMLTagHandler
void AddItem(const wxChar *name,
const wxChar *label_in,
bool hasDialog,
CommandHandlerFinder finder,
CommandFunctorPointer callback,
const wxChar *accel,
@@ -223,6 +229,7 @@ class AUDACITY_DLL_API CommandManager final : public XMLTagHandler
void AddGlobalCommand(const wxChar *name,
const wxChar *label,
bool hasDialog,
CommandHandlerFinder finder,
CommandFunctorPointer callback,
const wxChar *accel);
@@ -333,6 +340,7 @@ protected:
int NextIdentifier(int ID);
CommandListEntry *NewIdentifier(const wxString & name,
const wxString & label,
bool hasDialog,
wxMenu *menu,
CommandHandlerFinder finder,
CommandFunctorPointer callback,
@@ -342,6 +350,7 @@ protected:
bool bIsEffect);
CommandListEntry *NewIdentifier(const wxString & name,
const wxString & label,
bool hasDialog,
const wxString & accel,
wxMenu *menu,
CommandHandlerFinder finder,