本文整理汇总了C++中Widget::LinkInnerRight方法的典型用法代码示例。如果您正苦于以下问题:C++ Widget::LinkInnerRight方法的具体用法?C++ Widget::LinkInnerRight怎么用?C++ Widget::LinkInnerRight使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Widget
的用法示例。
在下文中一共展示了Widget::LinkInnerRight方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Widget
TEST_FIXTURE(SDL_fixture, HierarchalWidgets)
{
/* Layout
|------------------------------| |--------|
|A | |E |
| |-----------| |-------| | | |
| |B | |C | | | |
| | | |-------| | | |
| | | | | |
| | | | | |
| | | |-------| | | |
| | | |D | | | |
| |-----------| |-------| | | |
| | | |
|------------------------------| |--------|
|------------------------------------------|
|F |
|------------------------------------------|
*/
UNITTEST_TIME_CONSTRAINT(50);
CHECK(SDL_init_ok);
if(SDL_init_ok)
{
Widget* A = new Widget();
Widget* B = new Widget();
Widget* C = new Widget();
Widget* D = new Widget();
Widget* E = new Widget();
Widget* F = new Widget();
A->AddChild(B);
A->AddChild(C);
A->AddChild(D);
A->LinkInnerRight(B);
A->LinkInnerLeft(C);
A->LinkInnerDown(B);
A->LinkInnerUp(B);
A->LinkRight(E);
E->LinkLeft(A);
B->LinkRight(C);
C->LinkLeft(B);
D->LinkLeft(B);
A->LinkDown(F);
E->LinkDown(F);
F->LinkUp(A);
A->SetFocus();
CHECK_EQUAL(true, A->HasFocus());
Widget::GetWidgetWithFocus()->HandleEvent(Event(EventType::KeyDown));
CHECK_EQUAL(true, B->HasFocus());
Widget::GetWidgetWithFocus()->HandleEvent(Event(EventType::KeyDown));
CHECK_EQUAL(true, F->HasFocus());
Widget::GetWidgetWithFocus()->HandleEvent(Event(EventType::KeyUp));
CHECK_EQUAL(true, A->HasFocus());
Widget::GetWidgetWithFocus()->HandleEvent(Event(EventType::KeyUp));
CHECK_EQUAL(true, B->HasFocus());
Widget::GetWidgetWithFocus()->HandleEvent(Event(EventType::KeyUp));
CHECK_EQUAL(true, A->HasFocus());
Widget::GetWidgetWithFocus()->HandleEvent(Event(EventType::KeyRight));
CHECK_EQUAL(true, B->HasFocus());
Widget::GetWidgetWithFocus()->HandleEvent(Event(EventType::KeyRight));
CHECK_EQUAL(true, C->HasFocus());
Widget::GetWidgetWithFocus()->HandleEvent(Event(EventType::KeyRight));
CHECK_EQUAL(true, E->HasFocus());
Widget::ClearRoot();
}
}