Right clicking on reload button will show save preview.
This commit is contained in:
parent
b08812569c
commit
3664a22f98
@ -987,6 +987,15 @@ void GameController::OpenSavePreview(int saveID, int saveDate)
|
||||
ui::Engine::Ref().ShowWindow(activePreview->GetView());
|
||||
}
|
||||
|
||||
void GameController::OpenSavePreview()
|
||||
{
|
||||
if(gameModel->GetSave())
|
||||
{
|
||||
activePreview = new PreviewController(gameModel->GetSave()->GetID(), new SaveOpenCallback(this));
|
||||
ui::Engine::Ref().ShowWindow(activePreview->GetView());
|
||||
}
|
||||
}
|
||||
|
||||
void GameController::OpenLocalBrowse()
|
||||
{
|
||||
class LocalSaveOpenCallback: public FileSelectedCallback
|
||||
|
@ -106,6 +106,7 @@ public:
|
||||
void OpenLogin();
|
||||
void OpenTags();
|
||||
void OpenSavePreview(int saveID, int saveDate);
|
||||
void OpenSavePreview();
|
||||
void OpenLocalSaveWindow(bool asCurrent);
|
||||
void OpenLocalBrowse();
|
||||
void OpenOptions();
|
||||
|
@ -223,6 +223,10 @@ GameView::GameView():
|
||||
{
|
||||
v->c->ReloadSim();
|
||||
}
|
||||
void AltActionCallback(ui::Button * sender)
|
||||
{
|
||||
v->c->OpenSavePreview();
|
||||
}
|
||||
};
|
||||
reloadButton = new ui::Button(ui::Point(currentX, Size.Y-16), ui::Point(17, 15), "", "Reload the simulation");
|
||||
reloadButton->SetIcon(IconReload);
|
||||
|
@ -156,26 +156,38 @@ void Button::Draw(const Point& screenPos)
|
||||
|
||||
void Button::OnMouseUnclick(int x, int y, unsigned int button)
|
||||
{
|
||||
if(button != 1)
|
||||
if(button == 1)
|
||||
{
|
||||
return;
|
||||
if(isButtonDown)
|
||||
{
|
||||
isButtonDown = false;
|
||||
DoAction();
|
||||
}
|
||||
}
|
||||
|
||||
if(isButtonDown)
|
||||
else if(button == 3)
|
||||
{
|
||||
isButtonDown = false;
|
||||
DoAction();
|
||||
}
|
||||
if(isAltButtonDown)
|
||||
{
|
||||
isAltButtonDown = false;
|
||||
DoAltAction();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Button::OnMouseClick(int x, int y, unsigned int button)
|
||||
{
|
||||
if(button != 1) return;
|
||||
if(isTogglable)
|
||||
{
|
||||
toggle = !toggle;
|
||||
if(button == 1)
|
||||
{
|
||||
if(isTogglable)
|
||||
{
|
||||
toggle = !toggle;
|
||||
}
|
||||
isButtonDown = true;
|
||||
}
|
||||
else if(button == 3)
|
||||
{
|
||||
isAltButtonDown = true;
|
||||
}
|
||||
isButtonDown = true;
|
||||
}
|
||||
|
||||
void Button::OnMouseEnter(int x, int y)
|
||||
@ -206,6 +218,14 @@ void Button::DoAction()
|
||||
actionCallback->ActionCallback(this);
|
||||
}
|
||||
|
||||
void Button::DoAltAction()
|
||||
{
|
||||
if(!Enabled)
|
||||
return;
|
||||
if(actionCallback)
|
||||
actionCallback->AltActionCallback(this);
|
||||
}
|
||||
|
||||
void Button::SetActionCallback(ButtonAction * action)
|
||||
{
|
||||
if(actionCallback)
|
||||
|
@ -20,6 +20,7 @@ class ButtonAction
|
||||
{
|
||||
public:
|
||||
virtual void ActionCallback(ui::Button * sender) {}
|
||||
virtual void AltActionCallback(ui::Button * sender) {}
|
||||
virtual void MouseEnterCallback(ui::Button * sender) {}
|
||||
virtual ~ButtonAction() {}
|
||||
};
|
||||
@ -45,6 +46,7 @@ public:
|
||||
virtual void TextPosition();
|
||||
inline bool GetState() { return state; }
|
||||
virtual void DoAction(); //action of button what ever it may be
|
||||
virtual void DoAltAction(); //action of button what ever it may be
|
||||
void SetTogglable(bool isTogglable);
|
||||
bool GetTogglable();
|
||||
TPT_NO_INLINE bool GetToggleState();
|
||||
@ -60,7 +62,7 @@ protected:
|
||||
std::string buttonDisplayText;
|
||||
std::string ButtonText;
|
||||
|
||||
bool isButtonDown, state, isMouseInside, isTogglable, toggle;
|
||||
bool isButtonDown, isAltButtonDown, state, isMouseInside, isTogglable, toggle;
|
||||
ButtonAction * actionCallback;
|
||||
|
||||
};
|
||||
|
Reference in New Issue
Block a user