bool UITextEditor::Finalise(void) { if (m_template) return true; if (!m_textWidget) { UIWidget *text = FindChildByName("text"); if (text && text->Type() == UIText::kUITextType) m_textWidget = static_cast<UIText*>(text); } if (!m_cursor && m_textWidget) { m_cursor = FindChildByName("cursor", true); if (m_cursor) { connect(this, SIGNAL(Selected()), m_cursor, SLOT(Show())); connect(this, SIGNAL(Deselected()), m_cursor, SLOT(Hide())); if (!m_selected) m_cursor->Hide(); } } UpdateCursor(); return UIWidget::Finalise(); }
bool UIDirect3D9Window::event(QEvent *Event) { int type = Event->type(); if (type == QEvent::KeyPress || type == QEvent::KeyRelease) { QKeyEvent *keyevent = static_cast<QKeyEvent*>(Event); if (keyevent) { keyevent->accept(); UIWidget* focuswidget = m_theme ? m_theme->GetFocusWidget() : NULL; if (focuswidget && focuswidget->Type() == UITextEditor::kUITextEditorType) { UITextEditor *texteditor = static_cast<UITextEditor*>(focuswidget); if (texteditor && texteditor->HandleTextInput(keyevent)) return true; } int action = GetActionFromKey(keyevent); if (action && focuswidget) { if (focuswidget->HandleAction(action)) return true; } switch (action) { case Torc::Escape: close(); return true; case Torc::Suspend: gPower->Suspend(); return true; case Torc::DisableStudioLevels: SetStudioLevels(false); break; case Torc::EnableStudioLevels: SetStudioLevels(true); break; case Torc::ToggleStudioLevels: SetStudioLevels(!m_studioLevels); break; default: break; } } } else if (type == QEvent::Timer) { QTimerEvent *timerevent = dynamic_cast<QTimerEvent*>(Event); if (timerevent && timerevent->timerId() == m_mainTimer) { MainLoop(); return true; } } else if (type == QEvent::Paint) { return true; } return QWidget::event(Event); }