#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" );