Changeset 3367
- Timestamp:
- 05/15/08 23:14:29 (2 months ago)
- Location:
- trunk/opus_gui
- Files:
-
- 3 modified
-
config/xmlmodelview/opusdatamodel.py (modified) (13 diffs)
-
results/opus_result_generator.py (modified) (1 diff)
-
results/resultManagerBase.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/opus_gui/config/xmlmodelview/opusdatamodel.py
r3362 r3367 170 170 elif role == Qt.DisplayRole: 171 171 return QVariant(domElement.tagName()) 172 elif role == Qt.BackgroundRole: 173 if domElement.hasAttribute(QString("temporary")) and \ 174 domElement.attribute(QString("temporary")) == QString("True"): 175 return QVariant(QColor(Qt.cyan)) 176 else: 177 return QVariant(QColor(Qt.white)) 172 178 else: 173 179 return QVariant() … … 283 289 return self.dirty 284 290 291 def isTemporary(self,node): 292 nodeElement = node.toElement() 293 if not nodeElement.isNull(): 294 if nodeElement.hasAttribute(QString("temporary")): 295 if nodeElement.attribute(QString("temporary")) == QString("True"): 296 return True 297 else: 298 return False 299 return False 300 285 301 def setData(self,index,value,role): 286 302 if not index.isValid(): … … 297 313 if not domElement.isNull(): 298 314 domElement.setTagName(value.toString()) 299 self.markAsDirty() 315 if not self.isTemporary(domElement): 316 self.markAsDirty() 300 317 elif index.column() == 1: 301 318 if domNode.hasChildNodes(): … … 304 321 if children.item(x).isText(): 305 322 children.item(x).setNodeValue(QString(value.toString())) 306 self.markAsDirty() 323 if not self.isTemporary(children.item(x)): 324 self.markAsDirty() 307 325 else: 308 326 #print "New text node to be added" … … 310 328 newText = self.domDocument.createTextNode(QString(value.toString())) 311 329 domNode.appendChild(newText) 312 self.markAsDirty() 330 if not self.isTemporary(newText): 331 self.markAsDirty() 313 332 return True 314 333 … … 332 351 parentItem.childItems.insert(row,item) 333 352 self.endInsertRows() 334 self.markAsDirty() 353 if not self.isTemporary(node): 354 self.markAsDirty() 335 355 return returnval 336 356 … … 346 366 parentItem.childItems.pop(row) 347 367 self.endRemoveRows() 348 self.markAsDirty() 368 if not self.isTemporary(parentItem.child(row).domNode): 369 self.markAsDirty() 349 370 return returnval 350 371 … … 375 396 self.removeRow(currentRow,currentParent) 376 397 self.insertRow(currentRow+howmany,currentParent,clone) 377 self.markAsDirty() 398 if not self.isTemporary(item.internalPointer().domNode): 399 self.markAsDirty() 378 400 379 401 def findElementIndexByName(self,name,parent,multiple=False): … … 449 471 # self.stripAttribute(attribute,child,recursive) 450 472 451 def create_node(self, document, name, type, value, choices = None ):473 def create_node(self, document, name, type, value, choices = None, temporary = False): 452 474 newNode = document.createElement(QString(name)) 453 475 newNode.setAttribute(QString("type"),QString(type)) … … 456 478 if choices is not None: 457 479 newNode.setAttribute(QString('choices'), QString(choices)) 480 if temporary is True: 481 newNode.setAttribute(QString("temporary"),QString("True")) 458 482 return newNode 459 483 … … 464 488 # remove the attribute 465 489 parentElement.removeAttribute(QString(attribute)) 466 self.markAsDirty() 490 if not self.isTemporary(parentElement): 491 self.markAsDirty() 467 492 rows = parent.childNodes().count() 468 493 for x in xrange(0,rows,1): … … 474 499 # remove the attribute 475 500 childElement.removeAttribute(QString(attribute)) 476 self.markAsDirty() 501 if not self.isTemporary(childElement): 502 self.markAsDirty() 477 503 # If this child has other children then we recurse 478 504 childRows = child.childNodes().count() … … 487 513 # remove the attribute 488 514 parentElement.removeAttribute(QString(attribute)) 489 self.markAsDirty() 515 if not self.isTemporary(parentElement): 516 self.markAsDirty() 490 517 grandParent = parent.parentNode() 491 518 if not grandParent.isNull(): -
trunk/opus_gui/results/opus_result_generator.py
r3328 r3367 369 369 name = name, 370 370 type = 'indicator_result', 371 value = '') 371 value = '', 372 temporary = True) 372 373 source_data_node = model.create_node(document = document, 373 374 name = 'source_data', 374 375 type = 'string', 375 value = self.source_data_name) 376 value = self.source_data_name, 377 temporary = True) 376 378 indicator_node = model.create_node(document = document, 377 379 name = 'indicator_name', 378 380 type = 'string', 379 value = self.indicator_name) 381 value = self.indicator_name, 382 temporary = True) 380 383 dataset_node = model.create_node(document = document, 381 384 name = 'dataset_name', 382 385 type = 'string', 383 value = self.dataset_name) 386 value = self.dataset_name, 387 temporary = True) 384 388 year_node = model.create_node(document = document, 385 389 name = 'available_years', 386 390 type = 'string', 387 value = ', '.join([repr(year) for year in self.years])) 391 value = ', '.join([repr(year) for year in self.years]), 392 temporary = True) 388 393 parent = model.index(0,0,QModelIndex()).parent() 389 394 index = model.findElementIndexByName("Results", parent)[0] -
trunk/opus_gui/results/resultManagerBase.py
r3342 r3367 117 117 name = name, 118 118 type = 'source_data', 119 value = '') 119 value = '', 120 temporary = True) 120 121 121 122 scenario_name_node = model.create_node(document = document, 122 123 name = 'scenario_name', 123 124 type = 'string', 124 value = scenario_name) 125 value = scenario_name, 126 temporary = True) 125 127 126 128 run_name_node = model.create_node(document = document, 127 129 name = 'run_name', 128 130 type = 'string', 129 value = run_name) 131 value = run_name, 132 temporary = True) 130 133 131 134 cache_directory_node = model.create_node(document = document, 132 135 name = 'cache_directory', 133 136 type = 'string', 134 value = cache_directory) 137 value = cache_directory, 138 temporary = True) 135 139 136 140 start_year_node = model.create_node(document = document, 137 141 name = 'start_year', 138 142 type = 'integer', 139 value = str(start_year)) 143 value = str(start_year), 144 temporary = True) 140 145 141 146 end_year_node = model.create_node(document = document, 142 147 name = 'end_year', 143 148 type = 'integer', 144 value = str(end_year)) 149 value = str(end_year), 150 temporary = True) 145 151 146 152 index = model.findElementIndexByName("Simulation_runs", parent)[0]
