本文整理汇总了C++中LabelRefPtr::setPreferredSize方法的典型用法代码示例。如果您正苦于以下问题:C++ LabelRefPtr::setPreferredSize方法的具体用法?C++ LabelRefPtr::setPreferredSize怎么用?C++ LabelRefPtr::setPreferredSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LabelRefPtr
的用法示例。
在下文中一共展示了LabelRefPtr::setPreferredSize方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createCodeEditor
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);
//.........这里部分代码省略.........
示例2: main
int main(int argc, char **argv)
{
// OSG init
osgInit(argc,argv);
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();
GradientBackgroundRefPtr TheBackground = GradientBackground::create();
TheBackground->addLine(Color3f(1.0,0.0,0.0), 0.0);
TheBackground->addLine(Color3f(0.0,1.0,0.0), 0.2);
TheBackground->addLine(Color3f(0.0,0.0,1.0), 0.4);
TheBackground->addLine(Color3f(0.0,1.0,1.0), 0.6);
TheBackground->addLine(Color3f(1.0,1.0,0.0), 0.8);
TheBackground->addLine(Color3f(1.0,1.0,1.0), 1.0);
/******************************************************
Create a List. A List has several
parts to it:
-ListModel: Contains the data which is to be
displayed in the List. Data is added
as shown below
-ListCellRenderer: Creates the Components to
be used within the List (the default
setting is to create Labels using
the desired text).
-ListSelectionModel: Determines how
the List may be selected.
To add values to the list:
First, create SFStrings and use the
.setValue("Value") function to set their
values. Then, use the .pushBack(&SFStringName)
to add them to the List.
Next, create the CellRenderer and ListSelectionModel
defaults.
Finally, actually create the List. Set
its Model, CellRenderer, and SelectionModel
as shown below. Finally, choose the
type of display for the List (choices outlined
below).
******************************************************/
// Add data to it
ExampleListModel = MFieldListModel::create();
ExampleListModel->setContainer(TheBackground);
ExampleListModel->setFieldId(GradientBackground::ColorFieldId);
/******************************************************
Create ListCellRenderer and
ListSelectionModel. Most
often the defauls will be used.
Note: the ListSelectionModel was
created above and is referenced
by the ActionListeners.
******************************************************/
/******************************************************
Create List itself and assign its
Model, CellRenderer, and SelectionModel
to it.
-setOrientation(ENUM): Determine the
Layout of the cells (Horizontal
or Vertical). Takes List::VERTICAL_ORIENTATION
and List::HORIZONTAL_ORIENTATION arguments.
******************************************************/
ExampleList = List::create();
ExampleList->setPreferredSize(Vec2f(200, 300));
ExampleList->setOrientation(List::VERTICAL_ORIENTATION);
//.........这里部分代码省略.........
示例3: getTableCellRendererComponent
OSG_BEGIN_NAMESPACE
/***************************************************************************\
* Description *
\***************************************************************************/
/*! \class OSG::DefaultStringTableCellRenderer
A DefaultStringTableCellRenderer.
*/
/***************************************************************************\
* Class variables *
\***************************************************************************/
/***************************************************************************\
* Class methods *
\***************************************************************************/
/***************************************************************************\
* Instance methods *
\***************************************************************************/
ComponentRefPtr DefaultStringTableCellRenderer::getTableCellRendererComponent(TableRefPtr table, const boost::any& value, bool isSelected, bool hasFocus, UInt32 row, UInt32 column)
{
if(value.empty()){
return NULL;
}
LabelRefPtr TheLabel = Label::create();
std::string tempString;
try
{
tempString = lexical_cast(value);
}
catch (boost::bad_lexical_cast &)
{
//Could not convert to string
}
TheLabel->setText(tempString);
TheLabel->setPreferredSize(Vec2f(100,30));
ColorLayerRefPtr tempBackground;
tempBackground = ColorLayer::create();
TheLabel->setBackgrounds(tempBackground);
if(isSelected){
tempBackground->setColor(Color4f(0.4, 0.4, 1.0, 1.0));
}
else{
tempBackground->setColor(Color4f(1.0, 1.0, 1.0, 1.0));
}
if(hasFocus){
LineBorderRefPtr tempBorder;
tempBorder = LineBorder::create();
TheLabel->setBorders(tempBorder);
tempBorder->setColor(Color4f(0.0, 0.0, 1.0, 1.0));
}
else{
EmptyBorderRefPtr tempBorder;
tempBorder = EmptyBorder::create();
TheLabel->setBorders(tempBorder);
}
return dynamic_pointer_cast<Component>(TheLabel);
}
示例4: 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;
}
示例5: buildChooser
void RGBColorChooserPanel::buildChooser(void)
{
//Bounded Range Models
_RedModel->setMinimum(0);
_RedModel->setMaximum(255);
_GreenModel->setMinimum(0);
_GreenModel->setMaximum(255);
_BlueModel->setMinimum(0);
_BlueModel->setMaximum(255);
_AlphaModel->setMinimum(0);
_AlphaModel->setMaximum(255);
//Spinners
_RedSpinner = Spinner::create();
_RedSpinner->setModel(_RedModel->getSpinnerModel());
_GreenSpinner = Spinner::create();
_GreenSpinner->setModel(_GreenModel->getSpinnerModel());
_BlueSpinner = Spinner::create();
_BlueSpinner->setModel(_BlueModel->getSpinnerModel());
if(getIncludeAlpha())
{
_AlphaSpinner = Spinner::create();
_AlphaSpinner->setModel(_AlphaModel->getSpinnerModel());
}
//Sliders
_RedSliderTrackBackground = GradientLayer::create();
_RedSliderTrackBackground->setStartPosition(Vec2f(0.0f,0.0f));
_RedSliderTrackBackground->setEndPosition(Vec2f(1.0f,0.0f));
UIDrawObjectCanvasRefPtr RedSliderTrackCanvas = UIDrawObjectCanvas::create();
RedSliderTrackCanvas->setPreferredSize(Vec2f(15.0f,15.0f));
RedSliderTrackCanvas->setBorders(NULL);
RedSliderTrackCanvas->setBackgrounds(_RedSliderTrackBackground);
_RedSlider = Slider::create();
_RedSlider->setDrawLabels(false);
_RedSlider->setDrawMajorTicks(false);
_RedSlider->setDrawMinorTicks(false);
_RedSlider->setOrientation(Slider::HORIZONTAL_ORIENTATION);
_RedSlider->setTrackDrawObject(RedSliderTrackCanvas);
_RedSlider->setRangeModel(_RedModel->getBoundedRangeModel());
//Green
_GreenSliderTrackBackground = GradientLayer::create();
_GreenSliderTrackBackground->setStartPosition(Vec2f(0.0f,0.0f));
_GreenSliderTrackBackground->setEndPosition(Vec2f(1.0f,0.0f));
UIDrawObjectCanvasRefPtr GreenSliderTrackCanvas = UIDrawObjectCanvas::create();
GreenSliderTrackCanvas->setPreferredSize(Vec2f(15.0f,15.0f));
GreenSliderTrackCanvas->setBorders(NULL);
GreenSliderTrackCanvas->setBackgrounds(_GreenSliderTrackBackground);
_GreenSlider = Slider::create();
_GreenSlider->setDrawLabels(false);
_GreenSlider->setDrawMajorTicks(false);
_GreenSlider->setDrawMinorTicks(false);
_GreenSlider->setOrientation(Slider::HORIZONTAL_ORIENTATION);;
_GreenSlider->setTrackDrawObject(GreenSliderTrackCanvas);
_GreenSlider->setRangeModel(_GreenModel->getBoundedRangeModel());
//Blue
_BlueSliderTrackBackground = GradientLayer::create();
_BlueSliderTrackBackground->setStartPosition(Vec2f(0.0f,0.0f));
_BlueSliderTrackBackground->setEndPosition(Vec2f(1.0f,0.0f));
UIDrawObjectCanvasRefPtr BlueSliderTrackCanvas = UIDrawObjectCanvas::create();
BlueSliderTrackCanvas->setPreferredSize(Vec2f(15.0f,15.0f));
BlueSliderTrackCanvas->setBorders(NULL);
BlueSliderTrackCanvas->setBackgrounds(_BlueSliderTrackBackground);
_BlueSlider = Slider::create();
_BlueSlider->setDrawLabels(false);
_BlueSlider->setDrawMajorTicks(false);
_BlueSlider->setDrawMinorTicks(false);
_BlueSlider->setOrientation(Slider::HORIZONTAL_ORIENTATION);;
_BlueSlider->setTrackDrawObject(BlueSliderTrackCanvas);
_BlueSlider->setRangeModel(_BlueModel->getBoundedRangeModel());
if(getIncludeAlpha())
{
_AlphaSliderTrackBackground = GradientLayer::create();
_AlphaSliderTrackBackground->setStartPosition(Vec2f(0.0f,0.0f));
_AlphaSliderTrackBackground->setEndPosition(Vec2f(1.0f,0.0f));
UIDrawObjectCanvasRefPtr AlphaSliderTrackCanvas = UIDrawObjectCanvas::create();
AlphaSliderTrackCanvas->setPreferredSize(Vec2f(15.0f,15.0f));
AlphaSliderTrackCanvas->setBorders(NULL);
AlphaSliderTrackCanvas->setBackgrounds(_AlphaSliderTrackBackground);
_AlphaSlider = Slider::create();
_AlphaSlider->setDrawLabels(false);
_AlphaSlider->setDrawMajorTicks(false);
//.........这里部分代码省略.........
示例6: createInterface
ForegroundRefPtr ApplicationStartScreen::createInterface(void)
{
// Create the Graphics
GraphicsRefPtr StartScreenUIGraphics = OSG::Graphics2D::create();
UIFontRefPtr ButtonFont = OSG::UIFont::create();
ButtonFont->setSize(32);
ButtonRefPtr BuilderButton = ::OSG::Button::create();
BuilderButton->setPreferredSize(Vec2f(200, 75));
BuilderButton->setText("Builder");
BuilderButton->setFont(ButtonFont);
BuilderButton->addActionListener(&_BuilderButtonActionListener);
ButtonRefPtr PlayerButton = ::OSG::Button::create();
PlayerButton->setPreferredSize(Vec2f(200, 75));
PlayerButton->setText("Player");
PlayerButton->setFont(ButtonFont);
PlayerButton->addActionListener(&_PlayerButtonActionListener);
ButtonRefPtr ExitButton = ::OSG::Button::create();
ExitButton->setPreferredSize(Vec2f(200, 75));
ExitButton->setText("Exit");
ExitButton->setFont(ButtonFont);
ExitButton->addActionListener(&_ExitButtonActionListener);
//ButtonPanel
PanelRefPtr ButtonPanel = Panel::createEmpty();
LayoutRefPtr ButtonPanelLayout = OSG::FlowLayout::create();
ButtonPanel->pushToChildren(BuilderButton);
ButtonPanel->pushToChildren(PlayerButton);
ButtonPanel->pushToChildren(ExitButton);
ButtonPanel->setLayout(ButtonPanelLayout);
//Font
UIFontRefPtr LabelFont = UIFont::create();
LabelFont->setSize(16);
//Version Label
LabelRefPtr VersionLabel = OSG::Label::create();
VersionLabel->setText("Version:");
VersionLabel->setAlignment(Vec2f(1.0f,0.5f));
VersionLabel->setPreferredSize(Vec2f(100,20));
VersionLabel->setTextColors(Color4f(1.0f,1.0f,1.0f,1.0f));
VersionLabel->setBackgrounds(NULL);
VersionLabel->setBorders(NULL);
VersionLabel->setFont(LabelFont);
//Version Value Label
LabelRefPtr VersionValueLabel = OSG::Label::create();
VersionValueLabel->setText(getKabalaEngineVersion() + " - " + getKabalaEngineBuildType());
VersionValueLabel->setPreferredSize(Vec2f(110,20));
VersionValueLabel->setTextColors(Color4f(1.0f,1.0f,1.0f,1.0f));
VersionValueLabel->setBackgrounds(NULL);
VersionValueLabel->setBorders(NULL);
VersionValueLabel->setFont(LabelFont);
//Author Value Label
LabelRefPtr AuthorValueLabel = OSG::Label::create();
AuthorValueLabel->setText(getKabalaEngineAuthors());
AuthorValueLabel->setPreferredSize(Vec2f(300,20));
AuthorValueLabel->setTextColors(Color4f(1.0f,1.0f,1.0f,1.0f));
AuthorValueLabel->setBackgrounds(NULL);
AuthorValueLabel->setBorders(NULL);
AuthorValueLabel->setFont(LabelFont);
// Create The Main InternalWindow
InternalWindowRefPtr StartScreenInternalWindow = OSG::InternalWindow::create();
//Layout
SpringLayoutRefPtr StartScreenInternalWindowLayout = OSG::SpringLayout::create();
//::OSG::Button Panel
StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, ButtonPanel, 0, SpringLayoutConstraints::WEST_EDGE, StartScreenInternalWindow);
StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, ButtonPanel, 0, SpringLayoutConstraints::EAST_EDGE, StartScreenInternalWindow);
StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, ButtonPanel, 0, SpringLayoutConstraints::NORTH_EDGE, StartScreenInternalWindow);
StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, ButtonPanel, 0, SpringLayoutConstraints::SOUTH_EDGE, StartScreenInternalWindow);
//Version Label
StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, VersionLabel, 0, SpringLayoutConstraints::WEST_EDGE, VersionValueLabel);
StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, VersionLabel, 0, SpringLayoutConstraints::SOUTH_EDGE, StartScreenInternalWindow);
StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, VersionLabel, LayoutSpring::height(VersionLabel));
StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::WIDTH_EDGE, VersionLabel, LayoutSpring::width(VersionLabel));
//Version Value Label
StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, VersionValueLabel, 0, SpringLayoutConstraints::EAST_EDGE, StartScreenInternalWindow);
StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, VersionValueLabel, 0, SpringLayoutConstraints::SOUTH_EDGE, StartScreenInternalWindow);
StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, VersionValueLabel, LayoutSpring::height(VersionValueLabel));
StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::WIDTH_EDGE, VersionValueLabel, LayoutSpring::width(VersionValueLabel));
//Author Value Label
StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, AuthorValueLabel, 0, SpringLayoutConstraints::WEST_EDGE, StartScreenInternalWindow);
StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, AuthorValueLabel, 0, SpringLayoutConstraints::SOUTH_EDGE, StartScreenInternalWindow);
StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::HEIGHT_EDGE, AuthorValueLabel, LayoutSpring::height(AuthorValueLabel));
StartScreenInternalWindowLayout->putConstraint(SpringLayoutConstraints::WIDTH_EDGE, AuthorValueLabel, LayoutSpring::width(AuthorValueLabel));
StartScreenInternalWindow->pushToChildren(ButtonPanel);
StartScreenInternalWindow->pushToChildren(AuthorValueLabel);
StartScreenInternalWindow->pushToChildren(VersionLabel);
//.........这里部分代码省略.........
示例7: 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));
//.........这里部分代码省略.........
示例8: getTableCellRendererComponent
OSG_BEGIN_NAMESPACE
/***************************************************************************\
* Description *
\***************************************************************************/
/*! \class OSG::DefaultBoolTableCellRenderer
A DefaultBoolTableCellRenderer.
*/
/***************************************************************************\
* Class variables *
\***************************************************************************/
/***************************************************************************\
* Class methods *
\***************************************************************************/
/***************************************************************************\
* Instance methods *
\***************************************************************************/
ComponentTransitPtr DefaultBoolTableCellRenderer::getTableCellRendererComponent(Table* const table, const boost::any& value, bool isSelected, bool hasFocus, UInt32 row, UInt32 column)
{
if(value.empty()){
return ComponentTransitPtr(NULL);
}
LabelRefPtr TheLabel = Label::create();
std::string tempString;
try
{
if(boost::any_cast<bool>(value))
{
tempString = "True";
}
else
{
tempString = "False";
}
}
catch (boost::bad_any_cast &)
{
//Not a bool
}
TheLabel->setText(tempString);
TheLabel->setPreferredSize(Vec2f(100,30));
ColorLayerRefPtr tempBackground;
tempBackground = ColorLayer::create();
TheLabel->setBackgrounds(tempBackground);
if(isSelected){
tempBackground->setColor(Color4f(0.4, 0.4, 1.0, 1.0));
}
else{
tempBackground->setColor(Color4f(1.0, 1.0, 1.0, 1.0));
}
if(hasFocus){
LineBorderRefPtr tempBorder;
tempBorder = LineBorder::create();
TheLabel->setBorders(tempBorder);
tempBorder->setColor(Color4f(0.0, 0.0, 1.0, 1.0));
}
else{
EmptyBorderRefPtr tempBorder;
tempBorder = EmptyBorder::create();
TheLabel->setBorders(tempBorder);
}
return ComponentTransitPtr(TheLabel.get());
}
示例9: createLeftPanelRadioTextPanel
ComponentRefPtr createLeftPanelRadioTextPanel(void)
{
// Create the RadioButton group
RadioButtonRefPtr RadioButton1 = OSG::RadioButton::create();
RadioButtonRefPtr RadioButton2 = OSG::RadioButton::create();
RadioButtonRefPtr RadioButton3 = OSG::RadioButton::create();
RadioButtonRefPtr RadioButton4 = OSG::RadioButton::create();
RadioButton1->setAlignment(Vec2f(0.0,0.5));
RadioButton1->setPreferredSize(Vec2f(100, 40));
RadioButton1->setText("Black Text");
RadioButton1->setToolTipText("Set TextArea text black");
RadioButton1->addButtonSelectedListener(&RadioButton1Listener);
RadioButton2->setAlignment(Vec2f(0.0,0.5));
RadioButton2->setPreferredSize(Vec2f(100, 40));
RadioButton2->setText("Red Text");
RadioButton2->setToolTipText("Set TextArea text red");
RadioButton2->addButtonSelectedListener(&RadioButton2Listener);
RadioButton3->setAlignment(Vec2f(0.0,0.5));
RadioButton3->setPreferredSize(Vec2f(100, 40));
RadioButton3->setText("Green Text");
RadioButton3->setToolTipText("Set TextArea text green");
RadioButton3->addButtonSelectedListener(&RadioButton3Listener);
RadioButton4->setAlignment(Vec2f(0.0,0.5));
RadioButton4->setPreferredSize(Vec2f(100, 40));
RadioButton4->setText("Blue Text");
RadioButton4->setToolTipText("Set TextArea text blue");
RadioButton4->addButtonSelectedListener(&RadioButton4Listener);
buttonGroup = RadioButtonGroup::create();
buttonGroup->addButton(RadioButton1);
buttonGroup->addButton(RadioButton2);
buttonGroup->addButton(RadioButton3);
buttonGroup->addButton(RadioButton4);
// Create TextArea
LeftPanelTextArea = OSG::TextArea::create();
LeftPanelTextArea->setPreferredSize(Vec2f(125, 200));
// Create Panel and its Background/Border to label TextField
LabelRefPtr LeftPanelTextFieldLabel = OSG::Label::create();
EmptyLayerRefPtr LeftPanelTextFieldLabelBackground = OSG::EmptyLayer::create();
EmptyBorderRefPtr LeftPanelTextFieldLabelBorder = OSG::EmptyBorder::create();
LeftPanelTextFieldLabel->setPreferredSize(Vec2f(100, 25));
LeftPanelTextFieldLabel->setBorders(LeftPanelTextFieldLabelBorder);
LeftPanelTextFieldLabel->setBackgrounds(LeftPanelTextFieldLabelBackground);
LeftPanelTextFieldLabel->setText("Text Field");
// Create TextField
TextFieldRefPtr LeftPanelTextField = OSG::TextField::create();
LeftPanelTextField->setPreferredSize(Vec2f(125.0f, 22.0f));
// Create an edit Panel Background
ColorLayerRefPtr LeftPanelRadioTextPanelBackground = OSG::ColorLayer::create();
LeftPanelRadioTextPanelBackground->setColor(Color4f(0.93f,0.93f,0.93f,1.0f));
// Create and edit Panel layouts
FlowLayoutRefPtr LeftPanelRadioTextPanelLayout = OSG::FlowLayout::create();
FlowLayoutRefPtr LeftPanelRadioTextPanelRadioPanelLayout = OSG::FlowLayout::create();
FlowLayoutRefPtr LeftPanelRadioTextPanelTextPanelLayout = OSG::FlowLayout::create();
LeftPanelRadioTextPanelLayout->setMinorAxisAlignment(0.0f);
// Create two Panels for this Panel
PanelRefPtr LeftPanelRadioTextPanelRadioPanel = OSG::Panel::create();
PanelRefPtr LeftPanelRadioTextPanelTextPanel = OSG::Panel::create();
// Create some Borders
EmptyBorderRefPtr LeftPanelRadioTextPanelRadioPanelBorder = OSG::EmptyBorder::create();
LeftPanelRadioTextPanelRadioPanel->setBorders(LeftPanelRadioTextPanelRadioPanelBorder);
LeftPanelRadioTextPanelRadioPanel->setPreferredSize(Vec2f(125, 200));
LeftPanelRadioTextPanelRadioPanel->setLayout(LeftPanelRadioTextPanelRadioPanelLayout);
LeftPanelRadioTextPanelRadioPanel->setBackgrounds(LeftPanelRadioTextPanelBackground);
LeftPanelRadioTextPanelRadioPanel->pushToChildren(RadioButton1);
LeftPanelRadioTextPanelRadioPanel->pushToChildren(RadioButton2);
LeftPanelRadioTextPanelRadioPanel->pushToChildren(RadioButton3);
LeftPanelRadioTextPanelRadioPanel->pushToChildren(RadioButton4);
// Create Panel Border
LineBorderRefPtr PanelBorder1 = OSG::LineBorder::create();
PanelBorder1->setColor(Color4f(0.0,0.0,0.0,1.0));
PanelBorder1->setWidth(1);
// Create and edit Panel
PanelRefPtr LeftPanelRadioTextPanel = OSG::Panel::create();
LeftPanelRadioTextPanel->setPreferredSize(Vec2f(180, 500));
LeftPanelRadioTextPanel->pushToChildren(LeftPanelRadioTextPanelRadioPanel);
LeftPanelRadioTextPanel->pushToChildren(LeftPanelTextArea);
LeftPanelRadioTextPanel->pushToChildren(LeftPanelTextFieldLabel);
LeftPanelRadioTextPanel->pushToChildren(LeftPanelTextField);
LeftPanelRadioTextPanel->setLayout(LeftPanelRadioTextPanelLayout);
LeftPanelRadioTextPanel->setBackgrounds(LeftPanelRadioTextPanelBackground);
LeftPanelRadioTextPanel->setBorders(PanelBorder1);
//.........这里部分代码省略.........
示例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: getListComponent
ComponentTransitPtr PanelListComponentGenerator::getListComponent(List* const Parent, const boost::any& Value, UInt32 Index, bool IsSelected, bool HasFocus)
{
if(Value.empty()){
return ComponentTransitPtr(NULL);
}
std::string ValueString;
try
{
ValueString = lexical_cast(Value);
PanelRefPtr theComponent = Panel::create();
GridLayoutRefPtr PanelLayout = OSG::GridLayout::create();
PanelLayout->setRows(3);
PanelLayout->setColumns(1);
PanelLayout->setHorizontalGap(0);
PanelLayout->setVerticalGap(2);
std::stringstream is;
is<<Index;
std::string iss;
is>>iss;
TextFieldRefPtr theName = TextField::create();
theName->setText("Group"+iss);
theName->setPreferredSize(Vec2f(146,20));
PanelRefPtr rangePanel = Panel::create();
GridLayoutRefPtr rangePanelLayout = OSG::GridLayout::create();
rangePanelLayout->setRows(1);
rangePanelLayout->setColumns(4);
rangePanelLayout->setHorizontalGap(2);
rangePanelLayout->setVerticalGap(0);
LabelRefPtr rangeLabel = Label::create();
rangeLabel->setText("Range:");
rangeLabel->setPreferredSize(Vec2f(35,20));
TextFieldRefPtr from = TextField::create();
from->setEmptyDescText("From");
from->setPreferredSize(Vec2f(35,20));
LabelRefPtr hiphenLabel = Label::create();
hiphenLabel->setText(" - ");
hiphenLabel->setPreferredSize(Vec2f(35,20));
TextFieldRefPtr to = TextField::create();
to->setPreferredSize(Vec2f(35,20));
to->setEmptyDescText("To");
rangePanel->pushToChildren(rangeLabel);
rangePanel->pushToChildren(from);
rangePanel->pushToChildren(hiphenLabel);
rangePanel->pushToChildren(to);
rangePanel->setLayout(rangePanelLayout);
rangePanel->setPreferredSize(Vec2f(146,20));
DefaultMutableComboBoxModelRefPtr TheComboBoxModel = DefaultMutableComboBoxModel::create();
TheComboBoxModel->addElement(boost::any(Color4f(1.0,0.0,0.0,1.0)));
TheComboBoxModel->addElement(boost::any(Color4f(0.0,1.0,0.0,1.0)));
TheComboBoxModel->addElement(boost::any(Color4f(0.0,0.0,1.0,1.0)));
TheComboBoxModel->addElement(boost::any(Color4f(0.0,0.0,0.0,1.0)));
TheComboBoxModel->addElement(boost::any(Color4f(1.0,1.0,1.0,1.0)));
TheComboBoxModel->addElement(boost::any(std::string("More Colors")));
ColorChooserComboBoxComponentGeneratorRefPtr TheColorChooserComboBoxComponentGenerator = ColorChooserComboBoxComponentGenerator::create();
//Create the ComboBox
ComboBoxRefPtr TheComboBox = ComboBox::create();
TheComboBox->setModel(TheComboBoxModel);
TheComboBox->setCellGenerator(TheColorChooserComboBoxComponentGenerator);
TheComboBox->setEditable(false);
TheComboBox->setSelectedIndex(0);
TheComboBox->setPreferredSize(Vec2f(146,20));
theComponent->pushToChildren(theName);
theComponent->pushToChildren(rangePanel);
theComponent->pushToChildren(TheComboBox);
theComponent->setLayout(PanelLayout);
theComponent->setPreferredSize(Vec2f(146,66));
Parent->setCellMajorAxisLength(66);
return ComponentTransitPtr(theComponent.get());
}
catch (boost::bad_lexical_cast &)
{
return ComponentTransitPtr(NULL);
}
}