bullet3/btgui/GwenOpenGLTest/TabControl.cpp
2013-03-12 23:52:31 -07:00

71 lines
2.0 KiB
C++

#include "UnitTest.h"
#include "Gwen/Controls/TabControl.h"
#include "Gwen/Controls/RadioButtonController.h"
using namespace Gwen;
class TabControl2 : public GUnit
{
public:
Controls::TabControl* m_pDockControlLeft;
GWEN_CONTROL_INLINE( TabControl2, GUnit )
{
{
m_pDockControlLeft = new Controls::TabControl( this );
m_pDockControlLeft->SetBounds( 10, 10, 200, 200 );
{
Controls::TabButton* pButton = m_pDockControlLeft->AddPage( L"Controls" );
Base* pPage = pButton->GetPage();
{
Controls::RadioButtonController* pRadio = new Controls::RadioButtonController( pPage );
pRadio->SetBounds( 10, 10, 100, 100 );
pRadio->AddOption( "Top" )->Select();
pRadio->AddOption( "Bottom" );
pRadio->AddOption( "Left" );
pRadio->AddOption( "Right" );
pRadio->onSelectionChange.Add( this, &ThisClass::OnDockChange );
}
}
m_pDockControlLeft->AddPage( L"Red" );
m_pDockControlLeft->AddPage( L"Green" );
m_pDockControlLeft->AddPage( L"Blue" );
}
{
Controls::TabControl* pDragMe = new Controls::TabControl( this );
pDragMe->SetBounds( 220, 10, 200, 200 );
pDragMe->AddPage( L"You" );
pDragMe->AddPage( L"Can" );
pDragMe->AddPage( L"Reorder" )->SetImage( L"test16.png" );
pDragMe->AddPage( L"These" );
pDragMe->AddPage( L"Tabs" );
pDragMe->SetAllowReorder( true );
}
}
void OnDockChange( Gwen::Controls::Base* pControl )
{
Gwen::Controls::RadioButtonController* rc = (Gwen::Controls::RadioButtonController*) pControl;
if ( rc->GetSelectedLabel() == L"Top" ) m_pDockControlLeft->SetTabStripPosition( Pos::Top );
if ( rc->GetSelectedLabel() == L"Bottom" ) m_pDockControlLeft->SetTabStripPosition( Pos::Bottom );
if ( rc->GetSelectedLabel() == L"Left" ) m_pDockControlLeft->SetTabStripPosition( Pos::Left );
if ( rc->GetSelectedLabel() == L"Right" ) m_pDockControlLeft->SetTabStripPosition( Pos::Right );
}
Gwen::Font m_Font;
};
DEFINE_UNIT_TEST( TabControl2, L"TabControl" );