/** * @brief Initializes the simple integer fields. */ void EditEntityDialog::initialize_simple_integers() { simple_integer_fields << SimpleIntegerField("price", tr("Price"), 0, 10, ui.font_field) << SimpleIntegerField("jump_length", tr("Jump length"), 16, 8) << SimpleIntegerField("speed", tr("Speed"), 1, 8); for (SimpleIntegerField& field : simple_integer_fields) { if (entity_before.has_field(field.field_name)) { QLabel* label = new QLabel(field.label_text, this); QSpinBox* spinbox = new QSpinBox(this); spinbox->setMinimum(field.minimum); spinbox->setMaximum(999999); spinbox->setValue(entity_before.get_field(field.field_name).toInt()); spinbox->setSingleStep(field.step); spinbox->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred); field.spinbox = spinbox; if (field.before_widget != nullptr) { int row = 0; QFormLayout::ItemRole role; ui.form_layout->getWidgetPosition(field.before_widget, &row, &role); if (row != -1) { ui.form_layout->insertRow(row, label, spinbox); } else { // Widget not found. ui.form_layout->addRow(label, spinbox); } } else { ui.form_layout->addRow(label, spinbox); } } } }
QWidget* IntegerProperty::createEditor(QWidget * parent, const QStyleOptionViewItem& options, const QAbstractItemDelegate* delegate) { Q_UNUSED(options); Q_UNUSED(delegate); QSpinBox* tmpEditor = new QSpinBox(parent); tmpEditor->setMinimum(min); tmpEditor->setMaximum(max); tmpEditor->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); tmpEditor->setValue(value.toInt()); return tmpEditor; }
// Create new integer spin widget QtWidgetObject* AtenTreeGuiDialog::addIntegerSpin(TreeGuiWidget* widget, QString label, int step) { QtWidgetObject* qtwo = widgetObjects_.add(); QSpinBox *spin = new QSpinBox(this); qtwo->set(widget, spin, label); spin->setRange(widget->minimumI(), widget->maximumI()); spin->setValue(widget->valueI()); spin->setSingleStep(step); spin->setEnabled(widget->enabled()); spin->setVisible(widget->visible()); spin->setMinimumHeight(WIDGETHEIGHT); spin->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); // Connect signal to master slot QObject::connect(spin, SIGNAL(valueChanged(int)), this, SLOT(integerSpinWidget_valueChanged(int))); return qtwo; }
void MultisigDialog::on_addInputButton_clicked() { if(isFirstRawTx){ isFirstRawTx = false; ui->txInputsScrollArea->show(); } QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); sizePolicy.setHorizontalStretch(0); sizePolicy.setVerticalStretch(0); QFrame* txInputFrame = new QFrame(ui->txInputsWidget); sizePolicy.setHeightForWidth(txInputFrame->sizePolicy().hasHeightForWidth()); txInputFrame->setFrameShape(QFrame::StyledPanel); txInputFrame->setFrameShadow(QFrame::Raised); txInputFrame->setObjectName(QStringLiteral("txInputFrame")); QVBoxLayout* frameLayout = new QVBoxLayout(txInputFrame); frameLayout->setSpacing(1); frameLayout->setObjectName(QStringLiteral("txInputFrameLayout")); frameLayout->setContentsMargins(6, 6, 6, 6); QHBoxLayout* txInputLayout = new QHBoxLayout(); txInputLayout->setObjectName(QStringLiteral("txInputLayout")); QLabel* txInputIdLabel = new QLabel(txInputFrame); txInputIdLabel->setObjectName(QStringLiteral("txInputIdLabel")); txInputIdLabel->setText(QApplication::translate("MultisigDialog", strprintf("%i. Tx Hash: ", ui->inputsList->count()+1).c_str(), 0)); txInputLayout->addWidget(txInputIdLabel); QLineEdit* txInputId = new QLineEdit(txInputFrame); txInputId->setObjectName(QStringLiteral("txInputId")); txInputLayout->addWidget(txInputId); QSpacerItem* horizontalSpacer = new QSpacerItem(10, 20, QSizePolicy::Fixed, QSizePolicy::Minimum); txInputLayout->addItem(horizontalSpacer); QLabel* txInputVoutLabel = new QLabel(txInputFrame); txInputVoutLabel->setObjectName(QStringLiteral("txInputVoutLabel")); txInputVoutLabel->setText(QApplication::translate("MultisigDialog", "Vout Position: ", 0)); txInputLayout->addWidget(txInputVoutLabel); QSpinBox* txInputVout = new QSpinBox(txInputFrame); txInputVout->setObjectName("txInputVout"); sizePolicy.setHeightForWidth(txInputVout->sizePolicy().hasHeightForWidth()); txInputVout->setSizePolicy(sizePolicy); txInputLayout->addWidget(txInputVout); QPushButton* inputDeleteButton = new QPushButton(txInputFrame); inputDeleteButton->setObjectName(QStringLiteral("inputDeleteButton")); QIcon icon; icon.addFile(QStringLiteral(":/icons/remove"), QSize(), QIcon::Normal, QIcon::Off); inputDeleteButton->setIcon(icon); inputDeleteButton->setAutoDefault(false); connect(inputDeleteButton, SIGNAL(clicked()), this, SLOT(deleteFrame())); txInputLayout->addWidget(inputDeleteButton); frameLayout->addLayout(txInputLayout); ui->inputsList->addWidget(txInputFrame); }
QFrame *AbstractController::telexFrame() { /** * Telextext QFrame **/ QFrame *telexFrame = new QFrame( this ); QHBoxLayout *telexLayout = new QHBoxLayout( telexFrame ); telexLayout->setSpacing( 0 ); telexLayout->setMargin( 0 ); CONNECT( THEMIM->getIM(), teletextPossible( bool ), telexFrame, setVisible( bool ) ); /* On/Off button */ QToolButton *telexOn = new QToolButton; setupButton( telexOn ); BUTTON_SET_BAR2( telexOn, toolbar/tv, qtr( "Teletext Activation" ) ); telexOn->setEnabled( false ); telexOn->setCheckable( true ); telexLayout->addWidget( telexOn ); /* Teletext Activation and set */ CONNECT( telexOn, clicked( bool ), THEMIM->getIM(), activateTeletext( bool ) ); CONNECT( THEMIM->getIM(), teletextPossible( bool ), telexOn, setEnabled( bool ) ); /* Transparency button */ QToolButton *telexTransparent = new QToolButton; setupButton( telexTransparent ); BUTTON_SET_BAR2( telexTransparent, toolbar/tvtelx, qtr( "Toggle Transparency " ) ); telexTransparent->setEnabled( false ); telexTransparent->setCheckable( true ); telexLayout->addWidget( telexTransparent ); /* Transparency change and set */ CONNECT( telexTransparent, clicked( bool ), THEMIM->getIM(), telexSetTransparency( bool ) ); CONNECT( THEMIM->getIM(), teletextTransparencyActivated( bool ), telexTransparent, setChecked( bool ) ); /* Page setting */ QSpinBox *telexPage = new QSpinBox( telexFrame ); telexPage->setRange( 100, 899 ); telexPage->setValue( 100 ); telexPage->setAccelerated( true ); telexPage->setWrapping( true ); telexPage->setAlignment( Qt::AlignRight ); telexPage->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Minimum ); telexPage->setEnabled( false ); telexLayout->addWidget( telexPage ); /* Contextual & Index Buttons */ QSignalMapper *contextButtonMapper = new QSignalMapper( this ); QToolButton *contextButton = NULL; int i_iconminsize = __MAX( 16, telexOn->minimumHeight() ); QPixmap iconPixmap( i_iconminsize, i_iconminsize ); iconPixmap.fill( Qt::transparent ); QPainter iconPixmapPainter( &iconPixmap ); QLinearGradient iconPixmapPainterGradient( iconPixmap.rect().center() / 2, iconPixmap.rect().center() ); #define CREATE_CONTEXT_BUTTON(color, key) \ iconPixmapPainterGradient.setColorAt( 0, QColor( color ).lighter(150) );\ iconPixmapPainterGradient.setColorAt( 1.0, QColor( color ) );\ iconPixmapPainter.setBrush( iconPixmapPainterGradient );\ iconPixmapPainter.drawEllipse( iconPixmap.rect().adjusted( 4, 4, -5, -5 ) );\ contextButton = new QToolButton();\ setupButton( contextButton );\ contextButton->setIcon( iconPixmap );\ contextButton->setEnabled( false );\ contextButtonMapper->setMapping( contextButton, key << 16 );\ CONNECT( contextButton, clicked(), contextButtonMapper, map() );\ CONNECT( contextButtonMapper, mapped( int ),\ THEMIM->getIM(), telexSetPage( int ) );\ CONNECT( THEMIM->getIM(), teletextActivated( bool ), contextButton, setEnabled( bool ) );\ telexLayout->addWidget( contextButton ) CREATE_CONTEXT_BUTTON("grey", 'i'); /* index */ CREATE_CONTEXT_BUTTON("red", 'r'); CREATE_CONTEXT_BUTTON("green", 'g'); CREATE_CONTEXT_BUTTON("yellow", 'y'); CREATE_CONTEXT_BUTTON("blue", 'b'); #undef CREATE_CONTEXT_BUTTON /* Page change and set */ CONNECT( telexPage, valueChanged( int ), THEMIM->getIM(), telexSetPage( int ) ); CONNECT( THEMIM->getIM(), newTelexPageSet( int ), telexPage, setValue( int ) ); CONNECT( THEMIM->getIM(), teletextActivated( bool ), telexPage, setEnabled( bool ) ); CONNECT( THEMIM->getIM(), teletextActivated( bool ), telexTransparent, setEnabled( bool ) ); CONNECT( THEMIM->getIM(), teletextActivated( bool ), telexOn, setChecked( bool ) ); return telexFrame; }
QFrame *AbstractController::telexFrame() { /** * Telextext QFrame **/ QFrame *telexFrame = new QFrame( this ); QHBoxLayout *telexLayout = new QHBoxLayout( telexFrame ); telexLayout->setSpacing( 0 ); telexLayout->setMargin( 0 ); CONNECT( THEMIM->getIM(), teletextPossible( bool ), telexFrame, setVisible( bool ) ); /* On/Off button */ QToolButton *telexOn = new QToolButton; setupButton( telexOn ); BUTTON_SET_BAR2( telexOn, toolbar/tv, qtr( "Teletext Activation" ) ); telexOn->setEnabled( false ); telexOn->setCheckable( true ); telexLayout->addWidget( telexOn ); /* Teletext Activation and set */ CONNECT( telexOn, clicked( bool ), THEMIM->getIM(), activateTeletext( bool ) ); CONNECT( THEMIM->getIM(), teletextPossible( bool ), telexOn, setEnabled( bool ) ); /* Transparency button */ QToolButton *telexTransparent = new QToolButton; setupButton( telexTransparent ); BUTTON_SET_BAR2( telexTransparent, toolbar/tvtelx, qtr( "Toggle Transparency " ) ); telexTransparent->setEnabled( false ); telexTransparent->setCheckable( true ); telexLayout->addWidget( telexTransparent ); /* Transparency change and set */ CONNECT( telexTransparent, clicked( bool ), THEMIM->getIM(), telexSetTransparency( bool ) ); CONNECT( THEMIM->getIM(), teletextTransparencyActivated( bool ), telexTransparent, setChecked( bool ) ); /* Page setting */ QSpinBox *telexPage = new QSpinBox( telexFrame ); telexPage->setRange( 0, 999 ); telexPage->setValue( 100 ); telexPage->setAccelerated( true ); telexPage->setWrapping( true ); telexPage->setAlignment( Qt::AlignRight ); telexPage->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Minimum ); telexPage->setEnabled( false ); telexLayout->addWidget( telexPage ); /* Page change and set */ CONNECT( telexPage, valueChanged( int ), THEMIM->getIM(), telexSetPage( int ) ); CONNECT( THEMIM->getIM(), newTelexPageSet( int ), telexPage, setValue( int ) ); CONNECT( THEMIM->getIM(), teletextActivated( bool ), telexPage, setEnabled( bool ) ); CONNECT( THEMIM->getIM(), teletextActivated( bool ), telexTransparent, setEnabled( bool ) ); CONNECT( THEMIM->getIM(), teletextActivated( bool ), telexOn, setChecked( bool ) ); return telexFrame; }