Skip to content

Commit

Permalink
Cleanup|libcommon|Menu: Removed unused 'parameters' arg from menu::Wi…
Browse files Browse the repository at this point in the history
…dget action callbacks

This is effectively a "widget event" mechanism. There is no real use
for routing arguments in this way now that the menu widgets have been
updated to use an object-oriented model. Indeed most of these callbacks
are used to implement widget-internal behaviors, rather than to action
game menu logics specifically.
  • Loading branch information
danij-deng committed Jul 22, 2014
1 parent 48fb339 commit 0dba156
Show file tree
Hide file tree
Showing 5 changed files with 103 additions and 105 deletions.
18 changes: 8 additions & 10 deletions doomsday/plugins/common/include/hu_lib.h
Expand Up @@ -158,12 +158,11 @@ struct Widget
/// Callback to be made when this action is executed. Can be @c NULL in
/// which case attempts to action this will be NOPs.
///
/// @param ob Object being referenced for this callback.
/// @param ob Object being referenced for this callback.
/// @param action Identifier of the Menu Action to be processed.
/// @param parameters Passed to the callback from event which actioned this.
/// @return Callback return value. Callback should return zero if the action
/// was recognised and processed, regardless of outcome.
int (*callback) (Widget *wi, mn_actionid_t action, void *parameters);
int (*callback) (Widget *wi, mn_actionid_t action);
};

public:
Expand Down Expand Up @@ -295,10 +294,9 @@ struct Widget
/**
* Execute the action associated with @a id
* @param action Identifier of the action to be executed (if found).
* @param parameters Passed to the action callback.
* @return Return value of the executed action else @c -1 if NOP.
*/
int execAction(mn_actionid_t action, void *parameters);
int execAction(mn_actionid_t action);

de::String const &helpInfo() const;
Widget &setHelpInfo(de::String newHelpInfo);
Expand Down Expand Up @@ -571,7 +569,7 @@ struct CVarToggleWidget : public ButtonWidget
};

int CVarToggleWidget_CommandResponder(Widget *wi, menucommand_e cmd);
int CvarToggleWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action, void *parameters);
int CvarToggleWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action);

struct cvarbutton_t
{
Expand Down Expand Up @@ -661,7 +659,7 @@ struct LineEditWidget : public Widget

int LineEditWidget_CommandResponder(Widget *wi, menucommand_e command);

int CvarLineEditWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action, void *parameters);
int CvarLineEditWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action);

