LoadMenu::LoadMenu(std::shared_ptr<StateContext> sc) : GameState(StateType::LOAD_MENU, sc) { using namespace MenuSettings; using std::placeholders::_1; getCallbacks()->setKey(SDLK_ESCAPE, CommonCallback::popStateK); getCallbacks()->setDefaultKey(DefaultCallback::key); getCallbacks()->setMouse(DefaultCallback::mouse); getCallbacks()->setEvent(DefaultCallback::event); // setup widgets VerticalLayout* layout = new VerticalLayout; layout->setMargins(0, 0, 0, 0); layout->setWidgetAlignment(WidgetAlignmentHoriz::CENTER, WidgetAlignmentVert::TOP); TextListView* view = new TextListView; view->setSelectedCallback(std::bind(&self_type::selectedCallback, this, _1)); setup(*view); layout->add(view); wArea.setPosition(IntPair{viewPadding, viewPadding}); wArea.setSize(IntPair{Constants::windowWidth - (viewPadding * 2), Constants::windowHeight - (viewPadding * 2)}); wArea.setLayout(layout); }