Ejemplo n.º 1
0
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 );

}
Ejemplo n.º 2
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");
		}
	}
}