ItemDragContainer* ContainerContentWindow::createItemWindow(Item* item) { ItemDragContainer* itemhandler = getItemWindow(item); if( itemhandler ) return itemhandler; CeGuiString dragContainerName = mWindow->getName() + "/item/" + Ogre::StringConverter::toString(item->getId())+"_DragContainer"; itemhandler = dynamic_cast<ItemIconDragContainer*>( AbstractWindow::loadWindow("itemicondragcontainer.xml", dragContainerName)); //CEGUI::WindowManager::getSingleton().createWindow("ItemIconDragContainer", dragContainerName)); itemhandler->setItem(item); //itemhandler = new ItemIconDragContainer(item, dragContainerName); itemhandler->setDestroyListener(this); mItemDragContainerMap.insert(std::make_pair(item, itemhandler)); itemhandler->setItemParent(mContainer); itemhandler->setPosition(UVector2(cegui_reldim(0), cegui_reldim(0))); if( mInventoryWindow ) { itemhandler->subscribeEvent(DragContainer::EventDragStarted, boost::bind(&rl::InventoryWindow::showPossibleSlots, mInventoryWindow, item)); itemhandler->subscribeEvent(DragContainer::EventDragEnded, boost::bind(&InventoryWindow::showPossibleSlots, mInventoryWindow, (Item*)NULL)); } return itemhandler; }
CWorldManager::CWorldManager(SDL_Surface *screen, CInjectHandler *receiver) : in_battle(false), in_menu(false), exit(false), receiver(receiver), screen(screen) { //initializer list //temporary crap goes here player = new CPlayer("Player", 400,300); person_manager.push_back(player); player->addMonster(monsters().PLASTIC_RAT); CPerson *man = new CPerson("Hillbilly", 40,40); man->addMonster(monsters().PLASTIC_RAT); person_manager.push_back(man); //generate terrain test = new CImage(SDL_LoadBMP("res/2d/bkg/town_log.bmp"),0,0); root = (FrameWindow*)WindowManager::getSingleton().createWindow("DefaultWindow", "r" ); root->setPosition( UVector2( CEGUI::UDim(0,0), CEGUI::UDim(0,0) ) ) ; root->setSize( UVector2( cegui_reldim(1), cegui_reldim(1) ) ) ; // Disables the frame and standard background: //root->setProperty( "FrameEnabled", "false" ) ; //root->setProperty( "BackgroundEnabled", "false" ); System::getSingleton().setGUISheet( root ); game_menu = new CGameMenu(root); }
EditorEditBox::EditorEditBox( const String & name, const String & label, CEGUI::Window * root, bool readOnly ) : mEditBox( static_cast<CEGUI::Editbox *>( CEGUI::WindowManager::getSingleton().createWindow( "Vanilla/Editbox", (name + " Editbox").c_str() ) ) ) , mLabel( CEGUI::WindowManager::getSingleton().createWindow( "Vanilla/StaticText", name.c_str() ) ) , mHLayout( static_cast<CEGUI::HorizontalLayoutContainer *>( CEGUI::WindowManager::getSingleton().createWindow( "HorizontalLayoutContainer" ) ) ) , mRoot( root ) , mRefreshCallback() , mReadOnly( readOnly ) { // H Layout //mHLayout->setSize( CEGUI::USize( cegui_reldim( 1.0f ), cegui_absdim( 40.0f ) ) ); mHLayout->setMouseInputPropagationEnabled( true ); mHLayout->setMargin( CEGUI::UBox( CEGUI::UDim( 0.0f, 0.0f ), CEGUI::UDim( 0.0f, 0.0f ), CEGUI::UDim( 0.0f, 0.0f ), CEGUI::UDim( 0.0f, 0.0f ) ) ); root->addChild( mHLayout ); // Label mHLayout->addChild( mLabel ); mLabel->setProperty( "FrameEnabled", "false" ); mLabel->setProperty( "BackgroundEnabled", "false" ); mLabel->setSize( CEGUI::USize( cegui_reldim( 1.0f - EditorUIManager::StandardSize.x - 2.0f * EditorUIManager::IndentGap ), cegui_reldim( EditorUIManager::StandardSize.y ) ) ); mLabel->setText( label.c_str() ); mLabel->setMargin( CEGUI::UBox( cegui_reldim( 0.005f ), cegui_reldim( 0.0f ), cegui_reldim( 0.0f ), cegui_reldim( 0.0f ) ) ); // Editbox mHLayout->addChild( mEditBox ); mEditBox->setSize( CEGUI::USize( cegui_reldim( EditorUIManager::StandardSize.x ), cegui_reldim( EditorUIManager::StandardSize.y ) ) ); mEditBox->setMargin( CEGUI::UBox( cegui_reldim( 0.005f ), cegui_reldim( 0.0f ), cegui_reldim( 0.0f ), cegui_reldim( 0.0f ) ) ); mEditBox->setReadOnly( readOnly ); // mEditBox->setValidationString( "\\d*" ); // <- int // mEditBox->setValidationString(".*"); // <- string & float }
//----------------------------------------------------------------------------// LayoutContainer::LayoutContainer(const String& type, const String& name): Window(type, name), d_needsLayouting(false) { // layout should take the whole window by default I think setSize(UVector2(cegui_reldim(1), cegui_reldim(1))); subscribeEvent(Window::EventChildAdded, Event::Subscriber(&LayoutContainer::handleChildAdded, this)); subscribeEvent(Window::EventChildRemoved, Event::Subscriber(&LayoutContainer::handleChildRemoved, this)); }
//----------------------------------------------------------------------------// LayoutContainer::LayoutContainer(const String& type, const String& name): Window(type, name), d_needsLayouting(false), d_clientChildContentArea(this, static_cast<Element::CachedRectf::DataGenerator>(&LayoutContainer::getClientChildContentArea_impl)) { // layout should take the whole window by default I think setSize(USize(cegui_reldim(1), cegui_reldim(1))); subscribeEvent(Window::EventChildAdded, Event::Subscriber(&LayoutContainer::handleChildAdded, this)); subscribeEvent(Window::EventChildRemoved, Event::Subscriber(&LayoutContainer::handleChildRemoved, this)); }
GameSaveLoadWindow::GameSaveLoadWindow() : AbstractWindow("gamesaveloadwindow.xml", WIT_MOUSE_INPUT | WIT_KEYBOARD_INPUT) { // Get a access to the filename edit box mFilename = getEditbox("GameSaveLoadWindow/FileSheet/Filename"); RlAssert(mFilename != NULL, "GameSaveLoadWindow/FileSheet/Filename is null"); mFilename->activate(); // Get a access to the savegame table mSaveGameTable = getMultiColumnList("GameSaveLoadWindow/FileSheet/SaveGameTable"); RlAssert(mSaveGameTable != NULL, "GameSaveLoadWindow/FileSheet/SaveGameTable is null"); mSaveGameTable->addColumn( (utf8*)"Filename", 0, cegui_reldim(0.65)); mSaveGameTable->addColumn( (utf8*)"Date", 1, cegui_reldim(0.35)); mSaveGameTable->setSelectionMode(MultiColumnList::RowSingle); mSaveGameTable->subscribeEvent(MultiColumnList::EventSelectionChanged, boost::bind(&GameSaveLoadWindow::handleSelectSaveGame, this)); centerWindow(); getPushButton("GameSaveLoadWindow/ButtonSheet/LoadButton")->subscribeEvent( CEGUI::Window::EventMouseClick, boost::bind( &GameSaveLoadWindow::handleLoadEvent, this )); getPushButton("GameSaveLoadWindow/ButtonSheet/SaveButton")->subscribeEvent( CEGUI::Window::EventMouseClick, boost::bind( &GameSaveLoadWindow::handleSaveEvent, this )); getPushButton("GameSaveLoadWindow/ButtonSheet/DeleteButton")->subscribeEvent( CEGUI::Window::EventMouseClick, boost::bind( &GameSaveLoadWindow::handleDeleteEvent, this )); bindDestroyWindowToXButton(); bindDestroyWindowToClick(getWindow("GameSaveLoadWindow/ButtonSheet/CancelButton")); mSelectionColour = CEGUI::ListboxItem::DefaultSelectionColour; mSelectionImageset = "RastullahLook-Images"; mSelectionBrush = "ListboxSelectionBrush"; }
void Application::initGui() { m_guiRenderer = &CEGUI::OpenGL3Renderer::create(); static_cast<CEGUI::OpenGL3Renderer*>(m_guiRenderer)->enableExtraStateSettings(true); CEGUI::System::create(*m_guiRenderer); initialiseResources(); CEGUI::System& gui_system(CEGUI::System::getSingleton()); CEGUI::GUIContext* guiContext = &gui_system.getDefaultGUIContext(); CEGUI::SchemeManager::getSingleton().createFromFile(getGuiFullName(".scheme").c_str()); guiContext->getMouseCursor().setDefaultImage(getGuiFullName("/MouseArrow").c_str()); guiContext->getMouseCursor().hide(); CEGUI::WindowManager& winMgr = CEGUI::WindowManager::getSingleton(); m_rootWindow = (CEGUI::DefaultWindow*)winMgr.createWindow("DefaultWindow", "Root"); CEGUI::Font& defaultFont = CEGUI::FontManager::getSingleton().createFromFile("DejaVuSans-12.font"); guiContext->setDefaultFont(&defaultFont); guiContext->setRootWindow(m_rootWindow); m_fpsLabel = (CEGUI::Window*)winMgr.createWindow(getGuiFullName("/Label").c_str()); m_rootWindow->addChild(m_fpsLabel); m_fpsLabel->setPosition(CEGUI::UVector2(CEGUI::UDim(1.0f, -150.0f), cegui_reldim(0.0))); m_fpsLabel->setSize(CEGUI::USize(cegui_absdim(150.0f), cegui_absdim(25.0f))); m_fpsLabel->setProperty("HorzFormatting", "RightAligned"); m_fpsLabel->setText("0 fps"); }
EditorButton::EditorButton( const String & name, const String & label, const ClickCallback & callback, CEGUI::Window * root ) : mButton( static_cast<CEGUI::PushButton*>( CEGUI::WindowManager::getSingleton().createWindow( "Vanilla/Button", ( name + "Button" ).c_str() ) ) ) , mRoot( root ) , mClickCallback( callback ) { // @hard code f32 buttonSize = label.size() > 15 ? std::min( EditorUIManager::StandardSize.x + ( label.size() - 15 ) * 0.025f, 1.0f ) : EditorUIManager::StandardSize.x; mButton->setSize( CEGUI::USize( cegui_reldim( buttonSize ), cegui_reldim( EditorUIManager::StandardSize.y ) ) ); mButton->setHorizontalAlignment( CEGUI::HA_CENTRE ); mButton->subscribeEvent( CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber( &EditorButton::CallClickCallback, this ) ); mButton->setText( label.c_str() ); mButton->setMargin( CEGUI::UBox( cegui_reldim( 0.005f ), cegui_reldim( 0.0f ), cegui_reldim( 0.0f ), cegui_reldim( 0.0f ) ) ); mRoot->addChild( mButton ); }
/************************************************************************* Calculate size and position for a tab button *************************************************************************/ void TabControl::calculateTabButtonSizePosition(size_t index) { TabButton* btn = d_tabButtonVector [index]; // relative height is always 1.0 for buttons since they are embedded in a // panel of the correct height already btn->setHeight(cegui_reldim(1.0f)); btn->setYPosition(cegui_absdim(0.0f)); // x position is based on previous button if (!index) // First button btn->setXPosition(cegui_absdim(d_firstTabOffset)); else { Window* prevButton = d_tabButtonVector [index - 1]; // position is prev pos + width btn->setXPosition(prevButton->getArea().d_max.d_x); } // Width is based on font size (expressed as absolute) Font* fnt = btn->getFont(); btn->setWidth(cegui_absdim(fnt->getTextExtent(btn->getText())) + getTabTextPadding() + getTabTextPadding()); float left_x = btn->getXPosition ().d_offset; btn->setVisible ((left_x < getPixelSize ().d_width) && (left_x + btn->getPixelSize ().d_width > 0)); btn->invalidate(); }
/************************************************************************* Create initialise and return a ListHeaderSegment object, with all events subscribed and ready to use. *************************************************************************/ ListHeaderSegment* ListHeader::createInitialisedSegment(const String& text, uint id, const UDim& width) { // Build unique name std::stringstream name; name << SegmentNameSuffix << d_uniqueIDNumber; // create segment. ListHeaderSegment* newseg = createNewSegment(name.str().c_str()); d_uniqueIDNumber++; // setup segment; newseg->setSize(USize(width, cegui_reldim(1.0f))); newseg->setMinSize(USize(cegui_absdim(MinimumSegmentPixelWidth), cegui_absdim(0))); newseg->setText(text); newseg->setID(id); newseg->setSizingEnabled(d_sizingEnabled); newseg->setDragMovingEnabled(d_movingEnabled); newseg->setClickable(d_sortingEnabled); // subscribe events we listen to newseg->subscribeEvent(ListHeaderSegment::EventSegmentSized, Event::Subscriber(&CEGUI::ListHeader::segmentSizedHandler, this)); newseg->subscribeEvent(ListHeaderSegment::EventSegmentDragStop, Event::Subscriber(&CEGUI::ListHeader::segmentMovedHandler, this)); newseg->subscribeEvent(ListHeaderSegment::EventSegmentClicked, Event::Subscriber(&CEGUI::ListHeader::segmentClickedHandler, this)); newseg->subscribeEvent(ListHeaderSegment::EventSplitterDoubleClicked, Event::Subscriber(&CEGUI::ListHeader::segmentDoubleClickHandler, this)); newseg->subscribeEvent(ListHeaderSegment::EventSegmentDragPositionChanged, Event::Subscriber(&CEGUI::ListHeader::segmentDragHandler, this)); return newseg; }
EditorCheckBox::EditorCheckBox( const String & name, const String & label, bool * var, CEGUI::Window * root, bool readOnly ) : mButton( static_cast<CEGUI::ToggleButton *>( CEGUI::WindowManager::getSingleton().createWindow( "Vanilla/Checkbox", ( name + " Checkbox" ).c_str() ) ) ) , mRoot( root ) , mVar( var ) , mReadOnly( readOnly ) { mButton->setText( label.c_str() ); mButton->setSize( CEGUI::USize( cegui_reldim( 1.0f ), cegui_reldim( EditorUIManager::StandardSize.y ) ) ); mButton->setMargin( CEGUI::UBox( cegui_reldim( 0.005f ), cegui_reldim( 0.0f ), cegui_reldim( 0.0f ), cegui_reldim( 0.0f ) ) ); root->addChild( mButton ); mButton->subscribeEvent( CEGUI::ToggleButton::EventSelectStateChanged, CEGUI::Event::Subscriber( &EditorCheckBox::SetValueEvent, this ) ); EditorUIManager::Instance().AddRefreshEvent( Delegate<void()>::FromMethod<E_METHOD( EditorCheckBox, Refresh )>( this ) ); Refresh(); }
/************************************************************************* Set the area that the mouse cursor is constrained to. *************************************************************************/ void MouseCursor::setUnifiedConstraintArea(const URect* area) { Rect renderer_area = System::getSingleton().getRenderer()->getRect(); if (area) { d_constraints = *area; } else { d_constraints.d_min.d_x = cegui_reldim(renderer_area.d_left / renderer_area.getWidth()); d_constraints.d_min.d_y = cegui_reldim(renderer_area.d_top / renderer_area.getHeight()); d_constraints.d_max.d_x = cegui_reldim(renderer_area.d_right / renderer_area.getWidth()); d_constraints.d_max.d_y = cegui_reldim(renderer_area.d_bottom / renderer_area.getHeight()); } constrainPosition(); }
//----------------------------------------------------------------------------// void ScrollablePane::initialiseComponents(void) { // get horizontal scrollbar Scrollbar* horzScrollbar = getHorzScrollbar(); // get vertical scrollbar Scrollbar* vertScrollbar = getVertScrollbar(); // get scrolled container widget ScrolledContainer* container = getScrolledContainer(); // do a bit of initialisation horzScrollbar->setAlwaysOnTop(true); vertScrollbar->setAlwaysOnTop(true); // container pane is always same size as this parent pane, // scrolling is actually implemented via positioning and clipping tricks. container->setSize(USize(cegui_reldim(1.0f), cegui_reldim(1.0f))); // subscribe to events we need to hear about vertScrollbar->subscribeEvent( Scrollbar::EventScrollPositionChanged, Event::Subscriber(&ScrollablePane::handleScrollChange, this)); horzScrollbar->subscribeEvent( Scrollbar::EventScrollPositionChanged, Event::Subscriber(&ScrollablePane::handleScrollChange, this)); d_contentChangedConn = container->subscribeEvent( ScrolledContainer::EventContentChanged, Event::Subscriber(&ScrollablePane::handleContentAreaChange, this)); d_autoSizeChangedConn = container->subscribeEvent( ScrolledContainer::EventAutoSizeSettingChanged, Event::Subscriber(&ScrollablePane::handleAutoSizePaneChanged, this)); // finalise setup configureScrollbars(); }
PlaylistWindow::PlaylistWindow() : AbstractWindow("playlistwindow.xml", WIT_MOUSE_INPUT) { mPlaylistTable = getMultiColumnList("PlaylistSheet/PlaylistSheet/Table"); mPlaylistTable->addColumn((utf8*)"Name", 0, cegui_reldim(0.5)); mPlaylistTable->addColumn((utf8*)"Dauer", 1, cegui_reldim(0.3)); mPlaylistTable->setUserSortControlEnabled(false); /* getWindow("PlaylistWindow")->subscribeEvent( Window::EventMouseClick, boost::bind(&MainMenuWindow::handleChooseModules, this)); */ getWindow("PlaylistSheet/ButtonSheet/Play")->subscribeEvent( Window::EventMouseClick, boost::bind(&PlaylistWindow::handlePlay, this)); getWindow("PlaylistSheet/ButtonSheet/Quit")->subscribeEvent( Window::EventMouseClick, boost::bind(&PlaylistWindow::handleQuit, this)); bindDestroyWindowToClick(getWindow("PlaylistSheet")); bindDestroyWindowToXButton(); centerWindow(); }
PropertiesWindow::PropertiesWindow(PropertyHolder* object) : AbstractWindow("propertieswindow.xml", WIT_MOUSE_INPUT), mObject(object) { // Get access to the tab control mTabPane = getTabControl("PropertiesWindow/PropertiesTabPane"); RlAssert(mTabPane != NULL, "PropertiesWindow/PropertiesTabPane is null"); // Get a access to the main Property table mMainTable = getMultiColumnList("PropertiesWindow/PropertiesTabControl/MainTable"); RlAssert(mMainTable != NULL, "PropertiesWindow/PropertiesTabPane is null"); mMainTable->addColumn( (utf8*)"Key", 0, cegui_reldim(0.3)); mMainTable->addColumn( (utf8*)"Type", 1, cegui_reldim(0.3)); mMainTable->addColumn( (utf8*)"Value", 2, cegui_reldim(0.4)); centerWindow(); bindDestroyWindowToXButton(); bindDestroyWindowToClick(getWindow("PropertiesWindow/CloseButton")); initialize(mObject); }
void ArrayEditor<ElementType>::SetupWidget(Model* model) { // Set dimensions CEGUI::UDim dimLeft = model->IsShareable() ? cegui_absdim(16) : cegui_absdim(0); // Setup label widget CEGUI::Window* labelWidget = mHeaderWidget->getChildAtIdx(0); labelWidget->setArea(CEGUI::URect(dimLeft, cegui_absdim(0), CEGUI::UDim(0.5f, -2), cegui_reldim(1))); labelWidget->setText(utf8StringToCEGUI(model->GetName())); labelWidget->setTooltipText(model->GetTooltip()); // Setup buttons if (model->IsReadOnly()) { mButtonAddElement->setEnabled(false); mButtonSave->setEnabled(false); mButtonRevert->setEnabled(false); } else { mButtonAddElement->setEnabled(true); mButtonSave->setEnabled(false); mButtonRevert->setEnabled(false); } // Setup is-shared checkbox CEGUI::Checkbox* isSharedCheckbox = static_cast<CEGUI::Checkbox*>(mHeaderWidget->getChildAtIdx(4)); if (model->IsShareable()) { isSharedCheckbox->setVisible(true); isSharedCheckbox->setPosition(CEGUI::UVector2(cegui_absdim(0), cegui_absdim(0))); isSharedCheckbox->setSelected(model->IsShared()); } else { isSharedCheckbox->setVisible(false); } // Setup body widget mEditorWidget->getChildAtIdx(1)->setHeight(cegui_absdim(0)); mBodyLayout->Clear(); }
/************************************************************************* Set the area that the mouse cursor is constrained to. *************************************************************************/ void MouseCursor::setConstraintArea(const Rect* area) { Rect renderer_area = System::getSingleton().getRenderer()->getRect(); if (area == NULL) { d_constraints.d_min.d_x = cegui_reldim(renderer_area.d_left / renderer_area.getWidth()); d_constraints.d_min.d_y = cegui_reldim(renderer_area.d_top / renderer_area.getHeight()); d_constraints.d_max.d_x = cegui_reldim(renderer_area.d_right / renderer_area.getWidth()); d_constraints.d_max.d_y = cegui_reldim(renderer_area.d_bottom / renderer_area.getHeight()); } else { Rect finalArea(area->getIntersection(renderer_area)); d_constraints.d_min.d_x = cegui_reldim(finalArea.d_left / renderer_area.getWidth()); d_constraints.d_min.d_y = cegui_reldim(finalArea.d_top / renderer_area.getHeight()); d_constraints.d_max.d_x = cegui_reldim(finalArea.d_right / renderer_area.getWidth()); d_constraints.d_max.d_y = cegui_reldim(finalArea.d_bottom / renderer_area.getHeight()); } constrainPosition(); }
void GuiProgress::Build(ZProtoGUI *pGUI) { #if CEGUI_VERSION_MINOR <= 6 ImagesetManager::getSingleton().createImagesetFromImageFile("LoadingAnim00", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0000.tga"); ImagesetManager::getSingleton().createImagesetFromImageFile("LoadingAnim01", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0001.tga"); ImagesetManager::getSingleton().createImagesetFromImageFile("LoadingAnim02", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0002.tga"); ImagesetManager::getSingleton().createImagesetFromImageFile("LoadingAnim03", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0003.tga"); ImagesetManager::getSingleton().createImagesetFromImageFile("LoadingAnim04", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0004.tga"); ImagesetManager::getSingleton().createImagesetFromImageFile("LoadingAnim05", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0005.tga"); ImagesetManager::getSingleton().createImagesetFromImageFile("LoadingAnim06", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0006.tga"); ImagesetManager::getSingleton().createImagesetFromImageFile("LoadingAnim07", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0007.tga"); ImagesetManager::getSingleton().createImagesetFromImageFile("LoadingAnim08", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0008.tga"); ImagesetManager::getSingleton().createImagesetFromImageFile("LoadingAnim09", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0009.tga"); ImagesetManager::getSingleton().createImagesetFromImageFile("LoadingAnim10", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0010.tga"); ImagesetManager::getSingleton().createImagesetFromImageFile("LoadingAnim11", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0011.tga"); ImagesetManager::getSingleton().createImagesetFromImageFile("LoadingAnim12", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0012.tga"); ImagesetManager::getSingleton().createImagesetFromImageFile("LoadingAnim13", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0013.tga"); ImagesetManager::getSingleton().createImagesetFromImageFile("LoadingAnim14", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0014.tga"); ImagesetManager::getSingleton().createImagesetFromImageFile("LoadingAnim15", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0015.tga"); ImagesetManager::getSingleton().createImagesetFromImageFile("BackUniform", "./Prototype/Common/Menu/backuniform.tga"); #else ImagesetManager::getSingleton().createFromImageFile("LoadingAnim00", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0000.tga"); ImagesetManager::getSingleton().createFromImageFile("LoadingAnim01", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0001.tga"); ImagesetManager::getSingleton().createFromImageFile("LoadingAnim02", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0002.tga"); ImagesetManager::getSingleton().createFromImageFile("LoadingAnim03", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0003.tga"); ImagesetManager::getSingleton().createFromImageFile("LoadingAnim04", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0004.tga"); ImagesetManager::getSingleton().createFromImageFile("LoadingAnim05", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0005.tga"); ImagesetManager::getSingleton().createFromImageFile("LoadingAnim06", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0006.tga"); ImagesetManager::getSingleton().createFromImageFile("LoadingAnim07", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0007.tga"); ImagesetManager::getSingleton().createFromImageFile("LoadingAnim08", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0008.tga"); ImagesetManager::getSingleton().createFromImageFile("LoadingAnim09", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0009.tga"); ImagesetManager::getSingleton().createFromImageFile("LoadingAnim10", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0010.tga"); ImagesetManager::getSingleton().createFromImageFile("LoadingAnim11", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0011.tga"); ImagesetManager::getSingleton().createFromImageFile("LoadingAnim12", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0012.tga"); ImagesetManager::getSingleton().createFromImageFile("LoadingAnim13", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0013.tga"); ImagesetManager::getSingleton().createFromImageFile("LoadingAnim14", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0014.tga"); ImagesetManager::getSingleton().createFromImageFile("LoadingAnim15", "./Prototype/Common/Menu/LoadingAnim/LoadingAnim0015.tga"); ImagesetManager::getSingleton().createFromImageFile("BackUniform", "./Prototype/Common/Menu/backuniform.tga"); #endif mGUI = (ZProtoGUI*)pGUI; root = mGUI->root; mFontArial8 = mGUI->mFontArial8; mFontArial24 = mGUI->mFontArial24; mLoadingfrm = winMgr.createWindow("TaharezLook/FrameWindow", "LOADING_wnd"); root->addChildWindow(mLoadingfrm); mLoadingfrm->setPosition(UVector2(cegui_reldim(0), cegui_reldim( 0.72f))); mLoadingfrm->setSize(UVector2(cegui_reldim(1.1f), cegui_reldim( 0.18f))); ((FrameWindow*)mLoadingfrm)->setTitleBarEnabled(false); ((FrameWindow*)mLoadingfrm)->setCloseButtonEnabled(false); mLoadingfrm->setAlpha(0.88f); backuniform = winMgr.createWindow("TaharezLook/StaticImage", "backuniform"); backuniform->setPosition(UVector2(cegui_reldim(0.f), cegui_reldim( 0.0f))); backuniform->setSize(UVector2(cegui_reldim(1.f), cegui_reldim( 1.f))); backuniform->setProperty("FrameEnabled", "false"); backuniform->setProperty("BackgroundEnabled", "false"); backuniform->setAlpha(0.25f); backuniform->setProperty("Image", "set:BackUniform image:full_image"); root->addChildWindow(backuniform); Window *loadingAnim = winMgr.createWindow("TaharezLook/StaticImage", "loadingAnimWnd"); loadingAnim->setPosition(UVector2(cegui_reldim(0.05f), cegui_reldim( 0.0f))); loadingAnim->setSize(UVector2(cegui_reldim(0.08f), cegui_reldim( 1.f))); loadingAnim->setProperty("FrameEnabled", "false"); loadingAnim->setProperty("BackgroundEnabled", "false"); loadingAnim->setAlpha(1.f); loadingAnim->setProperty("Image", "set:LoadingAnim00 image:full_image"); mLoadingfrm->addChildWindow(loadingAnim); Window* label2 = winMgr.createWindow("TaharezLook/StaticText", "LOADING/Loading"); mLoadingfrm->addChildWindow(label2); label2->setProperty("FrameEnabled", "false"); label2->setProperty("BackgroundEnabled", "false"); label2->setPosition(UVector2(cegui_reldim(0.14f), cegui_reldim( 0.05f))); label2->setSize(UVector2(cegui_reldim(0.8f), cegui_reldim( 0.5f))); label2->setText(GLoc->GetString("NINENINELOADING").c_str()); label2->setFont(mFontArial24); label2->setProperty("TextColours","tl:FF161616 tr:FF161616 bl:FF161616 br:FF161616"); //((Text*)label2)->setColor(); trckNfo = winMgr.createWindow("TaharezLook/StaticText", "LOADING/mapname"); mLoadingfrm->addChildWindow(trckNfo); trckNfo->setProperty("FrameEnabled", "false"); trckNfo->setProperty("BackgroundEnabled", "false"); trckNfo->setPosition(UVector2(cegui_reldim(0.2f), cegui_reldim( 0.5f))); trckNfo->setSize(UVector2(cegui_reldim(0.8f), cegui_reldim( 0.5f))); trckNfo->setFont(mFontArial8); trckNfo->setHorizontalAlignment(HA_RIGHT); trckNfo->setProperty("TextColours","tl:FF161616 tr:FF161616 bl:FF161616 br:FF161616"); mLoadingfrm->hide(); }
void CEGUIManager::init() { CEGUI::OpenGLRenderer &m_renderer = CEGUI::OpenGLRenderer::bootstrapSystem(); { // initialise the required dirs for the DefaultResourceProvider CEGUI::DefaultResourceProvider *resourceProvider = static_cast<CEGUI::DefaultResourceProvider*> (CEGUI::System::getSingleton().getResourceProvider()); // set resource group directories. { CEGUI::DefaultResourceProvider* rp = resourceProvider; rp->setResourceGroupDirectory("schemes", "datafiles/schemes/"); rp->setResourceGroupDirectory("imagesets", "datafiles/imagesets/"); rp->setResourceGroupDirectory("fonts", "datafiles/fonts/"); rp->setResourceGroupDirectory("layouts", "datafiles/layouts/"); rp->setResourceGroupDirectory("looknfeels", "datafiles/looknfeel/"); rp->setResourceGroupDirectory("lua_scripts", "datafiles/lua_scripts/"); } // set default resource groups. { CEGUI::ImageManager::setImagesetDefaultResourceGroup("imagesets"); CEGUI::Font::setDefaultResourceGroup("fonts"); CEGUI::Scheme::setDefaultResourceGroup("schemes"); CEGUI::WidgetLookManager::setDefaultResourceGroup("looknfeels"); CEGUI::WindowManager::setDefaultResourceGroup("layouts"); CEGUI::ScriptModule::setDefaultResourceGroup("lua_scripts"); // setup default group for validation schemas CEGUI::XMLParser* parser = CEGUI::System::getSingleton().getXMLParser(); if (parser->isPropertyPresent("SchemaDefaultResourceGroup")) parser->setProperty("SchemaDefaultResourceGroup", "schemas"); CEGUI::SchemeManager::getSingleton().createFromFile("TaharezLook.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("GameMenu.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("Generic.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("HUDDemo.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("WindowsLook.scheme"); CEGUI::SchemeManager::getSingleton().createFromFile("TestA.scheme"); } // Register custom objects with CEGUI: { // register custom objects with CEGUI. CEGUI::WindowFactoryManager::addFactory<CEGUI::TplWindowFactory<CEGUI::InventoryReceiver>>(); CEGUI::WindowFactoryManager::addFactory<CEGUI::TplWindowFactory<CEGUI::InventoryItem>>(); CEGUI::WindowRendererManager::addFactory<CEGUI::TplWindowRendererFactory<CEGUI::InventoryItemRenderer>>(); // load looknfeel for custom inventory components (needs TaharezLook images) CEGUI::WidgetLookManager::getSingleton().parseLookNFeelSpecificationFromFile("InventoryComponents.looknfeel"); // create mapping for the item type // This is the equivalent to the following entry in a scheme xml file: // <FalagardMapping WindowType="TaharezLook/InventoryItem" TargetType="InventoryItem" LookNFeel="TaharezLook/InventoryItem" Renderer="InventoryItemRenderer" /> CEGUI::WindowFactoryManager::getSingleton().addFalagardWindowMapping( "TaharezLook/InventoryItem", // type to create "InventoryItem", // 'base' widget type "TaharezLook/InventoryItem", // WidgetLook to use. "InventoryItemRenderer"); // WindowRenderer to use. } } CEGUI::System::getSingleton().getDefaultGUIContext(). getMouseCursor().setDefaultImage("TaharezLook/MouseArrow"); // Create windows { CEGUI::WindowManager& wmgr = CEGUI::WindowManager::getSingleton(); CEGUI::Window* root = CEGUI::WindowManager::getSingleton().loadLayoutFromFile("test2.layout"); // test.layout CEGUI::System::getSingleton().getDefaultGUIContext().setRootWindow(root); //CEGUI::Window *dragContainerTemplate = CEGUI::WindowManager::getSingleton().loadLayoutFromString(CEGUI::String( // "<Window type = \"Generic/Image\" name = \"Image\" >" // " <Property name = \"Area\" value = \"{{0,0},{0,0},{0,64},{0,128}}\" / >" // " <Property name = \"Image\" value = \"TestA2/MadBug\" / >" // " <Property name = \"MaxSize\" value = \"{{1,0},{1,0}}\" / >" // " <Property name = \"ClippedByParent\" value = \"false\" / >" // " <Property name = \"VerticalAlignment\" value = \"Centre\" / >" // " <Property name = \"HorizontalAlignment\" value = \"Centre\" / >" // " <Property name = \"MousePassThroughEnabled\" value = \"true\" / >" // "< / Window>")); //for (int i = 0; i < 10; ++i) { //} //// create a script module. //CEGUI::LuaScriptModule& scriptmod(CEGUI::LuaScriptModule::create()); //// tell CEGUI to use this scripting module //CEGUI::System::getSingleton().setScriptingModule(&scriptmod); //CEGUI::System::getSingleton().executeScriptFile("test2.lua"); // Inventory testing: { // Create Backpack window CEGUI::Window *inventoryImageWindow = root->getChild("Inventory"); CEGUI::Window* wnd = inventoryImageWindow;//wmgr.createWindow("TaharezLook/FrameWindow"); //root->addChild(wnd); /*wnd->setPosition(CEGUI::UVector2(CEGUI::UDim(0.1f, 0), CEGUI::UDim(0.1f, 0))); wnd->setSize(CEGUI::USize(CEGUI::UDim(0.2f, 0), CEGUI::UDim(0.4f, 0)));*/ wnd->setText("Backpack"); CEGUI::InventoryReceiver& receiver1 = dynamic_cast<CEGUI::InventoryReceiver&>(*wmgr.createWindow("InventoryReceiver")); wnd->addChild(&receiver1); receiver1.setPosition(CEGUI::UVector2(cegui_reldim(0.0f), cegui_reldim(0.0f))); receiver1.setSize(CEGUI::USize(cegui_reldim(1.0f), cegui_reldim(1.0f))); receiver1.setContentSize(20, 2); receiver1.setUserString("BlockImage", "TestA2/InventorySlot"); // Create vault window CEGUI::Window* wnd2 = wmgr.createWindow("TestA2/InventoryWindow"); root->addChild(wnd2); wnd2->setPosition(CEGUI::UVector2(CEGUI::UDim(0.48f, 0), CEGUI::UDim(0.2f, 0))); wnd2->setSize(CEGUI::USize(CEGUI::UDim(0.5f, 0), CEGUI::UDim(0.5f, 0))); wnd2->setText("Bank Vault"); CEGUI::InventoryReceiver& receiver2 = dynamic_cast<CEGUI::InventoryReceiver&>(*wmgr.createWindow("InventoryReceiver")); wnd2->addChild(&receiver2); receiver2.setPosition(CEGUI::UVector2(cegui_reldim(0.0f), cegui_reldim(0.0f))); receiver2.setSize(CEGUI::USize(cegui_reldim(1.0f), cegui_reldim(1.0f))); receiver2.setContentSize(10, 10); receiver2.setUserString("BlockImage", "TestA2/InventorySlot"); // create some items and add them to the vault. CEGUI::InventoryItem& item1 = dynamic_cast<CEGUI::InventoryItem&>(*wmgr.createWindow("TaharezLook/InventoryItem")); item1.setContentSize(2, 2); receiver2.addItemAtLocation(item1, 0, 0); item1.setProperty("Image", "TaharezLook/MouseArrow"); CEGUI::InventoryItem& item2 = dynamic_cast<CEGUI::InventoryItem&>(*wmgr.createWindow("TaharezLook/InventoryItem")); item2.setContentSize(1, 2); receiver2.addItemAtLocation(item2, 1, 3); item2.setProperty("Image", "TestA2/MadBug"); CEGUI::InventoryItem& item3 = dynamic_cast<CEGUI::InventoryItem&>(*wmgr.createWindow("InventoryItem")); item3.setUserString("BlockImage", "TaharezLook/GenericBrush"); item3.setContentSize(1, 4); receiver2.addItemAtLocation(item3, 5, 2); CEGUI::InventoryItem& item4 = dynamic_cast<CEGUI::InventoryItem&>(*wmgr.createWindow("InventoryItem")); item4.setUserString("BlockImage", "TaharezLook/GenericBrush"); item4.setContentSize(1, 1); receiver2.addItemAtLocation(item4, 8, 6); CEGUI::InventoryItem& item5 = dynamic_cast<CEGUI::InventoryItem&>(*wmgr.createWindow("InventoryItem")); item5.setUserString("BlockImage", "TaharezLook/GenericBrush"); item5.setContentSize(2, 3); } } }
void PropertiesWindow::addPropertyArray(const Property& prop, const CeGuiString& key) { // Create the new MultiColumnList with two columns // Type and Value and set tab text to key int tabCount = mTabPane->getTabCount(); CEGUI::MultiColumnList* newTable = static_cast<CEGUI::MultiColumnList*> (CEGUI::WindowManager::getSingleton().createWindow("RastullahLook/MultiColumnList", "PropertiesWindow/PropertiesTabControl/" + key)); // Set table properties newTable->setText(key); newTable->setPosition(CEGUI::UVector2( CEGUI::UDim(0,0), CEGUI::UDim(0,0))); newTable->setSize(CEGUI::UVector2( CEGUI::UDim(1,0), CEGUI::UDim(1,0))); newTable->setUserSortControlEnabled(false); newTable->setFont("Vera Serif-8"); newTable->addColumn("Type", 0, cegui_reldim(0.3)); newTable->addColumn("Value", 1, cegui_reldim(0.7)); // Add the MultiColumnList to the tab pane mTabPane->addTab(newTable); // Get access to the vector PropertyArray vProp = prop.toArray(); // Iterate through the vector entries and add them // to the table for(PropertyArray::const_iterator it = vProp.begin(); it != vProp.end(); it++) { // Check for Int if (it->isInt() ) { addPropertyInt(*it, newTable); } // Check for IntPair else if (it->isIntPair() ) { addPropertyIntPair(*it, newTable); int rowCount = newTable->getRowCount(); newTable->addRow(rowCount); newTable->setItem(new ListboxTextItem(""), 0, rowCount); } // Check for IntTriple else if (it->isIntTriple() ) { addPropertyIntTriple(*it, newTable); int rowCount = newTable->getRowCount(); newTable->addRow(rowCount); newTable->setItem(new ListboxTextItem(""), 0, rowCount); } // Check for String else if (it->isString() ) { addPropertyString(*it, newTable); } // Check for Bool else if (it->isBool() ) { addPropertyBool(*it, newTable); } // Check for Real else if (it->isReal() ) { addPropertyReal(*it, newTable); } // Check for Vector3 else if (it->isVector3() ) { addPropertyArray3(*it, newTable); int rowCount = newTable->getRowCount(); newTable->addRow(rowCount); newTable->setItem(new ListboxTextItem(""), 0, rowCount); } // Check for Quaternion else if (it->isQuaternion() ) { addPropertyQuaternion(*it, newTable); int rowCount = newTable->getRowCount(); newTable->addRow(rowCount); newTable->setItem(new ListboxTextItem(""), 0, rowCount); } } newTable->autoSizeColumnHeader(0); newTable->autoSizeColumnHeader(1); }
void TestAARHUD::SetupGUI(dtCore::DeltaWin& win, dtCore::Keyboard& keyboard, dtCore::Mouse& mouse) { char clin[HUDCONTROLMAXTEXTSIZE]; // general buffer to print float curYPos; float helpTextWidth = 400; float taskTextWidth = 300; try { // Initialize CEGUI mGUI = new dtGUI::CEUIDrawable(&win, &keyboard, &mouse); std::string scheme = "gui/schemes/WindowsLook.scheme"; std::string path = dtCore::FindFileInPathList(scheme); if (path.empty()) { throw dtUtil::Exception(ARRHUDException::INIT_ERROR, "Failed to find the scheme file.", __FILE__, __LINE__); } std::string dir = path.substr(0, path.length() - (scheme.length() - 3)); dtUtil::FileUtils::GetInstance().PushDirectory(dir); CEGUI::SchemeManager::getSingleton().loadScheme(path); dtUtil::FileUtils::GetInstance().PopDirectory(); CEGUI::WindowManager* wm = CEGUI::WindowManager::getSingletonPtr(); CEGUI::System::getSingleton().setDefaultFont("DejaVuSans-10"); CEGUI::System::getSingleton().getDefaultFont()->setProperty("PointSize", "14"); mMainWindow = wm->createWindow("DefaultGUISheet", "root"); CEGUI::System::getSingleton().setGUISheet(mMainWindow); // MEDIUM FIELDS - on in Medium or max mHUDOverlay = wm->createWindow("WindowsLook/StaticImage", "medium_overlay"); mMainWindow->addChildWindow(mHUDOverlay); mHUDOverlay->setPosition(CEGUI::UVector2(cegui_reldim(0.0f),cegui_reldim(0.0f))); mHUDOverlay->setSize(CEGUI::UVector2(cegui_reldim(1.0f), cegui_reldim(1.0f))); mHUDOverlay->setProperty("FrameEnabled", "false"); mHUDOverlay->setProperty("BackgroundEnabled", "false"); // Main State - idle/playback/record mStateText = CreateText("State Text", mHUDOverlay, "", 10.0f, 20.0f, 120.0f, mTextHeight + 5); mStateText->setProperty("TextColours", "tl:FFFF1919 tr:FFFF1919 bl:FFFF1919 br:FFFF1919"); //mStateText->setFont("DejaVuSans-10"); // Core sim info mSimTimeText = CreateText("Sim Time", mHUDOverlay, "Sim Time", 0.0f, 0.0f, mRightTextXOffset - 2, mTextHeight); mSpeedFactorText = CreateText("Speed Factor", mHUDOverlay, "Speed", 0.0f, 0.0f, mRightTextXOffset - 2, mTextHeight); // Detailed record/playback info mRecordDurationText = CreateText(std::string("Duration"), mHUDOverlay, std::string("Duration"), 0, 0, mRightTextXOffset - 2, mTextHeight); mNumMessagesText = CreateText(std::string("Num Msgs"), mHUDOverlay, std::string("Num Msgs"), 0, 0, mRightTextXOffset - 2, mTextHeight); mNumTagsText = CreateText(std::string("Num Tags"), mHUDOverlay, std::string("Num Tags"), 0, 0, mRightTextXOffset - 2, mTextHeight); mLastTagText = CreateText(std::string("Last Tag"), mHUDOverlay, std::string("LastTag:"), 0, 0, mRightTextXOffset - 2, mTextHeight); mNumFramesText = CreateText(std::string("Num Frames"), mHUDOverlay, std::string("Num Frames"), 0, 0, mRightTextXOffset - 2, mTextHeight); mLastFrameText = CreateText(std::string("Last Frame"), mHUDOverlay, std::string("Last Frame"), 0, 0, mRightTextXOffset - 2, mTextHeight); mCurLogText = CreateText(std::string("Cur Log"), mHUDOverlay, std::string("Cur Log"), 0, 0, mRightTextXOffset - 2, mTextHeight); mCurMapText = CreateText(std::string("Cur Map"), mHUDOverlay, std::string("Cur Map"), 0, 0, mRightTextXOffset - 2, mTextHeight); // Core Tips at top of screen (HUD Toggle and Help) mFirstTipText = CreateText(std::string("First Tip"), mHUDOverlay, std::string("(F2 for MED HUD)"), 0, mTextYTopOffset, 160, mTextHeight + 2); mFirstTipText->setHorizontalAlignment(CEGUI::HA_CENTRE); mSecondTipText = CreateText(std::string("Second Tip"), mHUDOverlay, std::string(" (F1 for Help)"), 0, mTextYTopOffset + mTextHeight + 3, 160, mTextHeight + 2); mSecondTipText->setHorizontalAlignment(CEGUI::HA_CENTRE); // TASK FIELDS // task header curYPos = 70; mTasksHeaderText = CreateText(std::string("Task Header"), mHUDOverlay, std::string("Tasks:"), 4, curYPos, taskTextWidth - 2, mTextHeight + 2); //mTasksHeaderText->setFont("DejaVuSans-10"); curYPos += 2; // 11 placeholders for tasks for (int i = 0; i < 11; i++) { snprintf(clin, HUDCONTROLMAXTEXTSIZE, "Task %i", i); curYPos += mTextHeight + 2; mTaskTextList.push_back(CreateText(std::string(clin), mHUDOverlay, std::string(clin), 12, curYPos, taskTextWidth - 2, mTextHeight + 2)); } // HELP FIELDS mHelpOverlay = static_cast<CEGUI::Window*>(wm->createWindow ("WindowsLook/StaticImage", "Help Overlay")); mMainWindow->addChildWindow(mHelpOverlay); mHelpOverlay->setPosition(CEGUI::UVector2(cegui_reldim(0.0f), cegui_reldim(0.0f))); mHelpOverlay->setSize(CEGUI::UVector2(cegui_reldim(1.0f), cegui_reldim(1.0f))); mHelpOverlay->setProperty("FrameEnabled", "false"); mHelpOverlay->setProperty("BackgroundEnabled", "false"); mHelpOverlay->hide(); // help tip mHelpTipText = CreateText(std::string("Help Tip"), mHelpOverlay, std::string("(F2 to Toggle HUD)"), 0, mTextYTopOffset, 160, mTextHeight + 2); mHelpTipText->setHorizontalAlignment(CEGUI::HA_CENTRE); // HELP - Speed Settings curYPos = mTextYTopOffset; mHelp1Text = CreateText(std::string("Help1"), mHelpOverlay, std::string("[-] Slower (min 0.1X)"), 5, curYPos, helpTextWidth, mTextHeight + 2); curYPos += mTextHeight + 2; mHelp2Text = CreateText(std::string("Help2"), mHelpOverlay, std::string("[+] Faster (max 10.0X)"), 5, curYPos, helpTextWidth, mTextHeight + 2); curYPos += mTextHeight + 2; mHelp3Text = CreateText(std::string("Help3"), mHelpOverlay, std::string("[0] Normal Speed (1.0X)"), 5, curYPos, helpTextWidth, mTextHeight + 2); curYPos += mTextHeight + 2; mHelp7Text = CreateText(std::string("Help7"), mHelpOverlay, std::string("[P] Pause/Unpause"), 5, curYPos, helpTextWidth, mTextHeight + 2); // HELP - Camera Movement curYPos += mTextHeight * 2; mHelp17Text = CreateText(std::string("Help17"), mHelpOverlay, std::string("[Mouse] Turn Camera"), 5, curYPos, helpTextWidth, mTextHeight + 2); curYPos += mTextHeight + 2; mHelp13Text = CreateText(std::string("Help13"), mHelpOverlay, std::string("[A & D] Move Camera Left & Right"), 5, curYPos, helpTextWidth, mTextHeight + 2); curYPos += mTextHeight + 2; mHelp14Text = CreateText(std::string("Help14"), mHelpOverlay, std::string("[W & S] Move Camera Forward and Back"), 5, curYPos, helpTextWidth, mTextHeight + 2); // HELP - Player Movement curYPos += mTextHeight * 2; mHelp15Text = CreateText(std::string("Help15"), mHelpOverlay, std::string("[J & L] Turn Player Left & Right"), 5, curYPos, helpTextWidth, mTextHeight + 2); curYPos += mTextHeight + 2; mHelp16Text = CreateText(std::string("Help16"), mHelpOverlay, std::string("[I & K] Move Player Forward and Back"), 5, curYPos, helpTextWidth, mTextHeight + 2); // HELP - Idle, Record, and playback curYPos += mTextHeight * 2; mHelp4Text = CreateText(std::string("Help4"), mHelpOverlay, std::string("[1] Goto IDLE Mode (Ends record & playback)"), 5, curYPos, helpTextWidth, mTextHeight + 2); curYPos += mTextHeight + 2; mHelp5Text = CreateText(std::string("Help5"), mHelpOverlay, std::string("[2] Begin RECORD Mode (From Idle ONLY)"), 5, curYPos, helpTextWidth, mTextHeight + 2); curYPos += mTextHeight + 2; mHelp6Text = CreateText(std::string("Help6"), mHelpOverlay, std::string("[3] Begin PLAYBACK Mode (From Idle ONLY)"), 5, curYPos, helpTextWidth, mTextHeight + 2); curYPos += mTextHeight + 2; mHelp18Text = CreateText(std::string("Help18"), mHelpOverlay, std::string("[< & >] Prev & Next Keyframe (From Playback ONLY)"), 5, curYPos, helpTextWidth, mTextHeight + 2); // HELP - Misc curYPos += mTextHeight * 2; mHelp8Text = CreateText(std::string("Help8"), mHelpOverlay, std::string("[B] Place Object"), 5, curYPos, helpTextWidth, mTextHeight + 2); curYPos += mTextHeight * 2; mHelp19Text = CreateText(std::string("Help19"), mHelpOverlay, std::string("[G] Place Ignorable Object"), 5, curYPos, helpTextWidth, mTextHeight + 2); curYPos += mTextHeight + 2; mHelp11Text = CreateText(std::string("Help11"), mHelpOverlay, std::string("[F] Insert Keyframe"), 5, curYPos, helpTextWidth, mTextHeight + 2); curYPos += mTextHeight + 2; mHelp12Text = CreateText(std::string("Help12"), mHelpOverlay, std::string("[T] Insert Tag"), 5, curYPos, helpTextWidth, mTextHeight + 2); curYPos += mTextHeight + 2; mHelp9Text = CreateText(std::string("Help9"), mHelpOverlay, std::string("[Enter] Toggle Statistics"), 5, curYPos, helpTextWidth, mTextHeight + 2); curYPos += mTextHeight + 2; mHelp10Text = CreateText(std::string("Help10"), mHelpOverlay, std::string("[Space] Update Logger Status"), 5, curYPos, helpTextWidth, mTextHeight + 2); // finally, update our state - disable/hide to make it match current state UpdateState(); // Note - don't forget to add the cegui drawable to the scene after this method, or you get nothing. } catch (CEGUI::Exception& e) { std::ostringstream oss; oss << "CEGUI while setting up AAR GUI: " << e.getMessage().c_str(); throw dtUtil::Exception(ARRHUDException::INIT_ERROR,oss.str(), __FILE__, __LINE__); } }
bool GuiConfig::handleConfigControlsBut(const CEGUI::EventArgs& e) { WindowEventArgs* evt = (WindowEventArgs*)&e; FrameWindow* wnd = (FrameWindow*)winMgr.createWindow("TaharezLook/FrameWindow", "BinderPopup"); wnd->setTitleBarEnabled(false); wnd->setCloseButtonEnabled(false); root->addChildWindow(wnd); wnd->setPosition(UVector2(cegui_reldim(0), cegui_reldim( 0.30f))); wnd->setSize(UVector2(cegui_reldim(1.1f), cegui_reldim( 0.15f))); wnd->setAlpha(0.88f); wnd->setMaxSize(UVector2(cegui_reldim(1.0f), cegui_reldim( 1.0f))); wnd->setMinSize(UVector2(cegui_reldim(0.1f), cegui_reldim( 0.1f))); Window* label2 = winMgr.createWindow("TaharezLook/StaticText", "BinderPopupLabel"); wnd->addChildWindow(label2); label2->setProperty("FrameEnabled", "false"); label2->setProperty("BackgroundEnabled", "false"); label2->setPosition(UVector2(cegui_reldim(0.10f), cegui_reldim( 0.1f))); label2->setSize(UVector2(cegui_reldim(0.8f), cegui_reldim( 0.8f))); label2->setText(GLoc->GetString("AskForInput").c_str()); winMgr.getWindow("Config Window")->setVisible(false); // mCurrentState = GUI_GETCONTROLBIND; mbControlBinding = true; mBindingButtonIndex = evt->window->getID(); return true; }
void GuiConfig::Build(ZProtoGUI *pGUI) { mGUI = (ZProtoGUI*)pGUI; root = mGUI->root; mFontArial8 = mGUI->mFontArial8; mFontArial24 = mGUI->mFontArial24; // Create a FrameWindow in the TaharezLook style, and name it 'Demo Window' mCondigWindow = (FrameWindow*)winMgr.createWindow("TaharezLook/FrameWindow", "Config Window"); mCondigWindow->setTitleBarEnabled(false); mCondigWindow->setCloseButtonEnabled(false); mCondigWindow->setSizingEnabled(false); root->addChildWindow(mCondigWindow); mCondigWindow->setAlpha(0.6f); mCondigWindow ->hide(); mCondigWindow->setSizingEnabled(false); FrameWindow* wnd1 = (FrameWindow*)winMgr.createWindow("TaharezLook/FrameWindow", "tabPage0"); wnd1->setTitleBarEnabled(false); wnd1->setFrameEnabled(false);//>setTitleBarEnabled(false); wnd1->setCloseButtonEnabled(false); wnd1->setText(GLoc->GetString("PLAYER").c_str()); FrameWindow* wnd2 = (FrameWindow*)winMgr.createWindow("TaharezLook/FrameWindow", "tabPage1"); wnd2->setTitleBarEnabled(false); wnd2->setFrameEnabled(false);//>setTitleBarEnabled(false); wnd2->setCloseButtonEnabled(false); wnd2->setText(GLoc->GetString("Controls").c_str()); FrameWindow* wnd3 = (FrameWindow*)winMgr.createWindow("TaharezLook/FrameWindow", "tabPage2"); wnd3->setTitleBarEnabled(false); wnd3->setCloseButtonEnabled(false); wnd3->setText(GLoc->GetString("Graphics").c_str()); wnd3->setFrameEnabled(false);// FrameWindow* wnd4 = (FrameWindow*)winMgr.createWindow("TaharezLook/FrameWindow", "tabPage3"); wnd4->setTitleBarEnabled(false); wnd4->setFrameEnabled(false);//>setTitleBarEnabled(false); wnd4->setCloseButtonEnabled(false); wnd4->setText(GLoc->GetString("SOUND").c_str()); //wnd->addChildWindow (winMgr.loadWindowLayout ("TabControlDemo.layout", "TabControlDemo/")); TabControl *tc = (TabControl *)winMgr.createWindow("TaharezLook/TabControl", "Config/Tabs"); mCondigWindow->setPosition(UVector2(cegui_reldim(0.f), cegui_reldim( 0.f))); mCondigWindow->setSize(UVector2(cegui_reldim(1.f), cegui_reldim( 0.9f))); tc->setArea(UVector2(cegui_reldim(0.1f), cegui_reldim( 0.05f)), UVector2(cegui_reldim(0.9f), cegui_reldim( 0.85f)) ); // Add some pages to tab control tc->addTab (wnd1); tc->addTab (wnd2); tc->addTab (wnd3); tc->addTab (wnd4); tc->setTabHeight(UDim (0.06f, 0.13f)); tc->setTabTextPadding(UDim (0.06f, 0.1f)); mCondigWindow->addChildWindow(tc); mCondigWindow->setPosition(UVector2(cegui_reldim(0), cegui_reldim( 0.15f))); mCondigWindow->setSize(UVector2(cegui_reldim(1.1f), cegui_reldim( 0.70f))); mCondigWindow->setAlpha(0.88f); wnd1->setPosition(UVector2(cegui_reldim(0.0f), cegui_reldim( 0.0f))); wnd1->setSize(UVector2(cegui_reldim(1.f), cegui_reldim( 1.f))); wnd2->setPosition(UVector2(cegui_reldim(0.0f), cegui_reldim( 0.0f))); wnd2->setSize(UVector2(cegui_reldim(1.f), cegui_reldim( 1.f))); wnd3->setPosition(UVector2(cegui_reldim(0.0f), cegui_reldim( 0.0f))); wnd3->setSize(UVector2(cegui_reldim(1.f), cegui_reldim( 1.f))); wnd4->setPosition(UVector2(cegui_reldim(0.0f), cegui_reldim( 0.0f))); wnd4->setSize(UVector2(cegui_reldim(1.f), cegui_reldim( 1.f))); // controls for (int allCtrl = 0;allCtrl<sizeof(aCtrlList)/sizeof(CTRLEntry); allCtrl++) { static const float interligne = 0.06f*1.6f; static const float intersize = 0.05f*1.4f; tstring numb; numb.Printf("%d", allCtrl); Window* txtlib = winMgr.createWindow("TaharezLook/StaticText", String(aCtrlList[allCtrl].mName)+String("CtrlLib")+String(numb.c_str())); txtlib->setText(GLoc->GetString(aCtrlList[allCtrl].mName).c_str()); txtlib->setProperty("FrameEnabled", "false"); txtlib->setProperty("BackgroundEnabled", "false"); //txtlib->setHorizontalAlignment(HA_CENTRE); txtlib->setPosition(UVector2(cegui_reldim(0.05f), cegui_reldim( 0.01f + interligne*allCtrl))); txtlib->setSize(UVector2(cegui_reldim(0.19f), cegui_reldim( intersize ))); wnd2->addChildWindow(txtlib); PushButton* txtBut = (PushButton*)winMgr.createWindow("TaharezLook/Button", String(aCtrlList[allCtrl].mName)+String("CtrlBut")+String(numb.c_str())); txtBut->setPosition(UVector2(cegui_reldim(0.2f), cegui_reldim( 0.01f + interligne*allCtrl))); txtBut->setSize(UVector2(cegui_reldim(0.50f), cegui_reldim( intersize ))); SetBindedControlString(allCtrl, txtBut); //txtBut->setText("A or PAD Button 1"); txtBut->setHorizontalAlignment(HA_CENTRE); wnd2->addChildWindow(txtBut); txtBut->subscribeEvent ( PushButton::EventClicked, Event::Subscriber (&GuiConfig::handleConfigControlsBut, this)); txtBut->setID(allCtrl); aCtrlList[allCtrl].mWindow = (Window*)txtBut; } // -- PLAYER Editbox* playerName = static_cast<Editbox*>(winMgr.createWindow("TaharezLook/Editbox", "CONFIGPLAYERNAME")); wnd1->addChildWindow(playerName); playerName->setPosition(UVector2(cegui_reldim(0.3f), cegui_reldim( 0.05f))); playerName->setSize(UVector2(cegui_reldim(0.3f), cegui_reldim( 0.08f))); //playerName->setValidationString("*"); playerName->setText(GConfig->GetPlayerName()); Window* txtlib = winMgr.createWindow("TaharezLook/StaticText", "CONFIGPLAYERNAMESTATIC"); txtlib->setText(GLoc->GetString("PLAYERNAME").c_str()); txtlib->setProperty("FrameEnabled", "false"); txtlib->setProperty("BackgroundEnabled", "false"); txtlib->setPosition(UVector2(cegui_reldim(0.05f), cegui_reldim( 0.05f))); txtlib->setSize(UVector2(cegui_reldim(0.24f), cegui_reldim( 0.08f ))); wnd1->addChildWindow(txtlib); // -- // -- SOUND Scrollbar* sfxslider = static_cast<Scrollbar*>(winMgr.createWindow("TaharezLook/HorizontalScrollbar", "SFXVOLUME")); sfxslider->setPosition(UVector2(cegui_reldim(0.3f), cegui_reldim( 0.05f))); sfxslider->setSize(UVector2(cegui_reldim(0.6f), cegui_reldim( 0.08f))); sfxslider->setDocumentSize (100); sfxslider->subscribeEvent ( Scrollbar::EventScrollPositionChanged, Event::Subscriber (&GuiConfig::handleSFXVolChanged, this)); sfxslider->setScrollPosition(float(GConfig->GetQuality("SFXVOLUME"))); wnd4->addChildWindow(sfxslider); Window* txtlibsfx = winMgr.createWindow("TaharezLook/StaticText", "SFXVOLUMESTATIC"); txtlibsfx->setText(GLoc->GetString("SFXVOLUME").c_str()); txtlibsfx->setProperty("FrameEnabled", "false"); txtlibsfx->setProperty("BackgroundEnabled", "false"); txtlibsfx->setPosition(UVector2(cegui_reldim(0.05f), cegui_reldim( 0.05f))); txtlibsfx->setSize(UVector2(cegui_reldim(0.24f), cegui_reldim( 0.08f ))); wnd4->addChildWindow(txtlibsfx); Scrollbar* musicslider = static_cast<Scrollbar*>(winMgr.createWindow("TaharezLook/HorizontalScrollbar", "MUSICVOLUME")); musicslider->setPosition(UVector2(cegui_reldim(0.3f), cegui_reldim( 0.15f))); musicslider->setSize(UVector2(cegui_reldim(0.6f), cegui_reldim( 0.08f))); musicslider->setDocumentSize (100); musicslider->subscribeEvent ( Scrollbar::EventScrollPositionChanged, Event::Subscriber (&GuiConfig::handleMusicVolChanged, this)); musicslider->setScrollPosition(float(GConfig->GetQuality("MUSICVOLUME"))); wnd4->addChildWindow(musicslider); Window* txtlibmusic = winMgr.createWindow("TaharezLook/StaticText", "MUSICVOLUMESTATIC"); txtlibmusic->setText(GLoc->GetString("MUSICVOLUME").c_str()); txtlibmusic->setProperty("FrameEnabled", "false"); txtlibmusic->setProperty("BackgroundEnabled", "false"); txtlibmusic->setPosition(UVector2(cegui_reldim(0.05f), cegui_reldim( 0.15f))); txtlibmusic->setSize(UVector2(cegui_reldim(0.24f), cegui_reldim( 0.08f ))); wnd4->addChildWindow(txtlibmusic); Checkbox* checkMusic = static_cast<Checkbox*>(winMgr.createWindow("TaharezLook/Checkbox", "CHKMUSIC")); wnd4->addChildWindow(checkMusic); checkMusic->setPosition(UVector2(cegui_reldim(0.05f), cegui_reldim( 0.25f))); checkMusic->setSize(UVector2(cegui_reldim(0.24f), cegui_reldim( 0.08f ))); checkMusic->setText(GLoc->GetString("CHKMUSIC").c_str()); checkMusic->subscribeEvent ( Checkbox::EventCheckStateChanged, Event::Subscriber (&GuiConfig::handleChkMusicChanged, this)); checkMusic->setSelected (GConfig->IsEnable("CHKMUSIC")); // -- // -- VIDEO Combobox* cbresolution = static_cast<Combobox*>(winMgr.createWindow("TaharezLook/Combobox", "RESOLUTION")); wnd3->addChildWindow(cbresolution); cbresolution->setPosition(UVector2(cegui_reldim(0.3f), cegui_reldim( 0.05f))); cbresolution->setSize(UVector2(cegui_reldim(0.24f), cegui_reldim( 0.75f))); cbresolution->setReadOnly(true); Window* txtres = winMgr.createWindow("TaharezLook/StaticText", "RESOLUTIONTXT"); txtres->setText(GLoc->GetString("RESOLUTION").c_str()); txtres->setProperty("FrameEnabled", "false"); txtres->setProperty("BackgroundEnabled", "false"); txtres->setPosition(UVector2(cegui_reldim(0.05f), cegui_reldim( 0.05f))); txtres->setSize(UVector2(cegui_reldim(0.24f), cegui_reldim( 0.08f ))); wnd3->addChildWindow(txtres); int optWidth = GConfig->GetQuality("Width"); int optHeight = GConfig->GetQuality("Height"); int awidth = -1, aheight = -1; int avresolutions = 0; for (unsigned int rs = 0;rs<GDD->GetNbPossibleResolutions(); rs++) { char tmps[512]; int width, height; GDD->GetResolution(rs, width, height); if ((awidth != width) || (aheight != height)) { awidth = width; aheight = height; mResolutions.push_back(resval_t(width, height)); snprintf(tmps, 512, "%d x %d", width, height); cbresolution->addItem (new ListboxTextItem(tmps)); if ((width == optWidth)&&(height == optHeight)) CEGUICBSel(cbresolution, avresolutions); avresolutions++; } } // -- Checkbox* checkFS = static_cast<Checkbox*>(winMgr.createWindow("TaharezLook/Checkbox", "CHKBFS")); wnd3->addChildWindow(checkFS); checkFS->setPosition(UVector2(cegui_reldim(0.05f), cegui_reldim( 0.15f))); checkFS->setSize(UVector2(cegui_reldim(0.24f), cegui_reldim( 0.08f ))); checkFS->setText(GLoc->GetString("FULLSCREEN").c_str()); //checkFS->subscribeEvent ( Checkbox::EventCheckStateChanged, Event::Subscriber (&GuiConfig::handleFSChanged, this)); checkFS->setSelected (GConfig->IsEnable("CHKBFS")); Checkbox* checkVSync = static_cast<Checkbox*>(winMgr.createWindow("TaharezLook/Checkbox", "CHKBVSYNC")); wnd3->addChildWindow(checkVSync); checkVSync->setPosition(UVector2(cegui_reldim(0.05f), cegui_reldim( 0.75f))); checkVSync->setSize(UVector2(cegui_reldim(0.24f), cegui_reldim( 0.08f ))); checkVSync->setText(GLoc->GetString("VSYNC").c_str()); //checkVSync->subscribeEvent ( Checkbox::EventCheckStateChanged, Event::Subscriber (&GuiConfig::handleVSYNCChanged, this)); checkVSync->setSelected (GConfig->IsEnable("CHKBVSYNC")); // -- Combobox* cbshad = static_cast<Combobox*>(winMgr.createWindow("TaharezLook/Combobox", "SHADOWQUALITY")); wnd3->addChildWindow(cbshad); cbshad->setPosition(UVector2(cegui_reldim(0.3f), cegui_reldim( 0.25f))); cbshad->setSize(UVector2(cegui_reldim(0.24f), cegui_reldim( 0.33f))); cbshad->setReadOnly(true); Window* txtshad = winMgr.createWindow("TaharezLook/StaticText", "SHADOWQUALITYTXT"); txtshad->setText(GLoc->GetString("SHADOWQUALITY").c_str()); txtshad->setProperty("FrameEnabled", "false"); txtshad->setProperty("BackgroundEnabled", "false"); txtshad->setPosition(UVector2(cegui_reldim(0.05f), cegui_reldim( 0.25f))); txtshad->setSize(UVector2(cegui_reldim(0.24f), cegui_reldim( 0.08f ))); wnd3->addChildWindow(txtshad); cbshad->addItem (new ListboxTextItem(GLoc->GetString("DISABLED").c_str())); cbshad->addItem (new ListboxTextItem(GLoc->GetString("MEDIUM").c_str())); cbshad->addItem (new ListboxTextItem(GLoc->GetString("HIGH").c_str())); cbshad->addItem (new ListboxTextItem(GLoc->GetString("VERYHIGH").c_str())); cbshad->subscribeEvent ( Combobox::EventListSelectionAccepted, Event::Subscriber (&GuiConfig::handleShadowQualityChanged, this)); CEGUICBSel(cbshad, GConfig->GetQuality("SHADOWQUALITY")); // -- Combobox* cbrefl = static_cast<Combobox*>(winMgr.createWindow("TaharezLook/Combobox", "REFLECTIONQUALITY")); wnd3->addChildWindow(cbrefl); cbrefl->setPosition(UVector2(cegui_reldim(0.3f), cegui_reldim( 0.35f))); cbrefl->setSize(UVector2(cegui_reldim(0.24f), cegui_reldim( 0.33f))); cbrefl->setReadOnly(true); Window* txtrefl = winMgr.createWindow("TaharezLook/StaticText", "REFLECTIONQUALITYTXT"); txtrefl->setText(GLoc->GetString("REFLECTIONQUALITY").c_str()); txtrefl->setProperty("FrameEnabled", "false"); txtrefl->setProperty("BackgroundEnabled", "false"); txtrefl->setPosition(UVector2(cegui_reldim(0.05f), cegui_reldim( 0.35f))); txtrefl->setSize(UVector2(cegui_reldim(0.24f), cegui_reldim( 0.08f ))); wnd3->addChildWindow(txtrefl); cbrefl->addItem (new ListboxTextItem(GLoc->GetString("DISABLED").c_str())); cbrefl->addItem (new ListboxTextItem(GLoc->GetString("MEDIUM").c_str())); cbrefl->addItem (new ListboxTextItem(GLoc->GetString("HIGH").c_str())); cbrefl->addItem (new ListboxTextItem(GLoc->GetString("VERYHIGH").c_str())); cbrefl->subscribeEvent ( Combobox::EventListSelectionAccepted, Event::Subscriber (&GuiConfig::handleReflectionQualityChanged, this)); CEGUICBSel(cbrefl, GConfig->GetQuality("REFLECTIONQUALITY")); // -- Combobox* cbwater = static_cast<Combobox*>(winMgr.createWindow("TaharezLook/Combobox", "WATERQUALITY")); wnd3->addChildWindow(cbwater); cbwater->setPosition(UVector2(cegui_reldim(0.3f), cegui_reldim( 0.45f))); cbwater->setSize(UVector2(cegui_reldim(0.24f), cegui_reldim( 0.33f))); cbwater->setReadOnly(true); Window* txtwater = winMgr.createWindow("TaharezLook/StaticText", "WATERQUALITYTXT"); txtwater->setText(GLoc->GetString("WATERQUALITY").c_str()); txtwater->setProperty("FrameEnabled", "false"); txtwater->setProperty("BackgroundEnabled", "false"); txtwater->setPosition(UVector2(cegui_reldim(0.05f), cegui_reldim( 0.45f))); txtwater->setSize(UVector2(cegui_reldim(0.24f), cegui_reldim( 0.08f ))); wnd3->addChildWindow(txtwater); cbwater->addItem (new ListboxTextItem(GLoc->GetString("LOW").c_str())); cbwater->addItem (new ListboxTextItem(GLoc->GetString("MEDIUM").c_str())); cbwater->addItem (new ListboxTextItem(GLoc->GetString("HIGH").c_str())); cbwater->addItem (new ListboxTextItem(GLoc->GetString("VERYHIGH").c_str())); cbwater->subscribeEvent ( Combobox::EventListSelectionAccepted, Event::Subscriber (&GuiConfig::handleWaterQualityChanged, this)); CEGUICBSel(cbwater, GConfig->GetQuality("WATERQUALITY")); // -- Checkbox* checkDOF = static_cast<Checkbox*>(winMgr.createWindow("TaharezLook/Checkbox", "CHKDOF")); wnd3->addChildWindow(checkDOF); checkDOF->setPosition(UVector2(cegui_reldim(0.05f), cegui_reldim( 0.55f))); checkDOF->setSize(UVector2(cegui_reldim(0.24f), cegui_reldim( 0.08f ))); checkDOF->setText(GLoc->GetString("DEPTHOFFIELD").c_str()); checkDOF->subscribeEvent ( Checkbox::EventCheckStateChanged, Event::Subscriber (&GuiConfig::handleDOFChanged, this)); checkDOF->setSelected (GConfig->IsEnable("CHKDOF")); Checkbox* checkMBLUR = static_cast<Checkbox*>(winMgr.createWindow("TaharezLook/Checkbox", "CHKMBLUR")); wnd3->addChildWindow(checkMBLUR); checkMBLUR->setPosition(UVector2(cegui_reldim(0.05f), cegui_reldim( 0.65f))); checkMBLUR->setSize(UVector2(cegui_reldim(0.24f), cegui_reldim( 0.08f ))); checkMBLUR->setText(GLoc->GetString("MOTIONBLUR").c_str()); checkMBLUR->subscribeEvent ( Checkbox::EventCheckStateChanged, Event::Subscriber (&GuiConfig::handleMBLURChanged, this)); checkMBLUR->setSelected (GConfig->IsEnable("CHKMBLUR")); /* Resolution Enable FullScreen shadows quality (disabled, medium, high, ultrahigh) 0, 1024, 2048, 4096 reflection quality (disabled, low, medium, high) 0, 256, 512, 1024 water quality (low, medium, high, ultra high) enable Depth of field enable motion blur */ // -- PushButton* btn = static_cast<PushButton*>(winMgr.createWindow("TaharezLook/Button", "configOK")); mCondigWindow->addChildWindow(btn); btn->setPosition(UVector2(cegui_reldim(0.77f), cegui_reldim( 0.90f))); btn->setSize(UVector2(cegui_reldim(0.20f), cegui_reldim( 0.065f))); btn->setText("OK"); btn->subscribeEvent(PushButton::EventClicked, Event::Subscriber(&GuiConfig::HandleConfigOK, this)); }