Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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);

}
Exemplo n.º 3
0
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);
}
Exemplo n.º 4
0
PanelTransitPtr createLeftPanelRadioTextPanel(void)
{
    // Create TextArea
    TextAreaRecPtr LeftPanelTextArea = TextArea::create();
    LeftPanelTextArea->setPreferredSize(Vec2f(125, 200));
    LeftPanelTextArea->setText("Text Area");

    // Create the RadioButton group
    RadioButtonRecPtr RadioButton1 = RadioButton::create();
    RadioButtonRecPtr RadioButton2 = RadioButton::create();
    RadioButtonRecPtr RadioButton3 = RadioButton::create();
    RadioButtonRecPtr RadioButton4 = 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->connectButtonSelected(boost::bind(setTextColors,
                                                    LeftPanelTextArea.get(),
                                                    Color4f(0.0f,0.0f,0.0f,1.0f)));

    RadioButton2->setAlignment(Vec2f(0.0,0.5));
    RadioButton2->setPreferredSize(Vec2f(100, 40));
    RadioButton2->setText("Red Text");
    RadioButton2->setToolTipText("Set TextArea text red");
    RadioButton2->connectButtonSelected(boost::bind(setTextColors,
                                              LeftPanelTextArea.get(),
                                              Color4f(1.0f,0.0f,0.0f,1.0f)));

    RadioButton3->setAlignment(Vec2f(0.0,0.5));
    RadioButton3->setPreferredSize(Vec2f(100, 40));
    RadioButton3->setText("Green Text");
    RadioButton3->setToolTipText("Set TextArea text green");
    RadioButton3->connectButtonSelected(boost::bind(setTextColors,
                                              LeftPanelTextArea.get(),
                                              Color4f(0.0f,1.0f,0.0f,1.0f)));

    RadioButton4->setAlignment(Vec2f(0.0,0.5));
    RadioButton4->setPreferredSize(Vec2f(100, 40));
    RadioButton4->setText("Blue Text");
    RadioButton4->setToolTipText("Set TextArea text blue");
    RadioButton4->connectButtonSelected(boost::bind(setTextColors,
                                              LeftPanelTextArea.get(),
                                              Color4f(0.0f,0.0f,1.0f,1.0f)));

    RadioButtonGroupRecPtr buttonGroup = RadioButtonGroup::create();
    buttonGroup->addButton(RadioButton1);
    buttonGroup->addButton(RadioButton2);
    buttonGroup->addButton(RadioButton3);
    buttonGroup->addButton(RadioButton4);


    // Create Panel and its Background/Border to label TextField
    LabelRecPtr LeftPanelTextFieldLabel = Label::create();
    EmptyLayerRecPtr LeftPanelTextFieldLabelBackground = EmptyLayer::create();
    EmptyBorderRecPtr LeftPanelTextFieldLabelBorder = EmptyBorder::create();
    LeftPanelTextFieldLabel->setPreferredSize(Vec2f(100, 25));
    LeftPanelTextFieldLabel->setBorders(LeftPanelTextFieldLabelBorder);
    LeftPanelTextFieldLabel->setBackgrounds(LeftPanelTextFieldLabelBackground);
    LeftPanelTextFieldLabel->setText("Text Field");

    // Create TextField
    TextFieldRecPtr LeftPanelTextField = TextField::create();
    LeftPanelTextField->setPreferredSize(Vec2f(125.0f, 22.0f));

    // Create an edit Panel Background
    ColorLayerRecPtr LeftPanelRadioTextPanelBackground = ColorLayer::create();
    LeftPanelRadioTextPanelBackground->setColor(Color4f(0.93f,0.93f,0.93f,1.0f));

    // Create and edit Panel layouts
    FlowLayoutRecPtr LeftPanelRadioTextPanelLayout = FlowLayout::create();
    FlowLayoutRecPtr LeftPanelRadioTextPanelRadioPanelLayout = FlowLayout::create();
    FlowLayoutRecPtr LeftPanelRadioTextPanelTextPanelLayout = FlowLayout::create();
    LeftPanelRadioTextPanelLayout->setMinorAxisAlignment(0.0f);

    // Create two Panels for this Panel
    PanelRecPtr LeftPanelRadioTextPanelRadioPanel = Panel::createEmpty();
    PanelRecPtr LeftPanelRadioTextPanelTextPanel = Panel::createEmpty();

    // Create some Borders
    EmptyBorderRecPtr LeftPanelRadioTextPanelRadioPanelBorder = 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
    LineBorderRecPtr PanelBorder1 = LineBorder::create();
    PanelBorder1->setColor(Color4f(0.0,0.0,0.0,1.0));
    PanelBorder1->setWidth(1);

    // Create and edit Panel
    PanelRecPtr LeftPanelRadioTextPanel = Panel::createEmpty();
    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);

    return PanelTransitPtr(LeftPanelRadioTextPanel);
}
Exemplo n.º 5
0
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);
}
PanelTransitPtr VideoFieldContainerEditor::createVideoPreviewPanel(void)
{
    ChunkMaterialUnrecPtr VideoMaterial = ChunkMaterial::create();

    //Video MaterialLayer
    _VideoMaterialLayer = MaterialLayer::create();
    _VideoMaterialLayer->setMaterial(VideoMaterial);

    //Video Panel
    _VideoPanel = Panel::createEmpty();
    _VideoPanel->setBackgrounds(_VideoMaterialLayer);

    //Filename Label
    _FileNameLabel = Label::create();
    _FileNameLabel->setAlignment(Vec2f(0.5f, 0.5f));

    //Total time Label
    _TotalTimeLabel = Label::create();
    _TotalTimeLabel->setAlignment(Vec2f(0.0f, 1.0f));
    _TotalTimeLabel->setBorders(NULL);
    _TotalTimeLabel->setBackgrounds(NULL);
    _TotalTimeLabel->setPreferredSize(Vec2f(50.0f,_TotalTimeLabel->getPreferredSize().y()));

    //Playback time Label
    _PlaybackTimeLabel = Label::create();
    _PlaybackTimeLabel->setAlignment(Vec2f(1.0f, 1.0f));
    _PlaybackTimeLabel->setPreferredSize(Vec2f(50.0f,_TotalTimeLabel->getPreferredSize().y()));
    _PlaybackTimeLabel->setBorders(NULL);
    _PlaybackTimeLabel->setBackgrounds(NULL);

    LabelRecPtr TimeSeparatorLabel = Label::create();
    TimeSeparatorLabel->setAlignment(Vec2f(0.5f, 1.0f));
    TimeSeparatorLabel->setPreferredSize(Vec2f(8.0f,_TotalTimeLabel->getPreferredSize().y()));
    TimeSeparatorLabel->setBorders(NULL);
    TimeSeparatorLabel->setBackgrounds(NULL);
    TimeSeparatorLabel->setText("/");

    //PlayPause Button
    _PlayPauseButton = Button::create();
    _PlayPauseButton->setText("Play");
    _PlayPauseButton->setPreferredSize(Vec2f(40.0f,40.0f));
    _PlayPauseButton->connectActionPerformed(boost::bind(&VideoFieldContainerEditor::handlePlayPauseAction, this,   _1));

    //Stop Button
    _StopButton = Button::create();
    _StopButton->setText("Stop");
    _StopButton->setPreferredSize(Vec2f(40.0f,40.0f));
    _StopButton->connectActionPerformed(boost::bind(&VideoFieldContainerEditor::handleStopAction, this,   _1));

    //Load Button
    ButtonRecPtr LoadButton = Button::create();
    LoadButton->setText("Load");
    LoadButton->setPreferredSize(Vec2f(40.0f,40.0f));
    LoadButton->connectActionPerformed(boost::bind(&VideoFieldContainerEditor::handleLoadAction, this,   _1));

    //Playback position slider
    _LocationSlider = Slider::create();
    _LocationSlider->setOrientation(Slider::HORIZONTAL_ORIENTATION);
    _LocationSlider->setDrawLabels(false);
    _LocationSlider->setDrawMajorTicks(false);
    _LocationSlider->setDrawMinorTicks(false);
    _LocationSlider->setBorders(NULL);
    _LocationSlider->setBackgrounds(NULL);
    //_LocationSlider->getKnobButton()->setPreferredSize(Vec2f(15.0f, 8.0f));
    _LocationSlider->getRangeModel()->connectStateChanged(boost::bind(&VideoFieldContainerEditor::handlePlaybackLocationStateChanged, this,   _1));


    //Layout
    PanelRecPtr VideoPanel = Panel::createEmpty();
    SpringLayoutRecPtr MainLayout = SpringLayout::create();


    //Video Panel
    MainLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _VideoPanel, 0,
                              SpringLayoutConstraints::EAST_EDGE, VideoPanel);
    MainLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, _VideoPanel, 0,
                              SpringLayoutConstraints::WEST_EDGE, VideoPanel);
    MainLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, _VideoPanel, 0,
                              SpringLayoutConstraints::NORTH_EDGE, VideoPanel);
    MainLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, _VideoPanel, -1,
                              SpringLayoutConstraints::NORTH_EDGE, _PlayPauseButton);

    //Filename Label
    MainLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _FileNameLabel, 0,
                              SpringLayoutConstraints::EAST_EDGE, VideoPanel);
    MainLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, _FileNameLabel, 0,
                              SpringLayoutConstraints::WEST_EDGE, VideoPanel);
    MainLayout->putConstraint(SpringLayoutConstraints::NORTH_EDGE, _FileNameLabel, 0,
                              SpringLayoutConstraints::NORTH_EDGE, VideoPanel);

    //Play/pause Button
    MainLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _PlayPauseButton, -3,
                              SpringLayoutConstraints::WEST_EDGE, _StopButton);
    MainLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, _PlayPauseButton, 0,
                              SpringLayoutConstraints::SOUTH_EDGE, VideoPanel);

    //Stop Button
    MainLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _StopButton, -3,
                              SpringLayoutConstraints::WEST_EDGE, _LocationSlider);
    MainLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, _StopButton, 0,
                              SpringLayoutConstraints::SOUTH_EDGE, VideoPanel);

    //Playback Slider
    MainLayout->putConstraint(SpringLayoutConstraints::HORIZONTAL_CENTER_EDGE, _LocationSlider, 0,
                              SpringLayoutConstraints::HORIZONTAL_CENTER_EDGE, VideoPanel);
    MainLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, _LocationSlider, 0,
                              SpringLayoutConstraints::SOUTH_EDGE, VideoPanel);

    //Total video length label
    MainLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, _TotalTimeLabel, 0,
                              SpringLayoutConstraints::SOUTH_EDGE, LoadButton);
    MainLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _TotalTimeLabel, 0,
                              SpringLayoutConstraints::EAST_EDGE, _LocationSlider);

    //Separator label
    MainLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, TimeSeparatorLabel, 0,
                              SpringLayoutConstraints::SOUTH_EDGE, LoadButton);
    MainLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, TimeSeparatorLabel, -2,
                              SpringLayoutConstraints::WEST_EDGE, _TotalTimeLabel);

    //Playback time label
    MainLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, _PlaybackTimeLabel, 0,
                              SpringLayoutConstraints::SOUTH_EDGE, LoadButton);
    MainLayout->putConstraint(SpringLayoutConstraints::EAST_EDGE, _PlaybackTimeLabel, -2,
                              SpringLayoutConstraints::WEST_EDGE, TimeSeparatorLabel);

    //Load Button
    MainLayout->putConstraint(SpringLayoutConstraints::WEST_EDGE, LoadButton, 3,
                              SpringLayoutConstraints::EAST_EDGE, _LocationSlider);
    MainLayout->putConstraint(SpringLayoutConstraints::SOUTH_EDGE, LoadButton, 0,
                              SpringLayoutConstraints::SOUTH_EDGE, VideoPanel);

    //Main Video Panel
    VideoPanel->setLayout(MainLayout);

    VideoPanel->pushToChildren(_VideoPanel);
    VideoPanel->pushToChildren(_FileNameLabel);
    VideoPanel->pushToChildren(_PlayPauseButton);
    VideoPanel->pushToChildren(_StopButton);
    VideoPanel->pushToChildren(LoadButton);
    VideoPanel->pushToChildren(_PlaybackTimeLabel);
    VideoPanel->pushToChildren(TimeSeparatorLabel);
    VideoPanel->pushToChildren(_TotalTimeLabel);
    VideoPanel->pushToChildren(_LocationSlider);

    return PanelTransitPtr(VideoPanel);
}