void ColorChooser::updateChildren(void) { if(getMFInternalChooserPanels()->size() > 1) { if(_LayoutTabPanel == NULL) { _LayoutTabPanel = TabPanel::create(); } _LayoutTabPanel->removeAllTabs(); LabelRefPtr TabLabel; for(UInt32 i(0) ; i<getMFInternalChooserPanels()->size() ; ++i) { TabLabel = Label::create(); TabLabel->setText(getInternalChooserPanels(i)->getDisplayText()); TabLabel->setBorders(NULL); TabLabel->setBackgrounds(NULL); _LayoutTabPanel->addTab(TabLabel, getInternalChooserPanels(i)); } _LayoutTabPanel->setSelectedIndex(0); clearChildren(); pushToChildren(_LayoutTabPanel); if(getPreviewPanel() != NULL) { pushToChildren(getPreviewPanel()); } else { pushToChildren(_DefaultPreviewPanel); } } else if(getMFInternalChooserPanels()->size() == 1) { if(_LayoutTabPanel != NULL) { _LayoutTabPanel = NULL; } clearChildren(); pushToChildren(getMFInternalChooserPanels()->front()); if(getPreviewPanel() != NULL) { pushToChildren(getPreviewPanel()); } else { pushToChildren(_DefaultPreviewPanel); } } }
PanelUnrecPtr createSingleFieldPanel(void) { ChangableBorder = OSG::LineBorder::create(); ChangableBorder->setColor(Color4f(0.0,0.0,0.0,1.0)); ChangableBackground = OSG::ColorLayer::create(); ChangableBackground->setColor(Color4f(1.0,1.0,1.0,1.0)); LabelRefPtr ChangableLabel = OSG::Label::create(); ChangableLabel->setText("Changable"); ChangableLabel->setBorders(ChangableBorder); ChangableLabel->setBackgrounds(ChangableBackground); //Command Buttons TheCommandManager = CommandManager::create(TheUndoManager); ButtonRefPtr BorderRedButton = OSG::Button::create(); BorderRedButton->setText("Border Red"); SetBorderColorActionListener* TheSetRedBorderColorActionListener = new SetBorderColorActionListener(ChangableBorder, Color4f(1.0,0.0,0.0,1.0), TheCommandManager); BorderRedButton->addActionListener(TheSetRedBorderColorActionListener); ButtonRefPtr BorderGreenButton = OSG::Button::create(); BorderGreenButton->setText("Border Green"); SetBorderColorActionListener* TheSetGreenBorderColorActionListener = new SetBorderColorActionListener(ChangableBorder, Color4f(0.0,1.0,0.0,1.0), TheCommandManager); BorderGreenButton->addActionListener(TheSetGreenBorderColorActionListener); ButtonRefPtr BorderBlueButton = OSG::Button::create(); BorderBlueButton->setText("Border Blue"); SetBorderColorActionListener* TheSetBlueBorderColorActionListener = new SetBorderColorActionListener(ChangableBorder, Color4f(0.0,0.0,1.0,1.0), TheCommandManager); BorderBlueButton->addActionListener(TheSetBlueBorderColorActionListener); //Background ButtonRefPtr BackgroundRedButton = OSG::Button::create(); BackgroundRedButton->setText("Background Red"); SetBackgroundColorActionListener* TheSetRedBackgroundColorActionListener = new SetBackgroundColorActionListener(ChangableBackground, Color4f(1.0,0.0,0.0,1.0), TheCommandManager); BackgroundRedButton->addActionListener(TheSetRedBackgroundColorActionListener); ButtonRefPtr BackgroundGreenButton = OSG::Button::create(); BackgroundGreenButton->setText("Background Green"); SetBackgroundColorActionListener* TheSetGreenBackgroundColorActionListener = new SetBackgroundColorActionListener(ChangableBackground, Color4f(0.0,1.0,0.0,1.0), TheCommandManager); BackgroundGreenButton->addActionListener(TheSetGreenBackgroundColorActionListener); ButtonRefPtr BackgroundBlueButton = OSG::Button::create(); BackgroundBlueButton->setText("Background Blue"); SetBackgroundColorActionListener* TheSetBlueBackgroundColorActionListener = new SetBackgroundColorActionListener(ChangableBackground, Color4f(0.0,0.0,1.0,1.0), TheCommandManager); BackgroundBlueButton->addActionListener(TheSetBlueBackgroundColorActionListener); LayoutRefPtr ThePanelLayout = OSG::FlowLayout::create(); PanelRefPtr ThePanel = Panel::createEmpty(); ThePanel->setLayout(ThePanelLayout); ThePanel->pushToChildren(BorderRedButton); ThePanel->pushToChildren(BorderGreenButton); ThePanel->pushToChildren(BorderBlueButton); ThePanel->pushToChildren(BackgroundRedButton); ThePanel->pushToChildren(BackgroundGreenButton); ThePanel->pushToChildren(BackgroundBlueButton); ThePanel->pushToChildren(ChangableLabel); return ThePanel; }
int main(int argc, char **argv) { // OSG init osgInit(argc,argv); // Set up Window TutorialWindow = createNativeWindow(); TutorialWindow->initWindow(); TutorialWindow->setDisplayCallback(display); TutorialWindow->setReshapeCallback(reshape); TutorialKeyListener TheKeyListener; TutorialWindow->addKeyListener(&TheKeyListener); // Make Torus Node (creates Torus in background of scene) NodeRefPtr TorusGeometryNode = makeTorus(.5, 2, 16, 16); // Make Main Scene Node and add the Torus NodeRefPtr scene = OSG::Node::create(); scene->setCore(OSG::Group::create()); scene->addChild(TorusGeometryNode); // Create the Graphics GraphicsRefPtr TutorialGraphics = OSG::Graphics2D::create(); // Initialize the LookAndFeelManager to enable default settings LookAndFeelManager::the()->getLookAndFeel()->init(); //Background TutorialBackground = GradientBackground::create(); TutorialBackground->addLine(Color3f(1.0,0.0,0.0), 0.0); TutorialBackground->addLine(Color3f(0.0,1.0,0.0), 0.2); TutorialBackground->addLine(Color3f(0.0,0.0,1.0), 0.4); TutorialBackground->addLine(Color3f(0.0,1.0,1.0), 0.6); TutorialBackground->addLine(Color3f(1.0,1.0,0.0), 0.8); TutorialBackground->addLine(Color3f(1.0,1.0,1.0), 1.0); TheUndoManager = UndoManager::create(); UndoManagerChangeListener TheUndoManagerChangeListener; TheUndoManager->addChangeListener(&TheUndoManagerChangeListener); LabelRefPtr SingleFieldLabel = OSG::Label::create(); SingleFieldLabel->setText("Single Field"); SingleFieldLabel->setBorders(NULL); SingleFieldLabel->setBackgrounds(NULL); LabelRefPtr MultiFieldLabel = OSG::Label::create(); MultiFieldLabel->setText("Multi Field"); MultiFieldLabel->setBorders(NULL); MultiFieldLabel->setBackgrounds(NULL); LabelRefPtr SinglePtrFieldLabel = OSG::Label::create(); SinglePtrFieldLabel->setText("Single Ptr Field"); SinglePtrFieldLabel->setBorders(NULL); SinglePtrFieldLabel->setBackgrounds(NULL); LabelRefPtr MultiPtrFieldLabel = OSG::Label::create(); MultiPtrFieldLabel->setText("Multi Ptr Field"); MultiPtrFieldLabel->setBorders(NULL); MultiPtrFieldLabel->setBackgrounds(NULL); TabPanelRefPtr ExampleTabPanel = OSG::TabPanel::create(); ExampleTabPanel->setPreferredSize(Vec2f(600,600)); ExampleTabPanel->addTab(SingleFieldLabel, createSingleFieldPanel()); ExampleTabPanel->addTab(MultiFieldLabel, createMultiFieldPanel()); ExampleTabPanel->addTab(SinglePtrFieldLabel, createSinglePtrFieldPanel()); ExampleTabPanel->addTab(MultiPtrFieldLabel, createMultiPtrFieldPanel()); ExampleTabPanel->setTabAlignment(0.5f); ExampleTabPanel->setTabPlacement(TabPanel::PLACEMENT_NORTH); ExampleTabPanel->setSelectedIndex(0); //UndoList UndoRedoListModel = DefaultListModel::create(); UndoRedoListModel->pushBack(boost::any(std::string("Top"))); ListSelectionModelPtr UndoRedoListSelectionModel(new DefaultListSelectionModel()); UndoRedoList = List::create(); UndoRedoList->setPreferredSize(Vec2f(200, 300)); UndoRedoList->setOrientation(List::VERTICAL_ORIENTATION); UndoRedoList->setModel(UndoRedoListModel); UndoRedoList->setSelectionModel(UndoRedoListSelectionModel); UndoRedoListListener TheUndoRedoListListener; UndoRedoList->getSelectionModel()->addListSelectionListener(&TheUndoRedoListListener); UndoButton = OSG::Button::create(); UndoButton->setText("Undo"); UndoButton->setEnabled(TheUndoManager->numberOfUndos() != 0); UndoButtonActionListener TheUndoButtonActionListener; UndoButton->addActionListener(&TheUndoButtonActionListener); RedoButton = OSG::Button::create(); RedoButton->setText("Redo"); RedoButton->setEnabled(TheUndoManager->numberOfRedos() != 0); RedoButtonActionListener TheRedoButtonActionListener; RedoButton->addActionListener(&TheRedoButtonActionListener); // Create a ScrollPanel for easier viewing of the List (see 27ScrollPanel) ScrollPanelRefPtr UndoRedoScrollPanel = ScrollPanel::create(); UndoRedoScrollPanel->setPreferredSize(Vec2f(200,200)); UndoRedoScrollPanel->setHorizontalResizePolicy(ScrollPanel::RESIZE_TO_VIEW); UndoRedoScrollPanel->setViewComponent(UndoRedoList); // Create The Main InternalWindow // Create Background to be used with the Main InternalWindow ColorLayerRefPtr MainInternalWindowBackground = OSG::ColorLayer::create(); MainInternalWindowBackground->setColor(Color4f(1.0,1.0,1.0,0.5)); InternalWindowRefPtr MainInternalWindow = OSG::InternalWindow::create(); LayoutRefPtr MainInternalWindowLayout = OSG::FlowLayout::create(); MainInternalWindow->pushToChildren(ExampleTabPanel); MainInternalWindow->pushToChildren(UndoRedoScrollPanel); MainInternalWindow->pushToChildren(UndoButton); MainInternalWindow->pushToChildren(RedoButton); MainInternalWindow->setLayout(MainInternalWindowLayout); MainInternalWindow->setBackgrounds(MainInternalWindowBackground); MainInternalWindow->setAlignmentInDrawingSurface(Vec2f(0.5f,0.5f)); MainInternalWindow->setScalingInDrawingSurface(Vec2f(0.95f,0.95f)); MainInternalWindow->setDrawTitlebar(false); MainInternalWindow->setResizable(false); // Create the Drawing Surface UIDrawingSurfaceRefPtr TutorialDrawingSurface = UIDrawingSurface::create(); TutorialDrawingSurface->setGraphics(TutorialGraphics); TutorialDrawingSurface->setEventProducer(TutorialWindow); TutorialDrawingSurface->openWindow(MainInternalWindow); // Create the UI Foreground Object UIForegroundRefPtr TutorialUIForeground = OSG::UIForeground::create(); TutorialUIForeground->setDrawingSurface(TutorialDrawingSurface); // Create the SimpleSceneManager helper mgr = new SimpleSceneManager; // Tell the Manager what to manage mgr->setWindow(TutorialWindow); mgr->setRoot(scene); // Add the UI Foreground Object to the Scene ViewportRefPtr TutorialViewport = mgr->getWindow()->getPort(0); TutorialViewport->addForeground(TutorialUIForeground); TutorialViewport->setBackground(TutorialBackground); // Show the whole Scene mgr->showAll(); //Open Window Vec2f WinSize(TutorialWindow->getDesktopSize() * 0.85f); Pnt2f WinPos((TutorialWindow->getDesktopSize() - WinSize) *0.5); TutorialWindow->openWindow(WinPos, WinSize, "01ChangeFieldCommands"); //Enter main Loop TutorialWindow->mainLoop(); osgExit(); return 0; }
ComponentTransitPtr ColorChooserComboBoxComponentGenerator::getComboBoxComponent(ComboBox* const Parent, const boost::any& Value, UInt32 Index, bool IsSelected, bool HasFocus) { if(Value.empty()){ return ComponentTransitPtr(NULL); } PanelRefPtr TheComponent = Panel::create();//dynamic_pointer_cast<Component>(getDrawObjectPrototype()->shallowCopy()); TheComponent->setLayout(LayoutRefPtr(FlowLayout::create())); LabelRefPtr theColorLabel = Label::create(); //theColorLabel->setPreferredSize(Vec2f(50.0f,50.0f)); theColorLabel->setBorders(NULL); try { Color4f theColor = boost::any_cast<Color4f>(Value); if(theColor != NULL) { ColorLayerRefPtr theColorLabelBackground = ColorLayer::create(); theColorLabelBackground->setColor(theColor); theColorLabel->setBackgrounds(theColorLabelBackground); } } catch(boost::bad_any_cast &) { std::string ValueString; try { ValueString = lexical_cast(Value); } catch (boost::bad_lexical_cast &) { //Could not convert to string SWARNING << "ColorChooserComboBoxComponentGenerator::getComboBoxComponent - The elements should either be a Color4f value or a std::string\n"; } theColorLabel->setText(ValueString); if(IsSelected && HasFocus) { if(getFocusedTextColorHasPriority()) { theColorLabel->setTextColors(getFocusedTextColor()); } else { theColorLabel->setTextColors(getSelectedTextColor()); } } else if(IsSelected) { theColorLabel->setTextColors(getSelectedTextColor()); } else if(HasFocus) { theColorLabel->setTextColors(getFocusedTextColor()); } } TheComponent->pushToChildren(theColorLabel); if(IsSelected && HasFocus) { if(getFocusedBorderHasPriority()) { TheComponent->setBorders(getFocusedBorder()); } else { TheComponent->setBorders(getSelectedBorder()); } if(getFocusedBackgroundHasPriority()) { TheComponent->setBackgrounds(getFocusedBackground()); TheComponent->setForegrounds(getFocusedForeground()); } else { TheComponent->setBackgrounds(getSelectedBackground()); TheComponent->setForegrounds(getSelectedForeground()); } } else if(IsSelected) { TheComponent->setBorders(getSelectedBorder()); TheComponent->setBackgrounds(getSelectedBackground()); TheComponent->setForegrounds(getSelectedForeground()); } else if(HasFocus) { TheComponent->setBorders(getFocusedBorder()); TheComponent->setBackgrounds(getFocusedBackground()); TheComponent->setForegrounds(getFocusedForeground()); } return ComponentTransitPtr(TheComponent.get()); }
OSG_BEGIN_NAMESPACE /***************************************************************************\ * Description * \***************************************************************************/ /*! \class OSG::DefaultStringTableCellRenderer A DefaultStringTableCellRenderer. */ /***************************************************************************\ * Class variables * \***************************************************************************/ /***************************************************************************\ * Class methods * \***************************************************************************/ /***************************************************************************\ * Instance methods * \***************************************************************************/ ComponentRefPtr DefaultStringTableCellRenderer::getTableCellRendererComponent(TableRefPtr table, const boost::any& value, bool isSelected, bool hasFocus, UInt32 row, UInt32 column) { if(value.empty()){ return NULL; } LabelRefPtr TheLabel = Label::create(); std::string tempString; try { tempString = lexical_cast(value); } catch (boost::bad_lexical_cast &) { //Could not convert to string } TheLabel->setText(tempString); TheLabel->setPreferredSize(Vec2f(100,30)); ColorLayerRefPtr tempBackground; tempBackground = ColorLayer::create(); TheLabel->setBackgrounds(tempBackground); if(isSelected){ tempBackground->setColor(Color4f(0.4, 0.4, 1.0, 1.0)); } else{ tempBackground->setColor(Color4f(1.0, 1.0, 1.0, 1.0)); } if(hasFocus){ LineBorderRefPtr tempBorder; tempBorder = LineBorder::create(); TheLabel->setBorders(tempBorder); tempBorder->setColor(Color4f(0.0, 0.0, 1.0, 1.0)); } else{ EmptyBorderRefPtr tempBorder; tempBorder = EmptyBorder::create(); TheLabel->setBorders(tempBorder); } return dynamic_pointer_cast<Component>(TheLabel); }
void HelperPanel::createIntrospectionTreeTab(TabPanel* const tabPanel) { BorderLayoutConstraintsRefPtr CenterConstraints = OSG::BorderLayoutConstraints::create(); CenterConstraints->setRegion(BorderLayoutConstraints::BORDER_CENTER); BorderLayoutConstraintsRefPtr NorthConstraints = OSG::BorderLayoutConstraints::create(); NorthConstraints->setRegion(BorderLayoutConstraints::BORDER_NORTH); _GlobalLuaIntroTreeModel = LuaIntrospectionTreeModel::create(); _GlobalLuaIntroTreeModel->setRoot(""); LuaIntrospectionComponentGeneratorRecPtr LuaIntroTreeComponentGenerator = LuaIntrospectionComponentGenerator::create(); //Create the Tree TreeRecPtr TheTree = Tree::create(); TheTree->setPreferredSize(Vec2f(200, 500)); TheTree->setModel(_GlobalLuaIntroTreeModel); TheTree->setCellGenerator(LuaIntroTreeComponentGenerator); //Layout Expansion TheTree->expandPath(_GlobalLuaIntroTreeModel->getRootPath()); //Create a scroll panel for the tree ScrollPanelRefPtr TreeScrollPanel = ScrollPanel::create(); TreeScrollPanel->setPreferredSize(Vec2f(200,300)); TreeScrollPanel->setHorizontalResizePolicy(ScrollPanel::RESIZE_TO_VIEW); TreeScrollPanel->setViewComponent(TheTree); TreeScrollPanel->setConstraints(CenterConstraints); //Global Label LabelRecPtr GlobalTreeLabel = Label::create(); GlobalTreeLabel->setText("Global"); GlobalTreeLabel->setConstraints(NorthConstraints); BorderLayoutRecPtr BorderPanelLayout = BorderLayout::create(); //Global Panel PanelRecPtr GlobalLuaTreePanel = Panel::createEmpty(); GlobalLuaTreePanel->pushToChildren(GlobalTreeLabel); GlobalLuaTreePanel->pushToChildren(TreeScrollPanel); GlobalLuaTreePanel->setLayout(BorderPanelLayout); //Local Label LabelRecPtr LocalTreeLabel = Label::create(); LocalTreeLabel->setText("Local"); LocalTreeLabel->setConstraints(NorthConstraints); //Local Panel PanelRecPtr LocalLuaTreePanel = Panel::createEmpty(); LocalLuaTreePanel->pushToChildren(LocalTreeLabel); LocalLuaTreePanel->setLayout(BorderPanelLayout); //Global/Local Split Panel SplitPanelRecPtr GlocalLocalSplitPanel = SplitPanel::create(); GlocalLocalSplitPanel->setMinComponent(GlobalLuaTreePanel); GlocalLocalSplitPanel->setMaxComponent(LocalLuaTreePanel); GlocalLocalSplitPanel->setDividerPosition(0.5f); GlocalLocalSplitPanel->setDividerSize(5); GlocalLocalSplitPanel->setMinDividerPosition(.1); GlocalLocalSplitPanel->setMaxDividerPosition(.9); //Add the Panel to the TabPanel LabelRefPtr IntrospectionTreeTabLabel = Label::create(); IntrospectionTreeTabLabel->setText("Lua Introspection"); IntrospectionTreeTabLabel->setBorders(NULL); IntrospectionTreeTabLabel->setBackgrounds(NULL); tabPanel->addTab(IntrospectionTreeTabLabel, GlocalLocalSplitPanel); }
ForegroundRefPtr ApplicationStartScreen::createInterface(void) { // Create the Graphics GraphicsRefPtr StartScreenUIGraphics = OSG::Graphics2D::create(); UIFontRefPtr ButtonFont = OSG::UIFont::create(); ButtonFont->setSize(32); ButtonRefPtr BuilderButton = ::OSG::Button::create(); BuilderButton->setPreferredSize(Vec2f(200, 75)); BuilderButton->setText("Builder"); BuilderButton->setFont(ButtonFont); BuilderButton->addActionListener(&_BuilderButtonActionListener); ButtonRefPtr PlayerButton = ::OSG::Button::create(); PlayerButton->setPreferredSize(Vec2f(200, 75)); PlayerButton->setText("Player"); PlayerButton->setFont(ButtonFont); PlayerButton->addActionListener(&_PlayerButtonActionListener); ButtonRefPtr ExitButton = ::OSG::Button::create(); ExitButton->setPreferredSize(Vec2f(200, 75)); ExitButton->setText("Exit"); ExitButton->setFont(ButtonFont); ExitButton->addActionListener(&_ExitButtonActionListener); //ButtonPanel PanelRefPtr ButtonPanel = Panel::createEmpty(); LayoutRefPtr ButtonPanelLayout = OSG::FlowLayout::create(); ButtonPanel->pushToChildren(BuilderButton); ButtonPanel->pushToChildren(PlayerButton); ButtonPanel->pushToChildren(ExitButton); ButtonPanel->setLayout(ButtonPanelLayout); //Font UIFontRefPtr LabelFont = UIFont::create(); LabelFont->setSize(16); //Version Label LabelRefPtr VersionLabel = OSG::Label::create(); VersionLabel->setText("Version:"); VersionLabel->setAlignment(Vec2f(1.0f,0.5f)); VersionLabel->setPreferredSize(Vec2f(100,20)); VersionLabel->setTextColors(Color4f(1.0f,1.0f,1.0f,1.0f)); VersionLabel->setBackgrounds(NULL); VersionLabel->setBorders(NULL); VersionLabel->setFont(LabelFont); //Version Value Label LabelRefPtr VersionValueLabel = OSG::Label::create(); VersionValueLabel->setText(getKabalaEngineVersion() + " - " + getKabalaEngineBuildType()); VersionValueLabel->setPreferredSize(Vec2f(110,20)); VersionValueLabel->setTextColors(Color4f(1.0f,1.0f,1.0f,1.0f)); VersionValueLabel->setBackgrounds(NULL); VersionValueLabel->setBorders(NULL); VersionValueLabel->setFont(LabelFont); //Author Value Label LabelRefPtr AuthorValueLabel = OSG::Label::create(); AuthorValueLabel->setText(getKabalaEngineAuthors()); AuthorValueLabel->setPreferredSize(Vec2f(300,20)); AuthorValueLabel->setTextColors(Color4f(1.0f,1.0f,1.0f,1.0f)); AuthorValueLabel->setBackgrounds(NULL); AuthorValueLabel->setBorders(NULL); AuthorValueLabel->setFont(LabelFont); // Create The Main InternalWindow InternalWindowRefPtr StartScreenInternalWindow = OSG::InternalWindow::create(); //Layout SpringLayoutRefPtr StartScreenInternalWindowLayout = OSG::SpringLayout::create(); //::OSG::Button Panel StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, ButtonPanel, 0, SpringLayoutConstraints::WEST_EDGE, StartScreenInternalWindow); StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, ButtonPanel, 0, SpringLayoutConstraints::EAST_EDGE, StartScreenInternalWindow); StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, ButtonPanel, 0, SpringLayoutConstraints::NORTH_EDGE, StartScreenInternalWindow); StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, ButtonPanel, 0, SpringLayoutConstraints::SOUTH_EDGE, StartScreenInternalWindow); //Version Label StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, VersionLabel, 0, SpringLayoutConstraints::WEST_EDGE, VersionValueLabel); StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, VersionLabel, 0, SpringLayoutConstraints::SOUTH_EDGE, StartScreenInternalWindow); StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, VersionLabel, LayoutSpring::height(VersionLabel)); StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::WIDTH_EDGE, VersionLabel, LayoutSpring::width(VersionLabel)); //Version Value Label StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, VersionValueLabel, 0, SpringLayoutConstraints::EAST_EDGE, StartScreenInternalWindow); StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, VersionValueLabel, 0, SpringLayoutConstraints::SOUTH_EDGE, StartScreenInternalWindow); StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, VersionValueLabel, LayoutSpring::height(VersionValueLabel)); StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::WIDTH_EDGE, VersionValueLabel, LayoutSpring::width(VersionValueLabel)); //Author Value Label StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, AuthorValueLabel, 0, SpringLayoutConstraints::WEST_EDGE, StartScreenInternalWindow); StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, AuthorValueLabel, 0, SpringLayoutConstraints::SOUTH_EDGE, StartScreenInternalWindow); StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, AuthorValueLabel, LayoutSpring::height(AuthorValueLabel)); StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::WIDTH_EDGE, AuthorValueLabel, LayoutSpring::width(AuthorValueLabel)); StartScreenInternalWindow->pushToChildren(ButtonPanel); StartScreenInternalWindow->pushToChildren(AuthorValueLabel); StartScreenInternalWindow->pushToChildren(VersionLabel); StartScreenInternalWindow->pushToChildren(VersionValueLabel); StartScreenInternalWindow->setLayout(StartScreenInternalWindowLayout); StartScreenInternalWindow->setAlignmentInDrawingSurface(Vec2f(0.5f,0.5f)); StartScreenInternalWindow->setScalingInDrawingSurface(Vec2f(1.0f,1.0f)); StartScreenInternalWindow->setDrawTitlebar(false); StartScreenInternalWindow->setDrawDecorations(false); StartScreenInternalWindow->setResizable(false); // Create the Drawing Surface _TheUIDrawingSurface = UIDrawingSurface::create(); _TheUIDrawingSurface->setGraphics(StartScreenUIGraphics); _TheUIDrawingSurface->openWindow(StartScreenInternalWindow); // Create the UI Foreground Object UIForegroundRefPtr StartScreenUIForeground = OSG::UIForeground::create(); StartScreenUIForeground->setDrawingSurface(_TheUIDrawingSurface); return StartScreenUIForeground; }
void RGBColorChooserPanel::buildChooser(void) { //Bounded Range Models _RedModel->setMinimum(0); _RedModel->setMaximum(255); _GreenModel->setMinimum(0); _GreenModel->setMaximum(255); _BlueModel->setMinimum(0); _BlueModel->setMaximum(255); _AlphaModel->setMinimum(0); _AlphaModel->setMaximum(255); //Spinners _RedSpinner = Spinner::create(); _RedSpinner->setModel(_RedModel->getSpinnerModel()); _GreenSpinner = Spinner::create(); _GreenSpinner->setModel(_GreenModel->getSpinnerModel()); _BlueSpinner = Spinner::create(); _BlueSpinner->setModel(_BlueModel->getSpinnerModel()); if(getIncludeAlpha()) { _AlphaSpinner = Spinner::create(); _AlphaSpinner->setModel(_AlphaModel->getSpinnerModel()); } //Sliders _RedSliderTrackBackground = GradientLayer::create(); _RedSliderTrackBackground->setStartPosition(Vec2f(0.0f,0.0f)); _RedSliderTrackBackground->setEndPosition(Vec2f(1.0f,0.0f)); UIDrawObjectCanvasRefPtr RedSliderTrackCanvas = UIDrawObjectCanvas::create(); RedSliderTrackCanvas->setPreferredSize(Vec2f(15.0f,15.0f)); RedSliderTrackCanvas->setBorders(NULL); RedSliderTrackCanvas->setBackgrounds(_RedSliderTrackBackground); _RedSlider = Slider::create(); _RedSlider->setDrawLabels(false); _RedSlider->setDrawMajorTicks(false); _RedSlider->setDrawMinorTicks(false); _RedSlider->setOrientation(Slider::HORIZONTAL_ORIENTATION); _RedSlider->setTrackDrawObject(RedSliderTrackCanvas); _RedSlider->setRangeModel(_RedModel->getBoundedRangeModel()); //Green _GreenSliderTrackBackground = GradientLayer::create(); _GreenSliderTrackBackground->setStartPosition(Vec2f(0.0f,0.0f)); _GreenSliderTrackBackground->setEndPosition(Vec2f(1.0f,0.0f)); UIDrawObjectCanvasRefPtr GreenSliderTrackCanvas = UIDrawObjectCanvas::create(); GreenSliderTrackCanvas->setPreferredSize(Vec2f(15.0f,15.0f)); GreenSliderTrackCanvas->setBorders(NULL); GreenSliderTrackCanvas->setBackgrounds(_GreenSliderTrackBackground); _GreenSlider = Slider::create(); _GreenSlider->setDrawLabels(false); _GreenSlider->setDrawMajorTicks(false); _GreenSlider->setDrawMinorTicks(false); _GreenSlider->setOrientation(Slider::HORIZONTAL_ORIENTATION);; _GreenSlider->setTrackDrawObject(GreenSliderTrackCanvas); _GreenSlider->setRangeModel(_GreenModel->getBoundedRangeModel()); //Blue _BlueSliderTrackBackground = GradientLayer::create(); _BlueSliderTrackBackground->setStartPosition(Vec2f(0.0f,0.0f)); _BlueSliderTrackBackground->setEndPosition(Vec2f(1.0f,0.0f)); UIDrawObjectCanvasRefPtr BlueSliderTrackCanvas = UIDrawObjectCanvas::create(); BlueSliderTrackCanvas->setPreferredSize(Vec2f(15.0f,15.0f)); BlueSliderTrackCanvas->setBorders(NULL); BlueSliderTrackCanvas->setBackgrounds(_BlueSliderTrackBackground); _BlueSlider = Slider::create(); _BlueSlider->setDrawLabels(false); _BlueSlider->setDrawMajorTicks(false); _BlueSlider->setDrawMinorTicks(false); _BlueSlider->setOrientation(Slider::HORIZONTAL_ORIENTATION);; _BlueSlider->setTrackDrawObject(BlueSliderTrackCanvas); _BlueSlider->setRangeModel(_BlueModel->getBoundedRangeModel()); if(getIncludeAlpha()) { _AlphaSliderTrackBackground = GradientLayer::create(); _AlphaSliderTrackBackground->setStartPosition(Vec2f(0.0f,0.0f)); _AlphaSliderTrackBackground->setEndPosition(Vec2f(1.0f,0.0f)); UIDrawObjectCanvasRefPtr AlphaSliderTrackCanvas = UIDrawObjectCanvas::create(); AlphaSliderTrackCanvas->setPreferredSize(Vec2f(15.0f,15.0f)); AlphaSliderTrackCanvas->setBorders(NULL); AlphaSliderTrackCanvas->setBackgrounds(_AlphaSliderTrackBackground); _AlphaSlider = Slider::create(); _AlphaSlider->setDrawLabels(false); _AlphaSlider->setDrawMajorTicks(false); _AlphaSlider->setDrawMinorTicks(false); _AlphaSlider->setOrientation(Slider::HORIZONTAL_ORIENTATION);; _AlphaSlider->setTrackDrawObject(AlphaSliderTrackCanvas); _AlphaSlider->setRangeModel(_AlphaModel->getBoundedRangeModel()); } //Labels LabelRefPtr RedLabel = Label::create(); RedLabel->setText("Red"); RedLabel->setPreferredSize(Vec2f(50.0f, RedLabel->getPreferredSize().y())); RedLabel->setBackgrounds(NULL); RedLabel->setBorders(NULL); LabelRefPtr GreenLabel = Label::create(); GreenLabel->setText("Green"); GreenLabel->setPreferredSize(Vec2f(50.0f, GreenLabel->getPreferredSize().y())); GreenLabel->setBackgrounds(NULL); GreenLabel->setBorders(NULL); LabelRefPtr BlueLabel = Label::create(); BlueLabel->setText("Blue"); BlueLabel->setPreferredSize(Vec2f(50.0f, BlueLabel->getPreferredSize().y())); BlueLabel->setBackgrounds(NULL); BlueLabel->setBorders(NULL); LabelRefPtr AlphaLabel = Label::create(); if(getIncludeAlpha()) { AlphaLabel->setText("Alpha"); AlphaLabel->setPreferredSize(Vec2f(50.0f, AlphaLabel->getPreferredSize().y())); AlphaLabel->setBackgrounds(NULL); AlphaLabel->setBorders(NULL); } //Layout SpringLayoutRefPtr RGBPanelLayout = SpringLayout::create(); //Red //Label RGBPanelLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, RedLabel, 5.0f, SpringLayoutConstraints::WEST_EDGE, this); RGBPanelLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, RedLabel, 5.0f, SpringLayoutConstraints::NORTH_EDGE, this); RGBPanelLayout->putConstraint(SpringLayoutConstraints::WIDTH_EDGE, RedLabel, LayoutSpringUnrecPtr(LayoutSpring::width(RedLabel))); RGBPanelLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, RedLabel, LayoutSpringUnrecPtr(LayoutSpring::height(RedLabel))); //Slider RGBPanelLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, _RedSlider, 5.0f, SpringLayoutConstraints::EAST_EDGE, RedLabel); RGBPanelLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _RedSlider, -5.0f, SpringLayoutConstraints::WEST_EDGE, _RedSpinner); RGBPanelLayout->putConstraint(SpringLayoutConstraints::VERTICAL_CENTER_EDGE, _RedSlider, 0.0f, SpringLayoutConstraints::VERTICAL_CENTER_EDGE, RedLabel); RGBPanelLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, _RedSlider, LayoutSpringUnrecPtr(LayoutSpring::height(_RedSlider))); //Spinner RGBPanelLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _RedSpinner, -5.0f, SpringLayoutConstraints::EAST_EDGE, this); RGBPanelLayout->putConstraint(SpringLayoutConstraints::VERTICAL_CENTER_EDGE, _RedSpinner, 0.0f, SpringLayoutConstraints::VERTICAL_CENTER_EDGE, RedLabel); RGBPanelLayout->putConstraint(SpringLayoutConstraints::WIDTH_EDGE, _RedSpinner, LayoutSpringUnrecPtr(LayoutSpring::width(_RedSpinner))); RGBPanelLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, _RedSpinner, LayoutSpringUnrecPtr(LayoutSpring::height(_RedSpinner))); //Green //Label RGBPanelLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, GreenLabel, 5.0f, SpringLayoutConstraints::WEST_EDGE, this); RGBPanelLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, GreenLabel, 5.0f, SpringLayoutConstraints::SOUTH_EDGE, RedLabel); RGBPanelLayout->putConstraint(SpringLayoutConstraints::WIDTH_EDGE, GreenLabel, LayoutSpringUnrecPtr(LayoutSpring::width(GreenLabel))); RGBPanelLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, GreenLabel, LayoutSpringUnrecPtr(LayoutSpring::height(GreenLabel))); //Slider RGBPanelLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, _GreenSlider, 5.0f, SpringLayoutConstraints::EAST_EDGE, GreenLabel); RGBPanelLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _GreenSlider, -5.0f, SpringLayoutConstraints::WEST_EDGE, _GreenSpinner); RGBPanelLayout->putConstraint(SpringLayoutConstraints::VERTICAL_CENTER_EDGE, _GreenSlider, 0.0f, SpringLayoutConstraints::VERTICAL_CENTER_EDGE, GreenLabel); RGBPanelLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, _GreenSlider, LayoutSpringUnrecPtr(LayoutSpring::height(_GreenSlider))); //Spinner RGBPanelLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _GreenSpinner, -5.0f, SpringLayoutConstraints::EAST_EDGE, this); RGBPanelLayout->putConstraint(SpringLayoutConstraints::VERTICAL_CENTER_EDGE, _GreenSpinner, 0.0f, SpringLayoutConstraints::VERTICAL_CENTER_EDGE, GreenLabel); RGBPanelLayout->putConstraint(SpringLayoutConstraints::WIDTH_EDGE, _GreenSpinner, LayoutSpringUnrecPtr(LayoutSpring::width(_GreenSpinner))); RGBPanelLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, _GreenSpinner, LayoutSpringUnrecPtr(LayoutSpring::height(_GreenSpinner))); //Blue //Label RGBPanelLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, BlueLabel, 5.0f, SpringLayoutConstraints::WEST_EDGE, this); RGBPanelLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, BlueLabel, 5.0f, SpringLayoutConstraints::SOUTH_EDGE, GreenLabel); RGBPanelLayout->putConstraint(SpringLayoutConstraints::WIDTH_EDGE, BlueLabel, LayoutSpringUnrecPtr(LayoutSpring::width(BlueLabel))); RGBPanelLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, BlueLabel, LayoutSpringUnrecPtr(LayoutSpring::height(BlueLabel))); //Slider RGBPanelLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, _BlueSlider, 5.0f, SpringLayoutConstraints::EAST_EDGE, BlueLabel); RGBPanelLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _BlueSlider, -5.0f, SpringLayoutConstraints::WEST_EDGE, _BlueSpinner); RGBPanelLayout->putConstraint(SpringLayoutConstraints::VERTICAL_CENTER_EDGE, _BlueSlider, 0.0f, SpringLayoutConstraints::VERTICAL_CENTER_EDGE, BlueLabel); RGBPanelLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, _BlueSlider, LayoutSpringUnrecPtr(LayoutSpring::height(_BlueSlider))); //Spinner RGBPanelLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _BlueSpinner, -5.0f, SpringLayoutConstraints::EAST_EDGE, this); RGBPanelLayout->putConstraint(SpringLayoutConstraints::VERTICAL_CENTER_EDGE, _BlueSpinner, 0.0f, SpringLayoutConstraints::VERTICAL_CENTER_EDGE, BlueLabel); RGBPanelLayout->putConstraint(SpringLayoutConstraints::WIDTH_EDGE, _BlueSpinner, LayoutSpringUnrecPtr(LayoutSpring::width(_BlueSpinner))); RGBPanelLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, _BlueSpinner, LayoutSpringUnrecPtr(LayoutSpring::height(_BlueSpinner))); if(getIncludeAlpha()) { //Alpha //Label RGBPanelLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, AlphaLabel, 5.0f, SpringLayoutConstraints::WEST_EDGE, this); RGBPanelLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, AlphaLabel, 5.0f, SpringLayoutConstraints::SOUTH_EDGE, BlueLabel); RGBPanelLayout->putConstraint(SpringLayoutConstraints::WIDTH_EDGE, AlphaLabel, LayoutSpringUnrecPtr(LayoutSpring::width(AlphaLabel))); RGBPanelLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, AlphaLabel, LayoutSpringUnrecPtr(LayoutSpring::height(AlphaLabel))); //Slider RGBPanelLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, _AlphaSlider, 5.0f, SpringLayoutConstraints::EAST_EDGE, AlphaLabel); RGBPanelLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _AlphaSlider, -5.0f, SpringLayoutConstraints::WEST_EDGE, _AlphaSpinner); RGBPanelLayout->putConstraint(SpringLayoutConstraints::VERTICAL_CENTER_EDGE, _AlphaSlider, 0.0f, SpringLayoutConstraints::VERTICAL_CENTER_EDGE, AlphaLabel); RGBPanelLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, _AlphaSlider, LayoutSpringUnrecPtr(LayoutSpring::height(_AlphaSlider))); //Spinner RGBPanelLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _AlphaSpinner, -5, SpringLayoutConstraints::EAST_EDGE, this); RGBPanelLayout->putConstraint(SpringLayoutConstraints::VERTICAL_CENTER_EDGE, _AlphaSpinner, 0.0f, SpringLayoutConstraints::VERTICAL_CENTER_EDGE, AlphaLabel); RGBPanelLayout->putConstraint(SpringLayoutConstraints::WIDTH_EDGE, _AlphaSpinner, LayoutSpringUnrecPtr(LayoutSpring::width(_AlphaSpinner))); RGBPanelLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, _AlphaSpinner, LayoutSpringUnrecPtr(LayoutSpring::height(_AlphaSpinner))); } clearChildren(); pushToChildren(RedLabel); pushToChildren(_RedSlider); pushToChildren(_RedSpinner); pushToChildren(GreenLabel); pushToChildren(_GreenSlider); pushToChildren(_GreenSpinner); pushToChildren(BlueLabel); pushToChildren(_BlueSlider); pushToChildren(_BlueSpinner); if(getIncludeAlpha()) { pushToChildren(AlphaLabel); pushToChildren(_AlphaSlider); pushToChildren(_AlphaSpinner); } setLayout(RGBPanelLayout); }
OSG_BEGIN_NAMESPACE /***************************************************************************\ * Description * \***************************************************************************/ /*! \class OSG::DefaultBoolTableCellRenderer A DefaultBoolTableCellRenderer. */ /***************************************************************************\ * Class variables * \***************************************************************************/ /***************************************************************************\ * Class methods * \***************************************************************************/ /***************************************************************************\ * Instance methods * \***************************************************************************/ ComponentTransitPtr DefaultBoolTableCellRenderer::getTableCellRendererComponent(Table* const table, const boost::any& value, bool isSelected, bool hasFocus, UInt32 row, UInt32 column) { if(value.empty()){ return ComponentTransitPtr(NULL); } LabelRefPtr TheLabel = Label::create(); std::string tempString; try { if(boost::any_cast<bool>(value)) { tempString = "True"; } else { tempString = "False"; } } catch (boost::bad_any_cast &) { //Not a bool } TheLabel->setText(tempString); TheLabel->setPreferredSize(Vec2f(100,30)); ColorLayerRefPtr tempBackground; tempBackground = ColorLayer::create(); TheLabel->setBackgrounds(tempBackground); if(isSelected){ tempBackground->setColor(Color4f(0.4, 0.4, 1.0, 1.0)); } else{ tempBackground->setColor(Color4f(1.0, 1.0, 1.0, 1.0)); } if(hasFocus){ LineBorderRefPtr tempBorder; tempBorder = LineBorder::create(); TheLabel->setBorders(tempBorder); tempBorder->setColor(Color4f(0.0, 0.0, 1.0, 1.0)); } else{ EmptyBorderRefPtr tempBorder; tempBorder = EmptyBorder::create(); TheLabel->setBorders(tempBorder); } return ComponentTransitPtr(TheLabel.get()); }
ComponentRefPtr createLeftPanelRadioTextPanel(void) { // Create the RadioButton group RadioButtonRefPtr RadioButton1 = OSG::RadioButton::create(); RadioButtonRefPtr RadioButton2 = OSG::RadioButton::create(); RadioButtonRefPtr RadioButton3 = OSG::RadioButton::create(); RadioButtonRefPtr RadioButton4 = OSG::RadioButton::create(); RadioButton1->setAlignment(Vec2f(0.0,0.5)); RadioButton1->setPreferredSize(Vec2f(100, 40)); RadioButton1->setText("Black Text"); RadioButton1->setToolTipText("Set TextArea text black"); RadioButton1->addButtonSelectedListener(&RadioButton1Listener); RadioButton2->setAlignment(Vec2f(0.0,0.5)); RadioButton2->setPreferredSize(Vec2f(100, 40)); RadioButton2->setText("Red Text"); RadioButton2->setToolTipText("Set TextArea text red"); RadioButton2->addButtonSelectedListener(&RadioButton2Listener); RadioButton3->setAlignment(Vec2f(0.0,0.5)); RadioButton3->setPreferredSize(Vec2f(100, 40)); RadioButton3->setText("Green Text"); RadioButton3->setToolTipText("Set TextArea text green"); RadioButton3->addButtonSelectedListener(&RadioButton3Listener); RadioButton4->setAlignment(Vec2f(0.0,0.5)); RadioButton4->setPreferredSize(Vec2f(100, 40)); RadioButton4->setText("Blue Text"); RadioButton4->setToolTipText("Set TextArea text blue"); RadioButton4->addButtonSelectedListener(&RadioButton4Listener); buttonGroup = RadioButtonGroup::create(); buttonGroup->addButton(RadioButton1); buttonGroup->addButton(RadioButton2); buttonGroup->addButton(RadioButton3); buttonGroup->addButton(RadioButton4); // Create TextArea LeftPanelTextArea = OSG::TextArea::create(); LeftPanelTextArea->setPreferredSize(Vec2f(125, 200)); // Create Panel and its Background/Border to label TextField LabelRefPtr LeftPanelTextFieldLabel = OSG::Label::create(); EmptyLayerRefPtr LeftPanelTextFieldLabelBackground = OSG::EmptyLayer::create(); EmptyBorderRefPtr LeftPanelTextFieldLabelBorder = OSG::EmptyBorder::create(); LeftPanelTextFieldLabel->setPreferredSize(Vec2f(100, 25)); LeftPanelTextFieldLabel->setBorders(LeftPanelTextFieldLabelBorder); LeftPanelTextFieldLabel->setBackgrounds(LeftPanelTextFieldLabelBackground); LeftPanelTextFieldLabel->setText("Text Field"); // Create TextField TextFieldRefPtr LeftPanelTextField = OSG::TextField::create(); LeftPanelTextField->setPreferredSize(Vec2f(125.0f, 22.0f)); // Create an edit Panel Background ColorLayerRefPtr LeftPanelRadioTextPanelBackground = OSG::ColorLayer::create(); LeftPanelRadioTextPanelBackground->setColor(Color4f(0.93f,0.93f,0.93f,1.0f)); // Create and edit Panel layouts FlowLayoutRefPtr LeftPanelRadioTextPanelLayout = OSG::FlowLayout::create(); FlowLayoutRefPtr LeftPanelRadioTextPanelRadioPanelLayout = OSG::FlowLayout::create(); FlowLayoutRefPtr LeftPanelRadioTextPanelTextPanelLayout = OSG::FlowLayout::create(); LeftPanelRadioTextPanelLayout->setMinorAxisAlignment(0.0f); // Create two Panels for this Panel PanelRefPtr LeftPanelRadioTextPanelRadioPanel = OSG::Panel::create(); PanelRefPtr LeftPanelRadioTextPanelTextPanel = OSG::Panel::create(); // Create some Borders EmptyBorderRefPtr LeftPanelRadioTextPanelRadioPanelBorder = OSG::EmptyBorder::create(); LeftPanelRadioTextPanelRadioPanel->setBorders(LeftPanelRadioTextPanelRadioPanelBorder); LeftPanelRadioTextPanelRadioPanel->setPreferredSize(Vec2f(125, 200)); LeftPanelRadioTextPanelRadioPanel->setLayout(LeftPanelRadioTextPanelRadioPanelLayout); LeftPanelRadioTextPanelRadioPanel->setBackgrounds(LeftPanelRadioTextPanelBackground); LeftPanelRadioTextPanelRadioPanel->pushToChildren(RadioButton1); LeftPanelRadioTextPanelRadioPanel->pushToChildren(RadioButton2); LeftPanelRadioTextPanelRadioPanel->pushToChildren(RadioButton3); LeftPanelRadioTextPanelRadioPanel->pushToChildren(RadioButton4); // Create Panel Border LineBorderRefPtr PanelBorder1 = OSG::LineBorder::create(); PanelBorder1->setColor(Color4f(0.0,0.0,0.0,1.0)); PanelBorder1->setWidth(1); // Create and edit Panel PanelRefPtr LeftPanelRadioTextPanel = OSG::Panel::create(); LeftPanelRadioTextPanel->setPreferredSize(Vec2f(180, 500)); LeftPanelRadioTextPanel->pushToChildren(LeftPanelRadioTextPanelRadioPanel); LeftPanelRadioTextPanel->pushToChildren(LeftPanelTextArea); LeftPanelRadioTextPanel->pushToChildren(LeftPanelTextFieldLabel); LeftPanelRadioTextPanel->pushToChildren(LeftPanelTextField); LeftPanelRadioTextPanel->setLayout(LeftPanelRadioTextPanelLayout); LeftPanelRadioTextPanel->setBackgrounds(LeftPanelRadioTextPanelBackground); LeftPanelRadioTextPanel->setBorders(PanelBorder1); return LeftPanelRadioTextPanel; }