#include "UnitTest.h" #include "Gwen/Controls/ListBox.h" using namespace Gwen; class ListBox : public GUnit { public: GWEN_CONTROL_INLINE(ListBox, GUnit) { { Gwen::Controls::ListBox* ctrl = new Gwen::Controls::ListBox(this); ctrl->SetBounds(10, 10, 100, 200); ctrl->AddItem(L"First"); ctrl->AddItem(L"Blue"); ctrl->AddItem(L"Yellow"); ctrl->AddItem(L"Orange"); ctrl->AddItem(L"Brown"); ctrl->AddItem(L"Green"); ctrl->AddItem(L"Dog"); ctrl->AddItem(L"Cat"); ctrl->AddItem(L"Shoes"); ctrl->AddItem(L"Chair"); ctrl->AddItem(L"Last"); ctrl->onRowSelected.Add(this, &ThisClass::RowSelected); } { Gwen::Controls::ListBox* ctrl = new Gwen::Controls::ListBox(this); ctrl->SetBounds(120, 10, 200, 200); ctrl->SetColumnCount(3); ctrl->SetAllowMultiSelect(true); ctrl->onRowSelected.Add(this, &ThisClass::RowSelected); { Gwen::Controls::Layout::TableRow* pRow = ctrl->AddItem(L"Baked Beans"); pRow->SetCellText(1, L"Heinz"); pRow->SetCellText(2, L"£3.50"); } { Gwen::Controls::Layout::TableRow* pRow = ctrl->AddItem(L"Bananas"); pRow->SetCellText(1, L"Trees"); pRow->SetCellText(2, L"£1.27"); } { Gwen::Controls::Layout::TableRow* pRow = ctrl->AddItem(L"Chicken"); pRow->SetCellText(1, L"\u5355\u5143\u6D4B\u8BD5"); pRow->SetCellText(2, L"£8.95"); } } } void RowSelected(Gwen::Controls::Base* pControl) { Gwen::Controls::ListBox* ctrl = (Gwen::Controls::ListBox*)pControl; UnitPrint(Utility::Format(L"Listbox Item Selected: %s", ctrl->GetSelectedRow()->GetText(0).c_str())); } Gwen::Font m_Font; }; DEFINE_UNIT_TEST(ListBox, L"ListBox");