/**
* List selection.
Expand Down Expand Up @@ -740,7 +738,7 @@ struct ListWidget : public Widget

int ListWidget_CommandResponder(Widget *wi, menucommand_e command);

int CvarListWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action, void *parameters);
int CvarListWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action);

struct InlineListWidget : public ListWidget
{
Expand Down Expand Up @@ -841,7 +839,7 @@ struct ColorPreviewWidget : public Widget

int ColorPreviewWidget_CommandResponder(Widget *wi, menucommand_e command);

int CvarColorPreviewWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action, void *parameters);
int CvarColorPreviewWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action);

/**
* Graphical slider.
Expand Down Expand Up @@ -910,7 +908,7 @@ struct SliderWidget : public Widget

int SliderWidget_CommandResponder(Widget *wi, menucommand_e command);

int CvarSliderWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action, void *parameters);
int CvarSliderWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action);

struct TextualSliderWidget : public SliderWidget
{
Expand Down
2 changes: 1 addition & 1 deletion doomsday/plugins/common/include/hu_menu.h
Expand Up @@ -197,7 +197,7 @@ void Hu_MenuInitNewGame(dd_bool confirmed);

void Hu_MenuCommand(menucommand_e cmd);

int Hu_MenuDefaultFocusAction(menu::Widget *wi, menu::Widget::mn_actionid_t action, void *parameters);
int Hu_MenuDefaultFocusAction(menu::Widget *wi, menu::Widget::mn_actionid_t action);

} // namespace common

Expand Down
72 changes: 36 additions & 36 deletions doomsday/plugins/common/src/hu_lib.cpp
Expand Up @@ -1208,7 +1208,7 @@ void Page::giveChildFocus(Widget *wi, dd_bool allowRefocus)
Widget *oldFocusOb = _widgets[focus];
if(oldFocusOb->hasAction(Widget::MNA_FOCUSOUT))
{
oldFocusOb->execAction(Widget::MNA_FOCUSOUT, NULL);
oldFocusOb->execAction(Widget::MNA_FOCUSOUT);
}
oldFocusOb->setFlags(FO_CLEAR, MNF_FOCUS);
}
Expand All @@ -1222,7 +1222,7 @@ void Page::giveChildFocus(Widget *wi, dd_bool allowRefocus)
wi->setFlags(FO_SET, MNF_FOCUS);
if(wi->hasAction(Widget::MNA_FOCUS))
{
wi->execAction(Widget::MNA_FOCUS, NULL);
wi->execAction(Widget::MNA_FOCUS);
}
}

Expand Down Expand Up @@ -1663,14 +1663,14 @@ int Widget_DefaultCommandResponder(Widget *ob, menucommand_e cmd)
ob->_flags |= MNF_ACTIVE;
if(ob->hasAction(Widget::MNA_ACTIVE))
{
ob->execAction(Widget::MNA_ACTIVE, NULL);
ob->execAction(Widget::MNA_ACTIVE);
}
}

ob->_flags &= ~MNF_ACTIVE;
if(ob->hasAction(Widget::MNA_ACTIVEOUT))
{
ob->execAction(Widget::MNA_ACTIVEOUT, NULL);
ob->execAction(Widget::MNA_ACTIVEOUT);
}
return true;
}
Expand All @@ -1689,11 +1689,11 @@ dd_bool Widget::hasAction(mn_actionid_t id)
return (info && info->callback != 0);
}

int Widget::execAction(mn_actionid_t id, void *parameters)
int Widget::execAction(mn_actionid_t id)
{
if(hasAction(id))
{
return action(id)->callback(this, id, parameters);
return action(id)->callback(this, id);
}
DENG2_ASSERT(!"MNObject::ExecAction: Attempt to execute non-existent action.");
/// @todo Need an error handling mechanic.
Expand Down Expand Up @@ -1999,7 +1999,7 @@ int LineEditWidget_CommandResponder(Widget *wi, menucommand_e cmd)
Str_Copy(&edit->oldtext, &edit->_text);
if(wi->hasAction(Widget::MNA_ACTIVE))
{
wi->execAction(Widget::MNA_ACTIVE, NULL);
wi->execAction(Widget::MNA_ACTIVE);
}
}
else
Expand All @@ -2009,7 +2009,7 @@ int LineEditWidget_CommandResponder(Widget *wi, menucommand_e cmd)
wi->_flags &= ~MNF_ACTIVE;
if(wi->hasAction(Widget::MNA_ACTIVEOUT))
{
wi->execAction(Widget::MNA_ACTIVEOUT, NULL);
wi->execAction(Widget::MNA_ACTIVEOUT);
}
}
return true;
Expand All @@ -2024,7 +2024,7 @@ int LineEditWidget_CommandResponder(Widget *wi, menucommand_e cmd)
wi->_flags &= ~MNF_ACTIVE;
if(wi->hasAction(Widget::MNA_CLOSE))
{
wi->execAction(Widget::MNA_CLOSE, NULL);
wi->execAction(Widget::MNA_CLOSE);
}
return true;

Expand Down Expand Up @@ -2082,7 +2082,7 @@ void LineEditWidget::setText(int flags, char const *newText)
}
if(!(flags & MNEDIT_STF_NO_ACTION) && hasAction(MNA_MODIFIED))
{
execAction(MNA_MODIFIED, NULL);
execAction(MNA_MODIFIED);
}
}

Expand Down Expand Up @@ -2112,7 +2112,7 @@ int LineEditWidget::handleEvent(event_t *ev)
Str_Truncate(&_text, Str_Length(&_text)-1);
if(hasAction(MNA_MODIFIED))
{
execAction(MNA_MODIFIED, NULL);
execAction(MNA_MODIFIED);
}
}
return true;
Expand All @@ -2133,7 +2133,7 @@ int LineEditWidget::handleEvent(event_t *ev)
Str_AppendChar(&_text, ch);
if(hasAction(MNA_MODIFIED))
{
execAction(MNA_MODIFIED, NULL);
execAction(MNA_MODIFIED);
}
}
return true;
Expand All @@ -2148,7 +2148,7 @@ void LineEditWidget::updateGeometry(Page * /*page*/)
Rect_SetWidthHeight(_geometry, 170, 14);
}

int CvarLineEditWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action, void * /*context*/)
int CvarLineEditWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action)
{
DENG2_ASSERT(wi != 0);
LineEditWidget const &edit = wi->as<LineEditWidget>();
Expand Down Expand Up @@ -2282,7 +2282,7 @@ int ListWidget_CommandResponder(Widget *wi, menucommand_e cmd)
S_LocalSound(cmd == MCMD_NAV_DOWN? SFX_MENU_NAV_DOWN : SFX_MENU_NAV_UP, NULL);
if(wi->hasAction(Widget::MNA_MODIFIED))
{
wi->execAction(Widget::MNA_MODIFIED, NULL);
wi->execAction(Widget::MNA_MODIFIED);
}
}
return true;
Expand All @@ -2296,7 +2296,7 @@ int ListWidget_CommandResponder(Widget *wi, menucommand_e cmd)
wi->_flags &= ~MNF_ACTIVE;
if(wi->hasAction(Widget::MNA_CLOSE))
{
wi->execAction(Widget::MNA_CLOSE, NULL);
wi->execAction(Widget::MNA_CLOSE);
}
return true;
}
Expand All @@ -2309,7 +2309,7 @@ int ListWidget_CommandResponder(Widget *wi, menucommand_e cmd)
wi->_flags |= MNF_ACTIVE;
if(wi->hasAction(Widget::MNA_ACTIVE))
{
wi->execAction(Widget::MNA_ACTIVE, NULL);
wi->execAction(Widget::MNA_ACTIVE);
}
}
else
Expand All @@ -2318,7 +2318,7 @@ int ListWidget_CommandResponder(Widget *wi, menucommand_e cmd)
wi->_flags &= ~MNF_ACTIVE;
if(wi->hasAction(Widget::MNA_ACTIVEOUT))
{
wi->execAction(Widget::MNA_ACTIVEOUT, NULL);
wi->execAction(Widget::MNA_ACTIVEOUT);
}
}
return true;
Expand Down Expand Up @@ -2373,7 +2373,7 @@ dd_bool ListWidget::selectItem(int flags, int itemIndex)

if(!(flags & MNLIST_SIF_NO_ACTION) && hasAction(MNA_MODIFIED))
{
execAction(MNA_MODIFIED, NULL);
execAction(MNA_MODIFIED);
}
return true;
}
Expand All @@ -2383,7 +2383,7 @@ dd_bool ListWidget::selectItemByValue(int flags, int dataValue)
return selectItem(flags, findItem(dataValue));
}

int CvarListWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action, void * /*parameters*/)
int CvarListWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action)
{
ListWidget const *list = &wi->as<ListWidget>();

Expand Down Expand Up @@ -2474,7 +2474,7 @@ int InlineListWidget_CommandResponder(Widget *wi, menucommand_e cmd)
S_LocalSound(SFX_MENU_SLIDER_MOVE, NULL);
if(wi->hasAction(Widget::MNA_MODIFIED))
{
wi->execAction(Widget::MNA_MODIFIED, NULL);
wi->execAction(Widget::MNA_MODIFIED);
}
}
return true;
Expand Down Expand Up @@ -2598,7 +2598,7 @@ int ButtonWidget_CommandResponder(Widget *wi, menucommand_e cmd)
wi->_flags |= MNF_ACTIVE;
if(wi->hasAction(Widget::MNA_ACTIVE))
{
wi->execAction(Widget::MNA_ACTIVE, NULL);
wi->execAction(Widget::MNA_ACTIVE);
}
}

Expand All @@ -2607,7 +2607,7 @@ int ButtonWidget_CommandResponder(Widget *wi, menucommand_e cmd)
wi->_flags &= ~MNF_ACTIVE;
if(wi->hasAction(Widget::MNA_ACTIVEOUT))
{
wi->execAction(Widget::MNA_ACTIVEOUT, NULL);
wi->execAction(Widget::MNA_ACTIVEOUT);
}

wi->timer = 0;
Expand Down Expand Up @@ -2722,7 +2722,7 @@ int CVarToggleWidget_CommandResponder(Widget *wi, menucommand_e cmd)
wi->_flags |= MNF_ACTIVE;
if(wi->hasAction(Widget::MNA_ACTIVE))
{
wi->execAction(Widget::MNA_ACTIVE, NULL);
wi->execAction(Widget::MNA_ACTIVE);
}
}

Expand All @@ -2736,7 +2736,7 @@ int CVarToggleWidget_CommandResponder(Widget *wi, menucommand_e cmd)
*((char*)data) = (wi->_flags & MNF_ACTIVE) != 0;
if(wi->hasAction(Widget::MNA_MODIFIED))
{
wi->execAction(Widget::MNA_MODIFIED, NULL);
wi->execAction(Widget::MNA_MODIFIED);
}
}

Expand All @@ -2745,7 +2745,7 @@ int CVarToggleWidget_CommandResponder(Widget *wi, menucommand_e cmd)
S_LocalSound(SFX_MENU_CYCLE, NULL);
if(wi->hasAction(Widget::MNA_ACTIVEOUT))
{
wi->execAction(Widget::MNA_ACTIVEOUT, NULL);
wi->execAction(Widget::MNA_ACTIVEOUT);
}
}

