void App::makeGui() { const shared_ptr<GuiWindow>& gui = GuiWindow::create("Material Parameters"); GuiPane* pane = gui->pane(); pane->beginRow(); pane->addSlider("Lambertian", &lambertianScalar, 0.0f, 1.0f); pane->addDropDownList("", colorList, &lambertianColorIndex)->setWidth(80); pane->endRow(); pane->beginRow(); pane->addSlider("Glossy", &glossyScalar, 0.0f, 1.0f); pane->addDropDownList("", colorList, &glossyColorIndex)->setWidth(80); pane->endRow(); pane->addSlider("Mirror", &reflect, 0.0f, 1.0f); pane->addSlider("Smoothness", &smoothness, 0.0f, 1.0f); gui->pack(); addWidget(gui); gui->moveTo(Point2(10, 10)); }
void App::makeGUI() { shared_ptr<GuiWindow> window = GuiWindow::create("Controls", debugWindow->theme(), Rect2D::xywh(0,0,0,0), GuiTheme::TOOL_WINDOW_STYLE); GuiPane* pane = window->pane(); pane->addLabel("Use WASD keys + right mouse to move"); pane->addButton("Render High Res.", this, &App::onRender); pane->addNumberBox("Rays per pixel", &m_raysPerPixel, "", GuiTheme::LINEAR_SLIDER, 1, 30, 1); pane->addNumberBox("Max bounces", &m_maxBounces, "", GuiTheme::LINEAR_SLIDER, 1, 16, 1); pane->addSlider("Fogginess", &m_fogginess, 0.0f, .1f); pane->addNumberBox("Aperture", &m_aperture, "", GuiTheme::LINEAR_SLIDER, 0, 100, 1); pane->addNumberBox("Focal Length", &m_focalLength, "", GuiTheme::LINEAR_SLIDER, 0, 100, 1); window->pack(); window->setVisible(true); addWidget(window); }
void GUIViewer::createGui(const std::string& filename) { GuiPane* pane; skin = GuiTheme::fromFile(filename, parentApp->debugFont); window = GuiWindow::create("Normal", skin, Rect2D::xywh(50,50,0,0), GuiTheme::NORMAL_WINDOW_STYLE, GuiWindow::IGNORE_CLOSE); toolWindow = GuiWindow::create("Tool", skin, Rect2D::xywh(300,100,0,0), GuiTheme::TOOL_WINDOW_STYLE, GuiWindow::IGNORE_CLOSE); bgControl = GuiWindow::create("Dialog", skin, Rect2D::xywh(550,100,0,0), GuiTheme::DIALOG_WINDOW_STYLE, GuiWindow::IGNORE_CLOSE); dropdownWindow = GuiWindow::create("Normal", skin, Rect2D::xywh(400,400,0,0), GuiTheme::NORMAL_WINDOW_STYLE, GuiWindow::IGNORE_CLOSE); text = "Hello"; pane = window->pane(); slider[0] = 1.5f; slider[1] = 1.8f; { GuiPane* p = pane->addPane("Pane (NO_PANE_STYLE)", GuiTheme::NO_PANE_STYLE); p->addSlider("Slider", &slider[0], 1.0f, 2.2f); p->addSlider("Slider Disabled", &slider[1], 1.0f, 2.2f)->setEnabled(false); } { GuiPane* p = pane->addPane("Pane (SIMPLE_PANE_STYLE)", GuiTheme::SIMPLE_PANE_STYLE); p->addLabel("RadioButton (RADIO_STYLE)"); p->addRadioButton("Sel, Dis", 1, &radio[0])->setEnabled(false); p->addRadioButton("Desel, Dis", 2, &radio[0])->setEnabled(false); p->addRadioButton("Sel, Enabled", 3, &radio[1]); p->addRadioButton("Desel, Disabled", 4, &radio[1]); } { GuiPane* p = pane->addPane("Pane (SIMPLE_PANE_STYLE)", GuiTheme::SIMPLE_PANE_STYLE); p->addLabel("RadioButton (BUTTON_STYLE)"); p->addRadioButton("Selected, Disabled", 5, &radio[2], GuiTheme::BUTTON_RADIO_BUTTON_STYLE)->setEnabled(false); p->addRadioButton("Deselected, Disabled", 6, &radio[2], GuiTheme::BUTTON_RADIO_BUTTON_STYLE)->setEnabled(false); p->addRadioButton("Selected, Enabled", 7, &radio[3], GuiTheme::BUTTON_RADIO_BUTTON_STYLE); p->addRadioButton("Deselected, Disabled", 8, &radio[3], GuiTheme::BUTTON_RADIO_BUTTON_STYLE); p->addButton("Button"); } pane = toolWindow->pane(); { GuiPane* p = pane->addPane("Pane (ORNATE_PANE_STYLE)", GuiTheme::ORNATE_PANE_STYLE); p->addLabel("CheckBox (NORMAL_CHECK_BOX_SYLE)"); checkbox[0] = true; checkbox[1] = false; checkbox[2] = true; checkbox[3] = false; p->addCheckBox("Selected, Enabled", &checkbox[0]); p->addCheckBox("Deselected, Enabled", &checkbox[1]); p->addCheckBox("Selected, Disabled", &checkbox[2])->setEnabled(false); p->addCheckBox("Deselected, Disabled", &checkbox[3])->setEnabled(false); } { GuiPane* p = pane->addPane("", GuiTheme::SIMPLE_PANE_STYLE); p->addLabel("CheckBox (BUTTON_CHECK_BOX_STYLE)"); checkbox[4] = true; checkbox[5] = false; checkbox[6] = true; checkbox[7] = false; p->addCheckBox("Selected, Disabled", &checkbox[4], GuiTheme::BUTTON_CHECK_BOX_STYLE)->setEnabled(false); p->addCheckBox("Deselected, Disabled", &checkbox[5], GuiTheme::BUTTON_CHECK_BOX_STYLE)->setEnabled(false); p->addCheckBox("Selected, Enabled", &checkbox[6], GuiTheme::BUTTON_CHECK_BOX_STYLE); p->addCheckBox("Deselected, Enabled", &checkbox[7], GuiTheme::BUTTON_CHECK_BOX_STYLE); p->addButton("Disabled")->setEnabled(false); } pane = dropdownWindow->pane(); pane->addButton("Tool", GuiTheme::TOOL_BUTTON_STYLE); GuiButton* t2 = pane->addButton("Tool", GuiTheme::TOOL_BUTTON_STYLE); t2->setEnabled(false); static bool check = false; pane->addCheckBox("Check", &check, GuiTheme::TOOL_CHECK_BOX_STYLE); dropdownIndex[0] = 0; dropdownIndex[1] = 0; dropdown.append("Option 1"); dropdown.append("Option 2"); dropdown.append("Option 3"); dropdownDisabled.append("Disabled"); pane->addLabel("Dropdown List"); pane->addDropDownList(GuiText("Enabled"), dropdown, &dropdownIndex[0]); pane->addDropDownList(GuiText("Disabled"), dropdownDisabled, &dropdownIndex[1])->setEnabled(false); pane->addTextBox("TextBox", &text); pane->addTextBox("Disabled", &text)->setEnabled(false); pane = bgControl->pane(); windowControl = BGIMAGE2; pane->addLabel("Background Color"); pane->addRadioButton(GuiText("White"), WHITE, &windowControl); pane->addRadioButton(GuiText("Blue"), BLUE, &windowControl); pane->addRadioButton(GuiText("Black"), BLACK, &windowControl); pane->addRadioButton(GuiText("background1.jpg"), BGIMAGE1, &windowControl)->setEnabled(background1.notNull()); pane->addRadioButton(GuiText("background2.jpg"), BGIMAGE2, &windowControl)->setEnabled(background2.notNull()); // Gets rid of any empty, unused space in the windows window->pack(); toolWindow->pack(); bgControl->pack(); dropdownWindow->pack(); parentApp->addWidget(window); parentApp->addWidget(toolWindow); parentApp->addWidget(bgControl); parentApp->addWidget(dropdownWindow); }