//============================================================================== bool Joystick::keyPressed (const KeyPress& key) { if (key.isKeyCode (KeyPress::upKey)) { setValues(current_x,current_y-interval); } else if (key.isKeyCode (KeyPress::downKey)) { setValues(current_x,current_y+interval); } else if (key.isKeyCode (KeyPress::leftKey)) { setValues(current_x-interval,current_y); } else if (key.isKeyCode (KeyPress::rightKey)) { setValues(current_x+interval,current_y); } else { return Component::keyPressed (key); } return true; }
bool AlertWindow::keyPressed (const KeyPress& key) { for (int i = buttons.size(); --i >= 0;) { TextButton* const b = buttons.getUnchecked(i); if (b->isRegisteredForShortcut (key)) { b->triggerClick(); return true; } } if (key.isKeyCode (KeyPress::escapeKey) && escapeKeyCancels && buttons.size() == 0) { exitModalState (0); return true; } else if (key.isKeyCode (KeyPress::returnKey) && buttons.size() == 1) { buttons.getUnchecked(0)->triggerClick(); return true; } return false; }
bool ComponentLayoutEditor::keyPressed (const KeyPress& key) { const bool snap = key.getModifiers().isAltDown(); const bool stretch = key.getModifiers().isShiftDown(); const int amount = snap ? document.getSnappingGridSize() + 1 : 1; if (key.isKeyCode (KeyPress::rightKey)) { moveOrStretch (layout, amount, 0, snap, stretch); } else if (key.isKeyCode (KeyPress::downKey)) { moveOrStretch (layout, 0,amount, snap, stretch); } else if (key.isKeyCode (KeyPress::leftKey)) { moveOrStretch (layout, -amount, 0, snap, stretch); } else if (key.isKeyCode (KeyPress::upKey)) { moveOrStretch (layout, 0, -amount, snap, stretch); } else { return false; } return true; }
//============================================================================== bool ComboBox::keyPressed (const KeyPress& key) { if (key.isKeyCode (KeyPress::upKey) || key.isKeyCode (KeyPress::leftKey)) { int index = getSelectedItemIndex() - 1; while (index >= 0 && ! selectIfEnabled (index)) --index; return true; } else if (key.isKeyCode (KeyPress::downKey) || key.isKeyCode (KeyPress::rightKey)) { int index = getSelectedItemIndex() + 1; while (index < getNumItems() && ! selectIfEnabled (index)) ++index; return true; } else if (key.isKeyCode (KeyPress::returnKey)) { showPopup(); return true; } return false; }
bool CommandTable::keyPressed(const KeyPress& k) { if (k.isKeyCode(KeyPress::deleteKey) && getSelectedRow() != -1) { bool last = getSelectedRow() == getNumRows() - 1; ((CommandTableModel*)getModel())->removeRow(static_cast<size_t>(getSelectedRow())); updateContent(); if (last) { // keep selection at the end selectRow(getNumRows() - 1); } return true; } if (k.isKeyCode(KeyPress::downKey) && getSelectedRow() != -1 && getSelectedRow() < getNumRows() - 1) { selectRow(getSelectedRow() + 1); return true; } if (k.isKeyCode(KeyPress::upKey) && getSelectedRow() > 0 && getNumRows() > 1) { selectRow(getSelectedRow() - 1); return true; } if (k.isKeyCode(KeyPress::pageUpKey) && getNumRows() > 0) { selectRow(0); return true; } if (k.isKeyCode(KeyPress::pageDownKey) && getNumRows() > 0) { selectRow(getNumRows() - 1); return true; } return false; }
bool JucerDocumentEditor::keyPressed (const KeyPress& key) { if (key.isKeyCode (KeyPress::deleteKey) || key.isKeyCode (KeyPress::backspaceKey)) { IntrojucerApp::getCommandManager().invokeDirectly (StandardApplicationCommandIDs::del, true); return true; } return false; }
bool GraphComponent::keyPressed (const KeyPress& key) { if (key.isKeyCode (KeyPress::leftKey)) { for (int i = 0; i < selectedNodes.getNumSelected (); i++) { GraphNodeComponent* selected = selectedNodes.getSelectedItem (i); if (selected != inputs && selected != outputs) selected->setTopLeftPosition (selected->getX() - 1, selected->getY()); } } else if (key.isKeyCode (KeyPress::rightKey)) { for (int i = 0; i < selectedNodes.getNumSelected (); i++) { GraphNodeComponent* selected = selectedNodes.getSelectedItem (i); if (selected != inputs && selected != outputs) selected->setTopLeftPosition (selected->getX() + 1, selected->getY()); } } else if (key.isKeyCode (KeyPress::upKey)) { for (int i = 0; i < selectedNodes.getNumSelected (); i++) { GraphNodeComponent* selected = selectedNodes.getSelectedItem (i); if (selected != inputs && selected != outputs) selected->setTopLeftPosition (selected->getX(), selected->getY() - 1); } } else if (key.isKeyCode (KeyPress::downKey)) { for (int i = 0; i < selectedNodes.getNumSelected (); i++) { GraphNodeComponent* selected = selectedNodes.getSelectedItem (i); if (selected != inputs && selected != outputs) selected->setTopLeftPosition (selected->getX(), selected->getY() + 1); } } else if (key.isKeyCode (KeyPress::deleteKey)) { closeSelectedPlugins (); } else { return Component::keyPressed (key); } return true; }
//============================================================================== bool CodeEditorComponent::keyPressed (const KeyPress& key) { if (! TextEditorKeyMapper<CodeEditorComponent>::invokeKeyFunction (*this, key)) { if (key == KeyPress::tabKey || key.getTextCharacter() == '\t') { insertTabAtCaret(); } else if (key == KeyPress::returnKey) { newTransaction(); insertTextAtCaret (document.getNewLineCharacters()); } else if (key.isKeyCode (KeyPress::escapeKey)) { newTransaction(); } else if (key.getTextCharacter() >= ' ') { insertTextAtCaret (String::charToString (key.getTextCharacter())); } else { return false; } } return true; }
bool ColumnFileBrowserContents::keyPressed (const KeyPress& key) { if (key.isKeyCode (KeyPress::leftKey)) { if (activeColumn != 0) { FileListComponent* list = dynamic_cast<FileListComponent*> (columns[activeColumn]->getDisplayComponent()); list->deselectAllRows(); int newActiveColumn = jmax (0, activeColumn - 1); columns[newActiveColumn]->selectionChanged(); columns[newActiveColumn]->grabKeyboardFocus(); } return true; } else if (key.isKeyCode (KeyPress::rightKey)) { if (columns[activeColumn]->getNumSelectedFiles() == 1 && columns[activeColumn]->getSelectedFile (0).isDirectory() && getNumValidChildFiles (columns[activeColumn]->getSelectedFile (0)) > 0) { int newActiveColumn = activeColumn + 1; addColumn (columns[activeColumn]->getSelectedFile (0)); FileListComponent* list = dynamic_cast<FileListComponent*> (columns[newActiveColumn]->getDisplayComponent()); if (list != nullptr) { ListBoxModel* model = list->getModel(); if (model != nullptr) { if (model->getNumRows() > 0) { columns[newActiveColumn]->grabKeyboardFocus(); list->selectRow (0); } } } } return true; } return false; }
bool Button::keyPressed (const KeyPress& key) { if (isEnabled() && key.isKeyCode (KeyPress::returnKey)) { triggerClick(); return true; } return false; }
bool CallOutBox::keyPressed (const KeyPress& key) { if (key.isKeyCode (KeyPress::escapeKey)) { inputAttemptWhenModal(); return true; } return false; }
bool MenuBarComponent::keyPressed (const KeyPress& key) { bool used = false; const int numMenus = menuNames.size(); const int currentIndex = jlimit (0, menuNames.size() - 1, currentPopupIndex); if (key.isKeyCode (KeyPress::leftKey)) { showMenu ((currentIndex + numMenus - 1) % numMenus); used = true; } else if (key.isKeyCode (KeyPress::rightKey)) { showMenu ((currentIndex + 1) % numMenus); used = true; } return used; }
bool ApiCollection::MethodItem::keyPressed(const KeyPress& key) { if (key.isKeyCode(KeyPress::returnKey)) { insertIntoCodeEditor(); return true; } return false; }
bool SlicerChannelSelectorComponent::keyPressed (const KeyPress& key, Component* originatingComponent) { // Collapse component by clicking "ESC" key either on component or in the TextEditor if ( (dynamic_cast<TextEditor*> (originatingComponent) != nullptr || originatingComponent == this) && key.isKeyCode (KeyPress::escapeKey)) { setCollapsed (true); } return false; }
bool ScrollBar::keyPressed (const KeyPress& key) { if (! isVisible()) return false; if (key.isKeyCode (KeyPress::upKey) || key.isKeyCode (KeyPress::leftKey)) moveScrollbarInSteps (-1); else if (key.isKeyCode (KeyPress::downKey) || key.isKeyCode (KeyPress::rightKey)) moveScrollbarInSteps (1); else if (key.isKeyCode (KeyPress::pageUpKey)) moveScrollbarInPages (-1); else if (key.isKeyCode (KeyPress::pageDownKey)) moveScrollbarInPages (1); else if (key.isKeyCode (KeyPress::homeKey)) scrollToTop(); else if (key.isKeyCode (KeyPress::endKey)) scrollToBottom(); else return false; return true; }
//============================================================================== bool ComboBox::keyPressed (const KeyPress& key) { bool used = false; if (key.isKeyCode (KeyPress::upKey) || key.isKeyCode (KeyPress::leftKey)) { setSelectedItemIndex (jmax (0, getSelectedItemIndex() - 1)); used = true; } else if (key.isKeyCode (KeyPress::downKey) || key.isKeyCode (KeyPress::rightKey)) { setSelectedItemIndex (jmin (getSelectedItemIndex() + 1, getNumItems() - 1)); used = true; } else if (key.isKeyCode (KeyPress::returnKey)) { showPopup(); used = true; } return used; }
bool SpikeDisplayCanvas::keyPressed(const KeyPress& key) { KeyPress c = KeyPress::createFromDescription("c"); if (key.isKeyCode(c.getKeyCode())) // C { spikeDisplay->clear(); std::cout << "Clearing display" << std::endl; return true; } return false; }
bool Viewport::keyPressed (const KeyPress& key) { const bool isUpDownKey = key.isKeyCode (KeyPress::upKey) || key.isKeyCode (KeyPress::downKey) || key.isKeyCode (KeyPress::pageUpKey) || key.isKeyCode (KeyPress::pageDownKey) || key.isKeyCode (KeyPress::homeKey) || key.isKeyCode (KeyPress::endKey); if (verticalScrollBar.isVisible() && isUpDownKey) return verticalScrollBar.keyPressed (key); const bool isLeftRightKey = key.isKeyCode (KeyPress::leftKey) || key.isKeyCode (KeyPress::rightKey); if (horizontalScrollBar.isVisible() && (isUpDownKey || isLeftRightKey)) return horizontalScrollBar.keyPressed (key); return false; }
bool keyPressed (const KeyPress& key) { if (key.isKeyCode (KeyPress::upKey) || key.isKeyCode (KeyPress::downKey) || key.isKeyCode (KeyPress::pageUpKey) || key.isKeyCode (KeyPress::pageDownKey) || key.isKeyCode (KeyPress::homeKey) || key.isKeyCode (KeyPress::endKey)) { // we want to avoid these keypresses going to the viewport, and instead allow // them to pass up to our listbox.. return false; } return Viewport::keyPressed (key); }
bool ScumblerComponent::keyPressed(const KeyPress& key) { bool retval = false; if (key.isKeyCode(KeyPress::tabKey)) { ModifierKeys mod = key.getModifiers(); if (mod.isShiftDown()) { fScumbler->ActivatePreviousTrack(); } else { fScumbler->ActivateNextTrack(); } retval = true; } else { retval = false; } return retval; }
bool keyPressed (const KeyPress& key) { if (key.isKeyCode (KeyPress::upKey) || key.isKeyCode (KeyPress::downKey) || key.isKeyCode (KeyPress::pageUpKey) || key.isKeyCode (KeyPress::pageDownKey) || key.isKeyCode (KeyPress::homeKey) || key.isKeyCode (KeyPress::endKey)) { const int allowableMods = owner.multipleSelection ? ModifierKeys::shiftModifier : 0; if ((key.getModifiers().getRawFlags() & ~allowableMods) == 0) { // we want to avoid these keypresses going to the viewport, and instead allow // them to pass up to our listbox.. return false; } } return Viewport::keyPressed (key); }
// Component::keyPressed ( const KeyPress & key ) bool NumberBox::keyPressed(const KeyPress & key) { // Bouml preserved body begin 0004868D if(String("0123456789.,-+").indexOfChar(key.getTextCharacter()) > -1 || key == KeyPress::returnKey || key.isKeyCode (KeyPress::escapeKey) ) { TextEditor::keyPressed(key); } return false; // Bouml preserved body end 0004868D }
//============================================================================== bool ListBox::keyPressed (const KeyPress& key) { const int numVisibleRows = viewport->getHeight() / getRowHeight(); const bool multiple = multipleSelection && (lastRowSelected >= 0) && (key.getModifiers().isShiftDown() || key.getModifiers().isCtrlDown() || key.getModifiers().isCommandDown()); if (key.isKeyCode (KeyPress::upKey)) { if (multiple) selectRangeOfRows (lastRowSelected, lastRowSelected - 1); else selectRow (jmax (0, lastRowSelected - 1)); } else if (key.isKeyCode (KeyPress::returnKey) && isRowSelected (lastRowSelected)) { if (model != nullptr) model->returnKeyPressed (lastRowSelected); } else if (key.isKeyCode (KeyPress::pageUpKey)) { if (multiple) selectRangeOfRows (lastRowSelected, lastRowSelected - numVisibleRows); else selectRow (jmax (0, jmax (0, lastRowSelected) - numVisibleRows)); } else if (key.isKeyCode (KeyPress::pageDownKey)) { if (multiple) selectRangeOfRows (lastRowSelected, lastRowSelected + numVisibleRows); else selectRow (jmin (totalItems - 1, jmax (0, lastRowSelected) + numVisibleRows)); } else if (key.isKeyCode (KeyPress::homeKey)) { if (multiple && key.getModifiers().isShiftDown()) selectRangeOfRows (lastRowSelected, 0); else selectRow (0); } else if (key.isKeyCode (KeyPress::endKey)) { if (multiple && key.getModifiers().isShiftDown()) selectRangeOfRows (lastRowSelected, totalItems - 1); else selectRow (totalItems - 1); } else if (key.isKeyCode (KeyPress::downKey)) { if (multiple) selectRangeOfRows (lastRowSelected, lastRowSelected + 1); else selectRow (jmin (totalItems - 1, jmax (0, lastRowSelected) + 1)); } else if ((key.isKeyCode (KeyPress::deleteKey) || key.isKeyCode (KeyPress::backspaceKey)) && isRowSelected (lastRowSelected)) { if (model != nullptr) model->deleteKeyPressed (lastRowSelected); } else if (multiple && key == KeyPress ('a', ModifierKeys::commandModifier, 0)) { selectRangeOfRows (0, std::numeric_limits<int>::max()); } else { return false; } return true; }
//============================================================================== bool CodeEditorComponent::keyPressed (const KeyPress& key) { const bool moveInWholeWordSteps = key.getModifiers().isCtrlDown() || key.getModifiers().isAltDown(); const bool shiftDown = key.getModifiers().isShiftDown(); if (key.isKeyCode (KeyPress::leftKey)) { cursorLeft (moveInWholeWordSteps, shiftDown); } else if (key.isKeyCode (KeyPress::rightKey)) { cursorRight (moveInWholeWordSteps, shiftDown); } else if (key.isKeyCode (KeyPress::upKey)) { if (key.getModifiers().isCtrlDown() && ! shiftDown) scrollDown(); #if JUCE_MAC else if (key.getModifiers().isCommandDown()) goToStartOfDocument (shiftDown); #endif else cursorUp (shiftDown); } else if (key.isKeyCode (KeyPress::downKey)) { if (key.getModifiers().isCtrlDown() && ! shiftDown) scrollUp(); #if JUCE_MAC else if (key.getModifiers().isCommandDown()) goToEndOfDocument (shiftDown); #endif else cursorDown (shiftDown); } else if (key.isKeyCode (KeyPress::pageDownKey)) { pageDown (shiftDown); } else if (key.isKeyCode (KeyPress::pageUpKey)) { pageUp (shiftDown); } else if (key.isKeyCode (KeyPress::homeKey)) { if (moveInWholeWordSteps) goToStartOfDocument (shiftDown); else goToStartOfLine (shiftDown); } else if (key.isKeyCode (KeyPress::endKey)) { if (moveInWholeWordSteps) goToEndOfDocument (shiftDown); else goToEndOfLine (shiftDown); } else if (key.isKeyCode (KeyPress::backspaceKey)) { backspace (moveInWholeWordSteps); } else if (key.isKeyCode (KeyPress::deleteKey)) { deleteForward (moveInWholeWordSteps); } else if (key == KeyPress (T('c'), ModifierKeys::commandModifier, 0)) { copy(); } else if (key == KeyPress (T('x'), ModifierKeys::commandModifier, 0)) { copyThenCut(); } else if (key == KeyPress (T('v'), ModifierKeys::commandModifier, 0)) { paste(); } else if (key == KeyPress (T('z'), ModifierKeys::commandModifier, 0)) { undo(); } else if (key == KeyPress (T('y'), ModifierKeys::commandModifier, 0) || key == KeyPress (T('z'), ModifierKeys::commandModifier | ModifierKeys::shiftModifier, 0)) { redo(); } else if (key == KeyPress (T('a'), ModifierKeys::commandModifier, 0)) { selectAll(); } else if (key == KeyPress::tabKey || key.getTextCharacter() == '\t') { insertTabAtCaret(); } else if (key == KeyPress::returnKey) { newTransaction(); insertTextAtCaret (document.getNewLineCharacters()); } else if (key.isKeyCode (KeyPress::escapeKey)) { newTransaction(); } else if (key.getTextCharacter() >= ' ') { insertTextAtCaret (String::charToString (key.getTextCharacter())); } else { return false; } return true; }
bool TreeView::keyPressed (const KeyPress& key) { if (key.isKeyCode (KeyPress::upKey)) { moveSelectedRow (-1); } else if (key.isKeyCode (KeyPress::downKey)) { moveSelectedRow (1); } else if (key.isKeyCode (KeyPress::pageDownKey) || key.isKeyCode (KeyPress::pageUpKey)) { if (rootItem != 0) { int rowsOnScreen = getHeight() / jmax (1, rootItem->itemHeight); if (key.isKeyCode (KeyPress::pageUpKey)) rowsOnScreen = -rowsOnScreen; moveSelectedRow (rowsOnScreen); } } else if (key.isKeyCode (KeyPress::homeKey)) { moveSelectedRow (-0x3fffffff); } else if (key.isKeyCode (KeyPress::endKey)) { moveSelectedRow (0x3fffffff); } else if (key.isKeyCode (KeyPress::returnKey)) { TreeViewItem* const firstSelected = getSelectedItem (0); if (firstSelected != 0) firstSelected->setOpen (! firstSelected->isOpen()); } else if (key.isKeyCode (KeyPress::leftKey)) { TreeViewItem* const firstSelected = getSelectedItem (0); if (firstSelected != 0) { if (firstSelected->isOpen()) { firstSelected->setOpen (false); } else { TreeViewItem* parent = firstSelected->parentItem; if ((! rootItemVisible) && parent == rootItem) parent = 0; if (parent != 0) { parent->setSelected (true, true); scrollToKeepItemVisible (parent); } } } } else if (key.isKeyCode (KeyPress::rightKey)) { TreeViewItem* const firstSelected = getSelectedItem (0); if (firstSelected != 0) { if (firstSelected->isOpen() || ! firstSelected->mightContainSubItems()) moveSelectedRow (1); else firstSelected->setOpen (true); } } else { return false; } return true; }