ThothWindow::ThothWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::ThothWindow) { ui->setupUi(this); // ALERT! Use the following code to get keyboard focus at your OpenGL widget ui->contextGL->setFocusPolicy(Qt::StrongFocus); ui->contextGL->setFocus(); message = new QLabel(this); popUp = new QLabel(this); mode = new QLabel(this); picked = new QLabel(this); ui->statusBar->addWidget(popUp); ui->statusBar->addPermanentWidget(picked); ui->statusBar->addPermanentWidget(mode); ui->statusBar->addPermanentWidget(message); mode->setText("Selecting"); message->setText("No model selected"); ui->statusBar->showMessage("Ready", 5000); //Tree file. //treeview of tabs TreeFile *m_build = new TreeFile(ui->treeViewBuild, "Build"); m_buildModel = m_build->getQFileSystemModel(); TreeFile *m_decorate = new TreeFile(ui->treeViewDecorate, "Decorate"); m_decorateModel = m_decorate->getQFileSystemModel(); TreeFile *m_furnish = new TreeFile(ui->treeViewFurnish, "Furnish"); m_furnishModel = m_furnish->getQFileSystemModel(); connect(ui->actionSave_project, SIGNAL(triggered()), this, SLOT(actionSave_project_triggered())); QTimer *tim = new QTimer(this); connect(tim, SIGNAL(timeout()), ui->contextGL, SLOT(updateGL())); tim->start(TICK_PER_SECOND); connect(tim, SIGNAL(timeout()), ui->contextGL, SLOT(checkActiveModel())); connect(ui->SldR, SIGNAL(valueChanged(int)), SLOT(onColorChanged())); connect(ui->SldG, SIGNAL(valueChanged(int)), SLOT(onColorChanged())); connect(ui->SldB, SIGNAL(valueChanged(int)), SLOT(onColorChanged())); onColorChanged(); connect(CScenary::getInstance(), SIGNAL(setNameModel(string)), SLOT(getModelName(string))); connect(RenderManager::GetInstance(), SIGNAL(sendChangeTab()), SLOT(changeTab())); RenderManager::GetInstance()->GetRenderMode(EDITOR_2D)->SetCameraProjection(INIT_WIDTH, INIT_HEIGHT); connect(this, SIGNAL(changeMouseMove(bool)), RenderManager::GetInstance()->GetRenderMode(EXPLORER), SLOT(setMouseMove(bool))); connect(this, SIGNAL(changeCursor(Qt::CursorShape)), ui->contextGL, SLOT(changeCursor(Qt::CursorShape))); connect(ui->ColorButton, SIGNAL(clicked(bool)), SLOT(on_colorButton_clicked())); connect(this, SIGNAL(newModel(ModelInfo, int)), RenderManager::GetInstance()->GetRenderMode(EXPLORER), SLOT(changeModelTexture(ModelInfo, int))); connect(ui->actionOpen_project, SIGNAL(triggered()), this, SLOT(actionOpen_project_triggered())); connect(CScenary::getInstance(), SIGNAL(setNameModel(string)), SLOT(getModelName(string))); connect(RenderManager::GetInstance(), SIGNAL(sendChangeTab()), SLOT(changeTab())); connect(CScenary::getInstance(), SIGNAL(activeFloorChanged(int)), ui->floorBox, SLOT(setValue(int))); connect(RenderManager::GetInstance()->GetRenderMode(EDITOR_2D), SIGNAL(changedMode(string)), SLOT(getModeName(string))); connect(RenderManager::GetInstance()->GetRenderMode(EDITOR_2D), SIGNAL(pickedInfo(string)), SLOT(getPicked(string))); connect(RenderManager::GetInstance()->GetRenderMode(EXPLORER), SIGNAL(pickedInfo(string)), SLOT(getPicked(string))); connect(RenderManager::GetInstance()->GetRenderMode(EXPLORER), SIGNAL(setMessage(string, int)), SLOT(getMessage(string, int))); connect(RenderManager::GetInstance()->GetRenderMode(EDITOR_2D), SIGNAL(setMessage(string, int)), SLOT(getMessage(string, int))); connect(CScenary::getInstance(), SIGNAL(setMessage(string, int)), SLOT(getMessage(string, int))); }
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { case WM_INITDIALOG: if (!initDialog(hWnd)) { PostQuitMessage(0); } return TRUE; case WM_CLOSE: DestroyWindow(hWnd); return TRUE; case WM_NOTIFY: return changeTab((LPNMHDR)lParam); case WM_DESTROY: cleanUp(); PostQuitMessage(0); return TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDB_CLOSE) { PostQuitMessage(0); return TRUE; } if (LOWORD(wParam) == IDB_APPLY) { applySettings(); setDlgItems(hWnd); return TRUE; } break; } return 0; }
bool MainLayer::initData() { changeTab(MAIN_PAGE); updateRecommend(0); return true; }
void HtmlEditor::adjustSource() { setWindowModified(true); sourceDirty = true; if (ui->tabWidget->currentIndex() == 1) changeTab(1); }
static pascal OSStatus PrefsTabEventHandlerProc( EventHandlerCallRef inCallRef, EventRef inEvent, void* inUserData ) { WindowRef theWindow = (WindowRef)inUserData; // get the windowRef, passed around as userData short ret; ret = changeTab(theWindow, lastPaneSelected); if (ret) { lastPaneSelected = ret; } return( eventNotHandledErr ); }
void DkPreferenceWidget::addTabWidget(DkPreferenceTabWidget* tabWidget) { mWidgets.append(tabWidget); mCentralLayout->addWidget(tabWidget); DkTabEntryWidget* tabEntry = new DkTabEntryWidget(tabWidget->icon(), tabWidget->name(), this); mTabLayout->insertWidget(mTabLayout->count()-2, tabEntry); // -2 -> insert before stretch connect(tabEntry, SIGNAL(clicked()), this, SLOT(changeTab())); mTabEntries.append(tabEntry); // tick the first if (mTabEntries.size() == 1) tabEntry->click(); }
RenderManager::RenderManager(QObject*) { m_Renders = RenderMap(); m_Renders.insert(std::pair<Modes, Render*>(EDITOR_2D, new Render2D())); RenderExplorer* RE = new RenderExplorer(); connect(RE, SIGNAL(changeTab()), SLOT(getChangeTab())); m_Renders.insert(std::pair<Modes, Render*>(EXPLORER, RE)); // TODO: // Afegir els inserts per els renders que falten un cop creats. // Resize all the render modes camera. //SetProjection(INIT_WIDTH, INIT_HEIGHT, EDITOR_2D) }
void MainLayer::changeFocus(EventKeyboard::KeyCode keyCode) { if (_isFocusNotOnTab) doFocusChange(keyCode); else { if (keyCode == EventKeyboard::KeyCode::KEY_DPAD_UP) return; int index = _pageView->getCurPageIndex(); switch (keyCode) { case EventKeyboard::KeyCode::KEY_DPAD_RIGHT: { index++; if (index >= PAGE_COUNT) return; index = index == MAIN_PAGE_PLUS ? index + 1 : index; changeTab(index); } break; case EventKeyboard::KeyCode::KEY_DPAD_LEFT: { index--; if (index < 0) return; index = index == MAIN_PAGE_PLUS ? MAIN_PAGE : index; changeTab(index); } break; case EventKeyboard::KeyCode::KEY_DPAD_DOWN: { _isFocusNotOnTab = true; getCurTabBtn()->setScale(1.0f); changeFocus(keyCode); } break; default: break; } } //_navi_Scelect->setVisible(!_isFocusNotOnTab); }
void RenderExplorer::mousePressEvent(QMouseEvent *event) { float WX; float WY; float WZ; getWorldMouseCoord(event->x(),event->y(), WX, WY, WZ); size_t indx; ModelInfo pickedModel = CScenary::getInstance()->getPickedObject3D(WX, WY, WZ, indx); if (indx != -1) { selectedModel = pickedModel; selectedPosition = indx; emit changeTab(); emit pickedInfo("Picked " + selectedModel.textureName.ObjectName); } }
void MainLayer::clickMainBtn(Ref* sender, Widget::TouchEventType type) { if (type != Widget::TouchEventType::ENDED) return; auto btn = dynamic_cast<Button*>(sender); std::string name = btn->getName(); char ch = name[name.length() - 1]; int index = atoi(formatStr("%c", ch).c_str()); _isFocusNotOnTab = false; removeFocusAction(); _tabNode->setUserObject(nullptr); index = index == MAIN_PAGE ? index : index + 1; changeTab(index); }
void MainLayer::doFocusChange(EventKeyboard::KeyCode keyCode, bool isStartOnEnd) { Node* next = nullptr; if (isStartOnEnd) next = LsTools::getCornerFocus(keyCode == EventKeyboard::KeyCode::KEY_DPAD_RIGHT ? CornerType::TOP_LEFT : CornerType::TOP_RIGHT, _tabNode); else next = LsTools::getNextFocus(keyCode, _tabNode); int exNormalZOrder = 0; if (_focus) exNormalZOrder = _mapFocusZOrder.at(_focus->getTag()); //是否有下一个焦点 if (next) { commonFocusAction(next); ZM->showSelect(true, next->getContentSize() * FOCUS_SCALE_NUM, next->getPosition()); } else { //找不到焦点 switch (keyCode) { case EventKeyboard::KeyCode::KEY_DPAD_UP: { //向上进入分页选择 _isFocusNotOnTab = false; removeFocusAction(); _tabNode->setUserObject(nullptr); getCurTabBtn()->setScale(TAB_BTN_SCALE); } break; case EventKeyboard::KeyCode::KEY_DPAD_RIGHT: { //向右,进入下一个分页,无下一个分页,则不处理 int index = _pageView->getCurPageIndex(); index++; if (index >= PAGE_COUNT) return; ZM_SELECT->_box->setPositionX(-MY_SCREEN.width * 0.5f); removeFocusAction(false); _tabNode->setUserObject(nullptr); changeTab(index); doFocusChange(keyCode, false); } break; case EventKeyboard::KeyCode::KEY_DPAD_LEFT: { //向左,进入下一个分页,无下一个分页,则不处理 int index = _pageView->getCurPageIndex(); index--; if (index < 0) return; ZM_SELECT->_box->setPositionX(MY_SCREEN.width * 1.5f); removeFocusAction(false); _tabNode->setUserObject(nullptr); changeTab(index); doFocusChange(keyCode, true); } break; default: break; } } //createSpecRecomend(); }
void KMdiDocumentViewTabWidget::updateCaptionInView( TQWidget *w, const TQString &caption ) { changeTab( w, caption ); }
void KMdiDocumentViewTabWidget::updateIconInView( TQWidget *w, TQPixmap icon ) { changeTab( w, icon, tabLabel( w ) ); }
void MultiPurposeDragArea::wheelEvent(QWheelEvent * event) { int sign = event->delta() > 0 ? 1 : -1; emit changeTab(sign); }
void TabWidget::updateCaptionInView( QWidget *w, const QString &caption ) { changeTab(w, caption); }
void TabWidget::updateIconInView( QWidget *w, QPixmap icon ) { changeTab(w,icon,tabLabel(w)); }