1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
#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");
|