Menu now works
This commit is contained in:
@@ -19,8 +19,12 @@ void BaseButtonInstance::render(RenderDevice* rd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
BaseButtonInstance::~BaseButtonInstance(void)
|
BaseButtonInstance::~BaseButtonInstance(void)
|
||||||
|
{
|
||||||
|
if(listener != NULL && listener->doDelete)
|
||||||
{
|
{
|
||||||
delete listener;
|
delete listener;
|
||||||
|
listener = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BaseButtonInstance::setButtonListener(ButtonListener* buttonListener)
|
void BaseButtonInstance::setButtonListener(ButtonListener* buttonListener)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
ButtonListener::ButtonListener()
|
ButtonListener::ButtonListener()
|
||||||
{
|
{
|
||||||
|
doDelete = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
ButtonListener::~ButtonListener(void)
|
ButtonListener::~ButtonListener(void)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
//#include "Application.h"
|
//#include "Application.h"
|
||||||
//#include "BaseButtonInstance.h"
|
#include "BaseButtonInstance.h"
|
||||||
|
|
||||||
class BaseButtonInstance;
|
class BaseButtonInstance;
|
||||||
|
|
||||||
@@ -10,6 +10,7 @@ class ButtonListener
|
|||||||
ButtonListener();
|
ButtonListener();
|
||||||
~ButtonListener(void);
|
~ButtonListener(void);
|
||||||
virtual void onButton1MouseClick(BaseButtonInstance*);
|
virtual void onButton1MouseClick(BaseButtonInstance*);
|
||||||
|
bool doDelete;
|
||||||
//virtual void onMouseOver(); //TODO
|
//virtual void onMouseOver(); //TODO
|
||||||
//virtual void onMouseOut(); //TODO
|
//virtual void onMouseOut(); //TODO
|
||||||
//virtual void onButton1MouseDown(); //TODO
|
//virtual void onButton1MouseDown(); //TODO
|
||||||
|
|||||||
@@ -302,10 +302,6 @@
|
|||||||
RelativePath=".\StringFunctions.cpp"
|
RelativePath=".\StringFunctions.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath=".\ToggleImageButtonInstance.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath=".\Tool.cpp"
|
RelativePath=".\Tool.cpp"
|
||||||
>
|
>
|
||||||
@@ -357,6 +353,10 @@
|
|||||||
RelativePath=".\TextButtonInstance.cpp"
|
RelativePath=".\TextButtonInstance.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\ToggleImageButtonInstance.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\WorkspaceInstance.cpp"
|
RelativePath=".\WorkspaceInstance.cpp"
|
||||||
>
|
>
|
||||||
@@ -393,6 +393,10 @@
|
|||||||
RelativePath=".\RotateButtonListener.cpp"
|
RelativePath=".\RotateButtonListener.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\ToolbarListener.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
@@ -574,6 +578,10 @@
|
|||||||
RelativePath=".\ModeSelectionListener.h"
|
RelativePath=".\ModeSelectionListener.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\ToolbarListener.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
|
|||||||
21
GuiRoot.cpp
21
GuiRoot.cpp
@@ -15,6 +15,7 @@
|
|||||||
#include "RotateButtonListener.h"
|
#include "RotateButtonListener.h"
|
||||||
#include "CameraButtonListener.h"
|
#include "CameraButtonListener.h"
|
||||||
#include "DeleteListener.h"
|
#include "DeleteListener.h"
|
||||||
|
#include "ToolbarListener.h"
|
||||||
|
|
||||||
#include "ImageButtonInstance.h"
|
#include "ImageButtonInstance.h"
|
||||||
|
|
||||||
@@ -31,9 +32,11 @@ TextButtonInstance* GuiRoot::makeTextButton()
|
|||||||
TextButtonInstance* part = new TextButtonInstance();
|
TextButtonInstance* part = new TextButtonInstance();
|
||||||
return part;
|
return part;
|
||||||
}
|
}
|
||||||
|
ToolbarListener * toolbar;
|
||||||
GuiRoot::GuiRoot() : _message(""), _messageTime(0)
|
GuiRoot::GuiRoot() : _message(""), _messageTime(0)
|
||||||
{
|
{
|
||||||
|
toolbar = new ToolbarListener();
|
||||||
|
toolbar->doDelete = false;
|
||||||
g_fntdominant = GFont::fromFile(GetFileInPath("/content/font/dominant.fnt"));
|
g_fntdominant = GFont::fromFile(GetFileInPath("/content/font/dominant.fnt"));
|
||||||
g_fntlighttrek = GFont::fromFile(GetFileInPath("/content/font/lighttrek.fnt"));
|
g_fntlighttrek = GFont::fromFile(GetFileInPath("/content/font/lighttrek.fnt"));
|
||||||
|
|
||||||
@@ -51,6 +54,8 @@ GuiRoot::GuiRoot() : _message(""), _messageTime(0)
|
|||||||
button->setAllColorsSame();
|
button->setAllColorsSame();
|
||||||
button->boxOutlineColorOvr = Color3(0,255,255);
|
button->boxOutlineColorOvr = Color3(0,255,255);
|
||||||
button->boxColorDn = Color4(button->boxColor.r,button->boxColor.g,button->boxColor.b, 0.2F);
|
button->boxColorDn = Color4(button->boxColor.r,button->boxColor.g,button->boxColor.b, 0.2F);
|
||||||
|
button->setButtonListener(toolbar);
|
||||||
|
toolbar->addButtonRef(button);
|
||||||
|
|
||||||
|
|
||||||
button = makeTextButton();
|
button = makeTextButton();
|
||||||
@@ -66,7 +71,8 @@ GuiRoot::GuiRoot() : _message(""), _messageTime(0)
|
|||||||
button->setAllColorsSame();
|
button->setAllColorsSame();
|
||||||
button->boxOutlineColorOvr = Color3(0,255,255);
|
button->boxOutlineColorOvr = Color3(0,255,255);
|
||||||
button->boxColorDn = Color4(button->boxColor.r,button->boxColor.g,button->boxColor.b, 0.2F);
|
button->boxColorDn = Color4(button->boxColor.r,button->boxColor.g,button->boxColor.b, 0.2F);
|
||||||
|
button->setButtonListener(toolbar);
|
||||||
|
toolbar->addButtonRef(button);
|
||||||
|
|
||||||
button = makeTextButton();
|
button = makeTextButton();
|
||||||
button->boxBegin = Vector2(0, -72);
|
button->boxBegin = Vector2(0, -72);
|
||||||
@@ -81,6 +87,8 @@ GuiRoot::GuiRoot() : _message(""), _messageTime(0)
|
|||||||
button->setAllColorsSame();
|
button->setAllColorsSame();
|
||||||
button->boxOutlineColorOvr = Color3(0,255,255);
|
button->boxOutlineColorOvr = Color3(0,255,255);
|
||||||
button->boxColorDn = Color4(button->boxColor.r,button->boxColor.g,button->boxColor.b, 0.2F);
|
button->boxColorDn = Color4(button->boxColor.r,button->boxColor.g,button->boxColor.b, 0.2F);
|
||||||
|
button->setButtonListener(toolbar);
|
||||||
|
toolbar->addButtonRef(button);
|
||||||
|
|
||||||
button = makeTextButton();
|
button = makeTextButton();
|
||||||
button->boxBegin = Vector2(0, -96);
|
button->boxBegin = Vector2(0, -96);
|
||||||
@@ -95,6 +103,8 @@ GuiRoot::GuiRoot() : _message(""), _messageTime(0)
|
|||||||
button->setAllColorsSame();
|
button->setAllColorsSame();
|
||||||
button->boxOutlineColorOvr = Color3(0,255,255);
|
button->boxOutlineColorOvr = Color3(0,255,255);
|
||||||
button->boxColorDn = Color4(button->boxColor.r,button->boxColor.g,button->boxColor.b, 0.2F);
|
button->boxColorDn = Color4(button->boxColor.r,button->boxColor.g,button->boxColor.b, 0.2F);
|
||||||
|
button->setButtonListener(toolbar);
|
||||||
|
toolbar->addButtonRef(button);
|
||||||
|
|
||||||
button = makeTextButton();
|
button = makeTextButton();
|
||||||
button->boxBegin = Vector2(0, -120);
|
button->boxBegin = Vector2(0, -120);
|
||||||
@@ -109,6 +119,8 @@ GuiRoot::GuiRoot() : _message(""), _messageTime(0)
|
|||||||
button->setAllColorsSame();
|
button->setAllColorsSame();
|
||||||
button->boxOutlineColorOvr = Color3(0,255,255);
|
button->boxOutlineColorOvr = Color3(0,255,255);
|
||||||
button->boxColorDn = Color4(button->boxColor.r,button->boxColor.g,button->boxColor.b, 0.2F);
|
button->boxColorDn = Color4(button->boxColor.r,button->boxColor.g,button->boxColor.b, 0.2F);
|
||||||
|
button->setButtonListener(toolbar);
|
||||||
|
toolbar->addButtonRef(button);
|
||||||
|
|
||||||
//Top bar
|
//Top bar
|
||||||
button = makeTextButton();
|
button = makeTextButton();
|
||||||
@@ -503,6 +515,11 @@ void GuiRoot::update()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GuiRoot::~GuiRoot()
|
||||||
|
{
|
||||||
|
delete toolbar;
|
||||||
|
}
|
||||||
|
|
||||||
void GuiRoot::onMouseLeftUp(G3D::RenderDevice* renderDevice, int x,int y)
|
void GuiRoot::onMouseLeftUp(G3D::RenderDevice* renderDevice, int x,int y)
|
||||||
{
|
{
|
||||||
std::vector<Instance*> instances_2D = this->getAllChildren();
|
std::vector<Instance*> instances_2D = this->getAllChildren();
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ class GuiRoot : public Instance
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
GuiRoot();
|
GuiRoot();
|
||||||
|
GuiRoot::~GuiRoot();
|
||||||
TextButtonInstance* makeTextButton();
|
TextButtonInstance* makeTextButton();
|
||||||
void drawButtons(RenderDevice* rd);
|
void drawButtons(RenderDevice* rd);
|
||||||
ImageButtonInstance* makeImageButton(G3D::TextureRef newImage, G3D::TextureRef overImage, G3D::TextureRef downImage, G3D::TextureRef disableImage);
|
ImageButtonInstance* makeImageButton(G3D::TextureRef newImage, G3D::TextureRef overImage, G3D::TextureRef downImage, G3D::TextureRef disableImage);
|
||||||
|
|||||||
5
Tool.h
5
Tool.h
@@ -11,6 +11,7 @@ public:
|
|||||||
void OnButton1MouseUp();
|
void OnButton1MouseUp();
|
||||||
void OnButton2MouseUp();
|
void OnButton2MouseUp();
|
||||||
void OnButton3MouseUp();
|
void OnButton3MouseUp();
|
||||||
void OnKeyPress();
|
void OnMouseScroll();
|
||||||
void OnKeyRelease();
|
void OnKeyDown();
|
||||||
|
void OnKeyUp();
|
||||||
};
|
};
|
||||||
|
|||||||
23
ToolbarListener.cpp
Normal file
23
ToolbarListener.cpp
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
#include "ToolbarListener.h"
|
||||||
|
#include "Globals.h"
|
||||||
|
#include "StringFunctions.h"
|
||||||
|
#include "Application.h"
|
||||||
|
|
||||||
|
void ToolbarListener::onButton1MouseClick(BaseButtonInstance* btn)
|
||||||
|
{
|
||||||
|
if(TextButtonInstance* button = dynamic_cast<TextButtonInstance*>(btn))
|
||||||
|
{
|
||||||
|
for(size_t i = 0; i < btns.size(); i++)
|
||||||
|
btns[i]->selected = false;
|
||||||
|
button->selected = true;
|
||||||
|
if(button->title == "Model") g_usableApp->navigateToolbox("http://androdome.com/res/ClientToolbox.php");
|
||||||
|
else if(button->title == "Surface") g_usableApp->navigateToolbox(GetFileInPath("/content/page/surface.html"));
|
||||||
|
else if(button->title == "Color") g_usableApp->navigateToolbox(GetFileInPath("/content/page/color.html"));
|
||||||
|
else if(button->title == "Controller") g_usableApp->navigateToolbox(GetFileInPath("/content/page/controller.html"));
|
||||||
|
else if(button->title == "Hopper") g_usableApp->navigateToolbox(GetFileInPath("/content/page/hopper.html"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void ToolbarListener::addButtonRef(BaseButtonInstance* button)
|
||||||
|
{
|
||||||
|
btns.push_back(button);
|
||||||
|
}
|
||||||
13
ToolbarListener.h
Normal file
13
ToolbarListener.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "buttonlistener.h"
|
||||||
|
#pragma once
|
||||||
|
#include <G3DAll.h>
|
||||||
|
|
||||||
|
class ToolbarListener : public ButtonListener
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
void onButton1MouseClick(BaseButtonInstance* button);
|
||||||
|
void addButtonRef(BaseButtonInstance* button);
|
||||||
|
private:
|
||||||
|
std::vector<BaseButtonInstance*> btns;
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user