#include "UnitTest.h" using namespace Gwen; class Button : public GUnit { public: GWEN_CONTROL_INLINE(Button, GUnit) { // Normal button Controls::Button* pButtonA = new Controls::Button(this); pButtonA->SetText(L"Event Tester"); pButtonA->onPress.Add(this, &Button::onButtonA); { Controls::Button* pButtonA = new Controls::Button(this); pButtonA->SetBounds(200, 30, 300, 200); pButtonA->SetText(L"Event Tester"); pButtonA->onPress.Add(this, &Button::onButtonA); } // Unicode test Controls::Button* pButtonB = new Controls::Button(this); pButtonB->SetText(L"\u0417\u0430\u043C\u0435\u0436\u043D\u0430\u044F \u043C\u043E\u0432\u0430"); Gwen::Align::PlaceBelow(pButtonB, pButtonA, 10); // Image with text Controls::Button* pButtonC = new Controls::Button(this); pButtonC->SetText(L"Image Button"); pButtonC->SetImage(L"test16.png"); Gwen::Align::PlaceBelow(pButtonC, pButtonB, 10); // Just image Controls::Button* pButtonD = new Controls::Button(this); pButtonD->SetText(L""); pButtonD->SetImage(L"test16.png"); pButtonD->SetSize(20, 20); Gwen::Align::PlaceBelow(pButtonD, pButtonC, 10); // Toggle button Controls::Button* pButtonE = new Controls::Button(this); pButtonE->SetText(L"Toggle Me"); pButtonE->SetIsToggle(true); pButtonE->onToggle.Add(this, &Button::OnToggle); pButtonE->onToggleOn.Add(this, &Button::OnToggleOn); pButtonE->onToggleOff.Add(this, &Button::OnToggleOff); Gwen::Align::PlaceBelow(pButtonE, pButtonD, 10); } void onButtonA(Controls::Base* pControl) { UnitPrint(L"Button Pressed (using 'OnPress' event)"); } void OnToggle(Controls::Base* pControl) { UnitPrint(L"Button Toggled (using 'OnToggle' event)"); } void OnToggleOn(Controls::Base* pControl) { UnitPrint(L"Button Toggled ON (using 'OnToggleOn' event)"); } void OnToggleOff(Controls::Base* pControl) { UnitPrint(L"Button Toggled Off (using 'OnToggleOff' event)"); } }; DEFINE_UNIT_TEST(Button, L"Button");