//--------------------------------------------------------------
            void Gui::keyPressed(int key) {
                if(!pages.size()) return;

                if(doDefaultKeys) {
                    if(key == ' ') {
                        toggleDraw();
                    } else if(key>='1' && key<='9') {
                        setPage((int)(key - '1')+1);
                        setDraw(true);
                    } else if(doDraw) {
                        switch(key) {
                            case '[': prevPage(); break;
                            case ']': nextPage(); break;
                        }
                    }
                }
                
                if(!doDraw) return;
                ofKeyEventArgs e;
                e.key = key;

                if(!getActiveControls().empty()) {
                    getActiveControls()[0]->_keyPressed(e);
                } else {
                    getCurrentPage().keyPressed(key);
                    Container::keyPressed(key);
                }
            }
void ofxSimpleGuiToo::keyPressed(ofKeyEventArgs &e) {
	//ofLog(OF_LOG_VERBOSE, ofToString(e.key));
	
	if(doDefaultKeys && keyboardShortcutsEnabled) {
		if(e.key == ' ') {
			toggleDraw();
			/* disabled for keyboard editing
			 } else if(e.key>='0' && e.key<='9') {
			 setPage((int)(e.key - '0'));
			 setDraw(true);
			 */
		} else if(doDraw) {
			switch(e.key) {
				case '[': prevPage(); break;
				case ']': nextPage(); break;
					//case 'p': focusPrev(); break;
					//case 'l': focusNext(); break;
				case 'g': 
					setPage(1); 
					setDraw(true);
					break;
				case 'G': gui.setAlignRight(!gui.getAlignRight()); break;
				case OF_KEY_UP:
					gui.currentPage().onKeyUp();
					break;
				case OF_KEY_DOWN:
					//focusNext();
					gui.currentPage().onKeyDown();
					break;
				case OF_KEY_LEFT:
					gui.currentPage().onKeyLeft();
					break;
				case OF_KEY_RIGHT:
					gui.currentPage().onKeyRight();
					break;
				case OF_KEY_RETURN:
					gui.currentPage().onKeyEnter();
					break;
			}
		}
	}
	
	// check and trigger keyboard shortcuts
	if(keyboardShortcutsEnabled){
		map<int,ofxSimpleGuiEventTrigger*>::iterator it = keyboardShortcuts.find(e.key);
		if(it != keyboardShortcuts.end()){ //< if already exists
			it->second->trigger();
		}
	}
	
	if(doDraw) {
		headerPage->keyPressed(e);
		pages[currentPageIndex]->keyPressed(e);
	}
	
}
Example #3
0
void ofxSimpleGuiToo::keyPressed(ofKeyEventArgs &e) {
	if(doDefaultKeys) {
		if(e.key == ' ') {
			toggleDraw();
		} else if(e.key>='0' && e.key<='9') {
			setPage((int)(e.key - '0'));
			setDraw(true);
		} else if(doDraw) {
			switch(e.key) {
				case '[': prevPage(); break;
				case ']': nextPage(); break;
			}
		}
	}
	
	if(doDraw) {
		headerPage->keyPressed(e);
		pages[currentPageIndex]->keyPressed(e);
	}
	
}