| 
				
			 | 
			
			
				
				@@ -16085,6 +16085,9 @@ class RoasterConfWidget : public BasicDeviceConfigurationWidget 
			 | 
		
		
	
		
			
			| 
				16085
			 | 
			
				16085
			 | 
			
			
				
				                                             const QModelIndex &index); 
			 | 
		
		
	
		
			
			| 
				16086
			 | 
			
				16086
			 | 
			
			
				
				     @[private slots@]:@/ 
			 | 
		
		
	
		
			
			| 
				16087
			 | 
			
				16087
			 | 
			
			
				
				         void updateRoasterId(int id); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16088
			 | 
			
			
				
				+        void updateCapacityCheck(int value); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16089
			 | 
			
			
				
				+        void updateCapacity(const QString &value); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16090
			 | 
			
			
				
				+        void updateCapacityUnit(const QString &value); 
			 | 
		
		
	
		
			
			| 
				16088
			 | 
			
				16091
			 | 
			
			
				
				 }; 
			 | 
		
		
	
		
			
			| 
				16089
			 | 
			
				16092
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				16090
			 | 
			
				16093
			 | 
			
			
				
				 @ Aside from the ID number used to identify the roaster in the database we also 
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -16166,7 +16169,26 @@ RoasterConfWidget::RoasterConfWidget(DeviceTreeModel *model, const QModelIndex & 
			 | 
		
		
	
		
			
			| 
				16166
			 | 
			
				16169
			 | 
			
			
				
				     idLayout->addWidget(idLabel); 
			 | 
		
		
	
		
			
			| 
				16167
			 | 
			
				16170
			 | 
			
			
				
				     QSpinBox *id = new QSpinBox; 
			 | 
		
		
	
		
			
			| 
				16168
			 | 
			
				16171
			 | 
			
			
				
				     idLayout->addWidget(id); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16172
			 | 
			
			
				
				+    idLayout->addStretch(); 
			 | 
		
		
	
		
			
			| 
				16169
			 | 
			
				16173
			 | 
			
			
				
				     layout->addLayout(idLayout); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16174
			 | 
			
			
				
				+    QHBoxLayout *capacityLayout = new QHBoxLayout; 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16175
			 | 
			
			
				
				+    QCheckBox *capacityCheckEnabled = new QCheckBox(tr("Maximum batch size:")); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16176
			 | 
			
			
				
				+    QDoubleSpinBox *capacity = new QDoubleSpinBox; 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16177
			 | 
			
			
				
				+    capacity->setMinimum(0.0); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16178
			 | 
			
			
				
				+    capacity->setDecimals(3); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16179
			 | 
			
			
				
				+    capacity->setMaximum(999999.999); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16180
			 | 
			
			
				
				+    QComboBox *capacityUnit = new QComboBox; 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16181
			 | 
			
			
				
				+    capacityUnit->addItem("g"); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16182
			 | 
			
			
				
				+    capacityUnit->addItem("Kg"); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16183
			 | 
			
			
				
				+    capacityUnit->addItem("oz"); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16184
			 | 
			
			
				
				+    capacityUnit->addItem("Lb"); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16185
			 | 
			
			
				
				+    capacityUnit->setCurrentIndex(3); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16186
			 | 
			
			
				
				+    capacityLayout->addWidget(capacityCheckEnabled); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16187
			 | 
			
			
				
				+    capacityLayout->addWidget(capacity); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16188
			 | 
			
			
				
				+    capacityLayout->addWidget(capacityUnit); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16189
			 | 
			
			
				
				+    capacityLayout->addStretch(); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16190
			 | 
			
			
				
				+    layout->addLayout(capacityLayout); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16191
			 | 
			
			
				
				+    layout->addStretch(); 
			 | 
		
		
	
		
			
			| 
				16170
			 | 
			
				16192
			 | 
			
			
				
				     @<Get device configuration data for current node@>@; 
			 | 
		
		
	
		
			
			| 
				16171
			 | 
			
				16193
			 | 
			
			
				
				     for(int i = 0; i < configData.size(); i++) 
			 | 
		
		
	
		
			
			| 
				16172
			 | 
			
				16194
			 | 
			
			
				
				     { 
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -16174,11 +16196,25 @@ RoasterConfWidget::RoasterConfWidget(DeviceTreeModel *model, const QModelIndex & 
			 | 
		
		
	
		
			
			| 
				16174
			 | 
			
				16196
			 | 
			
			
				
				         if(node.attribute("name") == "databaseid") 
			 | 
		
		
	
		
			
			| 
				16175
			 | 
			
				16197
			 | 
			
			
				
				         { 
			 | 
		
		
	
		
			
			| 
				16176
			 | 
			
				16198
			 | 
			
			
				
				             id->setValue(node.attribute("value").toInt()); 
			 | 
		
		
	
		
			
			| 
				16177
			 | 
			
				
			 | 
			
			
				
				-            break; 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16199
			 | 
			
			
				
				+        } 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16200
			 | 
			
			
				
				+        else if(node.attribute("name") == "checkcapacity") 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16201
			 | 
			
			
				
				+        { 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16202
			 | 
			
			
				
				+            capacityCheckEnabled->setChecked(node.attribute("value") == "true"); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16203
			 | 
			
			
				
				+        } 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16204
			 | 
			
			
				
				+        else if(node.attribute("name") == "capacity") 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16205
			 | 
			
			
				
				+        { 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16206
			 | 
			
			
				
				+            capacity->setValue(node.attribute("value").toDouble()); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16207
			 | 
			
			
				
				+        } 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16208
			 | 
			
			
				
				+        else if(node.attribute("name") == "capacityunit") 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16209
			 | 
			
			
				
				+        { 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16210
			 | 
			
			
				
				+            capacityUnit->setCurrentIndex(capacityUnit->findText(node.attribute("value"))); 
			 | 
		
		
	
		
			
			| 
				16178
			 | 
			
				16211
			 | 
			
			
				
				         } 
			 | 
		
		
	
		
			
			| 
				16179
			 | 
			
				16212
			 | 
			
			
				
				     } 
			 | 
		
		
	
		
			
			| 
				16180
			 | 
			
				16213
			 | 
			
			
				
				     updateRoasterId(id->value()); 
			 | 
		
		
	
		
			
			| 
				16181
			 | 
			
				16214
			 | 
			
			
				
				     connect(id, SIGNAL(valueChanged(int)), this, SLOT(updateRoasterId(int))); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16215
			 | 
			
			
				
				+    connect(capacityCheckEnabled, SIGNAL(stateChanged(int)), this, SLOT(updateCapacityCheck(int))); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16216
			 | 
			
			
				
				+    connect(capacity, SIGNAL(valueChanged(QString)), this, SLOT(updateCapacity(QString))); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16217
			 | 
			
			
				
				+    connect(capacityUnit, SIGNAL(currentIndexChanged(QString)), this, SLOT(updateCapacityUnit(QString))); 
			 | 
		
		
	
		
			
			| 
				16182
			 | 
			
				16218
			 | 
			
			
				
				     setLayout(layout); 
			 | 
		
		
	
		
			
			| 
				16183
			 | 
			
				16219
			 | 
			
			
				
				 } 
			 | 
		
		
	
		
			
			| 
				16184
			 | 
			
				16220
			 | 
			
			
				
				  
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -16195,7 +16231,7 @@ QDomElement referenceElement = 
			 | 
		
		
	
		
			
			| 
				16195
			 | 
			
				16231
			 | 
			
			
				
				 QDomNodeList configData = referenceElement.elementsByTagName("attribute"); 
			 | 
		
		
	
		
			
			| 
				16196
			 | 
			
				16232
			 | 
			
			
				
				 QDomElement node; 
			 | 
		
		
	
		
			
			| 
				16197
			 | 
			
				16233
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				16198
			 | 
			
				
			 | 
			
			
				
				-@ We need to propagate changes to the ID number field to the device 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16234
			 | 
			
			
				
				+@ We need to propagate changes to the configuration fields to the device 
			 | 
		
		
	
		
			
			| 
				16199
			 | 
			
				16235
			 | 
			
			
				
				 configuration document. The |updateAttribute()| method in the base class 
			 | 
		
		
	
		
			
			| 
				16200
			 | 
			
				16236
			 | 
			
			
				
				 makes this trivial. 
			 | 
		
		
	
		
			
			| 
				16201
			 | 
			
				16237
			 | 
			
			
				
				  
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -16205,6 +16241,21 @@ void RoasterConfWidget::updateRoasterId(int id) 
			 | 
		
		
	
		
			
			| 
				16205
			 | 
			
				16241
			 | 
			
			
				
				     updateAttribute("databaseid", QString("%1").arg(id)); 
			 | 
		
		
	
		
			
			| 
				16206
			 | 
			
				16242
			 | 
			
			
				
				 } 
			 | 
		
		
	
		
			
			| 
				16207
			 | 
			
				16243
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16244
			 | 
			
			
				
				+void RoasterConfWidget::updateCapacityCheck(int value) 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16245
			 | 
			
			
				
				+{ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16246
			 | 
			
			
				
				+    updateAttribute("checkcapacity", value == Qt::Checked ? "true" : "false"); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16247
			 | 
			
			
				
				+} 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16248
			 | 
			
			
				
				+ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16249
			 | 
			
			
				
				+void RoasterConfWidget::updateCapacity(const QString &value) 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16250
			 | 
			
			
				
				+{ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16251
			 | 
			
			
				
				+    updateAttribute("capacity", value); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16252
			 | 
			
			
				
				+} 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16253
			 | 
			
			
				
				+ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16254
			 | 
			
			
				
				+void RoasterConfWidget::updateCapacityUnit(const QString &value) 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16255
			 | 
			
			
				
				+{ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16256
			 | 
			
			
				
				+    updateAttribute("capacityunit", value); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16257
			 | 
			
			
				
				+} 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				16258
			 | 
			
			
				
				+ 
			 | 
		
		
	
		
			
			| 
				16208
			 | 
			
				16259
			 | 
			
			
				
				 @ Finally we must register the configuration widget so that it can be 
			 | 
		
		
	
		
			
			| 
				16209
			 | 
			
				16260
			 | 
			
			
				
				 instantiated at the appropriate time. 
			 | 
		
		
	
		
			
			| 
				16210
			 | 
			
				16261
			 | 
			
			
				
				  
			 |