void TWindow::handleEvent(TEvent &event) { TRect limits; TPoint min, max; TGroup::handleEvent(event); if (event.what== evCommand) switch (event.message.command) { case cmResize: if ((flags & (wfMove | wfGrow)) != 0) { limits = owner->getExtent(); sizeLimits(min, max); dragView(event, dragMode | (flags & (wfMove | wfGrow)), limits, min, max); clearEvent(event); } break; case cmClose: if ((flags & wfClose) != 0 && (event.message.infoPtr == 0 || event.message.infoPtr == this)) { clearEvent(event); if ((state & sfModal) == 0) close(); else { event.what = evCommand; event.message.command = cmCancel; putEvent(event); clearEvent(event); } } break; case cmZoom: if ((flags & wfZoom) != 0 && (event.message.infoPtr == 0 || event.message.infoPtr == this)) { zoom(); clearEvent(event); } break; } else if (event.what == evKeyDown) switch (event.keyDown.keyCode) { case kbTab: focusNext(False); clearEvent(event); break; case kbShiftTab: focusNext(True); clearEvent(event); break; } else if (event.what == evBroadcast && event.message.command == cmSelectWindowNum && event.message.infoInt == number && (options & ofSelectable) != 0 ) { select(); clearEvent(event); } }
void LayerPanel::action(const gcn::ActionEvent& ae) { gcn::Widget *src = ae.getSource(); if(src == cbVisible) { _engine->GetLayerMgr()->GetLayer(_engine->GetDrawPanel()->GetActiveLayerId())->visible = cbVisible->isSelected(); UpdateSelection(); } else if(src == tfName) { _engine->GetLayerMgr()->GetLayer(_engine->GetDrawPanel()->GetActiveLayerId())->name = tfName->getText(); focusNext(); // move focus away, else almost impossible to escape from textfield widget UpdateSelection(); } else if(src == btnAllVisible) { for(uint32 i = 0; i < LAYER_MAX; i++) _engine->GetLayerMgr()->GetLayer(i)->visible = true; UpdateSelection(); } else if(src == btnNoneVisible) { for(uint32 i = 0; i < LAYER_MAX; i++) _engine->GetLayerMgr()->GetLayer(i)->visible = false; UpdateSelection(); } }
BOOL LLUICtrl::focusNextItem(BOOL text_fields_only) { // this assumes that this method is called on the focus root. LLCtrlQuery query = getTabOrderQuery(); if(text_fields_only || LLUI::sConfigGroup->getBOOL("TabToTextFieldsOnly")) { query.addPreFilter(LLUICtrl::LLTextInputFilter::getInstance()); } viewList_t result = query(this); return focusNext(result); }
BOOL LLUICtrl::focusNextItem(BOOL text_fields_only) { // this assumes that this method is called on the focus root. LLCtrlQuery query = getTabOrderQuery(); static LLUICachedControl<bool> tab_to_text_fields_only ("TabToTextFieldsOnly", false); if(text_fields_only || tab_to_text_fields_only) { query.addPreFilter(LLUICtrl::LLTextInputFilter::getInstance()); } child_list_t result = query(this); return focusNext(result); }
void TerminalSplitter::focusLast() { if (is_shutting_down) return; if (terminalCount(true) == 1) { QWidget* w = static_cast<QWidget*>(child(0, QCString("TEWidget"), true)); if (w) w->setFocus(); } else { focusPrevious(); focusNext(); } }
void UI::onJoystickMotion (bool horizontal, int v) { if (_restart) return; UIStack stack = _stack; for (UIStackReverseIter i = stack.rbegin(); i != stack.rend(); ++i) { UIWindow* window = *i; if (window->onJoystickMotion(horizontal, v)) return; if (window->isModal() || window->isFullscreen()) break; } if (Config.getBindingsSpace() != BINDINGS_UI) return; if (_time - _lastJoystickMoveTime < 350 || horizontal) { _lastJoystickMovementValue = v; return; } // skip focus change if we go back to initial position if (v > 0 && v < _lastJoystickMovementValue) { _lastJoystickMovementValue = v; return; } else if (v < 0 && v > _lastJoystickMovementValue) { _lastJoystickMovementValue = v; return; } // now check whether our value is bigger than our movement delta const int delta = 2000; if (v < -delta) { focusPrev(); } else if (v > delta) { focusNext(); } _lastJoystickMoveTime = _time; _lastJoystickMovementValue = v; }
void InsertDialog::setupUI(QDialog* dialog) { setWindowTitle(tr("Zadejte informace o dávce")); resize(225,150); QLabel* L1 = new QLabel(tr("Zadejte číslo dávky")); L1->setAlignment(Qt::AlignCenter); LEbatchNo = new BatchNumberLineEdit(); QLabel* L2 = new QLabel(tr("Pojišťovna:")); L2->setAlignment(Qt::AlignCenter); LEinCo = new InsuranceCompanyLineEdit(); QHBoxLayout *mid = new QHBoxLayout; mid->addStretch(); mid->addWidget(LEbatchNo); mid->addStretch(); QHBoxLayout *mid2 = new QHBoxLayout; mid2->addStretch(); mid2->addWidget(LEinCo); mid2->addStretch(); QVBoxLayout *main = new QVBoxLayout(dialog); main->addWidget(L1); main->addLayout(mid); main->addWidget(L2); main->addLayout(mid2); main->addStretch(); LEbatchNo->setNeighbours(0, LEinCo); LEinCo->setNeighbours(LEbatchNo, 0); QShortcut* shortcut = new QShortcut(QKeySequence(tr("Esc", "Close")), this); connect(shortcut, SIGNAL(activated()), this, SLOT(reject())); connect(LEbatchNo, SIGNAL(sendData(QString)), LEbatchNo, SLOT(focusNext())); connect(LEinCo, SIGNAL(sendData(QString)), this, SLOT(checkInsuranceCompany(QString))); setAttribute ( Qt::WA_DeleteOnClose,true ); }
int eWidget::eventHandler(const eWidgetEvent &evt) { switch (evt.type) { case eWidgetEvent::childChangedHelpText: /* emit */ focusChanged(focus); // faked focusChanged Signal to the Statusbar break; case eWidgetEvent::evtAction: if (evt.action == shortcut && isVisible()) (shortcutFocusWidget?shortcutFocusWidget:this)-> event(eWidgetEvent(eWidgetEvent::evtShortcut)); else if (evt.action == &i_focusActions->up) focusNext(focusDirPrev); else if (evt.action == &i_focusActions->down) focusNext(focusDirNext); else if (evt.action == &i_focusActions->left) focusNext(focusDirPrev); else if (evt.action == &i_focusActions->right) focusNext(focusDirNext); else if (evt.action == &i_cursorActions->help) { int wasvisible=state&stateShow; if (wasvisible) hide(); /* emit */ showHelp( &actionHelpList, helpID ); if (wasvisible) show(); } else return 0; return 1; case eWidgetEvent::evtKey: { eActionPrioritySet prio; findAction(prio, *evt.key, this); if (focus && (focus != this)) focus->findAction(prio, *evt.key, focus); for (actionMapList::iterator i = globalActions.begin(); i != globalActions.end(); ++i) { const std::set<eString> &styles=eActionMapList::getInstance()->getCurrentStyles(); for (std::set<eString>::const_iterator si(styles.begin()); si != styles.end(); ++si) (*i)->findAction(prio, *evt.key, 0, *si); } for (eActionPrioritySet::iterator i(prio.begin()); i != prio.end(); ++i) { if (i->first) { if (((eWidget*)i->first)->event(eWidgetEvent(eWidgetEvent::evtAction, i->second))) break; } else { (const_cast<eAction*>(i->second))->handler(); // only useful for global actions break; } } if (focus) { /* Action not found, try to use old Keyhandle */ int c = evt.key->producer->getKeyCompatibleCode(*evt.key); if (c != -1) { if (evt.key->flags & eRCKey::flagBreak) focus->keyUp(c); else focus->keyDown(c); } } return 1; break; } case eWidgetEvent::gotFocus: gotFocus(); break; case eWidgetEvent::lostFocus: lostFocus(); break; case eWidgetEvent::changedSize: case eWidgetEvent::changedFont: case eWidgetEvent::changedPosition: case eWidgetEvent::changedPixmap: invalidate(); break; case eWidgetEvent::evtShortcut: setFocus(this); break; case eWidgetEvent::wantClose: /* if (in_loop==0) eFatal("attempt to close non-execing widget");*/ if (in_loop==1) // nur wenn das ne echte loop ist { in_loop=-1; eApp->exit_loop(); } result=evt.parameter; break; default: break; } return 0; }
void eZapNetworkSetup::fieldSelected(int *number) { focusNext(eWidget::focusDirNext); }
void GuiContext::update(sf::RenderWindow &window) { sf::Vector2f mPos{ sf::Mouse::getPosition(window) }; bool mDown = sf::Mouse::isButtonPressed(sf::Mouse::Button::Left); for(auto element : elements) { // cursor on element if(mPos.x > element->getPosition().x && mPos.x < element->getSize().x + element->getPosition().x && mPos.y > element->getPosition().y && mPos.y < element->getSize().y + element->getPosition().y){ element->hovered_ = true; // mouse down if(mDown) { element->mouseDown_ = true; // this also sets the focus for (auto focusElement : elements) { focusElement->focussed_ = false; } element->focussed_ = true; } else { // check if mouse was down before if(element->mouseDown_) { if(element->onClick_ != nullptr){ element->onClick_(*element, element->stateObj_); } // this also drags the focus to this element for (auto focusElement : elements) { focusElement->focussed_ = false; } element->focussed_ = true; } element->mouseDown_ = false; } } else { element->hovered_ = false; element->mouseDown_ = false; } element->update(); } // return key if( sf::Keyboard::isKeyPressed(sf::Keyboard::Return) ) { if(!keyReturn_) { for(auto element : elements) { if(element->focussed_ && element->onClick_ != nullptr){ element->onClick_(*element, element->stateObj_); } } keyReturn_ = true; } } else { keyReturn_ = false; } // down key if( sf::Keyboard::isKeyPressed(sf::Keyboard::Down) ) { if(!keyDown_) { focusNext(); keyDown_ = true; } } else { keyDown_ = false; } // up key if( sf::Keyboard::isKeyPressed(sf::Keyboard::Up) ) { if(!keyUp_) { focusPrev(); keyUp_ = true; } } else { keyUp_ = false; } }
void ePicViewerSettings::fieldSelected(int *number) { focusNext(eWidget::focusDirNext); }