Example #1
0
int inputGetEvent(tKey* key) {
	SDL_Event event;
	
	while(SDL_WaitEvent(&event))
	{
		key->actionPerformed=none;
		switch (event.type) {
		case SDL_KEYDOWN:
			editKey(key,event.key.keysym.sym,1);
			if (editAction(key,event.key.keysym.sym)) return 0;
			break;
		case SDL_KEYUP:
			editKey(key,event.key.keysym.sym,0);
			break;
#ifdef DEBUG_POS
		case SDL_MOUSEBUTTONDOWN:
			printf("button pressed (%d,%d)\n",event.button.x,event.button.y);
			break;
		case SDL_MOUSEBUTTONUP:
			printf("button released (%d,%d)\n",event.button.x,event.button.y);
			break;
#endif
		case SDL_USEREVENT:
			return 1; /* A new time cicle has started! */
		case SDL_QUIT:
			key->actionPerformed=quit;
			return 0;
		}
	}
	printf("inputGetEvent: unreachable code\n");
	return 0;	
}
KeyListViewIface& KeyListPresenter::getView() {
	if (itsKeyListView == 0) {
		itsKeyListView = getFactory().createKeyListView();
		getView().getBtnAddKey().pressedSig.connect([=] {addKey();});
		getView().getBtnReload().pressedSig.connect(
				[=] {reloadKeyList();});
		getView().getBtnEditKey().pressedSig.connect([=] {editKey();});
		getView().getBtnDelKey().pressedSig.connect([=] {deleteKey();});
		getView().selectionChangedSig.connect([=](int pIdx){selectionChanged(pIdx);});
	}
	return *itsKeyListView;
}