Remove unused support for secondary menu command

objectmenu
Günther Brammer 2016-01-27 04:19:27 +01:00
parent bddbc23354
commit 66d78fddab
5 changed files with 12 additions and 24 deletions

View File

@ -200,7 +200,6 @@ const BYTE
const BYTE
COM_MenuEnter = 38,
COM_MenuEnterAll = 39,
COM_MenuClose = 40,
COM_MenuLeft = 52,
COM_MenuRight = 53,

View File

@ -288,12 +288,12 @@ void C4MainMenu::OnUserSelectItem(int32_t Player, int32_t iIndex)
SetSelection(iIndex, true, true);
}
void C4MainMenu::OnUserEnter(int32_t Player, int32_t iIndex, bool fRight)
void C4MainMenu::OnUserEnter(int32_t Player, int32_t iIndex)
{
// direct menu control
// but ensure selection is Okay before
SetSelection(iIndex, true, false);
Enter(fRight);
Enter();
}
void C4MainMenu::OnUserClose()

View File

@ -64,7 +64,7 @@ protected:
virtual void OnSelectionChanged(int32_t iNewSelection);
virtual void OnUserSelectItem(int32_t Player, int32_t iIndex);
virtual void OnUserEnter(int32_t Player, int32_t iIndex, bool fRight);
virtual void OnUserEnter(int32_t Player, int32_t iIndex);
virtual void OnUserClose();
virtual int32_t GetControllingPlayer() { return Player; }

View File

@ -41,11 +41,10 @@ C4MenuItem::C4MenuItem(C4Menu *pMenu, int32_t iIndex, const char *szCaption,
: C4GUI::Element(), pSymbolGraphics(NULL), dwSymbolClr(0u), fSelected(false),
iStyle(iStyle), pMenu(pMenu), iIndex(iIndex)
{
*Caption=*Command=*Command2=*InfoCaption=0;
*Caption=*Command=*InfoCaption=0;
Symbol.Default();
SCopy(szCaption,Caption,C4MaxTitle);
SCopy(szCommand,Command,_MAX_FNAME+30);
SCopy(szCommand2,Command2,_MAX_FNAME+30);
SCopy(szInfoCaption,InfoCaption,C4MaxTitle);
// some info caption corrections
SReplaceChar(InfoCaption, 10, ' '); SReplaceChar(InfoCaption, 13, '|');
@ -105,16 +104,9 @@ void C4MenuItem::DrawElement(C4TargetFacet &cgo)
void C4MenuItem::MouseInput(C4GUI::CMouse &rMouse, int32_t iButton, int32_t iX, int32_t iY, DWORD dwKeyParam)
{
// clicky clicky!
if (iButton == C4MC_Button_LeftUp)
if (iButton == C4MC_Button_LeftUp || iButton == C4MC_Button_RightUp)
{
// left-click performed
pMenu->UserEnter(::MouseControl.GetPlayer(), this, false);
return;
}
else if (iButton == C4MC_Button_RightUp)
{
// right-up: Alternative enter command
pMenu->UserEnter(::MouseControl.GetPlayer(), this, true);
pMenu->UserEnter(::MouseControl.GetPlayer(), this);
return;
}
// inherited; this is just setting some vars
@ -272,7 +264,6 @@ bool C4Menu::Control(BYTE byCom, int32_t iData)
switch (byCom)
{
case COM_MenuEnter: Enter(); break;
case COM_MenuEnterAll: Enter(true); break;
case COM_MenuClose: TryClose(false, true); break;
// organize with nicer subfunction...
@ -323,7 +314,7 @@ bool C4Menu::IsActive()
return fActive;
}
bool C4Menu::Enter(bool fRight)
bool C4Menu::Enter()
{
// Not active
if (!IsActive()) return false;
@ -334,7 +325,6 @@ bool C4Menu::Enter(bool fRight)
// Copy command to buffer (menu might be cleared)
char szCommand[_MAX_FNAME+30+1];
SCopy(pItem->Command,szCommand);
if (fRight && pItem->Command2[0]) SCopy(pItem->Command2,szCommand);
// Close if not permanent
if (!Permanent) { Close(true); fActive = false; }
@ -731,13 +721,13 @@ void C4Menu::UserSelectItem(int32_t Player, C4MenuItem *pItem)
OnUserSelectItem(Player, pItem->iIndex);
}
void C4Menu::UserEnter(int32_t Player, C4MenuItem *pItem, bool fRight)
void C4Menu::UserEnter(int32_t Player, C4MenuItem *pItem)
{
// not if user con't control anything
if (IsReadOnly()) return;
if (!pItem) return;
// queue or direct enter
OnUserEnter(Player, pItem->iIndex, fRight);
OnUserEnter(Player, pItem->iIndex);
}
void C4Menu::UserClose(bool fOK)

View File

@ -59,7 +59,6 @@ public:
protected:
char Caption[C4MaxTitle+1];
char Command[_MAX_FNAME+30+1];
char Command2[_MAX_FNAME+30+1];
char InfoCaption[2*C4MaxTitle+1];
C4FacetSurface Symbol;
C4DefGraphics* pSymbolGraphics; // drawn instead of symbol, if non-null
@ -137,7 +136,7 @@ public:
bool SetSelection(int32_t iSelection, bool fAdjustPosition, bool fDoCalls);
bool SetPosition(int32_t iPosition);
void SetSize(int32_t iToWdt, int32_t iToHgt);
bool Enter(bool fRight=false);
bool Enter();
bool IsActive();
bool Control(BYTE byCom, int32_t iData);
bool KeyControl(BYTE byCom); // direct keyboard callback
@ -179,7 +178,7 @@ protected:
void InitSize();
void UpdateScrollBar(); // call InitSize if a scroll bar is needed but not present or vice vera
void UserSelectItem(int32_t Player, C4MenuItem *pItem); // select item (direct) or do control (object menus)
void UserEnter(int32_t Player, C4MenuItem *pItem, bool fRight); // enter on an item
void UserEnter(int32_t Player, C4MenuItem *pItem); // enter on an item
bool HasMouse(); // returns whether the controlling player has mouse control
virtual bool DoRefillInternal(bool &rfRefilled) { return true; };
@ -187,7 +186,7 @@ protected:
virtual void OnSelectionChanged(int32_t iNewSelection) {} // do object callbacks if selection changed in user menus
virtual bool IsCloseDenied() { return false; } // do MenuQueryCancel-callbacks for user menus
virtual void OnUserSelectItem(int32_t Player, int32_t iIndex) {}
virtual void OnUserEnter(int32_t Player, int32_t iIndex, bool fRight) {}
virtual void OnUserEnter(int32_t Player, int32_t iIndex) {}
virtual void OnUserClose() {};
virtual bool IsReadOnly() { return false; } // determine whether the menu is just viewed by an observer, and should not issue any calls
virtual int32_t GetControllingPlayer() { return NO_OWNER; }