Implemented variable substitution in simple print jobs.
This commit is contained in:
@@ -29,8 +29,9 @@ namespace
|
||||
{
|
||||
// All variable types. (must be in sorted order)
|
||||
const QVector<glabels::model::Variable::Type> allTypes = {
|
||||
glabels::model::Variable::Type::NUMERIC,
|
||||
glabels::model::Variable::Type::STRING
|
||||
glabels::model::Variable::Type::STRING,
|
||||
glabels::model::Variable::Type::INTEGER,
|
||||
glabels::model::Variable::Type::FLOATING_POINT
|
||||
};
|
||||
|
||||
// All variable increments. (must be in sorted order)
|
||||
@@ -76,7 +77,7 @@ namespace glabels
|
||||
{
|
||||
typeCombo->setCurrentIndex( static_cast<int>(variable.type()) );
|
||||
nameEdit->setText( variable.name() );
|
||||
valueEdit->setText( variable.value() );
|
||||
valueEdit->setText( variable.initialValue() );
|
||||
incrementCombo->setCurrentIndex( static_cast<int>(variable.increment()) );
|
||||
stepSizeEdit->setText( variable.stepSize() );
|
||||
|
||||
@@ -150,8 +151,20 @@ namespace glabels
|
||||
auto type = static_cast<model::Variable::Type>(typeCombo->currentIndex());
|
||||
auto increment = static_cast<model::Variable::Increment>(incrementCombo->currentIndex());
|
||||
|
||||
if ( type == model::Variable::Type::NUMERIC )
|
||||
switch (type)
|
||||
{
|
||||
|
||||
case model::Variable::Type::INTEGER:
|
||||
valueEdit->setValidator( new QIntValidator() );
|
||||
stepSizeEdit->setValidator( new QIntValidator() );
|
||||
|
||||
if ( increment == model::Variable::Increment::NEVER )
|
||||
{
|
||||
stepSizeEdit->setText( "0" );
|
||||
}
|
||||
break;
|
||||
|
||||
case model::Variable::Type::FLOATING_POINT:
|
||||
valueEdit->setValidator( new QDoubleValidator() );
|
||||
stepSizeEdit->setValidator( new QDoubleValidator() );
|
||||
|
||||
@@ -159,21 +172,24 @@ namespace glabels
|
||||
{
|
||||
stepSizeEdit->setText( "0" );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
|
||||
default:
|
||||
valueEdit->setValidator( nullptr );
|
||||
stepSizeEdit->setValidator( nullptr );
|
||||
incrementCombo->setCurrentIndex( static_cast<int>(model::Variable::Increment::NEVER) );
|
||||
stepSizeEdit->setText( "" );
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
incrementLabel->setEnabled( type == model::Variable::Type::NUMERIC );
|
||||
incrementCombo->setEnabled( type == model::Variable::Type::NUMERIC );
|
||||
stepSizeLabel->setEnabled( (type == model::Variable::Type::NUMERIC) &&
|
||||
(increment != model::Variable::Increment::NEVER) );
|
||||
stepSizeEdit->setEnabled( (type == model::Variable::Type::NUMERIC) &&
|
||||
(increment != model::Variable::Increment::NEVER) );
|
||||
bool isNumeric = ( type == model::Variable::Type::INTEGER ) ||
|
||||
( type == model::Variable::Type::FLOATING_POINT );
|
||||
|
||||
incrementLabel->setEnabled( isNumeric );
|
||||
incrementCombo->setEnabled( isNumeric );
|
||||
stepSizeLabel->setEnabled( isNumeric && (increment != model::Variable::Increment::NEVER) );
|
||||
stepSizeEdit->setEnabled( isNumeric && (increment != model::Variable::Increment::NEVER) );
|
||||
|
||||
validateCurrentInputs();
|
||||
}
|
||||
|
||||
@@ -1157,7 +1157,7 @@ namespace glabels
|
||||
void
|
||||
LabelEditor::drawObjectsLayer( QPainter* painter )
|
||||
{
|
||||
mModel->draw( painter );
|
||||
mModel->draw( painter, true, nullptr, nullptr );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ namespace glabels
|
||||
typeHeaderItem->setFlags( typeHeaderItem->flags() ^ Qt::ItemIsEditable );
|
||||
table->setHorizontalHeaderItem( I_COL_TYPE, typeHeaderItem );
|
||||
|
||||
auto* valueHeaderItem = new QTableWidgetItem( tr("Value") );
|
||||
auto* valueHeaderItem = new QTableWidgetItem( tr("Initial Value") );
|
||||
valueHeaderItem->setFlags( valueHeaderItem->flags() ^ Qt::ItemIsEditable );
|
||||
table->setHorizontalHeaderItem( I_COL_VALUE, valueHeaderItem );
|
||||
|
||||
@@ -122,7 +122,7 @@ namespace glabels
|
||||
{
|
||||
EditVariableDialog dialog( this );
|
||||
|
||||
model::Variable v( model::Variable::Type::NUMERIC,
|
||||
model::Variable v( model::Variable::Type::INTEGER,
|
||||
"x",
|
||||
"0",
|
||||
model::Variable::Increment::NEVER,
|
||||
@@ -216,7 +216,7 @@ namespace glabels
|
||||
nameItem->setFlags( nameItem->flags() ^ Qt::ItemIsEditable );
|
||||
table->setItem( iRow, I_COL_NAME, nameItem );
|
||||
|
||||
auto* valueItem = new QTableWidgetItem( v.value() );
|
||||
auto* valueItem = new QTableWidgetItem( v.initialValue() );
|
||||
valueItem->setFlags( valueItem->flags() ^ Qt::ItemIsEditable );
|
||||
table->setItem( iRow, I_COL_VALUE, valueItem );
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Variable Type:</string>
|
||||
<string>Variable type:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -39,7 +39,7 @@
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Value:</string>
|
||||
<string>Initial value:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -61,7 +61,7 @@
|
||||
<item>
|
||||
<widget class="QLabel" name="stepSizeLabel">
|
||||
<property name="text">
|
||||
<string>Step Size:</string>
|
||||
<string>Step size:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
Reference in New Issue
Block a user