MyWidget::MyWidget( QWidget *parent, const char *name ) : QWidget( parent, name ) { setCaption("Color Codes"); // icons are handled differently on OSX #ifndef __APPLE__ setIcon(QPixmap(":/bitmaps/big.qucs.xpm")); #endif // -------- create menubar ------------------- QAction *fileExit = new QAction(tr("E&xit"), this); fileExit->setShortcut(Qt::CTRL+Qt::Key_Q); connect(fileExit, SIGNAL(activated()), qApp, SLOT(quit())); QMenu *fileMenu = new QMenu(tr("&File")); fileMenu->addAction(fileExit); QAction *help = new QAction(tr("Help..."), this); help->setShortcut(Qt::Key_F1); connect(help, SIGNAL(activated()), this, SLOT(slotHelpIntro())); QAction *about = new QAction(tr("&About ResistorCodes..."), this); connect(about, SIGNAL(activated()), this, SLOT(slotHelpAbout())); QAction *aboutQt = new QAction(tr("&About Qt..."), this); connect(aboutQt, SIGNAL(activated()), this, SLOT(slotHelpAboutQt())); QMenu *helpMenu = new QMenu(tr("&Help")); helpMenu->addAction(help); helpMenu->addAction(about); helpMenu->addSeparator(); helpMenu->addAction(aboutQt); QMenuBar *menuBar = new QMenuBar(this); menuBar->addMenu(fileMenu); menuBar->insertSeparator(); menuBar->addMenu(helpMenu); res= new QResistor(); //--------------------resistance displayin ui ---------------------------------// resBox = new MyResistanceBox (this); connect(res, SIGNAL(valueModified(QResistor*)),resBox,SLOT(update(QResistor*))); //-------------------color displaying ui---------------------------------------------// colorBox = new MyColorBox(this); connect(res, SIGNAL(valueModified(QResistor*)),colorBox,SLOT(update(QResistor*))); //-------------------paste the configuration to clipboard--------------------------------------------// connect(res, SIGNAL(valueModified(QResistor*)),this,SLOT(slotConfiguration())); //-------------------switching buttons ui--------------------------------------// QPushButton *calcColor = new QPushButton(QPixmap(":/bitmaps/next.png")," To Colors", this, "calcColor" ); connect(calcColor, SIGNAL(clicked()),this,SLOT(setResistanceValue())); QPushButton *calcResistance = new QPushButton(QPixmap(":/bitmaps/previous.png")," To Resistance", this, "calcResistance" ); connect(calcResistance, SIGNAL(clicked()),this,SLOT(setColorValue())); QPushButton *quit = new QPushButton( "Quit", this, "quit" ); connect( quit, SIGNAL(clicked()), qApp, SLOT(quit()) ); QHBoxLayout *buttonBox = new QHBoxLayout; buttonBox->addWidget(calcColor); buttonBox->addWidget(calcResistance); buttonBox->addWidget(quit); //--------------------packing all of them together---------------------------------------// QGridLayout *grid = new QGridLayout(this); grid->setMargin(10); #ifndef __APPLE__ QWidget *Space = new QWidget(this); // reserve space for menubar Space->setFixedSize(1, menuBar->height()); grid->addWidget(Space, 0,0); #endif grid->addWidget( resBox, 1, 0 ); grid->addLayout( buttonBox, 2, 0 ); grid->addWidget( colorBox, 3, 0 ); }
void LightSample::controlEvent(Control* control, EventType evt) { bool changeTechnique = false; switch(evt) { case Control::Listener::VALUE_CHANGED: if ((control == _redSlider) || (control == _greenSlider) || (control == _blueSlider)) { Vector3 color(_redSlider->getValue(), _greenSlider->getValue(), _blueSlider->getValue()); setColorValue(color); } else if (control == _specularSlider) { setSpecularValue(_specularSlider->getValue()); } else if (control == _noLight) { changeTechnique = true; if (_noLight->isSelected()) { _properties->setEnabled(false); } } else if ((control == _directional) || (control == _spot) || (control == _point)) { changeTechnique = true; if (!_noLight->isSelected()) { _properties->setEnabled(true); } } else if ((control == _addSpecular) || (control == _addBumped)) { changeTechnique = true; } break; } if (_lighting && changeTechnique) { if (_noLight->isSelected()) { _lighting->setTechnique("unlit"); } else if (_directional->isSelected() && !_addSpecular->isChecked() && !_addBumped->isChecked()) { _lighting->setTechnique("directional"); } else if (_directional->isSelected() && _addSpecular->isChecked() && !_addBumped->isChecked()) { _lighting->setTechnique("directionalSpecular"); } else if (_directional->isSelected() && !_addSpecular->isChecked() && _addBumped->isChecked()) { _lighting->setTechnique("directionalBumped"); } else if (_directional->isSelected() && _addSpecular->isChecked() && _addBumped->isChecked()) { _lighting->setTechnique("directionalSpecularBumped"); } else if (_spot->isSelected() && !_addSpecular->isChecked() && !_addBumped->isChecked()) { _lighting->setTechnique("spot"); } else if (_spot->isSelected() && _addSpecular->isChecked() && !_addBumped->isChecked()) { _lighting->setTechnique("spotSpecular"); } else if (_spot->isSelected() && !_addSpecular->isChecked() && _addBumped->isChecked()) { _lighting->setTechnique("spotBumped"); } else if (_spot->isSelected() && _addSpecular->isChecked() && _addBumped->isChecked()) { _lighting->setTechnique("spotSpecularBumped"); } else if (_point->isSelected() && !_addSpecular->isChecked() && !_addBumped->isChecked()) { _lighting->setTechnique("point"); } else if (_point->isSelected() && _addSpecular->isChecked() && !_addBumped->isChecked()) { _lighting->setTechnique("pointSpecular"); } else if (_point->isSelected() && !_addSpecular->isChecked() && _addBumped->isChecked()) { _lighting->setTechnique("pointBumped"); } else if (_point->isSelected() && _addSpecular->isChecked() && _addBumped->isChecked()) { _lighting->setTechnique("pointSpecularBumped"); } } }