calsmurf2904
27-10-2008 15:21:36
Hello,
I am using QuickGUI for the first time with my Map Editor because remembering all those hotkeys is hard so I thought I needed to create a GUI.
So I took a look at the PlayPen example included.
This is my GUI code :
and
WidgetHandlers.h
The handler for the EditWindow button is getting executed when clicked.
However the rest isn't.
Did I do something wrong here ?
Thanks in advance,
Calsmurf2904
Also...How do I make the mGuiWindow transparent ?
I am using QuickGUI for the first time with my Map Editor because remembering all those hotkeys is hard so I thought I needed to create a GUI.
So I took a look at the PlayPen example included.
This is my GUI code :
QuickGUI::Window* mGuiWindow;
#include "WidgetHandlers.h"
void createGUI()
{
WidgetHandler* mWidgetHandler = new WidgetHandler();
mGui = new QuickGUI::Root();
QuickGUI::SkinTypeManager::getSingletonPtr()->loadTypes();
QuickGUI::GUIManagerDesc d;
mGuiMgr = QuickGUI::Root::getSingletonPtr()->createGUIManager(d);
mGuiMgr->setSceneManager(mSceneMgr);
mGuiMgr->setViewport(mView);
//Window
QuickGUI::WindowDesc WindowDesc;
WindowDesc.name = "EditWindow";
WindowDesc.dimensions.position = QuickGUI::Point(1,1);
WindowDesc.dimensions.size = QuickGUI::Size(200,300);
WindowDesc.minSize = QuickGUI::Size(50,50);
WindowDesc.maxSize = QuickGUI::Size(300,300);
WindowDesc.dragable = true;
WindowDesc.resizable = true;
WindowDesc.titleBar = true;
WindowDesc.transparencyPicking = true;
WindowDesc.scrollable = true;
WindowDesc.visible = false;
mGuiWindow = mGuiMgr->getActiveSheet()->createWindow(WindowDesc);
//Toolbar
QuickGUI::ToolBarDesc tbd;
tbd.horizontalAnchor = QuickGUI::ANCHOR_HORIZONTAL_LEFT_RIGHT;
//tbd.itemLayout = QuickGUI::TOOLBAR_ITEM_LAYOUT_POSITIVE_TO_NEGATIVE;
tbd.name = "MainToolbar";
tbd.dimensions = QuickGUI::Rect(0,0,800,30);
//tbd.dimensions = QuickGUI::Rect(0,0,20,600);
QuickGUI::ToolBar* tb = mGuiMgr->getActiveSheet()->createToolBar(tbd);
QuickGUI::MenuDesc md;
//FileMenu
md.name = "File";
md.textDesc.segments.push_back(QuickGUI::TextSegment("micross.14",Ogre::ColourValue::Black,"File"));
QuickGUI::Menu* mFileMenu = tb->createMenu(md);
md.name = "EditWindowMenuItem";
md.textDesc.segments.clear();
md.textDesc.segments.push_back(QuickGUI::TextSegment("micross.14",Ogre::ColourValue::Black,"EditWindow"));
mFileMenu->createSubMenu(md)->addWidgetEventHandler(QuickGUI::WIDGET_EVENT_MOUSE_CLICK,&WidgetHandler::EditWindowHandler,mWidgetHandler);
md.name = "Open";
md.textDesc.segments.clear();
md.textDesc.segments.push_back(QuickGUI::TextSegment("micross.14",Ogre::ColourValue::Black,"Open"));
mFileMenu->createSubMenu(md);
md.name = "Save";
md.textDesc.segments.clear();
md.textDesc.segments.push_back(QuickGUI::TextSegment("micross.14",Ogre::ColourValue::Black,"Save"));
mFileMenu->createSubMenu(md);
md.name = "Exit";
md.textDesc.segments.clear();
md.textDesc.segments.push_back(QuickGUI::TextSegment("micross.14",Ogre::ColourValue::Black,"Exit"));
mFileMenu->createSubMenu(md)->addWidgetEventHandler(QuickGUI::WIDGET_EVENT_MOUSE_CLICK,&WidgetHandler::ExitButtonHandler,mWidgetHandler);
//ModeMenu
md.name = "Mode";
md.textDesc.segments.clear();
md.textDesc.segments.push_back(QuickGUI::TextSegment("micross.14",Ogre::ColourValue::Black,"Mode"));
QuickGUI::Menu* mModeMenu = tb->createMenu(md);
md.name = "Deform";
md.textDesc.segments.clear();
md.textDesc.segments.push_back(QuickGUI::TextSegment("micross.14",Ogre::ColourValue::Black,"Deform"));
mModeMenu->createSubMenu(md)->addWidgetEventHandler(QuickGUI::WIDGET_EVENT_MOUSE_CLICK,&WidgetHandler::DeformButtonHandler,mWidgetHandler);
md.name = "Paint";
md.textDesc.segments.clear();
md.textDesc.segments.push_back(QuickGUI::TextSegment("micross.14",Ogre::ColourValue::Black,"Paint"));
mModeMenu->createSubMenu(md)->addWidgetEventHandler(QuickGUI::WIDGET_EVENT_MOUSE_CLICK,&WidgetHandler::PaintButtonHandler,mWidgetHandler);
}
and
WidgetHandlers.h
class WidgetHandler
{
public:
void EditWindowHandler(const QuickGUI::EventArgs& args)
{
mGuiWindow->setVisible(true);
}
void DeformButtonHandler(const QuickGUI::EventArgs& args)
{
mMode = MODE_DEFORM;
}
void PaintButtonHandler(const QuickGUI::EventArgs& args)
{
mMode = MODE_PAINT;
}
void ExitButtonHandler(const QuickGUI::EventArgs& args)
{
mQuit = true;
}
};
The handler for the EditWindow button is getting executed when clicked.
However the rest isn't.
Did I do something wrong here ?
Thanks in advance,
Calsmurf2904
Also...How do I make the mGuiWindow transparent ?