本文整理汇总了C++中PanelRefPtr::pushToChildren方法的典型用法代码示例。如果您正苦于以下问题:C++ PanelRefPtr::pushToChildren方法的具体用法?C++ PanelRefPtr::pushToChildren怎么用?C++ PanelRefPtr::pushToChildren使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PanelRefPtr
的用法示例。
在下文中一共展示了PanelRefPtr::pushToChildren方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createRightPanelCheckPanel
ComponentRefPtr createRightPanelCheckPanel(void)
{
// Create and edit the CheckBoxes
CheckboxButtonRefPtr RightPanelCheck1 = OSG::CheckboxButton::create();
CheckboxButtonRefPtr RightPanelCheck2 = OSG::CheckboxButton::create();
CheckboxButtonRefPtr RightPanelCheck3 = OSG::CheckboxButton::create();
CheckboxButtonRefPtr RightPanelCheck4 = OSG::CheckboxButton::create();
//NOTE HorizontalAlignment needs to be changed to Alignment only with Vec2f arg
RightPanelCheck1->setText("Show Torus");
RightPanelCheck1->setPreferredSize(Vec2f(125,50));
RightPanelCheck1->setAlignment(0.0);
// Add Listener
RightPanelCheck1->addButtonSelectedListener(&RightPanelCheck1Listener);
RightPanelCheck2->setText("Show Box");
RightPanelCheck2->setPreferredSize(Vec2f(125,50));
RightPanelCheck2->setAlignment(Vec2f (0.5,0.0));
// Add Listener
RightPanelCheck2->addButtonSelectedListener(&RightPanelCheck2Listener);
RightPanelCheck3->setText("Show Sphere");
RightPanelCheck3->setPreferredSize(Vec2f(125,50));
RightPanelCheck3->setAlignment(Vec2f(0.0,0.0));
// Add Listener
RightPanelCheck3->addButtonSelectedListener(&RightPanelCheck3Listener);
RightPanelCheck4->setText("Show Cone");
RightPanelCheck4->setPreferredSize(Vec2f(125,50));
RightPanelCheck4->setAlignment(Vec2f(0.0,0.0));
// Add Listener
RightPanelCheck4->addButtonSelectedListener(&RightPanelCheck4Listener);
// Create an edit Panel Background
ColorLayerRefPtr RightPanelCheckPanelBackground = OSG::ColorLayer::create();
RightPanelCheckPanelBackground->setColor(Color4f(0.93,0.93,0.93,1.0));
// Create and edit Panel layout
BoxLayoutRefPtr RightPanelCheckPanelLayout = OSG::BoxLayout::create();
RightPanelCheckPanelLayout->setOrientation(BoxLayout::VERTICAL_ORIENTATION);
RightPanelCheckPanelLayout->setMinorAxisAlignment(0.5f);
// Create Panel Border
LineBorderRefPtr PanelBorder3 = OSG::LineBorder::create();
PanelBorder3->setColor(Color4f(0.0,0.0,0.0,1.0));
PanelBorder3->setWidth(1);
// Create and edit Panel
PanelRefPtr RightPanelCheckPanel = OSG::Panel::create();
RightPanelCheckPanel->setPreferredSize(Vec2f(200, 300));
RightPanelCheckPanel->pushToChildren(RightPanelCheck1);
RightPanelCheckPanel->pushToChildren(RightPanelCheck2);
RightPanelCheckPanel->pushToChildren(RightPanelCheck3);
RightPanelCheckPanel->pushToChildren(RightPanelCheck4);
RightPanelCheckPanel->setLayout(RightPanelCheckPanelLayout);
RightPanelCheckPanel->setBackgrounds(RightPanelCheckPanelBackground);
RightPanelCheckPanel->setBorders(PanelBorder3);
return RightPanelCheckPanel;
}
示例2: createRightPanelButtonPanel
ComponentRefPtr createRightPanelButtonPanel(void)
{
// Create and edit the Panel Buttons
ToggleButtonRefPtr RightPanelButton1 = OSG::ToggleButton::create();
ToggleButtonRefPtr RightPanelButton2 = OSG::ToggleButton::create();
ToggleButtonRefPtr RightPanelButton3 = OSG::ToggleButton::create();
ToggleButtonRefPtr RightPanelButton4 = OSG::ToggleButton::create();
RightPanelButton1->setText("These");
RightPanelButton1->setPreferredSize(Vec2f(100,50));
RightPanelButton2->setText("are");
RightPanelButton2->setPreferredSize(Vec2f(100,50));
RightPanelButton3->setText("toggle");
RightPanelButton3->setPreferredSize(Vec2f(100,50));
RightPanelButton4->setText("buttons");
RightPanelButton4->setPreferredSize(Vec2f(100,50));
// Create an edit Panel Background
ColorLayerRefPtr RightPanelButtonPanelBackground = OSG::ColorLayer::create();
RightPanelButtonPanelBackground->setColor(Color4f(0.93,0.93,0.93,1.0));
// Create and edit Panel layout
BoxLayoutRefPtr RightPanelButtonPanelLayout = OSG::BoxLayout::create();
RightPanelButtonPanelLayout->setOrientation(BoxLayout::VERTICAL_ORIENTATION);
// Create Panel Border
LineBorderRefPtr PanelBorder2 = OSG::LineBorder::create();
PanelBorder2->setColor(Color4f(0.0,0.0,0.0,1.0));
PanelBorder2->setWidth(1);
// Create and edit Panel
PanelRefPtr RightPanelButtonPanel = OSG::Panel::create();
RightPanelButtonPanel->setPreferredSize(Vec2f(200, 300));
RightPanelButtonPanel->pushToChildren(RightPanelButton1);
RightPanelButtonPanel->pushToChildren(RightPanelButton2);
RightPanelButtonPanel->pushToChildren(RightPanelButton3);
RightPanelButtonPanel->pushToChildren(RightPanelButton4);
RightPanelButtonPanel->setLayout(RightPanelButtonPanelLayout);
RightPanelButtonPanel->setBackgrounds(RightPanelButtonPanelBackground);
RightPanelButtonPanel->setBorders(PanelBorder2);
return RightPanelButtonPanel;
}
示例3: createToolbars
void LuaDebuggerInterface::createToolbars(void)
{
createExecutionToolbar();
createEditorToolbar();
BorderLayoutRefPtr ToolbarLayout = BorderLayout::create();
BorderLayoutConstraintsRefPtr EditorPanelConstraints = BorderLayoutConstraints::create();
EditorPanelConstraints->setRegion(BorderLayoutConstraints::BORDER_WEST);
_EditorButtonPanel->setConstraints(EditorPanelConstraints);
BorderLayoutConstraintsRefPtr CodeExecutionPanelConstraints = BorderLayoutConstraints::create();
CodeExecutionPanelConstraints->setRegion(BorderLayoutConstraints::BORDER_CENTER);
_CodeExecutionToolbar->setConstraints(CodeExecutionPanelConstraints);
_Toolbars = Panel::createEmpty();
_Toolbars->setPreferredSize(Vec2f(45.0f, 45.0f));
_Toolbars->setLayout(ToolbarLayout);
_Toolbars->pushToChildren(_EditorButtonPanel);
_Toolbars->pushToChildren(_CodeExecutionToolbar);
}
示例4: createSinglePtrFieldPanel
PanelUnrecPtr createSinglePtrFieldPanel(void)
{
SinglePtrFieldLabel = OSG::Label::create();
SinglePtrFieldLabel->setText("Changable");
SinglePtrFieldLabel->setBorders(NULL);
ButtonRefPtr SinglePtrFieldCreateBackgroundButton = OSG::Button::create();
SinglePtrFieldCreateBackgroundButton->setText("Create Background");
SinglePtrFieldCreateBackgroundButton->setPreferredSize(Vec2f(175.0f,SinglePtrFieldCreateBackgroundButton->getPreferredSize().y()));
SinglePtrFieldCreateActionListener* TheCreateBackgroundActionListener = new SinglePtrFieldCreateActionListener();
SinglePtrFieldCreateBackgroundButton->addActionListener(TheCreateBackgroundActionListener);
LayoutRefPtr ThePanelLayout = OSG::FlowLayout::create();
PanelRefPtr ThePanel = Panel::createEmpty();
ThePanel->setLayout(ThePanelLayout);
ThePanel->pushToChildren(SinglePtrFieldLabel);
ThePanel->pushToChildren(SinglePtrFieldCreateBackgroundButton);
return ThePanel;
}
示例5: createMultiFieldPanel
PanelUnrecPtr createMultiFieldPanel(void)
{
//Popup Menu
MenuItemRefPtr RemoveIndexMenuItem = MenuItem::create();
RemoveIndexMenuItem->setText("Remove Index");
RemoveIndexMenuItem->addActionListener(new RemoveMultiFieldActionListener());
MenuItemRefPtr SetValueMenuItem = MenuItem::create();
SetValueMenuItem->setText("Set Value");
SetValueMenuItem->addActionListener(new SetMultiFieldActionListener());
MenuItemRefPtr AddValueMenuItem = MenuItem::create();
AddValueMenuItem->setText("Add Value");
AddValueMenuItem->addActionListener(new AddMultiFieldActionListener());
MenuItemRefPtr InsertIndexMenuItem = MenuItem::create();
InsertIndexMenuItem->setText("Insert Value");
InsertIndexMenuItem->addActionListener(new InsertMultiFieldActionListener());
MenuItemRefPtr MoveIndexMenuItem = MenuItem::create();
MoveIndexMenuItem->setText("Move Value");
MoveIndexMenuItem->addActionListener(new MoveMultiFieldActionListener());
MenuItemRefPtr SwapIndexMenuItem = MenuItem::create();
SwapIndexMenuItem->setText("Swap Value");
SwapIndexMenuItem->addActionListener(new SwapMultiFieldActionListener());
PopupMenuRefPtr MultiFieldListPopupMenu = PopupMenu::create();
MultiFieldListPopupMenu->addItem(SetValueMenuItem);
MultiFieldListPopupMenu->addItem(AddValueMenuItem);
MultiFieldListPopupMenu->addItem(InsertIndexMenuItem);
MultiFieldListPopupMenu->addItem(MoveIndexMenuItem);
MultiFieldListPopupMenu->addItem(SwapIndexMenuItem);
MultiFieldListPopupMenu->addItem(RemoveIndexMenuItem);
//Multi-field List Model
MultiFieldListModel = MFieldListModel::create();
MultiFieldListModel->setContainer(TutorialBackground);
MultiFieldListModel->setFieldId(GradientBackground::ColorFieldId);
//MultiFieldListModel->setFieldId(GradientBackground::PositionFieldId);
//List
MultiFieldList = List::create();
MultiFieldList->setPreferredSize(Vec2f(200, 300));
MultiFieldList->setOrientation(List::VERTICAL_ORIENTATION);
MultiFieldList->setModel(MultiFieldListModel);
ListSelectionModelPtr MultiFieldListSelectionModel(new DefaultListSelectionModel());
MultiFieldList->setSelectionModel(MultiFieldListSelectionModel);
MultiFieldList->setPopupMenu(MultiFieldListPopupMenu);
// Create a ScrollPanel for easier viewing of the List
ScrollPanelRefPtr ExampleScrollPanel = ScrollPanel::create();
ExampleScrollPanel->setPreferredSize(Vec2f(200,300));
ExampleScrollPanel->setHorizontalResizePolicy(ScrollPanel::RESIZE_TO_VIEW);
ExampleScrollPanel->setViewComponent(MultiFieldList);
// Create MainFramelayout
FlowLayoutRefPtr MainInternalWindowLayout = OSG::FlowLayout::create();
MainInternalWindowLayout->setOrientation(FlowLayout::VERTICAL_ORIENTATION);
MainInternalWindowLayout->setMajorAxisAlignment(0.5f);
MainInternalWindowLayout->setMinorAxisAlignment(0.5f);
//Label
LabelRefPtr ListLabel = Label::create();
ListLabel->setText("Background Colors List");
ListLabel->setPreferredSize(Vec2f(200.0f, ListLabel->getPreferredSize().y()));
//Panel
FlowLayoutRefPtr ThePanelLayout = OSG::FlowLayout::create();
ThePanelLayout->setOrientation(FlowLayout::VERTICAL_ORIENTATION);
ThePanelLayout->setMajorAxisAlignment(0.5f);
ThePanelLayout->setMinorAxisAlignment(0.5f);
PanelRefPtr ThePanel = Panel::createEmpty();
ThePanel->setLayout(ThePanelLayout);
ThePanel->pushToChildren(ListLabel);
ThePanel->pushToChildren(ExampleScrollPanel);
return ThePanel;
}
示例6: createSingleFieldPanel
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;
}
示例7: createMultiPtrFieldPanel
PanelUnrecPtr createMultiPtrFieldPanel(void)
{
//Buttons for Inner Panel
ButtonRefPtr AButton = Button::create();
AButton->setText("A");
ButtonRefPtr BButton = Button::create();
BButton->setText("B");
//Inner Panel
LayoutRefPtr MultiPtrFieldInnerPanelLayout = OSG::FlowLayout::create();
MultiPtrFieldInnerPanel = OSG::Panel::create();
MultiPtrFieldInnerPanel->setLayout(MultiPtrFieldInnerPanelLayout);
MultiPtrFieldInnerPanel->setPreferredSize(Vec2f(200.0f, 200.0f));
MultiPtrFieldInnerPanel->pushToChildren(AButton);
MultiPtrFieldInnerPanel->pushToChildren(BButton);
//Popup Menu
MenuItemRefPtr RemoveIndexMenuItem = MenuItem::create();
RemoveIndexMenuItem->setText("Remove Index");
RemoveIndexMenuItem->addActionListener(new RemoveMultiPtrFieldActionListener());
MenuItemRefPtr SetValueMenuItem = MenuItem::create();
SetValueMenuItem->setText("Set Value");
SetValueMenuItem->addActionListener(new SetMultiPtrFieldActionListener());
MenuItemRefPtr AddValueMenuItem = MenuItem::create();
AddValueMenuItem->setText("Add Value");
AddValueMenuItem->addActionListener(new AddMultiPtrFieldActionListener());
MenuItemRefPtr InsertIndexMenuItem = MenuItem::create();
InsertIndexMenuItem->setText("Insert Value");
InsertIndexMenuItem->addActionListener(new InsertMultiPtrFieldActionListener());
MenuItemRefPtr MoveIndexMenuItem = MenuItem::create();
MoveIndexMenuItem->setText("Move Value");
MoveIndexMenuItem->addActionListener(new MoveMultiPtrFieldActionListener());
MenuItemRefPtr SwapIndexMenuItem = MenuItem::create();
SwapIndexMenuItem->setText("Swap Value");
SwapIndexMenuItem->addActionListener(new SwapMultiPtrFieldActionListener());
PopupMenuRefPtr MultiPtrFieldListPopupMenu = PopupMenu::create();
MultiPtrFieldListPopupMenu->addItem(SetValueMenuItem);
MultiPtrFieldListPopupMenu->addItem(AddValueMenuItem);
MultiPtrFieldListPopupMenu->addItem(InsertIndexMenuItem);
MultiPtrFieldListPopupMenu->addItem(MoveIndexMenuItem);
MultiPtrFieldListPopupMenu->addItem(SwapIndexMenuItem);
MultiPtrFieldListPopupMenu->addItem(RemoveIndexMenuItem);
//Multi-field List Model
MultiPtrFieldListModel = MFieldListModel::create();
MultiPtrFieldListModel->setContainer(MultiPtrFieldInnerPanel);
MultiPtrFieldListModel->setFieldId(Panel::ChildrenFieldId);
//List
MultiPtrFieldList = List::create();
MultiPtrFieldList->setPreferredSize(Vec2f(200, 300));
MultiPtrFieldList->setOrientation(List::VERTICAL_ORIENTATION);
MultiPtrFieldList->setModel(MultiPtrFieldListModel);
ListSelectionModelPtr MultiPtrFieldListSelectionModel(new DefaultListSelectionModel());
MultiPtrFieldList->setSelectionModel(MultiPtrFieldListSelectionModel);
MultiPtrFieldList->setPopupMenu(MultiPtrFieldListPopupMenu);
// Create a ScrollPanel for easier viewing of the List
ScrollPanelRefPtr ExampleScrollPanel = ScrollPanel::create();
ExampleScrollPanel->setPreferredSize(Vec2f(200,300));
ExampleScrollPanel->setHorizontalResizePolicy(ScrollPanel::RESIZE_TO_VIEW);
ExampleScrollPanel->setViewComponent(MultiPtrFieldList);
LayoutRefPtr ThePanelLayout = OSG::FlowLayout::create();
PanelRefPtr ThePanel = Panel::createEmpty();
ThePanel->setLayout(ThePanelLayout);
ThePanel->pushToChildren(MultiPtrFieldInnerPanel);
ThePanel->pushToChildren(ExampleScrollPanel);
return ThePanel;
}
示例8: main
//.........这里部分代码省略.........
LeftPanelLabel1->setBorders(emptyBorder);
LeftPanelLabel1->setBackgrounds(GreyBackground);
LeftPanelLabel1->setFont(LeftPanelLabel1Font);
LeftPanelLabel1->setText("OSG Gui");
LeftPanelLabel1->setPreferredSize(Vec2f(300, 100));
LeftPanelLabel1->setAlignment(Vec2f(0.0f, 0.5f));
/******************************************************
Create some Layouts
******************************************************/
BoxLayoutRefPtr MainInternalWindowLayout = OSG::BoxLayout::create();
FlowLayoutRefPtr LeftPanelLayout = OSG::FlowLayout::create();
BoxLayoutRefPtr RightPanelLayout = OSG::BoxLayout::create();
MainInternalWindowLayout->setOrientation(BoxLayout::HORIZONTAL_ORIENTATION);
LeftPanelLayout->setOrientation(FlowLayout::HORIZONTAL_ORIENTATION);
LeftPanelLayout->setMinorAxisAlignment(1.0f);
RightPanelLayout->setOrientation(BoxLayout::VERTICAL_ORIENTATION);
/******************************************************
Create MainFrame and Panels
******************************************************/
PanelRefPtr LeftPanel = OSG::Panel::create();
PanelRefPtr RightPanel = OSG::Panel::create();
// LeftPanel stuff
LeftPanel->setPreferredSize(Vec2f(400, 500));
LeftPanel->pushToChildren(LeftPanelLabel1);
LeftPanel->pushToChildren(createLeftPanelButtonPanel());
LeftPanel->pushToChildren(createLeftPanelRadioTextPanel());
LeftPanel->setLayout(LeftPanelLayout);
LeftPanel->setBackgrounds(GreyBackground);
LeftPanel->setBorders(Panel1Border);
//RightPanel stuff
RightPanel->setPreferredSize(Vec2f(200, 620));
RightPanel->pushToChildren(createRightPanelButtonPanel());
RightPanel->pushToChildren(createRightPanelCheckPanel());
RightPanel->setLayout(RightPanelLayout);
RightPanel->setBackgrounds(GreyBackground);
RightPanel->setBorders(Panel2Border);
// Create The Main InternalWindow
InternalWindowRefPtr MainInternalWindow = OSG::InternalWindow::create();
MainInternalWindow->pushToChildren(LeftPanel);
MainInternalWindow->pushToChildren(RightPanel);
MainInternalWindow->setLayout(MainInternalWindowLayout);
MainInternalWindow->setBackgrounds(GreyBackground);
MainInternalWindow->setBorders(PanelBorder);
MainInternalWindow->setAlignmentInDrawingSurface(Vec2f(0.5f,0.5f));
MainInternalWindow->setScalingInDrawingSurface(Vec2f(1.0f,1.0f));
MainInternalWindow->setDrawTitlebar(false);
MainInternalWindow->setResizable(false);
// Create the Drawing Surface
UIDrawingSurfaceRefPtr TutorialDrawingSurface = UIDrawingSurface::create();
TutorialDrawingSurface->setGraphics(TutorialGraphics);
TutorialDrawingSurface->setEventProducer(TutorialWindow);
TutorialDrawingSurface->openWindow(MainInternalWindow);
示例9: createCodeEditor
//.........这里部分代码省略.........
BreakpointProtoButton->setForegrounds(NULL);
//Count Breakpoint
ButtonRecPtr BreakpointCountProtoButton = Button::create();
BreakpointCountProtoButton->setPreferredSize(Vec2f(18.0f, 18.0f));
BreakpointCountProtoButton->setImages(BreakpointCountIconPath.string());
BreakpointCountProtoButton->setDisabledImage(BreakpointCountDisabledIconPath.string());
BreakpointCountProtoButton->setBorders(NULL);
BreakpointCountProtoButton->setBackgrounds(NULL);
BreakpointCountProtoButton->setForegrounds(NULL);
//Conditional breakpoint
ButtonRecPtr BreakpointConditionalProtoButton = Button::create();
BreakpointConditionalProtoButton->setPreferredSize(Vec2f(18.0f, 18.0f));
BreakpointConditionalProtoButton->setImages(BreakpointConditionalIconPath.string());
BreakpointConditionalProtoButton->setDisabledImage(BreakpointConditionalDisabledIconPath.string());
BreakpointConditionalProtoButton->setBorders(NULL);
BreakpointConditionalProtoButton->setBackgrounds(NULL);
BreakpointConditionalProtoButton->setForegrounds(NULL);
//Create the default font
_CodeFont = UIFont::create();
_CodeFont->setFamily("Courier New");
_CodeFont->setSize(21);
_CodeFont->setGlyphPixelSize(22);
_CodeFont->setAntiAliasing(false);
// Create a TextArea component
_CodeTextArea = TextEditor::create();
_CodeTextArea->setIsSplit(false);
_CodeTextArea->setClipboardVisible(false);
//_CodeTextArea->getTextDomArea()->setFont(_CodeFont);
//_CodeTextArea->setGutterWidth(50.0f);
_CodeTextArea->setText(createDefaultCodeText());
//_CodeTextArea->connectCaretChanged(boost::bind(&LuaDebuggerInterface::codeAreaCaretChanged,this, _1));
//_CodeTextArea->connectMouseClicked(boost::bind(&LuaDebuggerInterface::handleCodeAreaMouseClicked,this, _1));
_MainSplitPanel = SplitPanel::create();
_MainSplitPanel->setMinComponent(_CodeTextArea);
_MainSplitPanel->setMaxComponent(_InfoTabPanel);
_MainSplitPanel->setOrientation(SplitPanel::VERTICAL_ORIENTATION);
_MainSplitPanel->setDividerPosition(0.7);
// location from the left/top
_MainSplitPanel->setDividerSize(4);
_MainSplitPanel->setMaxDividerPosition(.8);
_MainSplitPanel->setMinDividerPosition(.2);
//Code Area Info
LabelRefPtr LineLabel = Label::create();
LineLabel->setText("Line:");
LineLabel->setPreferredSize(Vec2f(40.0f, 30.0f));
LineLabel->setAlignment(Vec2f(1.0f, 0.5f));
_LineValueLabel = Label::create();
_LineValueLabel->setText("");
_LineValueLabel->setPreferredSize(Vec2f(40.0f, 30.0f));
LabelRefPtr ColumnLabel = Label::create();
ColumnLabel->setText("Column:");
ColumnLabel->setPreferredSize(Vec2f(55.0f, 30.0f));
ColumnLabel->setAlignment(Vec2f(1.0f, 0.5f));
_ColumnValueLabel = Label::create();
_ColumnValueLabel->setText("");
_ColumnValueLabel->setPreferredSize(Vec2f(40.0f, 30.0f));
//TextArea Info Panel
_CodeAreaInfoPanel = Panel::create();
SpringLayoutRefPtr CodeAreaInfoLayout = SpringLayout::create();
//ColumnValueLabel
CodeAreaInfoLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, _ColumnValueLabel, 0, SpringLayoutConstraints::NORTH_EDGE, _CodeAreaInfoPanel);
CodeAreaInfoLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, _ColumnValueLabel, 0, SpringLayoutConstraints::SOUTH_EDGE, _CodeAreaInfoPanel);
CodeAreaInfoLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _ColumnValueLabel, 0, SpringLayoutConstraints::EAST_EDGE, _CodeAreaInfoPanel);
//ColumnLabel
CodeAreaInfoLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, ColumnLabel, 0, SpringLayoutConstraints::NORTH_EDGE, _CodeAreaInfoPanel);
CodeAreaInfoLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, ColumnLabel, 0, SpringLayoutConstraints::SOUTH_EDGE, _CodeAreaInfoPanel);
CodeAreaInfoLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, ColumnLabel, -1, SpringLayoutConstraints::WEST_EDGE, _ColumnValueLabel);
//LineValueLabel
CodeAreaInfoLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, _LineValueLabel, 0, SpringLayoutConstraints::NORTH_EDGE, _CodeAreaInfoPanel);
CodeAreaInfoLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, _LineValueLabel, 0, SpringLayoutConstraints::SOUTH_EDGE, _CodeAreaInfoPanel);
CodeAreaInfoLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _LineValueLabel, -1, SpringLayoutConstraints::WEST_EDGE, ColumnLabel);
//LineLabel
CodeAreaInfoLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, LineLabel, 0, SpringLayoutConstraints::NORTH_EDGE, _CodeAreaInfoPanel);
CodeAreaInfoLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, LineLabel, 0, SpringLayoutConstraints::SOUTH_EDGE, _CodeAreaInfoPanel);
CodeAreaInfoLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, LineLabel, -1, SpringLayoutConstraints::WEST_EDGE, _LineValueLabel);
_CodeAreaInfoPanel->setPreferredSize(Vec2f(400.0f, 22.0f));
_CodeAreaInfoPanel->pushToChildren(LineLabel);
_CodeAreaInfoPanel->pushToChildren(_LineValueLabel);
_CodeAreaInfoPanel->pushToChildren(ColumnLabel);
_CodeAreaInfoPanel->pushToChildren(_ColumnValueLabel);
_CodeAreaInfoPanel->setBorders(NULL);
_CodeAreaInfoPanel->setLayout(CodeAreaInfoLayout);
}
示例10: createColorChooserDialog
DialogWindowUnrecPtr DialogWindow::createColorChooserDialog(const std::string& Title,
const std::string& Message,
bool showAlpha,
ColorSelectionModelPtr colorModel,
bool showCancel,
const std::string& ConfirmBtnText,
const std::string& CancelBtnText)
{
ButtonRefPtr ConfirmationButton = OSG::Button::create();
ButtonRefPtr CancelButton;
//Confirm Button
ConfirmationButton->setText(ConfirmBtnText);
ConfirmationButton->setMinSize(ConfirmationButton->getPreferredSize());
ConfirmationButton->setPreferredSize(ConfirmationButton->getRequestedSize());
if(showCancel)
{
//Cancel Button
CancelButton = OSG::Button::create();
CancelButton->setText(CancelBtnText);
CancelButton->setMinSize(CancelButton->getPreferredSize());
CancelButton->setPreferredSize(CancelButton->getRequestedSize());
}
// Create Panel for top half of SplitPanel
TextAreaRefPtr MessagePanelText = OSG::TextArea::create();
MessagePanelText->setBorders(NULL);
MessagePanelText->setPreferredSize(Vec2f(100.0f, 100.0f));
MessagePanelText->setBackgrounds(NULL);
MessagePanelText->setWrapStyleWord(true);
MessagePanelText->setText(Message);
MessagePanelText->setEditable(false);
// Create Panel for bottom half of SplitPanel
PanelRefPtr MessageButtonPanel = OSG::Panel::createEmpty();
FlowLayoutRefPtr MessagePanelBottomLayout = OSG::FlowLayout::create();
MessageButtonPanel->pushToChildren(ConfirmationButton);
if(showCancel)
MessageButtonPanel->pushToChildren(CancelButton);
MessageButtonPanel->setLayout(MessagePanelBottomLayout);
MessageButtonPanel->setPreferredSize(Vec2f(450,75));
PanelRefPtr MessagePanel = OSG::Panel::createEmpty();
SpringLayoutRefPtr MessagePanelLayout = SpringLayout::create();
MessagePanel->pushToChildren(MessagePanelText);
MessagePanel->pushToChildren(MessageButtonPanel);
MessagePanel->setLayout(MessagePanelLayout);
ColorChooserRefPtr TheColorChooser = ColorChooser::create();
TheColorChooser->setSelectionModel(colorModel);
//Internals Layout and constraints
DialogWindowUnrecPtr TheDialog = DialogWindow::create();
SpringLayoutRefPtr DialogLayout = SpringLayout::create();
//Message Text
DialogLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, MessagePanelText, 5, SpringLayoutConstraints::NORTH_EDGE, TheDialog);
DialogLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, MessagePanelText, -5, SpringLayoutConstraints::EAST_EDGE, TheDialog);
DialogLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, MessagePanelText, 5, SpringLayoutConstraints::WEST_EDGE, TheDialog);
//Color Chooser
DialogLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, TheColorChooser, 5, SpringLayoutConstraints::SOUTH_EDGE, MessagePanelText);
DialogLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, TheColorChooser, -5, SpringLayoutConstraints::EAST_EDGE, TheDialog);
DialogLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, TheColorChooser, 5, SpringLayoutConstraints::WEST_EDGE, TheDialog);
DialogLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, TheColorChooser, -5, SpringLayoutConstraints::NORTH_EDGE, MessageButtonPanel);
//Button Panel
DialogLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, MessageButtonPanel, 0, SpringLayoutConstraints::WEST_EDGE, TheDialog);
DialogLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, MessageButtonPanel, 0, SpringLayoutConstraints::EAST_EDGE, TheDialog);
DialogLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, MessageButtonPanel, 20, SpringLayoutConstraints::SOUTH_EDGE, TheDialog);
//Create the Dialog box
TheDialog->setLayout(DialogLayout);
TheDialog->setPreferredSize(Vec2f(350,400));
TheDialog->pushToChildren(MessagePanelText);
TheDialog->pushToChildren(TheColorChooser);
TheDialog->pushToChildren(MessageButtonPanel);
TheDialog->setTitle(Title);
//Attach listener to the Confirm button
ConfirmationButton->addActionListener(&TheDialog->_ConfirmButtonListener);
if(showCancel)
{
//Attach listener to the Cancel button
CancelButton->addActionListener(&TheDialog->_CancelButtonListener);
}
return DialogWindowTransitPtr(TheDialog);
}
示例11: createInterface
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);
//.........这里部分代码省略.........
示例12: main
//.........这里部分代码省略.........
NodeTravMaskLabel->setPreferredSize(Vec2f(100.0f, 20.0f));
NodeTravMaskValueLabel = Label::create();
NodeTravMaskValueLabel->setPreferredSize(Vec2f(300.0f, 20.0f));
LabelRefPtr NodeOcclusionMaskLabel = Label::create();
NodeOcclusionMaskLabel->setText("Occlusion Mask");
NodeOcclusionMaskLabel->setPreferredSize(Vec2f(100.0f, 20.0f));
NodeOcclusionMaskValueLabel = Label::create();
NodeOcclusionMaskValueLabel->setPreferredSize(Vec2f(300.0f, 20.0f));
LabelRefPtr NodeActiveLabel = Label::create();
NodeActiveLabel->setText("Active");
NodeActiveLabel->setPreferredSize(Vec2f(100.0f, 20.0f));
NodeActiveValueLabel = Label::create();
NodeActiveValueLabel->setPreferredSize(Vec2f(300.0f, 20.0f));
//Details Panel
BorderLayoutConstraintsRefPtr NodeDetailPanelConstraints = OSG::BorderLayoutConstraints::create();
NodeDetailPanelConstraints->setRegion(BorderLayoutConstraints::BORDER_SOUTH);
GridLayoutRefPtr NodeDetailPanelLayout = OSG::GridLayout::create();
NodeDetailPanelLayout->setRows(9);
NodeDetailPanelLayout->setColumns(2);
NodeDetailPanelLayout->setHorizontalGap(2);
NodeDetailPanelLayout->setVerticalGap(2);
PanelRefPtr NodeDetailPanel = Panel::create();
NodeDetailPanel->setConstraints(NodeDetailPanelConstraints);
NodeDetailPanel->setPreferredSize(Vec2f(100.0f, 200.0f));
NodeDetailPanel->setLayout(NodeDetailPanelLayout);
NodeDetailPanel->pushToChildren(NodeNameLabel);
NodeDetailPanel->pushToChildren(NodeNameValueLabel);
NodeDetailPanel->pushToChildren(NodeCoreTypeLabel);
NodeDetailPanel->pushToChildren(NodeCoreTypeValueLabel);
NodeDetailPanel->pushToChildren(NodeMinLabel);
NodeDetailPanel->pushToChildren(NodeMinValueLabel);
NodeDetailPanel->pushToChildren(NodeMaxLabel);
NodeDetailPanel->pushToChildren(NodeMaxValueLabel);
NodeDetailPanel->pushToChildren(NodeCenterLabel);
NodeDetailPanel->pushToChildren(NodeCenterValueLabel);
NodeDetailPanel->pushToChildren(NodeTriCountLabel);
NodeDetailPanel->pushToChildren(NodeTriCountValueLabel);
NodeDetailPanel->pushToChildren(NodeTravMaskLabel);
NodeDetailPanel->pushToChildren(NodeTravMaskValueLabel);
NodeDetailPanel->pushToChildren(NodeOcclusionMaskLabel);
NodeDetailPanel->pushToChildren(NodeOcclusionMaskValueLabel);
NodeDetailPanel->pushToChildren(NodeActiveLabel);
NodeDetailPanel->pushToChildren(NodeActiveValueLabel);
// 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));
LayoutRefPtr MainInternalWindowLayout = OSG::BorderLayout::create();
InternalWindowRefPtr MainInternalWindow = OSG::InternalWindow::create();
MainInternalWindow->pushToChildren(ExampleScrollPanel);
MainInternalWindow->pushToChildren(NodeDetailPanel);
MainInternalWindow->setLayout(MainInternalWindowLayout);
MainInternalWindow->setBackgrounds(NULL);
MainInternalWindow->setBorders(NULL);
MainInternalWindow->setAlignmentInDrawingSurface(Vec2f(0.0f,0.5f));
示例13: main
//.........这里部分代码省略.........
ExampleButton1->addActionListener( &TheNextCardActionListener);
ExampleButton2->setText("Previous Card");
ExampleButton2->setConstraints(ExampleButton2Constraints);
// Add ActionListener
BackCardActionListener TheBackCardActionListener;
ExampleButton2->addActionListener( &TheBackCardActionListener);
ExampleButton3->setText("This");
ExampleButton4->setText("is");
ExampleButton5->setText("Card");
ExampleButton6->setText("Layout");
ExampleButton7->setText("First Card");
ExampleButton7->setConstraints(ExampleButton7Constraints);
// Add ActionListener
FirstCardActionListener TheFirstCardActionListener;
ExampleButton7->addActionListener( &TheFirstCardActionListener);
ExampleButton8->setText("Last Card");
ExampleButton8->setConstraints(ExampleButton8Constraints);
// Add ActionListener
LastCardActionListener TheLastCardActionListener;
ExampleButton8->addActionListener( &TheLastCardActionListener);
ExampleCardPanel->setLayout(ExampleCardLayout);
ExampleCardPanel->pushToChildren(ExampleButton3);
ExampleCardPanel->pushToChildren(ExampleButton4);
ExampleCardPanel->pushToChildren(ExampleButton5);
ExampleCardPanel->pushToChildren(ExampleButton6);
ExampleCardPanel->setConstraints(ExampleCardPanelConstraints);
// 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();
MainInternalWindow->pushToChildren(ExampleButton1);
MainInternalWindow->pushToChildren(ExampleButton2);
MainInternalWindow->pushToChildren(ExampleButton7);
MainInternalWindow->pushToChildren(ExampleButton8);
MainInternalWindow->pushToChildren(ExampleCardPanel);
MainInternalWindow->setLayout(MainInternalWindowLayout);
MainInternalWindow->setBackgrounds(MainInternalWindowBackground);
MainInternalWindow->setAlignmentInDrawingSurface(Vec2f(0.5f,0.5f));
MainInternalWindow->setScalingInDrawingSurface(Vec2f(0.5f,0.5f));
MainInternalWindow->setDrawTitlebar(false);
MainInternalWindow->setResizable(false);
// Create the Drawing Surface
UIDrawingSurfaceRefPtr TutorialDrawingSurface = UIDrawingSurface::create();
TutorialDrawingSurface->setGraphics(TutorialGraphics);
TutorialDrawingSurface->setEventProducer(TutorialWindow);
示例14: createLeftPanelRadioTextPanel
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);
//.........这里部分代码省略.........
示例15: createLeftPanelButtonPanel
ComponentRefPtr createLeftPanelButtonPanel(void)
{
// Create Label for this Panel
LabelRefPtr LeftPanelButtonPanelLabel = OSG::Label::create();
LeftPanelButtonPanelLabel->setTextColor(Color4f(1.0,1.0,1.0,1.0));
LeftPanelButtonPanelLabel->setRolloverTextColor(Color4f(1.0,1.0,1.0,1.0));
LeftPanelButtonPanelLabel->setBackground(createComplexBackground());
LeftPanelButtonPanelLabel->setPreferredSize(Vec2f(100, 50));
LeftPanelButtonPanelLabel->setText("Various Options");
LeftPanelButtonPanelLabel->setAlignment(Vec2f(0.5,0.5));
// Create and edit the Panel buttons
ButtonRefPtr LeftPanelButton1 = OSG::Button::create();
ButtonRefPtr LeftPanelButton2 = OSG::Button::create();
ButtonRefPtr LeftPanelButton3 = OSG::Button::create();
ButtonRefPtr LeftPanelButton4 = OSG::Button::create();
ButtonRefPtr LeftPanelButton5 = OSG::Button::create();
ButtonRefPtr LeftPanelButton6 = OSG::Button::create();
LeftPanelButton1->setText("This");
LeftPanelButton1->setPreferredSize(Vec2f(100,50));
LeftPanelButton2->setText("is");
LeftPanelButton2->setPreferredSize(Vec2f(100,50));
LeftPanelButton3->setText("an");
LeftPanelButton3->setPreferredSize(Vec2f(100,50));
LeftPanelButton4->setText("example");
LeftPanelButton4->setPreferredSize(Vec2f(100,50));
LeftPanelButton5->setText("user");
LeftPanelButton5->setPreferredSize(Vec2f(100,50));
LeftPanelButton6->setText("interface.");
LeftPanelButton6->setPreferredSize(Vec2f(100,50));
// Create and edit Panel layout
BoxLayoutRefPtr LeftPanelButtonPanelLayout = OSG::BoxLayout::create();
LeftPanelButtonPanelLayout->setOrientation(BoxLayout::VERTICAL_ORIENTATION);
// Create an edit Panel Background
ColorLayerRefPtr LeftPanelButtonPanelBackground = OSG::ColorLayer::create();
LeftPanelButtonPanelBackground->setColor(Color4f(0.93,0.93,0.93,1.0));
// Create Panel Border
LineBorderRefPtr LeftPanelBorder = OSG::LineBorder::create();
LeftPanelBorder->setColor(Color4f(0.0,0.0,0.0,1.0));
LeftPanelBorder->setWidth(1);
// Create and edit Panel
PanelRefPtr LeftPanelButtonPanel = OSG::Panel::create();
LeftPanelButtonPanel->setPreferredSize(Vec2f(180, 500));
LeftPanelButtonPanel->pushToChildren(LeftPanelButtonPanelLabel);
LeftPanelButtonPanel->pushToChildren(LeftPanelButton1);
LeftPanelButtonPanel->pushToChildren(LeftPanelButton2);
LeftPanelButtonPanel->pushToChildren(LeftPanelButton3);
LeftPanelButtonPanel->pushToChildren(LeftPanelButton4);
LeftPanelButtonPanel->pushToChildren(LeftPanelButton5);
LeftPanelButtonPanel->pushToChildren(LeftPanelButton6);
LeftPanelButtonPanel->setLayout(LeftPanelButtonPanelLayout);
LeftPanelButtonPanel->setBackgrounds(LeftPanelButtonPanelBackground);
LeftPanelButtonPanel->setBorders(LeftPanelBorder);
return LeftPanelButtonPanel;
}