本文整理汇总了C++中PanelRecPtr类的典型用法代码示例。如果您正苦于以下问题:C++ PanelRecPtr类的具体用法?C++ PanelRecPtr怎么用?C++ PanelRecPtr使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PanelRecPtr类的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: 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();
//Background
SolidBackgroundRefPtr TutorialBackground = SolidBackground::create();
TutorialBackground->setColor(Color3f(1.0,0.0,0.0));
UndoManagerPtr TheUndoManager = UndoManager::create();
CommandManagerPtr TheCommandManager = CommandManager::create(TheUndoManager);
//UndoList
DefaultListModelRecPtr UndoRedoListModel = DefaultListModel::create();
UndoRedoListModel->pushBack(boost::any(std::string("Top")));
ListRecPtr UndoRedoList = List::create();
UndoRedoList->setPreferredSize(Vec2f(250, 300));
UndoRedoList->setOrientation(List::VERTICAL_ORIENTATION);
UndoRedoList->setModel(UndoRedoListModel);
UndoRedoList->getSelectionModel()->connectSelectionChanged(boost::bind(&handleUndoRedoListSelectionChanged, _1, TheUndoManager));
ButtonRecPtr UndoButton = OSG::Button::create();
UndoButton->setText("Undo");
UndoButton->setEnabled(false);
UndoButton->connectActionPerformed(boost::bind(&handleUndoButtonAction, _1, TheUndoManager));
ButtonRecPtr RedoButton = OSG::Button::create();
RedoButton->setText("Redo");
RedoButton->setEnabled(false);
RedoButton->connectActionPerformed(boost::bind(&handleRedoButtonActionPerformed, _1, TheUndoManager));
TheUndoManager->connectStateChanged(boost::bind(&handleUndoManagerStateChanged, _1, UndoButton.get(), RedoButton.get(), UndoRedoListModel.get(), TheUndoManager));
// 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);
//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));
//.........这里部分代码省略.........
示例5: 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);
}
示例6: 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);
//.........这里部分代码省略.........
示例7: FieldDoc
ComponentTransitPtr GenericFieldContainerEditor::createFCToolTip(const FieldContainerType &FCType)
{
std::string FieldDoc(doxygenToPlainFormatting(FCType.getDocumentation()));
//TypeName
LabelRecPtr TypeLabel = Label::create();
TypeLabel->setText(FCType.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);
//Inheritance Panel Layout
//LabelRecPtr InheritanceLabel = Label::create();
//InheritanceLabel->setText("Inheritance");
//FlowLayoutRecPtr InheritancePanelLayout = FlowLayout::create();
//InheritancePanelLayout->setOrientation(FlowLayout::VERTICAL_ORIENTATION);
//InheritancePanelLayout->setVerticalGap(3.0f);
//InheritancePanelLayout->setMajorAxisAlignment(0.0f);
//InheritancePanelLayout->setMinorAxisAlignment(0.5f);
//InheritancePanelLayout->setComponentAlignment(0.5f);
////Inheritance Panel
//PanelRecPtr InheritancePanel = Panel::createEmpty();
//InheritancePanel->setAllInsets(5.0f);
//InheritancePanel->setLayout(InheritancePanelLayout);
//const TypeBase *ParentType(&FCType);
////while()
////{
////ToolTipPanel->pushToChildren(DescriptionTextArea);
////}
//LabelRecPtr TypeNameLabel = Label::create();
//TypeNameLabel->setText(FCType.getName());
//TypeNameLabel->setAlignment(Vec2f(0.5f,0.5f));
//InheritancePanel->pushToChildren(TypeNameLabel);
//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);
////InheritancePanel
//MainLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, InheritanceLabel, 1,
//SpringLayoutConstraints::SOUTH_EDGE, MainSeparator);
//MainLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, InheritanceLabel, 0,
//SpringLayoutConstraints::EAST_EDGE, ToolTipPanel);
//MainLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, InheritanceLabel, 0,
//SpringLayoutConstraints::WEST_EDGE, ToolTipPanel);
////InheritancePanel
//MainLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, InheritancePanel, 1,
//.........这里部分代码省略.........
示例8: 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);
//.........这里部分代码省略.........
示例9: if
//.........这里部分代码省略.........
Text = std::string(Name ? Name : "No Name" ) + " [" + SceneLight->getType().getName() + "]";
}
ComponentRecPtr LabelComp = getTreeComponentText(Parent, Text, IsSelected, Expanded, Leaf, Row, HasFocus);
if(Value.type() == typeid(UInt32))
{
switch(boost::any_cast<UInt32>(Value))
{
case SceneTreeModel::ForegroundsComponent: //Foregrounds
{
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));
}
示例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);
// 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);
//.........这里部分代码省略.........
示例11: 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(keyPressed, _1));
NodeRecPtr Root(NULL);
if(argc == 2)
{
Root = SceneFileHandler::the()->read(argv[1]);
}
if(Root == NULL)
{
// Make Torus Node (creates Torus in background of Root)
NodeRecPtr TorusGeometryNode = makeTorus(.5, 2, 16, 16);
setName(TorusGeometryNode, std::string("Torus"));
NodeRecPtr TorusNode = Node::create();
TorusNode->setCore(Transform::create());
TorusNode->addChild(TorusGeometryNode);
setName(TorusNode, std::string("Torus Transform"));
NodeRecPtr SphereGeometryNode = makeSphere(2,1.0f);
setName(SphereGeometryNode, std::string("Sphere"));
NodeRecPtr BoxGeometryNode = makeBox(1.0,1.0,1.0,1,1,1);
setName(BoxGeometryNode, std::string("Box"));
// Make Main Scene Node and add the Torus
Root = Node::create();
Root->setCore(Group::create());
Root->addChild(TorusNode);
Root->addChild(SphereGeometryNode);
Root->addChild(BoxGeometryNode);
setName(Root, std::string("Root"));
}
// Create the Graphics
GraphicsRecPtr TutorialGraphics = Graphics2D::create();
// Initialize the LookAndFeelManager to enable default settings
LookAndFeelManager::the()->getLookAndFeel()->init();
//Tree Model
SceneGraphTreeModelRecPtr TheTreeModel = SceneGraphTreeModel::create();
TheTreeModel->setRoot(Root);
//Create the Tree
TreeRecPtr TheTree = Tree::create();
TheTree->setPreferredSize(Vec2f(100, 500));
TheTree->setModel(TheTreeModel);
// Create a ScrollPanel for easier viewing of the List (see 27ScrollPanel)
BorderLayoutConstraintsRecPtr SceneTreeConstraints = BorderLayoutConstraints::create();
SceneTreeConstraints->setRegion(BorderLayoutConstraints::BORDER_WEST);
ScrollPanelRecPtr ExampleScrollPanel = ScrollPanel::create();
ExampleScrollPanel->setPreferredSize(Vec2f(350,300));
ExampleScrollPanel->setConstraints(SceneTreeConstraints);
//ExampleScrollPanel->setHorizontalResizePolicy(ScrollPanel::RESIZE_TO_VIEW);
//ExampleScrollPanel->setVerticalResizePolicy(ScrollPanel::RESIZE_TO_VIEW);
ExampleScrollPanel->setViewComponent(TheTree);
//Details Panel Labels
LabelRecPtr NodeNameLabel = Label::create();
NodeNameLabel->setText("Name");
NodeNameLabel->setPreferredSize(Vec2f(100.0f, 20.0f));
LabelRecPtr NodeNameValueLabel = Label::create();
NodeNameValueLabel->setPreferredSize(Vec2f(300.0f, 20.0f));
LabelRecPtr NodeCoreTypeLabel = Label::create();
NodeCoreTypeLabel->setText("Core Type");
NodeCoreTypeLabel->setPreferredSize(Vec2f(100.0f, 20.0f));
LabelRecPtr NodeCoreTypeValueLabel = Label::create();
NodeCoreTypeValueLabel->setPreferredSize(Vec2f(300.0f, 20.0f));
LabelRecPtr NodeMinLabel = Label::create();
NodeMinLabel->setText("Min");
NodeMinLabel->setPreferredSize(Vec2f(100.0f, 20.0f));
LabelRecPtr NodeMinValueLabel = Label::create();
NodeMinValueLabel->setPreferredSize(Vec2f(300.0f, 20.0f));
//.........这里部分代码省略.........
示例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);
TutorialWindow->connectKeyTyped(boost::bind(keyPressed, _1));
NodeRecPtr Root(NULL);
if(argc == 2)
{
Root = SceneFileHandler::the()->read(argv[1]);
}
if(Root == NULL)
{
// Make Torus Node (creates Torus in background of Root)
NodeRecPtr TorusGeometryNode = makeTorus(.5, 2, 16, 16);
NodeRecPtr TorusNode = Node::create();
TorusNode->setCore(Transform::create());
TorusNode->addChild(TorusGeometryNode);
NodeRecPtr SphereGeometryNode = makeSphere(2,1.0f);
NodeRecPtr BoxGeometryNode = makeBox(1.0,1.0,1.0,1,1,1);
// Make Main Scene Node and add the Torus
Root = Node::create();
Root->setCore(Group::create());
Root->addChild(TorusNode);
Root->addChild(SphereGeometryNode);
Root->addChild(BoxGeometryNode);
}
// Create the Graphics
GraphicsRecPtr TutorialGraphics = Graphics2D::create();
// Initialize the LookAndFeelManager to enable default settings
LookAndFeelManager::the()->getLookAndFeel()->init();
// 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 = FlowLayout::create();
//Import InternalWindow(s) from XML file
std::vector<InternalWindowRecPtr> StoreWindows;
FCFileType::FCPtrStore NewContainers;
NewContainers = FCFileHandler::the()->read(BoostPath("./Data/55ComponentTree.xml"));
//Store each window found in the XML in the vector
FCFileType::FCPtrStore::iterator Itor;
for(Itor = NewContainers.begin(); Itor != NewContainers.end(); ++Itor)
{
if( (*Itor)->getType() == (InternalWindow::getClassType()))
{
StoreWindows.push_back(dynamic_pointer_cast<InternalWindow>(*Itor));
}
}
//Tree Model
FieldContainerTreeModelRecPtr TheTreeModel = FieldContainerTreeModel::create();
TheTreeModel->setRoot(StoreWindows.front());
//TheTreeModel->setShowPtrFields(false);
//TheTreeModel->setShowDataFields(false);
//TheTreeModel->setShowParentPtrFields(false);
//TheTreeModel->setShowChildPtrFields(false);
TheTreeModel->setShowAttachments(false);
//TheTreeModel->setShowCallbackFunctors(false);
//Tree Component Generator
FieldContainerFieldPathComponentGeneratorRecPtr TheTreeComponentGenerator = FieldContainerFieldPathComponentGenerator::create();
//Create the Tree
TreeRecPtr TheTree = Tree::create();
TheTree->setPreferredSize(Vec2f(100, 500));
TheTree->setRootVisible(true);
TheTree->setModel(TheTreeModel);
TheTree->setCellGenerator(TheTreeComponentGenerator);
setName(TheTree, std::string("TheTree"));
// Create a ScrollPanel for easier viewing of the List (see 27ScrollPanel)
ScrollPanelRecPtr ExampleScrollPanel = ScrollPanel::create();
ExampleScrollPanel->setPreferredSize(Vec2f(350,500));
//ExampleScrollPanel->setHorizontalResizePolicy(ScrollPanel::RESIZE_TO_VIEW);
//.........这里部分代码省略.........
示例13: 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);
}
示例14: main
//.........这里部分代码省略.........
LabelRecPtr LeftPanelLabel1 = Label::create();
UIFontRecPtr LeftPanelLabel1Font = UIFont::create();
LeftPanelLabel1Font->setSize(50);
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);
示例15: createLeftPanelButtonPanel
PanelTransitPtr createLeftPanelButtonPanel(void)
{
// Create Label for this Panel
LabelRecPtr LeftPanelButtonPanelLabel = Label::create();
LeftPanelButtonPanelLabel->setTextColor(Color4f(1.0,1.0,1.0,1.0));
LeftPanelButtonPanelLabel->setRolloverTextColor(Color4f(1.0,1.0,1.0,1.0));
LayerRecPtr ComplexBackground = createComplexBackground();
LeftPanelButtonPanelLabel->setBackground(ComplexBackground);
LeftPanelButtonPanelLabel->setPreferredSize(Vec2f(100, 50));
LeftPanelButtonPanelLabel->setText("Various Options");
LeftPanelButtonPanelLabel->setAlignment(Vec2f(0.5,0.5));
// Create and edit the Panel buttons
ButtonRecPtr LeftPanelButton1 = Button::create();
ButtonRecPtr LeftPanelButton2 = Button::create();
ButtonRecPtr LeftPanelButton3 = Button::create();
ButtonRecPtr LeftPanelButton4 = Button::create();
ButtonRecPtr LeftPanelButton5 = Button::create();
ButtonRecPtr LeftPanelButton6 = 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
BoxLayoutRecPtr LeftPanelButtonPanelLayout = BoxLayout::create();
LeftPanelButtonPanelLayout->setOrientation(BoxLayout::VERTICAL_ORIENTATION);
// Create an edit Panel Background
ColorLayerRecPtr LeftPanelButtonPanelBackground = ColorLayer::create();
LeftPanelButtonPanelBackground->setColor(Color4f(0.93,0.93,0.93,1.0));
// Create Panel Border
LineBorderRecPtr LeftPanelBorder = LineBorder::create();
LeftPanelBorder->setColor(Color4f(0.0,0.0,0.0,1.0));
LeftPanelBorder->setWidth(1);
// Create and edit Panel
PanelRecPtr LeftPanelButtonPanel = Panel::createEmpty();
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 PanelTransitPtr(LeftPanelButtonPanel);
}