/*! * Makes a labeled spin box, with the label given by [text] to the left of the * box and right aligned to it, provided that [layout] is a horizontal layout * box in which to place them. (In a toolbar, [layout] can be NULL.) * [minValue], [maxValue], and [step] are the minimum, maximum, and step * sizes for the spin box. If [nDecimal] is non-zero, it creates and returns * a QDoubleSpinBox with that number of decimal places. It skips the label * if [text] is NULL. The focus policy is set to ClickFocus. Keyboard * tracking is turned off. If a pointer is supplied in the optional argument [labelPtr] * (which is NULL by default), it is returned with the label pointer. */ QAbstractSpinBox *diaLabeledSpin(int nDecimal, float minValue, float maxValue, float step, const char *text, QWidget *parent, QBoxLayout *layout, QLabel **labelPtr) { QSpinBox *spin; QDoubleSpinBox *fspin; if (text) { QLabel *label = diaLabel(text, parent, layout); label->setAlignment(Qt::AlignRight | Qt::AlignVCenter); if (labelPtr) *labelPtr = label; } if (nDecimal) { fspin = new QDoubleSpinBox(parent); fspin->setDecimals(nDecimal); fspin->setRange((double)minValue, (double)maxValue); fspin->setSingleStep((double)step); spin = (QSpinBox *)fspin; } else { spin = new QSpinBox(parent); spin->setRange(B3DNINT(minValue), B3DNINT(maxValue)); spin->setSingleStep(B3DNINT(step)); } if (layout) layout->addWidget(spin); spin->setFocusPolicy(Qt::ClickFocus); spin->setKeyboardTracking(false); return (QAbstractSpinBox *)spin; }
TimeControls::TimeControls(QWidget* parent) : QToolBar(parent) { QSettings settings("Pencil","Pencil"); //QFrame* frame = new QFrame(); QSpinBox* fpsBox = new QSpinBox(); //fpsBox->setFixedWidth(50); fpsBox->setFont( QFont("Helvetica", 10) ); fpsBox->setFixedHeight(22); fpsBox->setValue(settings.value("fps").toInt()); fpsBox->setMinimum(1); fpsBox->setMaximum(50); fpsBox->setToolTip("Frames per second"); fpsBox->setFocusPolicy(Qt::NoFocus); QPushButton* playButton = new QPushButton(); loopButton = new QPushButton(); soundButton = new QPushButton(); QLabel* separator = new QLabel(); separator->setPixmap(QPixmap(":icons/controls/separator.png")); separator->setFixedSize(QSize(37,31)); QLabel* spacingLabel = new QLabel(""); spacingLabel->setIndent(6); QLabel* fpsLabel = new QLabel(tr("Fps: ")); fpsLabel->setIndent(6); QIcon playIcon(":icons/controls/play.png"); QIcon loopIcon(":icons/controls/loop.png"); QIcon soundIcon(":icons/controls/sound.png"); #ifdef Q_WS_MAC /*loopButton->setFixedSize( QSize(35,30) ); loopButton->setIconSize( QSize(35,30) ); loopIcon.addFile (":icons/controls/loopOn.png", QSize(35,20), QIcon::Normal, QIcon::On ); loopIcon.addFile (":icons/controls/loopOff.png", QSize(35,20), QIcon::Normal, QIcon::Off); loopIcon.addFile (":icons/controls/loopOn.png", QSize(35,20), QIcon::Disabled, QIcon::On ); loopIcon.addFile (":icons/controls/loopOff.png", QSize(35,20), QIcon::Disabled, QIcon::Off); loopIcon.addFile (":icons/controls/loopOn.png", QSize(35,20), QIcon::Active, QIcon::On ); loopIcon.addFile (":icons/controls/loopOff.png", QSize(35,20), QIcon::Active, QIcon::Off);*/ #endif playButton->setIcon(playIcon); loopButton->setIcon(loopIcon); soundButton->setIcon(soundIcon); playButton->setToolTip(tr("Play")); loopButton->setToolTip(tr("Loop")); soundButton->setToolTip(tr("Sound on/off")); loopButton->setCheckable(true); soundButton->setCheckable(true); soundButton->setChecked(true); addWidget(separator); addWidget(playButton); addWidget(loopButton); addWidget(soundButton); addWidget(fpsLabel); addWidget(fpsBox); /*QHBoxLayout* frameLayout = new QHBoxLayout(); frameLayout->setMargin(0); frameLayout->setSpacing(0); frameLayout->addWidget(separator); frameLayout->addWidget(playButton); frameLayout->addWidget(loopButton); frameLayout->addWidget(soundButton); frameLayout->addWidget(fpsLabel); frameLayout->addWidget(fpsBox); frameLayout->addWidget(spacingLabel); setLayout(frameLayout); setFixedSize(300,32);*/ //QHBoxLayout* layout = new QHBoxLayout(); //layout->setAlignment(Qt::AlignRight); //layout->addWidget(frame); //layout->setMargin(0); //layout->setSizeConstraint(QLayout::SetNoConstraint); //setLayout(frameLayout); connect(playButton, SIGNAL(clicked()), this, SIGNAL(playClick())); connect(loopButton, SIGNAL(clicked()), this, SIGNAL(loopClick())); connect(soundButton, SIGNAL(clicked()), this, SIGNAL(soundClick())); connect(fpsBox,SIGNAL(valueChanged(int)), this, SIGNAL(fpsClick(int))); //updateButtons(false); }