void mixer_main::constructWindow() { Controller *contP = &controller; QDesktopWidget *desktop = new QDesktopWidget(); QRect screen = desktop->availableGeometry(this); this->setFixedSize(screen.width(),screen.height()-50); //Tab Object QTabWidget *tabs = new QTabWidget(this); tabs->setMinimumSize(screen.width(), screen.height()-50); tabs->setStyleSheet("QTabBar::tab { background: white; border: 2px solid black; } QTabBar::tab:selected { background: qlineargradient(x1: 0, y1: 1, x2: 0, y2: 0," "stop: 0 #FF0000, stop: 0.8 #FFFFFF); }"); //Widgets used as frames for Scroll Areas QWidget *main1 = new QWidget(); QWidget *main2 = new QWidget(); QWidget *main3 = new QWidget(); QWidget *main4 = new QWidget(); //Mixer Objects mix1 = new Mixer(0, 26, contP); mix2 = new Mixer(1, 28, contP); mix3 = new Mixer(2, 30, contP); mix4 = new Mixer(3, 32, contP); //Scroll Area Objects QFingerScrollArea *mix1slide = new QFingerScrollArea(main1); QFingerScrollArea *mix2slide = new QFingerScrollArea(main2); QFingerScrollArea *mix3slide = new QFingerScrollArea(main3); QFingerScrollArea *mix4slide = new QFingerScrollArea(main4); //Setting Scroll Area targets and size mix1slide->setWidget(mix1); mix2slide->setWidget(mix2); mix3slide->setWidget(mix3); mix4slide->setWidget(mix4); mix1slide->setMinimumSize(screen.width()-30, screen.height()-30); mix2slide->setMinimumSize(screen.width()-30, screen.height()-30); mix3slide->setMinimumSize(screen.width()-30, screen.height()-30); mix4slide->setMinimumSize(screen.width()-30, screen.height()-30); //Show Scroll Areas mix1slide->show(); mix2slide->show(); mix3slide->show(); mix4slide->show(); //Add Frames to tab object tabs->addTab(main1, "Mix 1"); tabs->addTab(main2, "Mix 2"); tabs->addTab(main3, "Mix 3"); tabs->addTab(main4, "Mix 4"); connect(tabs,SIGNAL(currentChanged(int)),this,SLOT(saveAndLoadArray(int))); }
QWidget * Tabs::createQtWidget(Proxy *proxy, UIProxy *uiproxy, QWidget *parent) { QTabWidget *tabwidget = new QTabWidget(parent); tabwidget->setEnabled(enabled); tabwidget->setVisible(visible); tabwidget->setStyleSheet(QString::fromStdString(style)); for(std::vector<Tab*>::const_iterator it = tabs.begin(); it != tabs.end(); ++it) { QWidget *tab = (*it)->createQtWidget(proxy, uiproxy, tabwidget); tabwidget->addTab(tab, QString::fromStdString((*it)->title)); } setQWidget(tabwidget); setProxy(proxy); return tabwidget; }
GuiPanel::GuiPanel(QWidget *parent, IniData &id) : QWidget(parent), inidata(id), ui(new Ui::GuiPanel) { reference = NULL; curMaterialFocus = DIFFUSEA; //mapMT = mm; _selectedIndex = -1; ui->setupUi(this); // ui->attributeData->tabBar()->setContentsMargins(-4,0,-4,0); QTabWidget *tw = ui->attributeData; int mar = 0; tw->setStyleSheet(QString("QTabBar::tab { width: %1px;padding-top: 1px; padding-bottom: 1px;margin-right: %2px;margin-left: %2px;} ") .arg((tw->size().width()+(2*mar*tw->count())-1)/tw->count()).arg(-mar) ); ui->wiBodyAxisA->setVisible(false); ui->wiBodyAxisB->setVisible(false); ui->wiBodyRadius->setVisible(false); ui->wiBodyNFaces->setVisible(false); ui->wiBodyNVerts->setVisible(false); ui->wiBodySigns->setVisible(false); ui->wiBodyFlags->setVisible(false); ui->bodyData->setVisible(false); ui->meshData->setVisible(false); ui->textureData->setVisible(false); ui->animationData->setVisible(false); ui->materialData->setVisible(false); ui->skeletonData->setVisible(false); ui->shaderData->setVisible(false); ui->hitboxEdit->setVisible(false); ui->viewRuler->setVisible(false); ui->viewFloatingProbe->setVisible(false); ui->generalView->setVisible(false); ui->vertexData->setVisible(false); ui->lvTextAcc->setModel( new TextureAccessModel(this) ); ui->lvBodyPart->setModel( new BodyPartModel(this) ); ui->lvBones->setModel( new BodyPartModel(this) ); //ui->frameNumber->setBackgroundRole(QPalette::Foreground); //ui->frameNumberAni->setBackgroundRole(QPalette::Foreground); alignY(ui->textureData ,ui->meshData); alignY(ui->materialData ,ui->meshData); alignY(ui->animationData,ui->meshData); alignY(ui->skeletonData,ui->meshData); alignY(ui->shaderData, ui->meshData); alignY(ui->bodyData, ui->meshData); alignYAfter(ui->hitboxEdit, ui->skeletonData); alignY(ui->vertexData, ui->meshData); //alignYAfter(ui->vertexData , ui->meshData ); QString flagMask(">Hhhhhhhh"); ui->boxFlags->setInputMask(flagMask); ui->boxTextureFlags->setInputMask(flagMask); ui->leMatFlags->setInputMask(flagMask); ui->leShaderFlags->setInputMask(flagMask); ui->leShaderTaFlags->setInputMask(flagMask); ui->leBodyFlags->setInputMask(flagMask); ui->leShaderRequires->setInputMask(flagMask); skel = NULL; //ui->leMatR->setInputMask("0.0000"); //ui->leMatG->setInputMask("0.0000"); //ui->leMatB->setInputMask("0.0000"); //ui->leMatCoeff->setInputMask("0000"); //ui->timeOfFrame->setInputMask("0000"); textureAccessDup = new QAction("Duplicate",this); textureAccessDel = new QAction("Remove",this); textureAccessAdd = new QAction("Add",this); bodyPartDup = new QAction("Duplicate",this); bodyPartDel = new QAction("Remove",this); bodyPartAdd = new QAction("Add",this); connect(ui->cbSkin, SIGNAL(currentIndexChanged(QString)), this, SLOT(updateVisibility())); connect(ui->cbRefani, SIGNAL(currentIndexChanged(QString)), this, SLOT(updateVisibility())); connect(ui->cbRuler, SIGNAL(stateChanged(int)), this, SLOT(updateVisibility())); connect(ui->cbRefani, SIGNAL(currentIndexChanged(QString)), this, SLOT(updateRefAnimation())); connect(ui->rulerSlid, SIGNAL(sliderMoved (int)), this, SLOT(setRulerLenght(int))); connect(ui->rulerSpin, SIGNAL(valueChanged(int)), this, SLOT(setRulerLenght(int))); connect(ui->lvTextAcc->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(updateShaderTextaccData())); connect(ui->lvBodyPart->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(updateBodyPartData())); connect(ui->lvBones->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(updateSelectedBone())); // skeleton direct editing connect(ui->editHbRange, SIGNAL(actionTriggered(int)),this,SLOT(onEditHitbox(int))); connect(ui->editHbLenTop, SIGNAL(actionTriggered(int)),this,SLOT(onEditHitbox(int))); connect(ui->editHbLenBot, SIGNAL(actionTriggered(int)),this,SLOT(onEditHitbox(int))); connect(ui->editHbPosX, SIGNAL(actionTriggered(int)),this,SLOT(onEditHitbox(int))); connect(ui->editHbPosY, SIGNAL(actionTriggered(int)),this,SLOT(onEditHitbox(int))); connect(ui->editHbPosZ, SIGNAL(actionTriggered(int)),this,SLOT(onEditHitbox(int))); connect(ui->editHbRotAlpha, SIGNAL(actionTriggered(int)),this,SLOT(onEditHitbox(int))); connect(ui->editHbRotBeta, SIGNAL(actionTriggered(int)),this,SLOT(onEditHitbox(int))); QString st = tr(" (keep [shift] pressed to nudge)"); ui->editHbRange->setStatusTip(ui->editHbRange->statusTip()+st); ui->editHbLenTop->setStatusTip(ui->editHbLenTop->statusTip()+st); ui->editHbLenBot->setStatusTip(ui->editHbLenBot->statusTip()+st); ui->editHbPosX->setStatusTip(ui->editHbPosX->statusTip()+st); ui->editHbPosY->setStatusTip(ui->editHbPosY->statusTip()+st); ui->editHbPosZ->setStatusTip(ui->editHbPosZ->statusTip()+st); ui->editHbRotAlpha->setStatusTip(ui->editHbRotAlpha->statusTip()+st); ui->editHbRotBeta->setStatusTip(ui->editHbRotBeta->statusTip()+st); connect(ui->editHbActive, SIGNAL(stateChanged(int)),this,SLOT(setHbEditVisible(int))); connect(ui->floatingProbeX,SIGNAL(valueChanged(double)),this,SLOT(onEditFloatingProbePos())); connect(ui->floatingProbeY,SIGNAL(valueChanged(double)),this,SLOT(onEditFloatingProbePos())); connect(ui->floatingProbeZ,SIGNAL(valueChanged(double)),this,SLOT(onEditFloatingProbePos())); // add a shortcut to hide/show skin quickToggleHideSkinAct = new QAction(this); quickToggleHideSkinAct->setShortcut(QKeySequence("space")); //quickToggleHideSkinAct->setShortcutContext(Qt::ApplicationShortcut); connect(quickToggleHideSkinAct, SIGNAL(triggered()),this,SLOT(quickToggleHideSkin())); ui->cbSkin->addAction(quickToggleHideSkinAct); connect(ui->cbFloatingProbe,SIGNAL(toggled(bool)),parent,SLOT(activateFloatingProbe(bool))); connect(ui->cbRuler,SIGNAL(toggled(bool)),parent,SLOT(activateRuler(bool))); }