123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- #include "UnitTest.h"
- #include "Gwen/Controls/CrossSplitter.h"
- #include "Gwen/Controls/StatusBar.h"
- #include "Gwen/Controls/Button.h"
- using namespace Gwen;
- class CrossSplitter : public GUnit
- {
- public:
- GWEN_CONTROL_INLINE( CrossSplitter, GUnit )
- {
- m_bSplittersVisible = false;
- m_iCurZoom = 0;
- m_Splitter = new Gwen::Controls::CrossSplitter( this );
- m_Splitter->SetPos(0, 0);
- m_Splitter->Dock( Pos::Fill );
- {
- Gwen::Controls::Button* testButton = new Gwen::Controls::Button( m_Splitter );
- testButton->SetText( "TOPLEFT");
- m_Splitter->SetPanel( 0, testButton );
- }
- {
- Gwen::Controls::Button* testButton = new Gwen::Controls::Button( m_Splitter );
- testButton->SetText( "TOPRIGHT");
- m_Splitter->SetPanel( 1, testButton );
- }
- {
- Gwen::Controls::Button* testButton = new Gwen::Controls::Button( m_Splitter );
- testButton->SetText( "BOTTOMRIGHT");
- m_Splitter->SetPanel( 2, testButton );
- }
- {
- Gwen::Controls::Button* testButton = new Gwen::Controls::Button( m_Splitter );
- testButton->SetText( "BOTTOMLEFT");
- m_Splitter->SetPanel( 3, testButton );
- }
-
- //Status bar to hold unit testing buttons
- Gwen::Controls::StatusBar* pStatus = new Gwen::Controls::StatusBar( this );
- pStatus->Dock( Pos::Bottom );
- {
- Gwen::Controls::Button* pButton = new Gwen::Controls::Button( pStatus );
- pButton->SetText( "Zoom" );
- pButton->onPress.Add( this, &CrossSplitter::ZoomTest );
- pStatus->AddControl( pButton, false );
- }
- {
- Gwen::Controls::Button* pButton = new Gwen::Controls::Button( pStatus );
- pButton->SetText( "UnZoom" );
- pButton->onPress.Add( this, &CrossSplitter::UnZoomTest );
- pStatus->AddControl( pButton, false );
- }
- {
- Gwen::Controls::Button* pButton = new Gwen::Controls::Button( pStatus );
- pButton->SetText( "CenterPanels" );
- pButton->onPress.Add( this, &CrossSplitter::CenterPanels );
- pStatus->AddControl( pButton, true );
- }
- {
- Gwen::Controls::Button* pButton = new Gwen::Controls::Button( pStatus );
- pButton->SetText( "Splitters" );
- pButton->onPress.Add( this, &CrossSplitter::ToggleSplitters );
- pStatus->AddControl( pButton, true );
- }
- }
- void ZoomTest( Gwen::Controls::Base* pFromPanel )
- {
- m_Splitter->Zoom(m_iCurZoom);
- m_iCurZoom++;
- if (m_iCurZoom == 4)
- m_iCurZoom = 0;
- }
- void UnZoomTest( Gwen::Controls::Base* pFromPanel )
- {
- m_Splitter->UnZoom();
- }
- void CenterPanels( Gwen::Controls::Base* pFromPanel )
- {
- m_Splitter->CenterPanels();
- m_Splitter->UnZoom();
- }
- void ToggleSplitters( Gwen::Controls::Base* pFromPanel )
- {
- m_Splitter->SetSplittersVisible( !m_bSplittersVisible );
- m_bSplittersVisible = !m_bSplittersVisible;
- }
- bool m_bSplittersVisible;
- int m_iCurZoom;
- Controls::CrossSplitter* m_Splitter;
-
- };
- DEFINE_UNIT_TEST( CrossSplitter, L"CrossSplitter" );
|