本文整理汇总了C++中LabelRefPtr类的典型用法代码示例。如果您正苦于以下问题:C++ LabelRefPtr类的具体用法?C++ LabelRefPtr怎么用?C++ LabelRefPtr使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了LabelRefPtr类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addIntrospectionTreeTab
void LuaDebuggerInterface::addIntrospectionTreeTab(TabPanel* const tabPanel)
{
LuaIntrospectionTreeModelRecPtr LuaIntroTreeModel = LuaIntrospectionTreeModel::create();
LuaIntroTreeModel->setRoot("");
LuaIntrospectionComponentGeneratorRecPtr LuaIntroTreeComponentGenerator = LuaIntrospectionComponentGenerator::create();
//Create the Tree
TreeRecPtr TheTree = Tree::create();
TheTree->setPreferredSize(Vec2f(200, 500));
TheTree->setModel(LuaIntroTreeModel);
TheTree->setCellGenerator(LuaIntroTreeComponentGenerator);
TheTree->connectKeyTyped(boost::bind(&LuaDebuggerInterface::handleUpdateTreeEvent,
this,
_1,
TheTree.get(),
LuaIntroTreeModel.get()));
//Layout Expansion
TheTree->expandPath(LuaIntroTreeModel->getRootPath());
// Create a ScrollPanel for easier viewing of the List (see 27ScrollPanel)
ScrollPanelRefPtr TreeScrollPanel = ScrollPanel::create();
TreeScrollPanel->setPreferredSize(Vec2f(200,300));
TreeScrollPanel->setHorizontalResizePolicy(ScrollPanel::RESIZE_TO_VIEW);
TreeScrollPanel->setViewComponent(TheTree);
LabelRefPtr IntrospectionTreeTabLabel = Label::create();
IntrospectionTreeTabLabel->setText("Variable Introspection");
tabPanel->addTab(IntrospectionTreeTabLabel, TreeScrollPanel);
}
示例2: updateChildren
void ColorChooser::updateChildren(void)
{
if(getMFInternalChooserPanels()->size() > 1)
{
if(_LayoutTabPanel == NULL)
{
_LayoutTabPanel = TabPanel::create();
}
_LayoutTabPanel->removeAllTabs();
LabelRefPtr TabLabel;
for(UInt32 i(0) ; i<getMFInternalChooserPanels()->size() ; ++i)
{
TabLabel = Label::create();
TabLabel->setText(getInternalChooserPanels(i)->getDisplayText());
TabLabel->setBorders(NULL);
TabLabel->setBackgrounds(NULL);
_LayoutTabPanel->addTab(TabLabel, getInternalChooserPanels(i));
}
_LayoutTabPanel->setSelectedIndex(0);
clearChildren();
pushToChildren(_LayoutTabPanel);
if(getPreviewPanel() != NULL)
{
pushToChildren(getPreviewPanel());
}
else
{
pushToChildren(_DefaultPreviewPanel);
}
}
else if(getMFInternalChooserPanels()->size() == 1)
{
if(_LayoutTabPanel != NULL)
{
_LayoutTabPanel = NULL;
}
clearChildren();
pushToChildren(getMFInternalChooserPanels()->front());
if(getPreviewPanel() != NULL)
{
pushToChildren(getPreviewPanel());
}
else
{
pushToChildren(_DefaultPreviewPanel);
}
}
}
示例3: createStandardLabels
FieldContainerMap Slider::createStandardLabels(UInt32 increment, Int32 start)
{
FieldContainerMap NewMap;
for(Int32 i(start) ; i<=getMaximum() ; i += increment)
{
LabelRefPtr NewLabel;
NewLabel = dynamic_pointer_cast<Label>(getLabelPrototype()->shallowCopy());
std::stringstream TempSStream;
TempSStream << i;
NewLabel->setText(TempSStream.str());
NewMap[i] = NewLabel;
}
return NewMap;
}
示例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: BreakpointIconPath
void LuaDebuggerInterface::createCodeEditor(void)
{
//Create the Breakpoint images
BoostPath BreakpointIconPath(_BaseIconDir / BoostPath("breakpoint.png")),
BreakpointDisabledIconPath(_BaseIconDir / BoostPath("breakpoint-disabled.png")),
BreakpointConditionalIconPath(_BaseIconDir / BoostPath("breakpoint-conditional.png")),
BreakpointConditionalDisabledIconPath(_BaseIconDir / BoostPath("breakpoint-conditional-disabled.png")),
BreakpointCountIconPath(_BaseIconDir / BoostPath("breakpoint-count.png")),
BreakpointCountDisabledIconPath(_BaseIconDir / BoostPath("breakpoint-count-disabled.png"));
//Breakpoint Button prototypes
//Regular Breakpoint
ButtonRecPtr BreakpointProtoButton = Button::create();
BreakpointProtoButton->setPreferredSize(Vec2f(18.0f, 18.0f));
BreakpointProtoButton->setImages(BreakpointIconPath.string());
BreakpointProtoButton->setDisabledImage(BreakpointDisabledIconPath.string());
BreakpointProtoButton->setBorders(NULL);
BreakpointProtoButton->setBackgrounds(NULL);
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);
//.........这里部分代码省略.........
示例6: setName
void LuaDebuggerInterface::createUtilTabs(void)
{
//Create the Error Text Area
_ErrorTextArea = TextArea::create();
_ErrorTextArea->setPreferredSize(Vec2f(600, 150));
_ErrorTextArea->setText("");
_ErrorTextArea->setMinSize(Vec2f(300, 150));
_ErrorTextArea->setFont(_CodeFont);
_ErrorTextArea->setTextColors(Color4f(0.2,0.0,0.0,1.0));
_ErrorTextArea->setEditable(false);
setName(_ErrorTextArea,"Error TextArea");
TheLuaManager->connectLuaError(boost::bind(&LuaDebuggerInterface::handlLuaError,
this,
_1));
// Create a ScrollPanel
ScrollPanelRefPtr ErrorAreaScrollPanel = ScrollPanel::create();
ErrorAreaScrollPanel->setPreferredSize(Vec2f(200,150));
ErrorAreaScrollPanel->setHorizontalResizePolicy(ScrollPanel::RESIZE_TO_VIEW);
// Add the TextArea to the ScrollPanel so it is displayed
ErrorAreaScrollPanel->setViewComponent(_ErrorTextArea);
//Create the StackTrace Text Area
_StackTraceTextArea = TextArea::create();
_StackTraceTextArea->setPreferredSize(Vec2f(600, 150));
_StackTraceTextArea->setText("");
_StackTraceTextArea->setMinSize(Vec2f(300, 150));
_StackTraceTextArea->setFont(_CodeFont);
_StackTraceTextArea->setTextColors(Color4f(0.2,0.0,0.0,1.0));
_StackTraceTextArea->setEditable(false);
setName(_StackTraceTextArea,"Stack Trace TextArea");
// Create a ScrollPanel
ScrollPanelRefPtr StackTraceAreaScrollPanel = ScrollPanel::create();
StackTraceAreaScrollPanel->setPreferredSize(Vec2f(200,150));
StackTraceAreaScrollPanel->setHorizontalResizePolicy(ScrollPanel::RESIZE_TO_VIEW);
// Add the TextArea to the ScrollPanel so it is displayed
StackTraceAreaScrollPanel->setViewComponent(_StackTraceTextArea);
//Create the Message Text Area
_MessageTextArea = TextArea::create();
_MessageTextArea->setPreferredSize(Vec2f(600, 150));
_MessageTextArea->setText("");
_MessageTextArea->setMinSize(Vec2f(300, 150));
_MessageTextArea->setFont(_CodeFont);
_MessageTextArea->setTextColors(Color4f(0.2,0.0,0.0,1.0));
_MessageTextArea->setEditable(false);
setName(_MessageTextArea,"Message TextArea");
// Create a ScrollPanel
ScrollPanelRefPtr MessageAreaScrollPanel = ScrollPanel::create();
MessageAreaScrollPanel->setPreferredSize(Vec2f(200,150));
MessageAreaScrollPanel->setHorizontalResizePolicy(ScrollPanel::RESIZE_TO_VIEW);
// Add the TextArea to the ScrollPanel so it is displayed
MessageAreaScrollPanel->setViewComponent(_MessageTextArea);
//Create the Message Text Area
_HelpTextArea = TextArea::create();
_HelpTextArea->setPreferredSize(Vec2f(600, 150));
_HelpTextArea->setText("");
_HelpTextArea->setMinSize(Vec2f(300, 150));
_HelpTextArea->setFont(_CodeFont);
_HelpTextArea->setTextColors(Color4f(0.2,0.0,0.0,1.0));
_HelpTextArea->setEditable(false);
setName(_HelpTextArea,"Help TextArea");
// Create a ScrollPanel
ScrollPanelRefPtr HelpAreaScrollPanel = ScrollPanel::create();
HelpAreaScrollPanel->setPreferredSize(Vec2f(200,150));
HelpAreaScrollPanel->setHorizontalResizePolicy(ScrollPanel::RESIZE_TO_VIEW);
// Add the TextArea to the ScrollPanel so it is displayed
HelpAreaScrollPanel->setViewComponent(_HelpTextArea);
//Tab Panel
LabelRefPtr MessageTabLabel = Label::create();
MessageTabLabel->setText("Output");
LabelRefPtr ErrorTabLabel = Label::create();
ErrorTabLabel->setText("Error");
LabelRefPtr StackTraceTabLabel = Label::create();
StackTraceTabLabel->setText("Stack");
LabelRefPtr HelpTabLabel = Label::create();
HelpTabLabel->setText("Help");
_InfoTabPanel = TabPanel::create();
_InfoTabPanel->addTab(MessageTabLabel, MessageAreaScrollPanel);
_InfoTabPanel->addTab(ErrorTabLabel, ErrorAreaScrollPanel);
_InfoTabPanel->addTab(StackTraceTabLabel, StackTraceAreaScrollPanel);
_InfoTabPanel->addTab(HelpTabLabel, HelpAreaScrollPanel);
#ifdef OSG_WITH_LUA_DEBUGGER
addIntrospectionTreeTab(_InfoTabPanel);
#endif
_InfoTabPanel->setTabAlignment(0.5f);
_InfoTabPanel->setTabPlacement(TabPanel::PLACEMENT_NORTH);
//.........这里部分代码省略.........
示例7: 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;
}
示例8: main
int main(int argc, char **argv)
{
// OSG init
osgInit(argc,argv);
// Set up Window
TutorialWindow = createNativeWindow();
TutorialWindow->initWindow();
TutorialWindow->setDisplayCallback(display);
TutorialWindow->setReshapeCallback(reshape);
TutorialKeyListener TheKeyListener;
TutorialWindow->addKeyListener(&TheKeyListener);
// Make Torus Node (creates Torus in background of scene)
NodeRefPtr TorusGeometryNode = makeTorus(.5, 2, 16, 16);
// Make Main Scene Node and add the Torus
NodeRefPtr scene = OSG::Node::create();
scene->setCore(OSG::Group::create());
scene->addChild(TorusGeometryNode);
// Create the Graphics
GraphicsRefPtr TutorialGraphics = OSG::Graphics2D::create();
// Initialize the LookAndFeelManager to enable default settings
LookAndFeelManager::the()->getLookAndFeel()->init();
//Background
TutorialBackground = GradientBackground::create();
TutorialBackground->addLine(Color3f(1.0,0.0,0.0), 0.0);
TutorialBackground->addLine(Color3f(0.0,1.0,0.0), 0.2);
TutorialBackground->addLine(Color3f(0.0,0.0,1.0), 0.4);
TutorialBackground->addLine(Color3f(0.0,1.0,1.0), 0.6);
TutorialBackground->addLine(Color3f(1.0,1.0,0.0), 0.8);
TutorialBackground->addLine(Color3f(1.0,1.0,1.0), 1.0);
TheUndoManager = UndoManager::create();
UndoManagerChangeListener TheUndoManagerChangeListener;
TheUndoManager->addChangeListener(&TheUndoManagerChangeListener);
LabelRefPtr SingleFieldLabel = OSG::Label::create();
SingleFieldLabel->setText("Single Field");
SingleFieldLabel->setBorders(NULL);
SingleFieldLabel->setBackgrounds(NULL);
LabelRefPtr MultiFieldLabel = OSG::Label::create();
MultiFieldLabel->setText("Multi Field");
MultiFieldLabel->setBorders(NULL);
MultiFieldLabel->setBackgrounds(NULL);
LabelRefPtr SinglePtrFieldLabel = OSG::Label::create();
SinglePtrFieldLabel->setText("Single Ptr Field");
SinglePtrFieldLabel->setBorders(NULL);
SinglePtrFieldLabel->setBackgrounds(NULL);
LabelRefPtr MultiPtrFieldLabel = OSG::Label::create();
MultiPtrFieldLabel->setText("Multi Ptr Field");
MultiPtrFieldLabel->setBorders(NULL);
MultiPtrFieldLabel->setBackgrounds(NULL);
TabPanelRefPtr ExampleTabPanel = OSG::TabPanel::create();
ExampleTabPanel->setPreferredSize(Vec2f(600,600));
ExampleTabPanel->addTab(SingleFieldLabel, createSingleFieldPanel());
ExampleTabPanel->addTab(MultiFieldLabel, createMultiFieldPanel());
ExampleTabPanel->addTab(SinglePtrFieldLabel, createSinglePtrFieldPanel());
ExampleTabPanel->addTab(MultiPtrFieldLabel, createMultiPtrFieldPanel());
ExampleTabPanel->setTabAlignment(0.5f);
ExampleTabPanel->setTabPlacement(TabPanel::PLACEMENT_NORTH);
ExampleTabPanel->setSelectedIndex(0);
//UndoList
UndoRedoListModel = DefaultListModel::create();
UndoRedoListModel->pushBack(boost::any(std::string("Top")));
ListSelectionModelPtr UndoRedoListSelectionModel(new DefaultListSelectionModel());
UndoRedoList = List::create();
UndoRedoList->setPreferredSize(Vec2f(200, 300));
UndoRedoList->setOrientation(List::VERTICAL_ORIENTATION);
UndoRedoList->setModel(UndoRedoListModel);
UndoRedoList->setSelectionModel(UndoRedoListSelectionModel);
UndoRedoListListener TheUndoRedoListListener;
UndoRedoList->getSelectionModel()->addListSelectionListener(&TheUndoRedoListListener);
UndoButton = OSG::Button::create();
UndoButton->setText("Undo");
UndoButton->setEnabled(TheUndoManager->numberOfUndos() != 0);
UndoButtonActionListener TheUndoButtonActionListener;
UndoButton->addActionListener(&TheUndoButtonActionListener);
RedoButton = OSG::Button::create();
RedoButton->setText("Redo");
RedoButton->setEnabled(TheUndoManager->numberOfRedos() != 0);
RedoButtonActionListener TheRedoButtonActionListener;
RedoButton->addActionListener(&TheRedoButtonActionListener);
//.........这里部分代码省略.........
示例9: 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;
}
示例10: 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;
}
示例11: ComponentTransitPtr
ComponentTransitPtr ColorChooserComboBoxComponentGenerator::getComboBoxComponent(ComboBox* const Parent, const boost::any& Value, UInt32 Index, bool IsSelected, bool HasFocus)
{
if(Value.empty()){
return ComponentTransitPtr(NULL);
}
PanelRefPtr TheComponent = Panel::create();//dynamic_pointer_cast<Component>(getDrawObjectPrototype()->shallowCopy());
TheComponent->setLayout(LayoutRefPtr(FlowLayout::create()));
LabelRefPtr theColorLabel = Label::create();
//theColorLabel->setPreferredSize(Vec2f(50.0f,50.0f));
theColorLabel->setBorders(NULL);
try
{
Color4f theColor = boost::any_cast<Color4f>(Value);
if(theColor != NULL)
{
ColorLayerRefPtr theColorLabelBackground = ColorLayer::create();
theColorLabelBackground->setColor(theColor);
theColorLabel->setBackgrounds(theColorLabelBackground);
}
}
catch(boost::bad_any_cast &)
{
std::string ValueString;
try
{
ValueString = lexical_cast(Value);
}
catch (boost::bad_lexical_cast &)
{
//Could not convert to string
SWARNING << "ColorChooserComboBoxComponentGenerator::getComboBoxComponent - The elements should either be a Color4f value or a std::string\n";
}
theColorLabel->setText(ValueString);
if(IsSelected && HasFocus)
{
if(getFocusedTextColorHasPriority())
{
theColorLabel->setTextColors(getFocusedTextColor());
}
else
{
theColorLabel->setTextColors(getSelectedTextColor());
}
}
else if(IsSelected)
{
theColorLabel->setTextColors(getSelectedTextColor());
}
else if(HasFocus)
{
theColorLabel->setTextColors(getFocusedTextColor());
}
}
TheComponent->pushToChildren(theColorLabel);
if(IsSelected && HasFocus)
{
if(getFocusedBorderHasPriority())
{
TheComponent->setBorders(getFocusedBorder());
}
else
{
TheComponent->setBorders(getSelectedBorder());
}
if(getFocusedBackgroundHasPriority())
{
TheComponent->setBackgrounds(getFocusedBackground());
TheComponent->setForegrounds(getFocusedForeground());
}
else
{
TheComponent->setBackgrounds(getSelectedBackground());
TheComponent->setForegrounds(getSelectedForeground());
}
}
else if(IsSelected)
{
TheComponent->setBorders(getSelectedBorder());
TheComponent->setBackgrounds(getSelectedBackground());
TheComponent->setForegrounds(getSelectedForeground());
}
else if(HasFocus)
{
TheComponent->setBorders(getFocusedBorder());
TheComponent->setBackgrounds(getFocusedBackground());
TheComponent->setForegrounds(getFocusedForeground());
}
return ComponentTransitPtr(TheComponent.get());
}
示例12: getKabalaEngineBuildType
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);
//.........这里部分代码省略.........
示例13: main
//.........这里部分代码省略.........
ExampleList->setModel(ExampleListModel);
ExampleList->setSelectionModel(ExampleListSelectionModel);
/******************************************************
Determine the SelectionModel
-SINGLE_SELECTION lets you select ONE item
via a single mouse click
-SINGLE_INTERVAL_SELECTION lets you select
one interval via mouse and SHIFT key
-MULTIPLE_INTERVAL_SELECTION lets you select
via mouse, and SHIFT and CONTRL keys
Note: this tutorial is currently set up
to allow for this to be changed via
TogggleButtons with ActionListeners attached
to them so this code is commented out.
******************************************************/
//SelectionModel.setMode(DefaultListSelectionModel::SINGLE_SELECTION);
//SelectionModel.setMode(DefaultListSelectionModel::SINGLE_INTERVAL_SELECTION);
//SelectionModel.setMode(DefaultListSelectionModel::MULTIPLE_INTERVAL_SELECTION);
// Create a ScrollPanel for easier viewing of the List (see 27ScrollPanel)
ScrollPanelRefPtr ExampleScrollPanel = ScrollPanel::create();
ExampleScrollPanel->setPreferredSize(Vec2f(200,300));
ExampleScrollPanel->setHorizontalResizePolicy(ScrollPanel::RESIZE_TO_VIEW);
//ExampleScrollPanel->setVerticalResizePolicy(ScrollPanel::RESIZE_TO_VIEW);
ExampleScrollPanel->setViewComponent(ExampleList);
// Create MainFramelayout
FlowLayoutRefPtr MainInternalWindowLayout = OSG::FlowLayout::create();
MainInternalWindowLayout->setOrientation(FlowLayout::VERTICAL_ORIENTATION);
MainInternalWindowLayout->setMajorAxisAlignment(0.5f);
MainInternalWindowLayout->setMinorAxisAlignment(0.5f);
LabelRefPtr ListLabel = Label::create();
ListLabel->setText("Background Colors List");
ListLabel->setPreferredSize(Vec2f(200.0f, ListLabel->getPreferredSize().y()));
// 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(ListLabel);
MainInternalWindow->pushToChildren(ExampleScrollPanel);
MainInternalWindow->setLayout(MainInternalWindowLayout);
MainInternalWindow->setBackgrounds(MainInternalWindowBackground);
MainInternalWindow->setAlignmentInDrawingSurface(Vec2f(0.5f,0.5f));
MainInternalWindow->setScalingInDrawingSurface(Vec2f(0.7f,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);
// Create the SimpleSceneManager helper
mgr = new SimpleSceneManager;
// Tell the Manager what to manage
mgr->setWindow(TutorialWindow);
mgr->setRoot(scene);
// Add the UI Foreground Object to the Scene
ViewportRefPtr TutorialViewport = mgr->getWindow()->getPort(0);
TutorialViewport->addForeground(TutorialUIForeground);
TutorialViewport->setBackground(TheBackground);
// Show the whole Scene
mgr->showAll();
//Open Window
Vec2f WinSize(TutorialWindow->getDesktopSize() * 0.85f);
Pnt2f WinPos((TutorialWindow->getDesktopSize() - WinSize) *0.5);
TutorialWindow->openWindow(WinPos,
WinSize,
"44MFieldList");
//Enter main Loop
TutorialWindow->mainLoop();
osgExit();
return 0;
}
示例14: buildChooser
//.........这里部分代码省略.........
BlueSliderTrackCanvas->setPreferredSize(Vec2f(15.0f,15.0f));
BlueSliderTrackCanvas->setBorders(NULL);
BlueSliderTrackCanvas->setBackgrounds(_BlueSliderTrackBackground);
_BlueSlider = Slider::create();
_BlueSlider->setDrawLabels(false);
_BlueSlider->setDrawMajorTicks(false);
_BlueSlider->setDrawMinorTicks(false);
_BlueSlider->setOrientation(Slider::HORIZONTAL_ORIENTATION);;
_BlueSlider->setTrackDrawObject(BlueSliderTrackCanvas);
_BlueSlider->setRangeModel(_BlueModel->getBoundedRangeModel());
if(getIncludeAlpha())
{
_AlphaSliderTrackBackground = GradientLayer::create();
_AlphaSliderTrackBackground->setStartPosition(Vec2f(0.0f,0.0f));
_AlphaSliderTrackBackground->setEndPosition(Vec2f(1.0f,0.0f));
UIDrawObjectCanvasRefPtr AlphaSliderTrackCanvas = UIDrawObjectCanvas::create();
AlphaSliderTrackCanvas->setPreferredSize(Vec2f(15.0f,15.0f));
AlphaSliderTrackCanvas->setBorders(NULL);
AlphaSliderTrackCanvas->setBackgrounds(_AlphaSliderTrackBackground);
_AlphaSlider = Slider::create();
_AlphaSlider->setDrawLabels(false);
_AlphaSlider->setDrawMajorTicks(false);
_AlphaSlider->setDrawMinorTicks(false);
_AlphaSlider->setOrientation(Slider::HORIZONTAL_ORIENTATION);;
_AlphaSlider->setTrackDrawObject(AlphaSliderTrackCanvas);
_AlphaSlider->setRangeModel(_AlphaModel->getBoundedRangeModel());
}
//Labels
LabelRefPtr RedLabel = Label::create();
RedLabel->setText("Red");
RedLabel->setPreferredSize(Vec2f(50.0f, RedLabel->getPreferredSize().y()));
RedLabel->setBackgrounds(NULL);
RedLabel->setBorders(NULL);
LabelRefPtr GreenLabel = Label::create();
GreenLabel->setText("Green");
GreenLabel->setPreferredSize(Vec2f(50.0f, GreenLabel->getPreferredSize().y()));
GreenLabel->setBackgrounds(NULL);
GreenLabel->setBorders(NULL);
LabelRefPtr BlueLabel = Label::create();
BlueLabel->setText("Blue");
BlueLabel->setPreferredSize(Vec2f(50.0f, BlueLabel->getPreferredSize().y()));
BlueLabel->setBackgrounds(NULL);
BlueLabel->setBorders(NULL);
LabelRefPtr AlphaLabel = Label::create();
if(getIncludeAlpha())
{
AlphaLabel->setText("Alpha");
AlphaLabel->setPreferredSize(Vec2f(50.0f, AlphaLabel->getPreferredSize().y()));
AlphaLabel->setBackgrounds(NULL);
AlphaLabel->setBorders(NULL);
}
//Layout
SpringLayoutRefPtr RGBPanelLayout = SpringLayout::create();
//Red
//Label
RGBPanelLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, RedLabel, 5.0f, SpringLayoutConstraints::WEST_EDGE, this);
示例15: main
int main(int argc, char **argv)
{
// OSG init
osgInit(argc,argv);
// Set up Window
TutorialWindow = createNativeWindow();
TutorialWindow->initWindow();
TutorialWindow->setDisplayCallback(display);
TutorialWindow->setReshapeCallback(reshape);
TutorialKeyListener TheKeyListener;
TutorialWindow->addKeyListener(&TheKeyListener);
NodeRefPtr Root(NULL);
if(argc == 2)
{
Root = SceneFileHandler::the()->read(argv[1]);
}
if(Root == NULL)
{
// Make Torus Node (creates Torus in background of Root)
NodeRefPtr TorusGeometryNode = makeTorus(.5, 2, 16, 16);
setName(TorusGeometryNode, std::string("Torus"));
NodeRefPtr TorusNode = Node::create();
TorusNode->setCore(OSG::Transform::create());
TorusNode->addChild(TorusGeometryNode);
setName(TorusNode, std::string("Torus Transform"));
NodeRefPtr SphereGeometryNode = makeSphere(2,1.0f);
setName(SphereGeometryNode, std::string("Sphere"));
NodeRefPtr 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 = OSG::Node::create();
Root->setCore(OSG::Group::create());
Root->addChild(TorusNode);
Root->addChild(SphereGeometryNode);
Root->addChild(BoxGeometryNode);
setName(Root, std::string("Root"));
}
// Create the Graphics
GraphicsRefPtr TutorialGraphics = OSG::Graphics2D::create();
// Initialize the LookAndFeelManager to enable default settings
LookAndFeelManager::the()->getLookAndFeel()->init();
//Tree Model
TheTreeModel = SceneGraphTreeModel::create();
TheTreeModel->setRoot(Root);
//TheFileSystemTreeModel = FileSystemTreeModel::create();
//TheFileSystemTreeModel->setRoot(BoostPath("C:\\"));
//TheFileSystemTreeModel->setRoot(BoostPath("/"));
//Create the Tree
TheTree = Tree::create();
TheTree->setPreferredSize(Vec2f(100, 500));
TheTree->setModel(TheTreeModel);
//TheTree->setModel(TheFileSystemTreeModel);
TutorialTreeSelectionListener TheTutorialTreeSelectionListener;
TheTree->getSelectionModel()->addTreeSelectionListener(&TheTutorialTreeSelectionListener);
// Create a ScrollPanel for easier viewing of the List (see 27ScrollPanel)
BorderLayoutConstraintsRefPtr SceneTreeConstraints = OSG::BorderLayoutConstraints::create();
SceneTreeConstraints->setRegion(BorderLayoutConstraints::BORDER_WEST);
ScrollPanelRefPtr 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
LabelRefPtr NodeNameLabel = Label::create();
NodeNameLabel->setText("Name");
NodeNameLabel->setPreferredSize(Vec2f(100.0f, 20.0f));
NodeNameValueLabel = Label::create();
NodeNameValueLabel->setPreferredSize(Vec2f(300.0f, 20.0f));
LabelRefPtr NodeCoreTypeLabel = Label::create();
NodeCoreTypeLabel->setText("Core Type");
NodeCoreTypeLabel->setPreferredSize(Vec2f(100.0f, 20.0f));
NodeCoreTypeValueLabel = Label::create();
NodeCoreTypeValueLabel->setPreferredSize(Vec2f(300.0f, 20.0f));
LabelRefPtr NodeMinLabel = Label::create();
NodeMinLabel->setText("Min");
NodeMinLabel->setPreferredSize(Vec2f(100.0f, 20.0f));
//.........这里部分代码省略.........