bullet3/test/GwenOpenGLTest/CrossSplitter.cpp
erwincoumans ab8f16961e Code-style consistency improvement:
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files.
make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type.
This commit contains no other changes aside from adding and applying clang-format-all.sh
2018-09-23 14:17:31 -07:00

107 lines
2.7 KiB
C++

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