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)));
}
Example #2
0
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;
}
Example #3
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);
}
Example #5
0
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 );
}
Example #6
0
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)

}
Example #8
0
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);
    }
}
Example #10
0
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);
}
Example #11
0
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);
}
Example #15
0
void TabWidget::updateCaptionInView( QWidget *w, const QString &caption )
{
  changeTab(w, caption);
}
Example #16
0
void TabWidget::updateIconInView( QWidget *w, QPixmap icon )
{
  changeTab(w,icon,tabLabel(w));
}