Expand All @@ -2756,7 +2756,7 @@ int CVarToggleWidget_CommandResponder(Widget *wi, menucommand_e cmd)
return false; // Not eaten.
}

int CvarToggleWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action, void * /*context*/)
int CvarToggleWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action)
{
CVarToggleWidget *tog = &wi->as<CVarToggleWidget>();
cvarbutton_t const *cb = (cvarbutton_t *)wi->data1;
Expand Down Expand Up @@ -2932,7 +2932,7 @@ int ColorPreviewWidget_CommandResponder(Widget *wi, menucommand_e cmd)
wi->_flags |= MNF_ACTIVE;
if(wi->hasAction(Widget::MNA_ACTIVE))
{
wi->execAction(Widget::MNA_ACTIVE, NULL);
wi->execAction(Widget::MNA_ACTIVE);
}
}
else
Expand All @@ -2941,7 +2941,7 @@ int ColorPreviewWidget_CommandResponder(Widget *wi, menucommand_e cmd)
wi->_flags &= ~MNF_ACTIVE;
if(wi->hasAction(Widget::MNA_ACTIVEOUT))
{
wi->execAction(Widget::MNA_ACTIVEOUT, NULL);
wi->execAction(Widget::MNA_ACTIVEOUT);
}
}
return true;
Expand Down Expand Up @@ -3055,7 +3055,7 @@ dd_bool ColorPreviewWidget::setRedf(int flags, float red)
{
if(!(flags & MNCOLORBOX_SCF_NO_ACTION) && hasAction(MNA_MODIFIED))
{
execAction(MNA_MODIFIED, NULL);
execAction(MNA_MODIFIED);
}
return true;
}
Expand All @@ -3071,7 +3071,7 @@ dd_bool ColorPreviewWidget::setGreenf(int flags, float green)
{
if(!(flags & MNCOLORBOX_SCF_NO_ACTION) && hasAction(MNA_MODIFIED))
{
execAction(MNA_MODIFIED, NULL);
execAction(MNA_MODIFIED);
}
return true;
}
Expand All @@ -3087,7 +3087,7 @@ dd_bool ColorPreviewWidget::setBluef(int flags, float blue)
{
if(!(flags & MNCOLORBOX_SCF_NO_ACTION) && hasAction(MNA_MODIFIED))
{
execAction(MNA_MODIFIED, NULL);
execAction(MNA_MODIFIED);
}
return true;
}
Expand All @@ -3104,7 +3104,7 @@ dd_bool ColorPreviewWidget::setAlphaf(int flags, float alpha)
{
if(!(flags & MNCOLORBOX_SCF_NO_ACTION) && hasAction(MNA_MODIFIED))
{
execAction(MNA_MODIFIED, NULL);
execAction(MNA_MODIFIED);
}
return true;
}
Expand All @@ -3126,7 +3126,7 @@ dd_bool ColorPreviewWidget::setColor4f(int flags, float red, float green,

if(!(flags & MNCOLORBOX_SCF_NO_ACTION) && hasAction(MNA_MODIFIED))
{
execAction(MNA_MODIFIED, NULL);
execAction(MNA_MODIFIED);
}
return true;
}
Expand All @@ -3142,7 +3142,7 @@ dd_bool ColorPreviewWidget::copyColor(int flags, ColorPreviewWidget const &other
return setColor4f(flags, other.redf(), other.greenf(), other.bluef(), other.alphaf());
}

int CvarColorPreviewWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action, void * /*context*/)
int CvarColorPreviewWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action)
{
ColorPreviewWidget *cbox = &wi->as<ColorPreviewWidget>();

Expand Down Expand Up @@ -3302,7 +3302,7 @@ int SliderWidget_CommandResponder(Widget *wi, menucommand_e cmd)
S_LocalSound(SFX_MENU_SLIDER_MOVE, NULL);
if(wi->hasAction(Widget::MNA_MODIFIED))
{
wi->execAction(Widget::MNA_MODIFIED, NULL);
wi->execAction(Widget::MNA_MODIFIED);
}
}
return true;
Expand All @@ -3312,7 +3312,7 @@ int SliderWidget_CommandResponder(Widget *wi, menucommand_e cmd)
}
}

int CvarSliderWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action, void * /*context*/)
int CvarSliderWidget_UpdateCvar(Widget *wi, Widget::mn_actionid_t action)
{
if(Widget::MNA_MODIFIED != action) return 1;

Expand Down

0 comments on commit 0dba156

Please sign in to comment.