Implemented variable substitution in simple print jobs.

This commit is contained in:
Jim Evins
2019-03-24 17:49:41 -04:00
parent dedbe07312
commit 37f0a8890d
34 changed files with 524 additions and 193 deletions
+29 -13
View File
@@ -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();
}
+1 -1
View File
@@ -1157,7 +1157,7 @@ namespace glabels
void
LabelEditor::drawObjectsLayer( QPainter* painter )
{
mModel->draw( painter );
mModel->draw( painter, true, nullptr, nullptr );
}
+3 -3
View File
@@ -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 );
+3 -3
View File
@@ -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>