TabControl.cpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #include "UnitTest.h"
  2. #include "Gwen/Controls/TabControl.h"
  3. #include "Gwen/Controls/RadioButtonController.h"
  4. using namespace Gwen;
  5. class TabControl2 : public GUnit
  6. {
  7. public:
  8. Controls::TabControl* m_pDockControlLeft;
  9. GWEN_CONTROL_INLINE( TabControl2, GUnit )
  10. {
  11. {
  12. m_pDockControlLeft = new Controls::TabControl( this );
  13. m_pDockControlLeft->SetBounds( 10, 10, 200, 200 );
  14. {
  15. Controls::TabButton* pButton = m_pDockControlLeft->AddPage( L"Controls" );
  16. Base* pPage = pButton->GetPage();
  17. {
  18. Controls::RadioButtonController* pRadio = new Controls::RadioButtonController( pPage );
  19. pRadio->SetBounds( 10, 10, 100, 100 );
  20. pRadio->AddOption( "Top" )->Select();
  21. pRadio->AddOption( "Bottom" );
  22. pRadio->AddOption( "Left" );
  23. pRadio->AddOption( "Right" );
  24. pRadio->onSelectionChange.Add( this, &ThisClass::OnDockChange );
  25. }
  26. }
  27. m_pDockControlLeft->AddPage( L"Red" );
  28. m_pDockControlLeft->AddPage( L"Green" );
  29. m_pDockControlLeft->AddPage( L"Blue" );
  30. }
  31. {
  32. Controls::TabControl* pDragMe = new Controls::TabControl( this );
  33. pDragMe->SetBounds( 220, 10, 200, 200 );
  34. pDragMe->AddPage( L"You" );
  35. pDragMe->AddPage( L"Can" );
  36. pDragMe->AddPage( L"Reorder" )->SetImage( L"test16.png" );
  37. pDragMe->AddPage( L"These" );
  38. pDragMe->AddPage( L"Tabs" );
  39. pDragMe->SetAllowReorder( true );
  40. }
  41. }
  42. void OnDockChange( Gwen::Controls::Base* pControl )
  43. {
  44. Gwen::Controls::RadioButtonController* rc = (Gwen::Controls::RadioButtonController*) pControl;
  45. if ( rc->GetSelectedLabel() == L"Top" ) m_pDockControlLeft->SetTabStripPosition( Pos::Top );
  46. if ( rc->GetSelectedLabel() == L"Bottom" ) m_pDockControlLeft->SetTabStripPosition( Pos::Bottom );
  47. if ( rc->GetSelectedLabel() == L"Left" ) m_pDockControlLeft->SetTabStripPosition( Pos::Left );
  48. if ( rc->GetSelectedLabel() == L"Right" ) m_pDockControlLeft->SetTabStripPosition( Pos::Right );
  49. }
  50. Gwen::Font m_Font;
  51. };
  52. DEFINE_UNIT_TEST( TabControl2, L"TabControl" );