本文整理汇总了C++中PanelRecPtr::pushToChildren方法的典型用法代码示例。如果您正苦于以下问题:C++ PanelRecPtr::pushToChildren方法的具体用法?C++ PanelRecPtr::pushToChildren怎么用?C++ PanelRecPtr::pushToChildren使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PanelRecPtr
的用法示例。
在下文中一共展示了PanelRecPtr::pushToChildren方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createButtonedComp
ComponentTransitPtr createButtonedComp(Component* const LabelComp,
const Button::ActionPerformedEventType::slot_type &listener)
{
ButtonRecPtr CompRemoveButton = Button::create();
CompRemoveButton->setText("-");
//CompRemoveButton->setToolTipText("Remove");
CompRemoveButton->setPreferredSize(Vec2f(17.0f,17.0f));
CompRemoveButton->setAlignment(Vec2f(0.5f,0.5f));
CompRemoveButton->setFont(dynamic_cast<Label*>(LabelComp)->getFont());
//Connect
CompRemoveButton->connectActionPerformed(listener);
SpringLayoutRecPtr TreeCompLayout = SpringLayout::create();
PanelRecPtr CompPanel = Panel::createEmpty();
TreeCompLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, LabelComp, 0, SpringLayoutConstraints::NORTH_EDGE, CompPanel);
TreeCompLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, LabelComp, 0, SpringLayoutConstraints::SOUTH_EDGE, CompPanel);
TreeCompLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, LabelComp, 0, SpringLayoutConstraints::EAST_EDGE, CompPanel);
TreeCompLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, LabelComp, 0, SpringLayoutConstraints::WEST_EDGE, CompPanel);
TreeCompLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, CompRemoveButton, -5, SpringLayoutConstraints::EAST_EDGE, CompPanel);
TreeCompLayout->putConstraint(SpringLayoutConstraints::VERTICAL_CENTER_EDGE, CompRemoveButton, 0, SpringLayoutConstraints::VERTICAL_CENTER_EDGE, CompPanel);
CompPanel->setLayout(TreeCompLayout);
CompPanel->pushToChildren(LabelComp);
CompPanel->pushToChildren(CompRemoveButton);
return ComponentTransitPtr(CompPanel);
}
示例2: createPanelWithButtons
PanelTransitPtr createPanelWithButtons(void)
{
ButtonRecPtr PanelButton1 = Button::create();
ButtonRecPtr PanelButton2 = Button::create();
ButtonRecPtr PanelButton3 = Button::create();
ButtonRecPtr PanelButton4 = Button::create();
ButtonRecPtr PanelButton5 = Button::create();
ButtonRecPtr PanelButton6 = Button::create();
PanelButton1->setText("This");
PanelButton2->setText("is");
PanelButton3->setText("a");
PanelButton4->setText("sample");
PanelButton5->setText("Scroll");
PanelButton6->setText("Panel!");
// Create Panel to add Buttons to which will be inserted into
// the ScrollPanel itself
PanelRecPtr ScrollPanelInsertPanel = Panel::create();
FlowLayoutRecPtr ScrollPanelInsertPanelLayout = FlowLayout::create();
ScrollPanelInsertPanel->setPreferredSize(Vec2f(100, 250 ));
ScrollPanelInsertPanel->pushToChildren(PanelButton1);
ScrollPanelInsertPanel->pushToChildren(PanelButton2);
ScrollPanelInsertPanel->pushToChildren(PanelButton3);
ScrollPanelInsertPanel->pushToChildren(PanelButton4);
ScrollPanelInsertPanel->pushToChildren(PanelButton5);
ScrollPanelInsertPanel->pushToChildren(PanelButton6);
ScrollPanelInsertPanel->setLayout(ScrollPanelInsertPanelLayout);
return PanelTransitPtr(ScrollPanelInsertPanel);
}
示例3: createRightPanelButtonPanel
PanelTransitPtr createRightPanelButtonPanel(void)
{
// Create and edit the Panel Buttons
ToggleButtonRecPtr RightPanelButton1 = ToggleButton::create();
ToggleButtonRecPtr RightPanelButton2 = ToggleButton::create();
ToggleButtonRecPtr RightPanelButton3 = ToggleButton::create();
ToggleButtonRecPtr RightPanelButton4 = 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
ColorLayerRecPtr RightPanelButtonPanelBackground = ColorLayer::create();
RightPanelButtonPanelBackground->setColor(Color4f(0.93,0.93,0.93,1.0));
// Create and edit Panel layout
BoxLayoutRecPtr RightPanelButtonPanelLayout = BoxLayout::create();
RightPanelButtonPanelLayout->setOrientation(BoxLayout::VERTICAL_ORIENTATION);
// Create Panel Border
LineBorderRecPtr PanelBorder2 = LineBorder::create();
PanelBorder2->setColor(Color4f(0.0,0.0,0.0,1.0));
PanelBorder2->setWidth(1);
// Create and edit Panel
PanelRecPtr RightPanelButtonPanel = Panel::createEmpty();
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 PanelTransitPtr(RightPanelButtonPanel);
}
示例4: createIntrospectionTreeTab
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);
}
示例5: main
//.........这里部分代码省略.........
UndoRedoScrollPanel->setHorizontalResizePolicy(ScrollPanel::RESIZE_TO_VIEW);
UndoRedoScrollPanel->setViewComponent(UndoRedoList);
//Edited Label
LabelRecPtr EditedLabel = Label::create();
EditedLabel->setText("Can be edited");
EditedLabel->setPreferredSize(Vec2f(100.0f,18.0f));
//Editor Field
LabelRecPtr TheTextEditorLabel = Label::create();
TheTextEditorLabel->setText("Text");
TheTextEditorLabel->setPreferredSize(Vec2f(100.0f, 20.0f));
FieldEditorComponentRefPtr TheTextEditor = FieldEditorFactory::the()->createDefaultEditor(EditedLabel,
Label::TextFieldId,
TheCommandManager);
TheTextEditor->setPreferredSize(Vec2f(100.0f, 20.0f));
LabelRecPtr ThePreferredSizeEditorLabel = Label::create();
ThePreferredSizeEditorLabel->setText("PreferredSize");
ThePreferredSizeEditorLabel->setPreferredSize(Vec2f(100.0f, 20.0f));
FieldEditorComponentRefPtr ThePreferredSizeEditor =
FieldEditorFactory::the()->createDefaultEditor(EditedLabel,
Label::PreferredSizeFieldId,
TheCommandManager);
ThePreferredSizeEditor->setPreferredSize(Vec2f(150.0f, 20.0f));
//Editing Panel
LayoutRefPtr EditorPanelLayout = OSG::FlowLayout::create();
PanelRecPtr EditorPanel = Panel::create();
EditorPanel->setPreferredSize(Vec2f(200.0f,200.0f));
EditorPanel->pushToChildren(TheTextEditorLabel);
EditorPanel->pushToChildren(TheTextEditor);
EditorPanel->pushToChildren(ThePreferredSizeEditorLabel);
EditorPanel->pushToChildren(ThePreferredSizeEditor);
EditorPanel->setLayout(EditorPanelLayout);
//Undo Panel
LabelRecPtr UndoPanelLabel = Label::create();
UndoPanelLabel->setText("Undo Panel");
UndoPanelLabel->setPreferredSize(Vec2f(100.0f, 20.0f));
LayoutRefPtr UndoPanelLayout = OSG::FlowLayout::create();
PanelRecPtr UndoPanel = Panel::create();
UndoPanel->setPreferredSize(Vec2f(300.0f,300.0f));
UndoPanel->pushToChildren(UndoPanelLabel);
UndoPanel->pushToChildren(UndoRedoScrollPanel);
UndoPanel->pushToChildren(UndoButton);
UndoPanel->pushToChildren(RedoButton);
UndoPanel->setLayout(UndoPanelLayout);
// 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(EditedLabel);
MainInternalWindow->pushToChildren(EditorPanel);
MainInternalWindow->pushToChildren(UndoPanel);
MainInternalWindow->setLayout(MainInternalWindowLayout);
MainInternalWindow->setBackgrounds(MainInternalWindowBackground);
MainInternalWindow->setAlignmentInDrawingSurface(Vec2f(0.5f,0.5f));
MainInternalWindow->setScalingInDrawingSurface(Vec2f(0.95f,0.95f));
示例6: createRightPanelCheckPanel
PanelTransitPtr createRightPanelCheckPanel(Node* const TorusNode,
Node* const SphereNode,
Node* const ConeNode,
Node* const BoxNode)
{
// Create and edit the CheckBoxes
CheckboxButtonRecPtr RightPanelCheck1 = CheckboxButton::create();
CheckboxButtonRecPtr RightPanelCheck2 = CheckboxButton::create();
CheckboxButtonRecPtr RightPanelCheck3 = CheckboxButton::create();
CheckboxButtonRecPtr RightPanelCheck4 = 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);
RightPanelCheck1->connectButtonSelected(boost::bind(setNodeTravMask,
TorusNode,
1));
RightPanelCheck1->connectButtonDeselected(boost::bind(setNodeTravMask,
TorusNode,
0));
RightPanelCheck2->setText("Show Box");
RightPanelCheck2->setPreferredSize(Vec2f(125,50));
RightPanelCheck2->setAlignment(Vec2f (0.5,0.0));
RightPanelCheck2->connectButtonSelected(boost::bind(setNodeTravMask, BoxNode, 1));
RightPanelCheck2->connectButtonDeselected(boost::bind(setNodeTravMask, BoxNode, 0));
RightPanelCheck3->setText("Show Sphere");
RightPanelCheck3->setPreferredSize(Vec2f(125,50));
RightPanelCheck3->setAlignment(Vec2f(0.0,0.0));
RightPanelCheck3->connectButtonSelected(boost::bind(setNodeTravMask, SphereNode, 1));
RightPanelCheck3->connectButtonDeselected(boost::bind(setNodeTravMask, SphereNode, 0));
RightPanelCheck4->setText("Show Cone");
RightPanelCheck4->setPreferredSize(Vec2f(125,50));
RightPanelCheck4->setAlignment(Vec2f(0.0,0.0));
RightPanelCheck4->connectButtonSelected(boost::bind(setNodeTravMask, ConeNode, 1));
RightPanelCheck4->connectButtonDeselected(boost::bind(setNodeTravMask, ConeNode, 0));
// Create an edit Panel Background
ColorLayerRecPtr RightPanelCheckPanelBackground = ColorLayer::create();
RightPanelCheckPanelBackground->setColor(Color4f(0.93,0.93,0.93,1.0));
// Create and edit Panel layout
BoxLayoutRecPtr RightPanelCheckPanelLayout = BoxLayout::create();
RightPanelCheckPanelLayout->setOrientation(BoxLayout::VERTICAL_ORIENTATION);
RightPanelCheckPanelLayout->setMinorAxisAlignment(0.5f);
// Create Panel Border
LineBorderRecPtr PanelBorder3 = LineBorder::create();
PanelBorder3->setColor(Color4f(0.0,0.0,0.0,1.0));
PanelBorder3->setWidth(1);
// Create and edit Panel
PanelRecPtr RightPanelCheckPanel = Panel::createEmpty();
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 PanelTransitPtr(RightPanelCheckPanel);
}
示例7: createMainInternalWindow
InternalWindowTransitPtr createMainInternalWindow(void)
{
/******************************************************
Create Button Components to be used with
TabPanel and specify their characteristics.
Note: Buttons are used for simplicity,
any Component can be used as Tab content
or as a Tab. A Panel with several
Buttons within it is also added.
******************************************************/
ButtonRecPtr ExampleTabButton1 = Button::create();
ButtonRecPtr ExampleTabButton2 = Button::create();
ButtonRecPtr ExampleTabButton3 = Button::create();
ButtonRecPtr ExampleTabButton4 = Button::create();
ButtonRecPtr ExampleTabButton5 = Button::create();
ButtonRecPtr ExampleTabButton6 = Button::create();
ButtonRecPtr ExampleTabContentA = Button::create();
ButtonRecPtr ExampleTabContentB = Button::create();
ButtonRecPtr ExampleTabContentC = Button::create();
ButtonRecPtr ExampleTabContentD = Button::create();
ButtonRecPtr ExampleTabContentE = Button::create();
ButtonRecPtr ExampleTabContentF = Button::create();
ExampleTabButton1->setText("Tab1");
ExampleTabButton2->setText("Tab2");
ExampleTabButton3->setText("To Rotate");
ExampleTabButton4->setText("Tab4");
ExampleTabButton5->setText("To Zoom");
ExampleTabButton6->setText("To Move");
ExampleTabContentA->setText("Add another Tab");
ExampleTabContentB->setText("Add a Tab in Tab1!");
ExampleTabContentC->setText("Enable CapsLock, then rotate scene using left Mouse button!");
ExampleTabContentD->setText("Enable CapsLock, then zoom in and out with right Mouse button and dragging");
ExampleTabContentE->setText("Enable CapsLock, then move using center Mouse button");
/******************************************************
Create a Panel to add to the TabPanel
******************************************************/
// Create and edit the Panel Buttons
ButtonRecPtr ExampleTabPanelButton1 = Button::create();
ButtonRecPtr ExampleTabPanelButton2 = Button::create();
ButtonRecPtr ExampleTabPanelButton3 = Button::create();
ButtonRecPtr ExampleTabPanelButton4 = Button::create();
ButtonRecPtr ExampleTabPanelButton5 = Button::create();
ButtonRecPtr ExampleTabPanelButton6 = Button::create();
ExampleTabPanelButton1->setText("This is a");
ExampleTabPanelButton2->setText("sample");
ExampleTabPanelButton3->setText("UIRectangle");
ExampleTabPanelButton4->setText("containing");
ExampleTabPanelButton5->setText("interactive");
ExampleTabPanelButton6->setText("components");
// Create and edit Panel Layout
BoxLayoutRecPtr TabPanelLayout = BoxLayout::create();
TabPanelLayout->setOrientation(BoxLayout::VERTICAL_ORIENTATION);
// Create and edit Panel
PanelRecPtr ExampleTabPanelPanel = Panel::create();
ExampleTabPanelPanel->setPreferredSize(Vec2f(180, 500));
ExampleTabPanelPanel->pushToChildren(ExampleTabPanelButton1);
ExampleTabPanelPanel->pushToChildren(ExampleTabPanelButton2);
ExampleTabPanelPanel->pushToChildren(ExampleTabPanelButton3);
ExampleTabPanelPanel->pushToChildren(ExampleTabPanelButton4);
ExampleTabPanelPanel->pushToChildren(ExampleTabPanelButton5);
ExampleTabPanelPanel->pushToChildren(ExampleTabPanelButton6);
ExampleTabPanelPanel->setLayout(TabPanelLayout);
TabPanelRecPtr ExampleTabPanel = TabPanel::create();
ExampleTabPanel->setPreferredSize(Vec2f(350,350));
ExampleTabPanel->addTab(ExampleTabButton1, ExampleTabContentA);
ExampleTabPanel->addTab(ExampleTabButton2, ExampleTabContentB);
ExampleTabPanel->addTab(ExampleTabButton3, ExampleTabContentC);
ExampleTabPanel->addTab(ExampleTabButton4, ExampleTabPanelPanel);
ExampleTabPanel->addTab(ExampleTabButton5, ExampleTabContentD);
ExampleTabPanel->addTab(ExampleTabButton6, ExampleTabContentE);
ExampleTabPanel->setTabAlignment(0.5f);
ExampleTabPanel->setTabPlacement(TabPanel::PLACEMENT_SOUTH);
//.........这里部分代码省略.........
示例8: createExecutionToolbar
void LuaDebuggerInterface::createExecutionToolbar(void)
{
//Execute Button
BoostPath ExecuteIconPath(_BaseIconDir / BoostPath("execute.png"));
BoostPath ExecuteDisabledIconPath(_BaseIconDir / BoostPath("execute-disabled.png"));
_ExecuteButton = Button::create();
_ExecuteButton->setPreferredSize(_ToolButtonSize);
_ExecuteButton->setImages(ExecuteIconPath.string());
_ExecuteButton->setDisabledImage(ExecuteDisabledIconPath.string());
_ExecuteButton->setAlignment(Vec2f(0.5f,0.5f));
_ExecuteButton->setToolTipText("Execute");
_ExecuteButton->connectActionPerformed(boost::bind(&LuaDebuggerInterface::executeScriptButtonAction,this));
//Step Into Button
BoostPath StepInIconPath(_BaseIconDir / BoostPath("basicstepinto.png"));
BoostPath StepInDisabledIconPath(_BaseIconDir / BoostPath("basicstepinto-disabled.png"));
_StepInButton = Button::create();
_StepInButton->setPreferredSize(_ToolButtonSize);
_StepInButton->setImages(StepInIconPath.string());
_StepInButton->setDisabledImage(StepInDisabledIconPath.string());
_StepInButton->setAlignment(Vec2f(0.5f,0.5f));
_StepInButton->setToolTipText("Step In");
//Step Out Button
BoostPath StepOutIconPath(_BaseIconDir / BoostPath("basicstepout.png"));
BoostPath StepOutDisabledIconPath(_BaseIconDir / BoostPath("basicstepout-disabled.png"));
_StepOutButton = Button::create();
_StepOutButton->setPreferredSize(_ToolButtonSize);
_StepOutButton->setImages(StepOutIconPath.string());
_StepOutButton->setDisabledImage(StepOutDisabledIconPath.string());
_StepOutButton->setAlignment(Vec2f(0.5f,0.5f));
_StepOutButton->setToolTipText("Step Out");
//Step Over Button
BoostPath StepOverIconPath(_BaseIconDir / BoostPath("basicstepover.png"));
BoostPath StepOverDisabledIconPath(_BaseIconDir / BoostPath("basicstepover-disabled.png"));
_StepOverButton = Button::create();
_StepOverButton->setPreferredSize(_ToolButtonSize);
_StepOverButton->setImages(StepOverIconPath.string());
_StepOverButton->setDisabledImage(StepOverDisabledIconPath.string());
_StepOverButton->setAlignment(Vec2f(0.5f,0.5f));
_StepOverButton->setToolTipText("Step Over");
//Stop Button
BoostPath StopExecutionIconPath(_BaseIconDir / BoostPath("stop.png"));
BoostPath StopExecutionDisabledIconPath(_BaseIconDir / BoostPath("stop-disabled.png"));
_StopExecutionButton = Button::create();
_StopExecutionButton->setPreferredSize(_ToolButtonSize);
_StopExecutionButton->setImages(StopExecutionIconPath.string());
_StopExecutionButton->setDisabledImage(StopExecutionDisabledIconPath.string());
_StopExecutionButton->setAlignment(Vec2f(0.5f,0.5f));
_StopExecutionButton->setToolTipText("Stop");
//Code Execution Toolbar
//Layout
FlowLayoutRecPtr ToolbarLayout = FlowLayout::create();
ToolbarLayout->setOrientation(FlowLayout::HORIZONTAL_ORIENTATION);
ToolbarLayout->setHorizontalGap(3.0f);
ToolbarLayout->setMajorAxisAlignment(0.0f);
ToolbarLayout->setMinorAxisAlignment(0.5);
_CodeExecutionToolbar = Panel::createEmpty();
_CodeExecutionToolbar->setPreferredSize(Vec2f(45.0f, 45.0f));
_CodeExecutionToolbar->setLayout(ToolbarLayout);
_CodeExecutionToolbar->pushToChildren(_ExecuteButton);
_CodeExecutionToolbar->pushToChildren(_StopExecutionButton);
_CodeExecutionToolbar->pushToChildren(_StepOverButton);
_CodeExecutionToolbar->pushToChildren(_StepInButton);
_CodeExecutionToolbar->pushToChildren(_StepOutButton);
updateExecutionToolbar();
}
示例9: 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
******************************************************/
BoxLayoutRecPtr MainInternalWindowLayout = BoxLayout::create();
FlowLayoutRecPtr LeftPanelLayout = FlowLayout::create();
BoxLayoutRecPtr RightPanelLayout = 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
******************************************************/
PanelRecPtr LeftPanel = Panel::createEmpty();
PanelRecPtr RightPanel = Panel::createEmpty();
// LeftPanel stuff
LeftPanel->setPreferredSize(Vec2f(400, 500));
LeftPanel->pushToChildren(LeftPanelLabel1);
PanelRecPtr LeftPanelButtonPanel = createLeftPanelButtonPanel();
LeftPanel->pushToChildren(LeftPanelButtonPanel);
PanelRecPtr LeftPanelRadioTextPanel = createLeftPanelRadioTextPanel();
LeftPanel->pushToChildren(LeftPanelRadioTextPanel);
LeftPanel->setLayout(LeftPanelLayout);
LeftPanel->setBackgrounds(GreyBackground);
LeftPanel->setBorders(Panel1Border);
//RightPanel stuff
RightPanel->setPreferredSize(Vec2f(200, 620));
PanelRecPtr RightPanelButtonPanel = createRightPanelButtonPanel();
RightPanel->pushToChildren(RightPanelButtonPanel);
PanelRecPtr RightPanelCheckPanel = createRightPanelCheckPanel(TorusNode,
SphereNode,
ConeNode,
BoxNode);
RightPanel->pushToChildren(RightPanelCheckPanel);
RightPanel->setLayout(RightPanelLayout);
RightPanel->setBackgrounds(GreyBackground);
RightPanel->setBorders(Panel2Border);
// Create The Main InternalWindow
InternalWindowRecPtr MainInternalWindow = 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);
示例10: main
int main(int argc, char **argv)
{
// OSG init
osgInit(argc,argv);
{
// Set up Window
WindowEventProducerRecPtr TutorialWindow = createNativeWindow();
TutorialWindow->initWindow();
// Create the SimpleSceneManager helper
SimpleSceneManager sceneManager;
TutorialWindow->setDisplayCallback(boost::bind(display, &sceneManager));
TutorialWindow->setReshapeCallback(boost::bind(reshape, _1, &sceneManager));
// Tell the Manager what to manage
sceneManager.setWindow(TutorialWindow);
TutorialWindow->connectKeyTyped(boost::bind(keyTyped, _1));
// 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();
ButtonRefPtr ExampleButton = OSG::Button::create();
ExampleButton->setMinSize(Vec2f(50, 25));
ExampleButton->setMaxSize(Vec2f(200, 100));
ExampleButton->setPreferredSize(Vec2f(100, 50));
ExampleButton->setText("Button 1");
// Create an ActionListener and assign it to ExampleButton
// This Class is defined above, and will cause the output
// window to display "Button 1 Action" when pressed
ExampleButton->connectActionPerformed(boost::bind(actionPerformed, _1));
//Toggle Button
ToggleButtonRefPtr ExampleToggleButton = OSG::ToggleButton::create();
ExampleToggleButton->setSelected(false);
ExampleToggleButton->setText("ToggleMe");
//Text Field
TextFieldRefPtr ExampleTextField = OSG::TextField::create();
//Password Field
PasswordFieldRefPtr ExamplePasswordField = OSG::PasswordField::create();
LayoutRefPtr MainLayout = OSG::FlowLayout::create();
//Panel
PanelRecPtr ExamplePanel = Panel::create();
ExamplePanel->setPreferredSize(Vec2f(200.0f,200.0f));
ExamplePanel->setLayout(MainLayout);
ExamplePanel->pushToChildren(ExampleTextField);
ExamplePanel->pushToChildren(ExamplePasswordField);
//Text Field 2
TextFieldRefPtr ExampleTextField2 = OSG::TextField::create();
// 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(ExampleButton);
MainInternalWindow->pushToChildren(ExampleToggleButton);
MainInternalWindow->pushToChildren(ExamplePanel);
MainInternalWindow->pushToChildren(ExampleTextField2);
MainInternalWindow->setLayout(MainLayout);
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);
TutorialDrawingSurface->openWindow(MainInternalWindow);
// Create the UI Foreground Object
UIForegroundRefPtr TutorialUIForeground = OSG::UIForeground::create();
TutorialUIForeground->setDrawingSurface(TutorialDrawingSurface);
sceneManager.setRoot(scene);
//.........这里部分代码省略.........
示例11: getTreeComponent
//.........这里部分代码省略.........
if(_AddForegroundButton == NULL)
{
_AddForegroundButton = MenuButton::create();
_AddForegroundButton->setText("+");
_AddForegroundButton->setToolTipText("Create new Foreground");
_AddForegroundButton->setPreferredSize(Vec2f(17.0f,17.0f));
_AddForegroundButton->setAlignment(Vec2f(0.5f,0.5f));
_AddForegroundButton->setFont(dynamic_pointer_cast<Label>(LabelComp)->getFont());
//Fill with all of the foreground types
DerivedFieldContainerComboBoxModelRecPtr MenuModel = DerivedFieldContainerComboBoxModel::create();
MenuModel->editMFDerivedFieldContainerTypes()->push_back(Foreground::getClassType().getCName());
MenuModel->setIncludeAbstract(false);
_AddForegroundButton->setModel(MenuModel);
//Connect
_AddForegroundConnection.disconnect();
_AddForegroundConnection = _AddForegroundButton->connectMenuActionPerformed(boost::bind(&SceneComponentTree::handleAddForeground, _SceneComponentTree, _1, _AddForegroundButton.get()));
}
SpringLayoutRecPtr TreeCompLayout = SpringLayout::create();
PanelRecPtr CompPanel = Panel::createEmpty();
TreeCompLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, LabelComp, 0, SpringLayoutConstraints::NORTH_EDGE, CompPanel);
TreeCompLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, LabelComp, 0, SpringLayoutConstraints::SOUTH_EDGE, CompPanel);
TreeCompLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, LabelComp, 0, SpringLayoutConstraints::EAST_EDGE, CompPanel);
TreeCompLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, LabelComp, 0, SpringLayoutConstraints::WEST_EDGE, CompPanel);
TreeCompLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _AddForegroundButton, -5, SpringLayoutConstraints::EAST_EDGE, CompPanel);
TreeCompLayout->putConstraint(SpringLayoutConstraints::VERTICAL_CENTER_EDGE, _AddForegroundButton, 0, SpringLayoutConstraints::VERTICAL_CENTER_EDGE, CompPanel);
CompPanel->setLayout(TreeCompLayout);
CompPanel->pushToChildren(LabelComp);
CompPanel->pushToChildren(_AddForegroundButton);
return ComponentTransitPtr(CompPanel);
}
break;
case SceneTreeModel::SceneObjectsComponent: //Models
{
if(_AddSceneObjectButton == NULL)
{
_AddSceneObjectButton = Button::create();
_AddSceneObjectButton->setText("+");
_AddSceneObjectButton->setToolTipText("Create new Scene Object");
_AddSceneObjectButton->setPreferredSize(Vec2f(17.0f,17.0f));
_AddSceneObjectButton->setAlignment(Vec2f(0.5f,0.5f));
_AddSceneObjectButton->setFont(dynamic_pointer_cast<Label>(LabelComp)->getFont());
//Connect
_AddSceneObjectConnection.disconnect();
_AddSceneObjectConnection = _AddSceneObjectButton->connectActionPerformed(boost::bind(&SceneComponentTree::handleAddSceneObject, _SceneComponentTree, _1));
}
SpringLayoutRecPtr TreeCompLayout = SpringLayout::create();
PanelRecPtr CompPanel = Panel::createEmpty();
TreeCompLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, LabelComp, 0, SpringLayoutConstraints::NORTH_EDGE, CompPanel);
TreeCompLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, LabelComp, 0, SpringLayoutConstraints::SOUTH_EDGE, CompPanel);
TreeCompLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, LabelComp, 0, SpringLayoutConstraints::EAST_EDGE, CompPanel);
TreeCompLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, LabelComp, 0, SpringLayoutConstraints::WEST_EDGE, CompPanel);
TreeCompLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _AddSceneObjectButton, -5, SpringLayoutConstraints::EAST_EDGE, CompPanel);
TreeCompLayout->putConstraint(SpringLayoutConstraints::VERTICAL_CENTER_EDGE, _AddSceneObjectButton, 0, SpringLayoutConstraints::VERTICAL_CENTER_EDGE, CompPanel);
示例12: main
int main(int argc, char **argv)
{
// OSG init
osgInit(argc,argv);
{
// Set up Window
WindowEventProducerRecPtr TutorialWindow = createNativeWindow();
TutorialWindow->initWindow();
// Create the SimpleSceneManager helper
SimpleSceneManager sceneManager;
TutorialWindow->setDisplayCallback(boost::bind(display, &sceneManager));
TutorialWindow->setReshapeCallback(boost::bind(reshape, _1, &sceneManager));
// Tell the Manager what to manage
sceneManager.setWindow(TutorialWindow);
// 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 = Node::create();
scene->setCore(Group::create());
scene->addChild(TorusGeometryNode);
// Create the Graphics
GraphicsRefPtr TutorialGraphics = Graphics2D::create();
// Initialize the LookAndFeelManager to enable default settings
LookAndFeelManager::the()->getLookAndFeel()->init();
TextEditorRefPtr theTextEditor = TextEditor::create();
theTextEditor->setPreferredSize(Vec2f(1000,700));
theTextEditor->setIsSplit(false);
theTextEditor->setClipboardVisible(false);
//Toggle Button for clipboard
ToggleButtonRefPtr ClipboardButton = ToggleButton::create();
ClipboardButton->setPreferredSize(Vec2f(80, 40));
ClipboardButton->setText("Clipboard");
ClipboardButton->connectButtonSelected(boost::bind(handleClipboardSelected,
_1,
theTextEditor.get()));
ClipboardButton->connectButtonDeselected(boost::bind(handleClipboardDeselected,
_1,
theTextEditor.get()));
//Toggle Button for split panel
ToggleButtonRefPtr SplitButton = ToggleButton::create();
SplitButton->setPreferredSize(Vec2f(80, 40));
SplitButton->setText("Split");
SplitButton->connectButtonSelected(boost::bind(handleSplitSelected,
_1,
theTextEditor.get()));
SplitButton->connectButtonDeselected(boost::bind(handleSplitDeselected,
_1,
theTextEditor.get()));
ButtonRefPtr LoadButton = Button::create();
LoadButton->setMinSize(Vec2f(50, 25));
LoadButton->setMaxSize(Vec2f(200, 100));
LoadButton->setPreferredSize(Vec2f(80, 40));
LoadButton->setToolTipText("Click to open a file browser window");
LoadButton->setText("Load File");
LoadButton->connectActionPerformed(boost::bind(handleLoadButtonAction, _1, TutorialWindow.get(), theTextEditor.get()));
ButtonRefPtr SaveButton = Button::create();
SaveButton->setMinSize(Vec2f(50, 25));
SaveButton->setMaxSize(Vec2f(200, 100));
SaveButton->setPreferredSize(Vec2f(80, 40));
SaveButton->setToolTipText("Click to save the currently opened file");
SaveButton->setText("Save File");
SaveButton->connectActionPerformed(boost::bind(handleSaveButtonAction, _1, TutorialWindow.get(),theTextEditor.get()));
//Button Panel
LayoutRefPtr ButtonPanelLayout = FlowLayout::create();
PanelRecPtr ButtonPanel = Panel::createEmpty();
ButtonPanel->setPreferredSize(Vec2f(300, 300));
ButtonPanel->setLayout(ButtonPanelLayout);
ButtonPanel->pushToChildren(LoadButton);
ButtonPanel->pushToChildren(SaveButton);
ButtonPanel->pushToChildren(SplitButton);
ButtonPanel->pushToChildren(ClipboardButton);
// Create The Main InternalWindow
// Create Background to be used with the Main InternalWindow
ColorLayerRefPtr MainInternalWindowBackground = ColorLayer::create();
MainInternalWindowBackground->setColor(Color4f(1.0,1.0,1.0,0.5));
LayoutRefPtr MainInternalWindowLayout = FlowLayout::create();
InternalWindowRefPtr MainInternalWindow = InternalWindow::create();
//MainInternalWindow->pushToChildren(TextAreaScrollPanel);
//.........这里部分代码省略.........
示例13: main
//.........这里部分代码省略.........
NodeCenterLabel->setPreferredSize(Vec2f(100.0f, 20.0f));
LabelRecPtr NodeCenterValueLabel = Label::create();
NodeCenterValueLabel->setPreferredSize(Vec2f(300.0f, 20.0f));
LabelRecPtr NodeTriCountLabel = Label::create();
NodeTriCountLabel->setText("TriCount");
NodeTriCountLabel->setPreferredSize(Vec2f(100.0f, 20.0f));
LabelRecPtr NodeTriCountValueLabel = Label::create();
NodeTriCountValueLabel->setPreferredSize(Vec2f(300.0f, 20.0f));
LabelRecPtr NodeTravMaskLabel = Label::create();
NodeTravMaskLabel->setText("Traversal Mask");
NodeTravMaskLabel->setPreferredSize(Vec2f(100.0f, 20.0f));
LabelRecPtr NodeTravMaskValueLabel = Label::create();
NodeTravMaskValueLabel->setPreferredSize(Vec2f(300.0f, 20.0f));
//Details Panel
BorderLayoutConstraintsRecPtr NodeDetailPanelConstraints = BorderLayoutConstraints::create();
NodeDetailPanelConstraints->setRegion(BorderLayoutConstraints::BORDER_SOUTH);
GridLayoutRecPtr NodeDetailPanelLayout = GridLayout::create();
NodeDetailPanelLayout->setRows(7);
NodeDetailPanelLayout->setColumns(2);
NodeDetailPanelLayout->setHorizontalGap(2);
NodeDetailPanelLayout->setVerticalGap(2);
PanelRecPtr 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);
SelectionHandler TheTreeSelectionHandler(TheTree,
&sceneManager,
NodeNameValueLabel,
NodeCoreTypeValueLabel,
NodeMinValueLabel,
NodeMaxValueLabel,
NodeCenterValueLabel,
NodeTriCountValueLabel,
NodeTravMaskValueLabel);
// Create The Main InternalWindow
// Create Background to be used with the Main InternalWindow
ColorLayerRecPtr MainInternalWindowBackground = ColorLayer::create();
MainInternalWindowBackground->setColor(Color4f(1.0,1.0,1.0,0.5));
LayoutRecPtr MainInternalWindowLayout = BorderLayout::create();
InternalWindowRecPtr MainInternalWindow = InternalWindow::create();
MainInternalWindow->pushToChildren(ExampleScrollPanel);
示例14: main
//.........这里部分代码省略.........
ShowSingleFieldsButton->setAlignment(Vec2f(0.0f,0.5f));
ShowPtrFieldsButton->setText("Ptr Fields");
ShowPtrFieldsButton->setPreferredSize(Vec2f(120.0f,ShowPtrFieldsButton->getPreferredSize().y()));
ShowPtrFieldsButton->setAlignment(Vec2f(0.0f,0.5f));
ShowDataFieldsButton->setText("Data Fields");
ShowDataFieldsButton->setPreferredSize(Vec2f(120.0f,ShowDataFieldsButton->getPreferredSize().y()));
ShowDataFieldsButton->setAlignment(Vec2f(0.0f,0.5f));
ShowParentPtrFieldsButton->setText("ParentPtr Fields");
ShowParentPtrFieldsButton->setPreferredSize(Vec2f(120.0f,ShowParentPtrFieldsButton->getPreferredSize().y()));
ShowParentPtrFieldsButton->setAlignment(Vec2f(0.0f,0.5f));
ShowChildPtrFieldsButton->setText("ChildPtr Fields");
ShowChildPtrFieldsButton->setPreferredSize(Vec2f(120.0f,ShowChildPtrFieldsButton->getPreferredSize().y()));
ShowChildPtrFieldsButton->setAlignment(Vec2f(0.0f,0.5f));
ShowAttachmentsButton->setText("Attachments");
ShowAttachmentsButton->setPreferredSize(Vec2f(120.0f,ShowAttachmentsButton->getPreferredSize().y()));
ShowAttachmentsButton->setAlignment(Vec2f(0.0f,0.5f));
ShowCallbackFunctorsButton->setText("Callback Functors");
ShowCallbackFunctorsButton->setPreferredSize(Vec2f(120.0f,ShowCallbackFunctorsButton->getPreferredSize().y()));
ShowCallbackFunctorsButton->setAlignment(Vec2f(0.0f,0.5f));
ShowInternalFieldsButton->setText("Internal Fields");
ShowInternalFieldsButton->setPreferredSize(Vec2f(120.0f,ShowInternalFieldsButton->getPreferredSize().y()));
ShowInternalFieldsButton->setAlignment(Vec2f(0.0f,0.5f));
ShowCheckboxesController CheckboxesController(TheTreeModel,
ShowMultiFieldsButton,
ShowSingleFieldsButton,
ShowPtrFieldsButton,
ShowDataFieldsButton,
ShowParentPtrFieldsButton,
ShowChildPtrFieldsButton,
ShowAttachmentsButton,
ShowCallbackFunctorsButton,
ShowInternalFieldsButton);
PanelRecPtr OptionsPanel = Panel::create();
FlowLayoutRecPtr OptionsPanelLayout = FlowLayout::create();
OptionsPanel->setLayout(OptionsPanelLayout);
OptionsPanel->setPreferredSize(Vec2f(250.0f, 300.0f));
OptionsPanel->pushToChildren(ShowMultiFieldsButton);
OptionsPanel->pushToChildren(ShowSingleFieldsButton);
OptionsPanel->pushToChildren(ShowPtrFieldsButton);
OptionsPanel->pushToChildren(ShowDataFieldsButton);
OptionsPanel->pushToChildren(ShowInternalFieldsButton);
OptionsPanel->pushToChildren(ShowParentPtrFieldsButton);
OptionsPanel->pushToChildren(ShowChildPtrFieldsButton);
OptionsPanel->pushToChildren(ShowAttachmentsButton);
OptionsPanel->pushToChildren(ShowCallbackFunctorsButton);
InternalWindowRecPtr MainInternalWindow = InternalWindow::create();
MainInternalWindow->pushToChildren(ExampleScrollPanel);
MainInternalWindow->pushToChildren(OptionsPanel);
MainInternalWindow->setLayout(MainInternalWindowLayout);
MainInternalWindow->setBackgrounds(MainInternalWindowBackground);
MainInternalWindow->setAlignmentInDrawingSurface(Vec2f(0.5f,0.5f));
MainInternalWindow->setScalingInDrawingSurface(Vec2f(0.85f,0.85f));
MainInternalWindow->setDrawTitlebar(false);
MainInternalWindow->setResizable(false);
setName(MainInternalWindow, std::string("MainInternalWindow"));
// Create the Drawing Surface
UIDrawingSurfaceRecPtr TutorialDrawingSurface = UIDrawingSurface::create();
TutorialDrawingSurface->setGraphics(TutorialGraphics);
TutorialDrawingSurface->setEventProducer(TutorialWindow);
TutorialDrawingSurface->openWindow(MainInternalWindow);
TutorialDrawingSurface->openWindow(StoreWindows.back());
// Create the UI Foreground Object
UIForegroundRecPtr TutorialUIForeground = UIForeground::create();
TutorialUIForeground->setDrawingSurface(TutorialDrawingSurface);
// Tell the Manager what to manage
sceneManager.setRoot(Root);
// Add the UI Foreground Object to the Scene
ViewportRecPtr TutorialViewport = sceneManager.getWindow()->getPort(0);
TutorialViewport->addForeground(TutorialUIForeground);
// Show the whole Scene
sceneManager.showAll();
//Open Window
Vec2f WinSize(TutorialWindow->getDesktopSize() * 0.85f);
Pnt2f WinPos((TutorialWindow->getDesktopSize() - WinSize) *0.5);
TutorialWindow->openWindow(WinPos,
WinSize,
"56FieldContainerTree");
//Enter main Loop
TutorialWindow->mainLoop();
}
osgExit();
return 0;
}
示例15: createEventToolTip
ComponentTransitPtr GenericFieldContainerEditor::createEventToolTip(const EventDescription *EventDesc)
{
std::string FieldDoc(doxygenToPlainFormatting(EventDesc->getDescription()));
//TypeName
LabelRecPtr TypeLabel = Label::create();
TypeLabel->setText(EventDesc->getName());
TypeLabel->setAlignment(Vec2f(0.5f,0.5f));
TypeLabel->setBackgrounds(NULL);
//Separator
SeparatorRecPtr MainSeparator = Separator::create();
MainSeparator->setOrientation(Separator::HORIZONTAL_ORIENTATION);
MainSeparator->setSeparatorSize(1.0f);
MainSeparator->setPreferredSize(Vec2f(1.0f,5.0f));
MainSeparator->setBackgrounds(NULL);
//Consumable Label
LabelRecPtr ConsumableLabel = Label::create();
ConsumableLabel->setText(EventDesc->getConsumable() ? "Consumable" : "Not Consumable");
ConsumableLabel->setAlignment(Vec2f(0.0f,0.5f));
ConsumableLabel->setBackgrounds(NULL);
//Set the layout constraints
BorderLayoutConstraintsRecPtr CenterConstraints = BorderLayoutConstraints::create();
CenterConstraints->setRegion(BorderLayoutConstraints::BORDER_CENTER);
//Description Panel
LabelRecPtr DescriptionLabel = Label::create();
DescriptionLabel->setText("Description:");
DescriptionLabel->setBackgrounds(NULL);
TextAreaRecPtr DescriptionTextArea = TextArea::create();
DescriptionTextArea->setText(FieldDoc);
DescriptionTextArea->setEditable(false);
DescriptionTextArea->setBorders(NULL);
DescriptionTextArea->setBackgrounds(NULL);
DescriptionTextArea->setConstraints(CenterConstraints);
//Description Panel
PanelRecPtr DescriptionPanel = Panel::create();
BorderLayoutRecPtr DescriptionPanelLayout = BorderLayout::create();
DescriptionPanel->setAllInsets(5.0f);
DescriptionPanel->setLayout(DescriptionPanelLayout);
DescriptionPanel->pushToChildren(DescriptionTextArea);
DescriptionPanel->setBackgrounds(NULL);
//ToolTip Layout
PanelRecPtr ToolTipPanel = Panel::createEmpty();
SpringLayoutRecPtr MainLayout = SpringLayout::create();
//TypeLabel
MainLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, TypeLabel, 5,
SpringLayoutConstraints::NORTH_EDGE, ToolTipPanel);
MainLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, TypeLabel, -5,
SpringLayoutConstraints::EAST_EDGE, ToolTipPanel);
MainLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, TypeLabel, 5,
SpringLayoutConstraints::WEST_EDGE, ToolTipPanel);
//MainSeparator
MainLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, MainSeparator, 1,
SpringLayoutConstraints::SOUTH_EDGE, TypeLabel);
MainLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, MainSeparator, -15,
SpringLayoutConstraints::EAST_EDGE, ToolTipPanel);
MainLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, MainSeparator, 15,
SpringLayoutConstraints::WEST_EDGE, ToolTipPanel);
//ConsumableLabel
MainLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, ConsumableLabel, 1,
SpringLayoutConstraints::NORTH_EDGE, MainSeparator);
MainLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, ConsumableLabel, -5,
SpringLayoutConstraints::EAST_EDGE, ToolTipPanel);
MainLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, ConsumableLabel, 5,
SpringLayoutConstraints::WEST_EDGE, ToolTipPanel);
//DescriptionTextArea
MainLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, DescriptionLabel, 5,
SpringLayoutConstraints::SOUTH_EDGE, ConsumableLabel);
MainLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, DescriptionLabel, -5,
SpringLayoutConstraints::EAST_EDGE, ToolTipPanel);
MainLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, DescriptionLabel, 5,
SpringLayoutConstraints::WEST_EDGE, ToolTipPanel);
//DescriptionTextArea
MainLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, DescriptionPanel, 1,
SpringLayoutConstraints::SOUTH_EDGE, DescriptionLabel);
MainLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, DescriptionPanel, -5,
SpringLayoutConstraints::SOUTH_EDGE, ToolTipPanel);
MainLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, DescriptionPanel, -5,
SpringLayoutConstraints::EAST_EDGE, ToolTipPanel);
MainLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, DescriptionPanel, 5,
SpringLayoutConstraints::WEST_EDGE, ToolTipPanel);
//ToolTip Panel
Component* DefaultToolTip(LookAndFeelManager::the()->getLookAndFeel()->getDefaultToolTip());
ToolTipPanel->setBorders(DefaultToolTip->getBorder());
ToolTipPanel->setBackgrounds(DefaultToolTip->getBackground());
ToolTipPanel->setForegrounds(DefaultToolTip->getForeground());
//.........这里部分代码省略.........