本文整理汇总了C++中cegui::Window::setArea方法的典型用法代码示例。如果您正苦于以下问题:C++ Window::setArea方法的具体用法?C++ Window::setArea怎么用?C++ Window::setArea使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cegui::Window
的用法示例。
在下文中一共展示了Window::setArea方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ResizeInventory
/***********************************************************
resize inventory
***********************************************************/
void ContainerBox::ResizeInventory(int newsize)
{
if(_inventory_size == newsize)
return;
_inventory_size = newsize;
for(size_t i=0; i<_inv_boxes.size(); ++i)
_inv_boxes[i]->destroy();
_inv_boxes.clear();
CEGUI::Window* pane = CEGUI::WindowManager::getSingleton().getWindow("ContainerFrame/InvScrollable");
CEGUI::Window* tmpwindow;
for(int i=0; i<_inventory_size; ++i)
{
int x = i / 4;
int y = i % 4;
tmpwindow = CEGUI::WindowManager::getSingleton().createWindow("TaharezLook/StaticText");
tmpwindow->setArea(CEGUI::UDim(0,5+((float)_boxsize+2)*y), CEGUI::UDim(0,5+((float)_boxsize+2.0f)*x),
CEGUI::UDim(0, (float)_boxsize), CEGUI::UDim(0, (float)_boxsize));
pane->addChildWindow(tmpwindow);
tmpwindow->subscribeEvent(
CEGUI::Window::EventDragDropItemDropped,
CEGUI::Event::Subscriber(&ContainerBox::handle_ItemDroppedInInventory, this));
tmpwindow->setID(i);
_inv_boxes.push_back(tmpwindow);
}
CleanInventory();
}
示例2: SetLabel
void PromptBox::SetLabel(const CEGUI::String& text)
{
OC_CEGUI_TRY;
{
CEGUI::Window* messageText = mPromptBox->getChild(mPromptBox->getName() + "/MessageText");
CEGUI::Window* editbox = mPromptBox->getChild(mPromptBox->getName() + "/Editbox");
const float32 offset = 10;
float32 buttonHeight = mPromptBox->getChild(mPromptBox->getName() + "/ButtonOK")->getPixelSize().d_height;
float32 editboxHeight = editbox->getPixelSize().d_height;
messageText->setText(text);
float32 textWidth = StringConverter::FromString<float32>(messageText->getProperty("HorzExtent").c_str());
float32 textHeight = StringConverter::FromString<float32>(messageText->getProperty("VertExtent").c_str());
editbox->subscribeEvent(CEGUI::Editbox::EventKeyDown, CEGUI::Event::Subscriber(&PromptBox::OnEditboxKeyDown, this));
messageText->setArea(CEGUI::UDim(0,offset), CEGUI::UDim(0,0), CEGUI::UDim(1, -2.0f*offset), CEGUI::UDim(1, -buttonHeight-editboxHeight - offset));
mPromptBox->setWidth(CEGUI::UDim(0, textWidth + 2.0f*offset + INNER_FRAME_OFFSET));
mPromptBox->setHeight(CEGUI::UDim(0, textHeight + buttonHeight + editboxHeight + offset + INNER_FRAME_OFFSET));
mPromptBox->setXPosition(CEGUI::UDim(0.5f, -0.5f*mPromptBox->getPixelSize().d_width));
mPromptBox->setYPosition(CEGUI::UDim(0.5f, -0.5f*mPromptBox->getPixelSize().d_height));
EnsureWindowIsWideEnough();
}
OC_CEGUI_CATCH;
}
示例3: SetText
void MessageBox::SetText(const CEGUI::String& text)
{
CEGUI::Window* messageText = mMessageBox->getChild(mMessageBox->getName() + "/MessageText");
const float32 offset = 10;
float32 buttonHeight = mMessageBox->getChild(mMessageBox->getName() + "/ButtonOK")->getPixelSize().d_height;
messageText->setText(text);
float32 textWidth = StringConverter::FromString<float32>(messageText->getProperty("HorzExtent").c_str());
float32 textHeight = StringConverter::FromString<float32>(messageText->getProperty("VertExtent").c_str());
messageText->setArea(CEGUI::UDim(0,offset), CEGUI::UDim(0,0), CEGUI::UDim(1, -2.0f*offset), CEGUI::UDim(1, -buttonHeight-offset));
mMessageBox->setWidth(CEGUI::UDim(0, textWidth + 2.0f*offset + INNER_FRAME_OFFSET));
mMessageBox->setHeight(CEGUI::UDim(0, textHeight + buttonHeight + offset + INNER_FRAME_OFFSET));
mMessageBox->setXPosition(CEGUI::UDim(0.5f, -0.5f*mMessageBox->getPixelSize().d_width));
mMessageBox->setYPosition(CEGUI::UDim(0.5f, -0.5f*mMessageBox->getPixelSize().d_height));
EnsureWindowIsWideEnough();
}
示例4:
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();
}
示例5: Initialize
/***********************************************************
initalize the box
***********************************************************/
void ContainerBox::Initialize(CEGUI::Window* Root)
{
try
{
_myBox = CEGUI::WindowManager::getSingleton().loadWindowLayout( "container.layout" );
Root->addChildWindow(_myBox);
CEGUI::FrameWindow * frw = static_cast<CEGUI::FrameWindow *> (
CEGUI::WindowManager::getSingleton().getWindow("ContainerFrame"));
frw->subscribeEvent (
CEGUI::FrameWindow::EventCloseClicked,
CEGUI::Event::Subscriber (&ContainerBox::HandleCancel, this));
static_cast<CEGUI::PushButton *> (
CEGUI::WindowManager::getSingleton().getWindow("ContainerFrame/OK"))->subscribeEvent (
CEGUI::PushButton::EventClicked,
CEGUI::Event::Subscriber (&ContainerBox::HandleOk, this));
static_cast<CEGUI::PushButton *> (
CEGUI::WindowManager::getSingleton().getWindow("ContainerFrame/TakeAll"))->subscribeEvent (
CEGUI::PushButton::EventClicked,
CEGUI::Event::Subscriber (&ContainerBox::HandleTakeAll, this));
static_cast<CEGUI::PushButton *> (
CEGUI::WindowManager::getSingleton().getWindow("ContainerFrame/Cancel"))->subscribeEvent (
CEGUI::PushButton::EventClicked,
CEGUI::Event::Subscriber (&ContainerBox::HandleCancel, this));
CEGUI::Window* pane = CEGUI::WindowManager::getSingleton().getWindow("ContainerFrame/ConScrollable");
CEGUI::Window* tmpwindow;
for(int i=0; i<_NB_BOX_CONTAINER_; ++i)
{
int x = i / 3;
int y = i % 3;
tmpwindow = CEGUI::WindowManager::getSingleton().createWindow("TaharezLook/StaticText");
tmpwindow->setArea(CEGUI::UDim(0,5+((float)_boxsize+2)*y), CEGUI::UDim(0,5+((float)_boxsize+2)*x),
CEGUI::UDim(0, (float)_boxsize), CEGUI::UDim(0, (float)_boxsize));
pane->addChildWindow(tmpwindow);
tmpwindow->subscribeEvent(
CEGUI::Window::EventDragDropItemDropped,
CEGUI::Event::Subscriber(&ContainerBox::handle_ItemDroppedInContainer, this));
tmpwindow->setID(i);
_cont_boxes.push_back(tmpwindow);
}
frw->show();
_myBox->hide();
frw->subscribeEvent(CEGUI::Window::EventKeyDown,
CEGUI::Event::Subscriber (&ContainerBox::HandleEnterKey, this));
}
catch(CEGUI::Exception &ex)
{
LogHandler::getInstance()->LogToFile(std::string("Exception init ContainerBox: ") + ex.getMessage().c_str());
}
}
示例6: tmpstr
/***********************************************************
add an item inside the container
***********************************************************/
std::pair<CEGUI::Window*, CEGUI::Window*> ContainerBox::AddInventoryItem(long Id, int number,
CEGUI::Window* parent,
bool tocontainer)
{
CEGUI::Window* tmp = CEGUI::WindowManager::getSingleton().createWindow("DragContainer");
tmp->setArea(CEGUI::UDim(0,0), CEGUI::UDim(0,0), CEGUI::UDim(1, 0), CEGUI::UDim(1, 0));
tmp->setID(Id);
CEGUI::Window* tmp2 = CEGUI::WindowManager::getSingleton().createWindow("TaharezLook/StaticImage");
tmp2->setArea(CEGUI::UDim(0,5.0f), CEGUI::UDim(0,12.0f), CEGUI::UDim(0, (float)_boxsize-10.0f), CEGUI::UDim(0, (float)_boxsize-20.0f));
std::string imagesetname = ImageSetHandler::GetInstance()->GetInventoryImage(Id);
tmp2->setProperty("Image", "set:" + imagesetname + " image:full_image");
tmp2->setProperty("MousePassThroughEnabled", "True");
CEGUI::Window* tmp3 = CEGUI::WindowManager::getSingleton().createWindow("TaharezLook/StaticText");
tmp3->setArea(CEGUI::UDim(0,2), CEGUI::UDim(0,4), CEGUI::UDim(1, -1), CEGUI::UDim(0, 14));
tmp3->setProperty("FrameEnabled", "False");
tmp3->setProperty("BackgroundEnabled", "False");
tmp3->setProperty("MousePassThroughEnabled", "True");
tmp3->setAlwaysOnTop(true);
tmp3->setProperty("Font" , "contourfont");
std::stringstream strs;
strs<<number;
tmp3->setText(strs.str().c_str());
if(tocontainer)
tmp3->setID(3);
else
tmp3->setID(2);
CEGUI::String tmpstr((const unsigned char *)InventoryHandler::getInstance()->GetItemDescription(Id).c_str());
tmp->setProperty("Tooltip", tmpstr);
tmp->addChildWindow(tmp2);
tmp->addChildWindow(tmp3);
parent->addChildWindow(tmp);
tmp->subscribeEvent(
CEGUI::Window::EventMouseEnters,
CEGUI::Event::Subscriber(&ContainerBox::HandleInventoryEnter, this));
if(tocontainer)
{
tmp->subscribeEvent(
CEGUI::Window::EventDragDropItemDropped,
CEGUI::Event::Subscriber(&ContainerBox::handle_ItemDroppedInContainerItem, this));
tmp->subscribeEvent (CEGUI::Window::EventMouseClick,
CEGUI::Event::Subscriber (&ContainerBox::HandleContainerItemClicked, this));
}
else
{
tmp->subscribeEvent(
CEGUI::Window::EventDragDropItemDropped,
CEGUI::Event::Subscriber(&ContainerBox::handle_ItemDroppedInInventoryItem, this));
tmp->subscribeEvent (CEGUI::Window::EventMouseClick,
CEGUI::Event::Subscriber (&ContainerBox::HandleInventoryItemClicked, this));
}
return std::make_pair<CEGUI::Window*, CEGUI::Window*>(tmp, tmp3);
}
示例7: AlignSpaceBetween
//.........这里部分代码省略.........
{
wxMessageBox(L"all the select window ¡¯s can't be locked£¡");
return;
}
CEGUI::Window* curWin = boxIt->GetWindow();
if (pParentWin != curWin->getParent())
{
wxMessageBox(L"all the select window ¡¯s parent must be same£¡");
return;
}
}
//»Ö¸´µü´úÆ÷λÖÃ
//boxIt = m_selection->GetMoveableBoxes().begin();
//++boxIt;
//float lWidth = current->getPixelSize().d_width;
//float lHeight = current->getPixelSize().d_height;
//float RightPos = CEGUI::CoordConverter::windowToScreenX(*current,0)+lWidth;
//float BottomPos = CEGUI::CoordConverter::windowToScreenY(*current,0)+lHeight;
//
//for(; boxIt != m_selection->GetMoveableBoxes().end(); ++boxIt)
//{
// CEGUI::Window* curWin = boxIt->GetWindow();
// CEGUI::UDim xPos = curWin->getXPosition();
// CEGUI::UDim yPos = curWin->getYPosition();
// switch(al)
// {
// case HorzPadding:
// {
// float newXPixel = RightPos + PaddingValue;
// float xscale = (newXPixel-ParentX)/parentWidth;
// xPos = CEGUI::UDim(xscale,0);
// break;
// }
// case VertPadding:
// {
// float newYPixel = BottomPos + PaddingValue;
// float yscale = (newYPixel-ParentY)/parentHeight;
// yPos = CEGUI::UDim(yscale,0);
// break;
// }
// default:
// LogError(wxT("SelectionMover::AlignSelection - Unrecognized align option (%d)"), al);
// return;
// }
// curWin->setPosition(CEGUI::UVector2(xPos,yPos));
// lWidth = curWin->getPixelSize().d_width;
// lHeight = curWin->getPixelSize().d_height;
// RightPos = CEGUI::CoordConverter::windowToScreenX(*curWin,0)+lWidth;
// BottomPos = CEGUI::CoordConverter::windowToScreenY(*curWin,0)+lHeight;
//}
//// Request for a repaint
//wxGetApp().GetMainFrame()->Refresh();
boxIt = m_selection->GetMoveableBoxes().begin();
++boxIt;
float newPixelWidth = current->getPixelSize().d_width;
float newPixelHeight = current->getPixelSize().d_height;
float RightPos = CEGUI::CoordConverter::windowToScreenX(*current,0)+newPixelWidth;
float BottomPos = CEGUI::CoordConverter::windowToScreenY(*current,0)+newPixelHeight;
for(; boxIt != m_selection->GetMoveableBoxes().end(); ++boxIt)
{
CEGUI::Window* curWin = boxIt->GetWindow();
float fLeft = CEGUI::CoordConverter::windowToScreenX(*curWin,0);
float fTop = CEGUI::CoordConverter::windowToScreenY(*curWin,0);
newPixelWidth = curWin->getPixelSize().d_width;
newPixelHeight = curWin->getPixelSize().d_height;
float fRight = fLeft + newPixelWidth;
float fBottom = fTop + newPixelHeight;
CEGUI::URect newWindowArea = curWin->getArea();
float sLeft = 0.0f,sTop = 0.0f,sRight = 0.0f, sBottom = 0.0f;
switch(al)
{
case HorzPadding:
{
float newXPixel = RightPos + PaddingValue;
sRight = sLeft = newXPixel - fLeft;
break;
}
case VertPadding:
{
float newYPixel = BottomPos + PaddingValue;
sBottom = sTop = newYPixel - fTop;
break;
}
default:
LogError(wxT("SelectionMover::AlignSelection - Unrecognized align option (%d)"), al);
return;
}
MoveUsingScale(curWin,newWindowArea,sLeft,sTop,sRight,sBottom);
curWin->setArea(newWindowArea);
fLeft = CEGUI::CoordConverter::windowToScreenX(*curWin,0);
fTop = CEGUI::CoordConverter::windowToScreenY(*curWin,0);
RightPos = fLeft + newPixelWidth;
BottomPos = fTop + newPixelHeight;
}
// Request for a repaint
wxGetApp().GetMainFrame()->Refresh();
}
示例8: string
void ArrayEditor<ElementType>::InitWidget()
{
static unsigned int editorCounter = 0;
OC_DASSERT(mEditorWidget == 0);
CEGUI::String editorName = "Editor/EntityWindow/ValueEditors/ArrayEditor" + string(Reflection::PropertyTypes::GetStringName(Reflection::PropertyTypes::GetTypeID<ElementType>())) + Utils::StringConverter::ToString(editorCounter++);
// Create main editor widget
mEditorWidget = gGUIMgr.CreateWindow("DefaultWindow", editorName);
mMainLayout = new GUISystem::VerticalLayout(mEditorWidget, 0, true);
// Create header widget
mHeaderWidget = gGUIMgr.CreateWindow("DefaultWindow", editorName + "/Header");
mHeaderWidget->setHeight(CEGUI::UDim(0, GetEditboxHeight()));
mMainLayout->AddChildWindow(mHeaderWidget);
// Create label widget
CEGUI::Window* labelWidget = this->CreateLabelWidget(editorName + "/Header/Label");
labelWidget->setArea(CEGUI::URect(CEGUI::UDim(0, 0), CEGUI::UDim(0, 0), CEGUI::UDim(0.5f, -2), CEGUI::UDim(0, GetEditboxHeight())));
mHeaderWidget->addChildWindow(labelWidget);
// Create add element button
mButtonAddElement = static_cast<CEGUI::PushButton*>(gGUIMgr.CreateWindow("Editor/ImageButton", editorName + "/Header/AddElementButton"));
mButtonAddElement->setProperty("NormalImage", "set:EditorToolbar image:btnAddNormal");
mButtonAddElement->setProperty("HoverImage", "set:EditorToolbar image:btnAddHover");
mButtonAddElement->setProperty("PushedImage", "set:EditorToolbar image:btnAddPushed");
mButtonAddElement->setProperty("DisabledImage", "set:EditorToolbar image:btnAddDisabled");
mButtonAddElement->setWantsMultiClickEvents(false);
mButtonAddElement->setTooltipText(TR("entity_editor_add_hint"));
mButtonAddElement->setVisible(true);
mButtonAddElement->setSize(CEGUI::UVector2(cegui_absdim(24), cegui_absdim(24)));
mButtonAddElement->setPosition(CEGUI::UVector2(CEGUI::UDim(1, -80), CEGUI::UDim(0, 0)));
mButtonAddElement->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&Editor::ArrayEditor<ElementType>::OnEventButtonAddPressed, this));
mHeaderWidget->addChildWindow(mButtonAddElement);
// Create revert button
mButtonRevert = static_cast<CEGUI::PushButton*>(gGUIMgr.CreateWindow("Editor/ImageButton", editorName + "/Header/RevertButton"));
mButtonRevert->setProperty("NormalImage", "set:EditorToolbar image:btnCancelNormal");
mButtonRevert->setProperty("HoverImage", "set:EditorToolbar image:btnCancelHover");
mButtonRevert->setProperty("PushedImage", "set:EditorToolbar image:btnCancelPushed");
mButtonRevert->setProperty("DisabledImage", "set:EditorToolbar image:btnCancelDisabled");
mButtonRevert->setWantsMultiClickEvents(false);
mButtonRevert->setTooltipText(TR("entity_editor_revert_hint"));
mButtonRevert->setVisible(true);
mButtonRevert->setSize(CEGUI::UVector2(cegui_absdim(24), cegui_absdim(24)));
mButtonRevert->setPosition(CEGUI::UVector2(CEGUI::UDim(1, -52), CEGUI::UDim(0, 0)));
mButtonRevert->setEnabled(false);
mButtonRevert->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&Editor::ArrayEditor<ElementType>::OnEventButtonRevertPressed, this));
mHeaderWidget->addChildWindow(mButtonRevert);
// Create save button
mButtonSave = static_cast<CEGUI::PushButton*>(gGUIMgr.CreateWindow("Editor/ImageButton", editorName + "/Header/SaveButton"));
mButtonSave->setProperty("NormalImage", "set:EditorToolbar image:btnSaveNormal");
mButtonSave->setProperty("HoverImage", "set:EditorToolbar image:btnSaveHover");
mButtonSave->setProperty("PushedImage", "set:EditorToolbar image:btnSavePushed");
mButtonSave->setProperty("DisabledImage", "set:EditorToolbar image:btnSaveDisabled");
mButtonSave->setWantsMultiClickEvents(false);
mButtonSave->setTooltipText(TR("entity_editor_save_hint"));
mButtonSave->setVisible(true);
mButtonSave->setSize(CEGUI::UVector2(cegui_absdim(24), cegui_absdim(24)));
mButtonSave->setPosition(CEGUI::UVector2(CEGUI::UDim(1, -24), CEGUI::UDim(0, 0)));
mButtonSave->setEnabled(false);
mButtonSave->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&Editor::ArrayEditor<ElementType>::OnEventButtonSavePressed, this));
mHeaderWidget->addChildWindow(mButtonSave);
// Create is-shared checkbox
CEGUI::Checkbox* isSharedCheckbox = CreateIsSharedCheckboxWidget(editorName + "/Header/IsSharedCheckbox");
isSharedCheckbox->setPosition(CEGUI::UVector2(CEGUI::UDim(0, 0), CEGUI::UDim(0, 0)));
isSharedCheckbox->subscribeEvent(CEGUI::Checkbox::EventCheckStateChanged, CEGUI::Event::Subscriber(&ArrayEditor::OnEventIsSharedCheckboxChanged, this));
mHeaderWidget->addChildWindow(isSharedCheckbox);
// Create body widget
CEGUI::Window* bodyWidget = gGUIMgr.CreateWindow("DefaultWindow", editorName + "/Body");
mBodyLayout = new GUISystem::VerticalLayout(bodyWidget, 0, true);
mMainLayout->AddChildWindow(bodyWidget);
}
示例9: setupCEGUI
void Application::setupCEGUI(void) {
mRenderer = &CEGUI::OgreRenderer::bootstrapSystem(*mRenderWindow);
CEGUI::ImageManager::setImagesetDefaultResourceGroup("Imagesets");
CEGUI::Font::setDefaultResourceGroup("Fonts");
CEGUI::Scheme::setDefaultResourceGroup("Schemes");
CEGUI::WidgetLookManager::setDefaultResourceGroup("LookNFeel");
CEGUI::WindowManager::setDefaultResourceGroup("Layouts");
CEGUI::SchemeManager::getSingleton().createFromFile("AlfiskoSkin.scheme");
CEGUI::System::getSingleton().getDefaultGUIContext().getMouseCursor().setDefaultImage("AlfiskoSkin/MouseArrow");
CEGUI::FontManager &fmg = CEGUI::FontManager::getSingleton();
CEGUI::Font &font = fmg.createFreeTypeFont("arial", 20, true, "arial.ttf");
CEGUI::WindowManager &wmgr = CEGUI::WindowManager::getSingleton();
CEGUI::Window *sheet = wmgr.createWindow("DefaultWindow", "_MasterRoot");
CEGUI::System::getSingleton().getDefaultGUIContext().setRootWindow(sheet);
CEGUI::Window* quitButton = wmgr.createWindow("AlfiskoSkin/Button", "QuitButton");
quitButton->setArea(CEGUI::URect(CEGUI::UVector2(CEGUI::UDim(0.0f, 0), CEGUI::UDim(0.0f, 0)),
CEGUI::UVector2(CEGUI::UDim(0.1f, 0), CEGUI::UDim(0.05f, 0))));
quitButton->setText("Quit");
ipWindow = wmgr.createWindow("AlfiskoSkin/Label", "ipWindow");
ipWindow->setArea(CEGUI::URect(CEGUI::UVector2(CEGUI::UDim(0.3f, 0), CEGUI::UDim(0.92f, 0)),
CEGUI::UVector2(CEGUI::UDim(0.7f, 0), CEGUI::UDim(1, 0))));
ipWindow->setText(netManager->getIPstring());
singlePlayerButton = wmgr.createWindow("AlfiskoSkin/Button", "SinglePlayerButton");
singlePlayerButton->setArea(CEGUI::URect(CEGUI::UVector2(CEGUI::UDim(0.3f, 0), CEGUI::UDim(0.35f, 0)),
CEGUI::UVector2(CEGUI::UDim(0.7f, 0), CEGUI::UDim(0.4f, 0))));
singlePlayerButton->setText("Single Player");
hostServerButton = wmgr.createWindow("AlfiskoSkin/Button", "HostButton");
hostServerButton->setArea(CEGUI::URect(CEGUI::UVector2(CEGUI::UDim(0.3f, 0), CEGUI::UDim(0.4f, 0)),
CEGUI::UVector2(CEGUI::UDim(0.7f, 0), CEGUI::UDim(0.45f, 0))));
hostServerButton->setText("Host Game");
ipText = wmgr.createWindow("AlfiskoSkin/Label", "Ip Label");
ipText->setArea(CEGUI::URect(CEGUI::UVector2(CEGUI::UDim(0.525f, 0), CEGUI::UDim(0.45f, 0)),
CEGUI::UVector2(CEGUI::UDim(0.725f, 0), CEGUI::UDim(0.5f, 0))));
ipText->setText("IP Address");
ipBox = wmgr.createWindow("AlfiskoSkin/Editbox", "Ip Box");
ipBox->setArea(CEGUI::URect(CEGUI::UVector2(CEGUI::UDim(0.3f, 0), CEGUI::UDim(0.45f, 0)),
CEGUI::UVector2(CEGUI::UDim(0.7f, 0), CEGUI::UDim(0.5f, 0))));
joinServerButton = wmgr.createWindow("AlfiskoSkin/Button", "JoinButton");
joinServerButton->setArea(CEGUI::URect(CEGUI::UVector2(CEGUI::UDim(0.3f, 0), CEGUI::UDim(0.5f, 0)),
CEGUI::UVector2(CEGUI::UDim(0.7f, 0), CEGUI::UDim(0.55f, 0))));
joinServerButton->setText("Join Game");
howToButton = wmgr.createWindow("AlfiskoSkin/Button", "HowToButton");
howToButton->setArea(CEGUI::URect(CEGUI::UVector2(CEGUI::UDim(0.3f, 0), CEGUI::UDim(0.3f, 0)),
CEGUI::UVector2(CEGUI::UDim(0.7f, 0), CEGUI::UDim(0.35f, 0))));
howToButton->setText("How To Play");
howToText = wmgr.createWindow("AlfiskoSkin/MultiLineEditbox", "Instructions");
howToText->setArea(CEGUI::URect(CEGUI::UVector2(CEGUI::UDim(0.125f, 0), CEGUI::UDim(0.35f, 0)),
CEGUI::UVector2(CEGUI::UDim(0.875f, 0), CEGUI::UDim(0.75f, 0))));
howToText->setText(instructions);
static_cast<CEGUI::MultiLineEditbox*>(howToText)->setReadOnly(true);
homeButton = wmgr.createWindow("AlfiskoSkin/Button", "HomeButton");
homeButton->setArea(CEGUI::URect(CEGUI::UVector2(CEGUI::UDim(0.1f, 0), CEGUI::UDim(0.0f, 0)),
CEGUI::UVector2(CEGUI::UDim(0.2f, 0), CEGUI::UDim(0.05f, 0))));
homeButton->setText("Home");
replayButton = wmgr.createWindow("AlfiskoSkin/Button", "ReplayButton");
replayButton->setArea(CEGUI::URect(CEGUI::UVector2(CEGUI::UDim(0.3f, 0), CEGUI::UDim(0.4f, 0)),
CEGUI::UVector2(CEGUI::UDim(0.7f, 0), CEGUI::UDim(0.45f, 0))));
replayButton->setText("Watch Replay");
sheet->addChild(singlePlayerButton);
sheet->addChild(hostServerButton);
sheet->addChild(joinServerButton);
sheet->addChild(quitButton);
sheet->addChild(ipBox);
sheet->addChild(ipText);
sheet->addChild(ipWindow);
sheet->addChild(homeButton);
sheet->addChild(replayButton);
sheet->addChild(howToButton);
sheet->addChild(howToText);
replayButton->hide();
howToText->hide();
singlePlayerButton->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&Application::StartSinglePlayer, this));
hostServerButton->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&Application::StartServer, this));
joinServerButton->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&Application::JoinServer, this));
quitButton->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&Application::Quit, this));
homeButton->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&Application::Home, this));
replayButton->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&Application::Replay, this));
howToButton->subscribeEvent(CEGUI::PushButton::EventClicked, CEGUI::Event::Subscriber(&Application::HowTo, this));
}