示例#1
0
    def __init__(self, frameManager, dataExtractor,lockdown=False):
        InfoFrameComponent.__init__(self, frameManager)
        self.dataExtractor = dataExtractor
        assert isinstance(self.dataExtractor, AcdOptiDataExtractor)
        self.lockdown = lockdown
        
        self.baseWidget = gtk.VBox()
        
        self.baseWidget.pack_start(gtk.Label("Filters for '" + self.dataExtractor.instName + "'"), expand = False, padding=5)
    
        self.__updateTable()
        self.__tableScroll = gtk.ScrolledWindow()
        self.__tableScroll.set_policy(gtk.POLICY_NEVER,gtk.POLICY_AUTOMATIC)
        self.__tableScroll.add_with_viewport(self.__tableWidget)
        self.__tableScroll.set_shadow_type(gtk.SHADOW_NONE)
        self.baseWidget.pack_start(self.__tableScroll, expand=True, padding = 5)
        
        self.__addButton = gtk.Button(stock=gtk.STOCK_ADD)
        self.__addButton.connect("clicked", self.event_button_add, None)
        self.__addButton.set_sensitive(not self.lockdown)
        self.baseWidget.pack_start(self.__addButton,expand=False)
        
        self.__closeButton = gtk.Button("_Close filter view")
        self.__closeButton.connect("clicked", self.event_button_close, None)
        self.baseWidget.pack_start(self.__closeButton,expand=False)

        self.baseWidget.show_all()
示例#2
0
    def __init__(self, frameManager, metaAnalysis):
        InfoFrameComponent.__init__(self, frameManager)
        
        self.anaInstance = metaAnalysis
        
        self.baseWidget = gtk.VBox()
        self.__plotVBox = gtk.VBox()
        self.baseWidget.pack_start(self.__plotVBox, expand=True, padding=5)
        
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)

        self.__targetLineBox = gtk.HBox()
        self.baseWidget.pack_start(self.__targetLineBox,expand=False)
        
        self.__targetLineBox.pack_start(gtk.Label("Target horizontal line = "),expand=False, padding=5)
        self.__targetLineEntry = gtk.Entry()
        self.__targetLineBox.pack_start(self.__targetLineEntry, expand=True, padding=5)
        
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)

        self.__varSelectorTable = gtk.Table(1,4,True)
        self.__varSelectorTable.attach(gtk.Label("X variable:"), 0,1, 0,1)
        self.__varSelectorXEntry = gtk.Entry()
        self.__varSelectorTable.attach(self.__varSelectorXEntry, 1,2, 0,1)
        self.__varSelectorTable.attach(gtk.Label("Y variable:"), 2,3, 0,1)
        self.__varSelectorYEntry = gtk.Entry()
        self.__varSelectorTable.attach(self.__varSelectorYEntry, 3,4, 0,1)
        self.baseWidget.pack_start(self.__varSelectorTable, expand=False, padding=5)
        
        #self.baseWidget.pack_start(gtk.Label("Meta-language syntax: {GEOM|MESH|ANA}.key([idx]).key([idx]) ..."), expand=False, padding=5)
        self.baseWidget.pack_start(gtk.Label("Meta-language syntax: {GEOM|MESH|ANA}.key.key([idx]) .... For ANA, field[1] is analysis name, field[2] is a name in exportResults"), expand=False, padding=5)
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)
                
        self.__filterBox = gtk.HBox()
        self.__filterBox.pack_start(gtk.Label("Filter: "), expand=False)
        self.__filterEntry = gtk.Entry()
        self.__filterBox.pack_start(self.__filterEntry)
        self.__filterBox.pack_start(gtk.Label(" = "),expand=False)
        self.__filterValEntry = gtk.Entry()
        self.__filterBox.pack_start(self.__filterValEntry)
        self.baseWidget.pack_start(self.__filterBox, expand=False,padding=5)
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)
        
        self.__runAnaButton = gtk.Button("Run analysis")
        self.__runAnaButton.connect("clicked", self.event_button_runAna, None)
        self.baseWidget.pack_start(self.__runAnaButton, expand=False)
        
        self.__exportButton = gtk.Button("Export data")
        self.__exportButton.connect("clicked", self.event_button_export, None)
        self.baseWidget.pack_start(self.__exportButton, expand=False)
        
        self.__clearLockdownButton = gtk.Button("Clear lockdown")
        self.__clearLockdownButton.connect("clicked", self.event_button_clearLockdown, None)
        self.baseWidget.pack_start(self.__clearLockdownButton, expand=False)
        
        self.updateDisplay()
        self.baseWidget.show_all()
示例#3
0
    def __init__(self, frameManager, templateFile, readOnly=False):
        InfoFrameComponent.__init__(self, frameManager)

        self.templateFile = templateFile
        self.readOnly = readOnly

        self.baseWidget = gtk.VBox(False, 5)

        # Toolbar
        self.__toolbar = gtk.Toolbar()
        self.__toolbar.set_orientation(gtk.ORIENTATION_HORIZONTAL)
        self.__toolbar.set_style(gtk.TOOLBAR_BOTH)
        self.__toolbar.set_border_width(5)

        self.saveButton = gtk.ToolButton(gtk.STOCK_SAVE)
        self.saveButton.connect("clicked", self.event_toolbutton_save, None)
        self.__toolbar.insert(self.saveButton, -1)

        self.separator = gtk.SeparatorToolItem()
        self.separator.set_expand(True)
        self.__toolbar.insert(gtk.SeparatorToolItem(), -1)

        self.closeButton = gtk.ToolButton(gtk.STOCK_CLOSE)
        self.closeButton.connect("clicked", self.event_toolbutton_close, None)
        self.__toolbar.insert(self.closeButton, -1)

        self.baseWidget.pack_start(self.__toolbar, False)

        # Text editor
        self.scrolledWindow = gtk.ScrolledWindow()
        self.textView = gtk.TextView()
        if self.readOnly:
            self.textView.set_editable(False)
        self.scrolledWindow.add(self.textView)
        self.scrolledWindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        self.baseWidget.pack_start(self.scrolledWindow)

        self.buff = self.textView.get_buffer()
        # Force a copy of the string
        self.buff.set_text(str(self.templateFile.template.template))
        monoTag = self.buff.create_tag(family="Monospace")
        self.buff.apply_tag(monoTag, self.buff.get_start_iter(), self.buff.get_end_iter())
        self.buff.connect("modified_changed", self.event_buff_modified, None)
        self.buff.set_modified(False)

        # Finalize
        self.baseWidget.show_all()
示例#4
0
    def __init__(self,frameManager,geomInstance):
        InfoFrameComponent.__init__(self, frameManager)
        self.geomInstance = geomInstance
         
        #Create GUI
        self.baseWidget = gtk.VBox()

        self.__topLabels = []

        self.__topLabels.append(gtk.Label("Tag name"))
        self.__topLabels.append(gtk.Label("Value")) 
        self.__topLabels.append(gtk.Label("Use default"))


        self.__clearLockdownButton = gtk.Button(label="Clear lockdown")
        self.__clearLockdownButton.connect("clicked", self.event_button_clearLockdown, None)
        
        self.__cloneButton = gtk.Button(label="Clone this geometry instance (deep copy)")
        self.__cloneButton.connect("clicked", self.event_button_clone, None)
        
        self.__exportButton = gtk.Button(label="Export CUBIT journal to file...")
        self.__exportButton.connect("clicked", self.event_button_export, None)
        
        self.__generateButton = gtk.Button(label="Run CUBIT to generate solid")
        self.__generateButton.connect("clicked", self.event_button_generate, None)

        self.__meshButton = gtk.Button(label="Attach a mesh...")
        self.__meshButton.connect("clicked", self.event_button_mesh)

        self.updateTable()
        self.__scrolledWindow = gtk.ScrolledWindow()
        self.__scrolledWindow.set_policy(gtk.POLICY_NEVER,gtk.POLICY_AUTOMATIC)
        self.__scrolledWindow.add_with_viewport(self.__tableWidget)
        self.__scrolledWindow.set_shadow_type(gtk.SHADOW_NONE)
        self.baseWidget.pack_start(self.__scrolledWindow,      expand=True)

        self.baseWidget.pack_start(self.__clearLockdownButton, expand=False)
        self.baseWidget.pack_start(self.__cloneButton,         expand=False)
        self.baseWidget.pack_start(self.__exportButton,        expand=False)
        self.baseWidget.pack_start(self.__generateButton,      expand=False)
        self.baseWidget.pack_start(self.__meshButton,          expand=False)
        
        self.baseWidget.show_all()
示例#5
0
 def __init__(self, frameManager, dataExtractor):
     InfoFrameComponent.__init__(self, frameManager)
     self.dataExtractor = dataExtractor
     assert isinstance(self.dataExtractor, AcdOptiDataExtractor)
     
     self.baseWidget = gtk.VBox()
     
     self.baseWidget.pack_start(gtk.Label("Data extractor, name = '" + self.dataExtractor.instName + "'"), expand=False, padding=5)
     
     self.__dataScroll = gtk.ScrolledWindow()
     self.__dataScroll.set_policy(gtk.POLICY_AUTOMATIC,gtk.POLICY_AUTOMATIC)
     self.baseWidget.pack_start(self.__dataScroll,expand=True, padding=5)
     
     fnameEntryBox = gtk.HBox()
     fnameEntryBox.pack_start(gtk.Label("Export to filename:"), padding=5,expand=False)
     self.__extractFnameEntry = gtk.Entry()
     fnameEntryBox.pack_start(self.__extractFnameEntry, padding=5, expand=True)
     self.baseWidget.pack_start(fnameEntryBox,expand=False)
     
     keepKeyEntryBox = gtk.HBox()
     keepKeyEntryBox.pack_start(gtk.Label("Only keep key(s):"), padding=5, expand=False)
     self.__keepKeyEntry = gtk.Entry()
     keepKeyEntryBox.pack_start(self.__keepKeyEntry, padding = 5, expand=True)
     self.baseWidget.pack_start(keepKeyEntryBox,expand=False)
     
     self.__filterButton = gtk.Button("_Filters...")
     self.__filterButton.connect("clicked", self.event_button_filter,None)
     self.baseWidget.pack_start(self.__filterButton, expand=False)
     
     self.__plotButton = gtk.Button("_Plots...")
     self.__plotButton.connect("clicked", self.event_button_plot,None)
     self.baseWidget.pack_start(self.__plotButton, expand=False)
     
     self.__exportButton = gtk.Button("E_xport...")
     self.__exportButton.connect("clicked", self.event_button_export,None)
     self.baseWidget.pack_start(self.__exportButton, expand=False)
     
     self.__lockdownRunButton = gtk.Button("_Run") #Updated in __updateGui()
     self.__lockdownRunButton.connect("clicked", self.event_button_lockdownRun, None)
     self.baseWidget.pack_start(self.__lockdownRunButton, expand=False)
 
     self.__updateGui()
     self.baseWidget.show_all()
示例#6
0
    def __init__(self,frameManager,meshTemplate):
        InfoFrameComponent.__init__(self, frameManager)
        self.meshTemplate = meshTemplate

        #Create GUI
        self.__topLabels = []

        tlab = gtk.Label("Tag name")
        self.__topLabels.append(tlab)
        
        tlab = gtk.Label("Default value")
        self.__topLabels.append(tlab)

        tlab = gtk.Label("Delete tag")
        self.__topLabels.append(tlab)

        self.__addButton = gtk.Button(stock=gtk.STOCK_ADD)
        self.__addButton.connect("clicked", self.event_button_add, None)


        self.__clearLockdownButton = gtk.Button(label="Clear lockdown")
        self.__clearLockdownButton.connect("clicked", self.event_button_clearLockdown, None)

        self.__editJouButton = gtk.Button(label="Edit mesh template journal...") #Label changed by updateTable according to current lockdown setting
        self.__editJouButton.connect("clicked", self.event_button_edit, None)

        self.updateTable()

        self.__scrolledWindow = gtk.ScrolledWindow()
        self.__scrolledWindow.set_policy(gtk.POLICY_NEVER,gtk.POLICY_AUTOMATIC)
        self.__scrolledWindow.add_with_viewport(self.__tableWidget)
        self.__scrolledWindow.set_shadow_type(gtk.SHADOW_NONE)

        self.baseWidget = gtk.VBox()
        self.baseWidget.pack_start(self.__scrolledWindow,      expand=True)
        self.baseWidget.pack_start(self.__clearLockdownButton, expand=False)
        self.baseWidget.pack_start(self.__editJouButton,       expand=False)

        self.baseWidget.show_all()
示例#7
0
    def __init__(self,frameManager,tuneFreq):
        InfoFrameComponent.__init__(self, frameManager)
        self.tuneFreq = tuneFreq
        
        self.baseWidget = gtk.VBox()
        
        #Geometry instance selector
        self.__geomBox = gtk.HBox()
        self.__geomCombo = gtk.combo_box_new_text()
        self.__geomChangedHandlerID = self.__geomCombo.connect("changed", self.event_comboChanged_geom, None)
        self.__geomBox.pack_start(gtk.Label("Geometry instance:"),expand=False,padding=5)
        self.__geomBox.pack_start(self.__geomCombo,expand=True,padding=5)
        self.baseWidget.pack_start(self.__geomBox, expand=False, padding=5)
        
        #self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)
                
        #Scan variable selector
        self.__scanVariableBox = gtk.HBox()
        self.__scanVariableCombo = gtk.combo_box_new_text()
        self.__scanVariableChangedHandlerID = self.__scanVariableCombo.connect("changed", self.event_comboChanged_scanVar, None)
        self.__scanVariableBox.pack_start(gtk.Label("Scan variable:"), expand=False, padding=5)
        self.__scanVariableBox.pack_start(self.__scanVariableCombo , expand=True, padding=5)
        self.baseWidget.pack_start(self.__scanVariableBox, expand=False, padding=5)

        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)
                
        self.__pointButtonBox = gtk.HBox(homogeneous=True)
        self.__iterateButton = gtk.Button("Iterate")
        self.__iterateButton.connect("clicked", self.event_button_iterate, None)
        self.__pointButtonBox.pack_start(self.__iterateButton, expand=True, padding=5)
        self.__addPointButton = gtk.Button("Add point") 
        self.__addPointButton.connect("clicked", self.event_button_addpoint, None)
        self.__pointButtonBox.pack_start(self.__addPointButton, expand=True, padding=5)
        self.baseWidget.pack_start(self.__pointButtonBox,expand=False,padding=5)
        
        self.__anaVarBox = gtk.HBox()
        self.__anaVarBox.pack_start(gtk.Label("Analysis variable:"), expand=False,padding=5)
        self.__anaVarEntry = gtk.Entry()
        self.__anaVarBox.pack_start(self.__anaVarEntry, expand=True, padding = 5)
        self.baseWidget.pack_start(self.__anaVarBox, expand=False,padding=5)
        self.__targetValBox = gtk.HBox()
        self.__targetValBox.pack_start(gtk.Label("Target value:"), expand=False,padding=5)
        self.__targetValEntry = gtk.Entry()
        self.__targetValBox.pack_start(self.__targetValEntry, expand=True, padding = 5)
        self.baseWidget.pack_start(self.__targetValBox, expand=False,padding=5)
        
        self.__predictButtonsBox = gtk.HBox(homogeneous=True)
        self.__doPredictButton = gtk.Button("Predict value")
        self.__doPredictButton.connect("clicked", self.event_button_doPredict, None)
        self.__predictButtonsBox.pack_start(self.__doPredictButton, expand=True, padding=5)
        self.__addPredictedButton = gtk.Button("Add predicted value point")
        self.__addPredictedButton.connect("clicked", self.event_button_addPredicted, None)
        self.__predictButtonsBox.pack_start(self.__addPredictedButton, expand=True, padding=5)
        self.baseWidget.pack_start(self.__predictButtonsBox, expand=False, padding=5)
        
        self.__fitBox = gtk.HBox()
        self.__fitBox.pack_start(gtk.Label("Fit:"), expand=False, padding=5)
        self.__fitBox.pack_start(gtk.Label("y ="), expand=False, padding=2)
        self.__fittedA_Entry = gtk.Entry()
        self.__fitBox.pack_start(self.__fittedA_Entry, expand=True, padding=2)
        self.__fitBox.pack_start(gtk.Label("* x +"), expand=False, padding=2)
        self.__fittedB_Entry = gtk.Entry()
        self.__fitBox.pack_start(self.__fittedB_Entry, expand=True, padding=2)
        self.__fitBox.pack_start(gtk.Label(";"), expand=False, padding=5)
        self.__fitBox.pack_start(gtk.Label("R ="), expand=False, padding=2)
        self.__fittedSqrtR2_Entry = gtk.Entry()
        self.__fitBox.pack_start(self.__fittedSqrtR2_Entry, expand=True, padding=2)
        self.__fitBox.pack_start(gtk.Label("NDOF ="), expand=False, padding=2)
        self.__fittedNDOF_Entry = gtk.Entry()
        self.__fitBox.pack_start(self.__fittedNDOF_Entry, expand=True, padding=2)
        self.baseWidget.pack_start(self.__fitBox, expand=False, padding=5)
        
        self.__fittedPredicted_Box = gtk.HBox()
        self.__fittedPredicted_Box.pack_start(gtk.Label("predicted :"), expand=False, padding=5)
        self.__fittedPredicted_Entry = gtk.Entry()
        self.__fittedPredicted_Box.pack_start(self.__fittedPredicted_Entry,expand=True,padding=5)
        self.baseWidget.pack_start(self.__fittedPredicted_Box, expand=False,padding=5)
        
        self.__fittedA_Entry.set_sensitive(False)
        self.__fittedB_Entry.set_sensitive(False)
        self.__fittedNDOF_Entry.set_sensitive(False)
        self.__fittedSqrtR2_Entry.set_sensitive(False)
        self.__fittedPredicted_Entry.set_sensitive(False)
        
        self.__plotButton = gtk.Button("Show plot")
        self.__plotButton.connect("clicked", self.event_button_plot, None)
        self.baseWidget.pack_start(self.__plotButton, expand=False, padding=10)
        
        self.updateDisplay()
        self.baseWidget.show_all()
示例#8
0
    def __init__(self,frameManager,solverSetup):
        InfoFrameComponent.__init__(self, frameManager)
        print "SolverSetup::__init__()"
        self.solverSetup = solverSetup
        
        self.baseWidget = gtk.VBox()

        self.baseWidget.pack_start(gtk.Label("Solver setup file name : \"" + self.solverSetup.name + "\""), expand=False)
        self.baseWidget.pack_start(gtk.Label("Solver setup type      : \"" + self.solverSetup.type + "\""), expand=False)
        
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)
        
        #Name, type, value, enabled, mustNot, editable, (backlink)
        self.__dynamicTableTree = gtk.TreeStore(str, str, str, bool, bool, bool, object)
        self.__dynamicTable = gtk.TreeView(self.__dynamicTableTree)
        self.__dynamicTableCols = []
        self.__dynamicTableCRs = []
        
        self.__dynamicTableCRs.append(gtk.CellRendererText())
        self.__dynamicTableCols.append(gtk.TreeViewColumn("Name", self.__dynamicTableCRs[-1], text=0))
        self.__dynamicTableCols[-1].set_expand(True)
        self.__dynamicTable.append_column(self.__dynamicTableCols[-1])
        
        self.__dynamicTableCRs.append(gtk.CellRendererText())
        self.__dynamicTableCols.append(gtk.TreeViewColumn("Data type", self.__dynamicTableCRs[-1], text=1))
        self.__dynamicTable.append_column(self.__dynamicTableCols[-1])

        self.__dynamicTableCRs.append(gtk.CellRendererText())
        self.__dynamicTableCols.append(gtk.TreeViewColumn("Current value", self.__dynamicTableCRs[-1], text=2, editable=5))
        self.__dynamicTableCRs[-1].connect('edited', self.event_cellRenderer_value_edited, None)
        self.__dynamicTable.append_column(self.__dynamicTableCols[-1])
        
        self.__dynamicTableCRs.append(gtk.CellRendererToggle())
        self.__dynamicTableCols.append(gtk.TreeViewColumn("Enabled", self.__dynamicTableCRs[-1], active=3, activatable=4))
        self.__dynamicTableCRs[-1].connect("toggled", self.event_cellRenderer_enabled_toggled, None)
        self.__dynamicTable.append_column(self.__dynamicTableCols[-1])            
    
        self.__scrollWindow = gtk.ScrolledWindow()
        self.__scrollWindow.set_policy(gtk.POLICY_AUTOMATIC,gtk.POLICY_AUTOMATIC)
        self.__scrollWindow.add(self.__dynamicTable)
        self.baseWidget.pack_start(self.__scrollWindow, expand=True)
    
        self.__buttonHBox = gtk.HBox()
        self.__copyButton = gtk.Button("C_opy current line")
        self.__copyButton.connect("clicked", self.event_button_copy, None)
        self.__copyButton.set_sensitive(False)
        self.__buttonHBox.pack_start(self.__copyButton)
        self.__delButton  = gtk.Button("_Delete current line")
        self.__delButton.connect("clicked", self.event_button_del, None)
        self.__delButton.set_sensitive(False)
        self.__buttonHBox.pack_start(self.__delButton)
        self.baseWidget.pack_start(self.__buttonHBox, expand=False)
        self.__dynamicTable.connect("cursor-changed",self.event_dynamicTable_cursorChanged,None)
        
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)
        
        self.__closeButton = gtk.Button("_Close")
        self.__closeButton.connect("clicked", self.event_button_close, None)
        self.baseWidget.pack_start(self.__closeButton,  expand=False)
        
        self.updateDynamicTable()
        if self.solverSetup.lockdown:
            self.__copyButton.set_sensitive(False)
            self.__delButton.set_sensitive(False)
            self.__dynamicTable.set_sensitive(False)
        
        self.baseWidget.show_all()
示例#9
0
    def __init__(self, frameManager, project):
        InfoFrameComponent.__init__(self, frameManager)
        
        self.project = project
        
        #Setup GUI
        self.baseWidget = gtk.VBox(False,5)
#        self.__tableWidget = gtk.Table(4,3,False)
#        self.__tableWidget.set_row_spacings(3)
#        self.__tableWidget.set_col_spacings(3)
#        self.baseWidget.pack_start(self.__tableWidget)
#        self.baseWidget.pack_start(gtk.DrawingArea()) #Some blank space

        # Name
        self.projName_label = gtk.Label("Project name: '" + self.project.projectName_name + "'")
#        self.projName_label.set_alignment(1.0,0.5)
#        self.__tableWidget.attach(self.projName_label, 0,1,0,1, yoptions=gtk.FILL)
        self.baseWidget.pack_start(self.projName_label, expand=False, padding=5)
        
#        self.projName_entry = gtk.Label(\
#            "\"" + self.project.projectName_name + "\"")
#        self.projName_entry.set_alignment(0.0,0.5)
#        self.__tableWidget.attach(self.projName_entry,
#                                1,3,0,1, yoptions=gtk.FILL)

        # Folder
        self.projFolder_label = gtk.Label("Stored in folder: '" + self.project.projectFolder_name + "'")
#        self.projFolder_label.set_alignment(1.0,0.5)
#        self.__tableWidget.attach(self.projFolder_label,0,1,1,2, yoptions=gtk.FILL)
        self.baseWidget.pack_start(self.projFolder_label, expand=False, padding=5)
        
#        self.projFolder_entry = gtk.Label(\
#            "\"" + self.project.projectFolder_name + "\"")
#        self.projFolder_entry.set_alignment(0.0,0.5)
#        self.__tableWidget.attach(self.projFolder_entry,
#                                1,3,1,2, yoptions=gtk.FILL)

#        # CUBIT journal template
#        self.jouTemplate_label = gtk.Label("Geometry template journal:")
#        self.jouTemplate_label.set_alignment(1.0,0.5)
#        self.__tableWidget.attach(self.jouTemplate_label,
#                                0,1,2,3, yoptions=gtk.FILL)
#
#        self.jouTemplate_path = gtk.Label()
#        self.jouTemplate_path.set_alignment(0.0,0.5)
#        self.__tableWidget.attach(self.jouTemplate_path,
#                                1,3,2,3, yoptions=gtk.FILL)
#        
#        self.jouTemplate_editButton = gtk.Button(\
#            stock=gtk.STOCK_EDIT)
#        self.jouTemplate_editButton.connect(\
#            "clicked", self.event_button_jouTemplate_edit, None)
#        self.__tableWidget.attach(self.jouTemplate_editButton,
#                                0,1,3,4, yoptions=gtk.FILL)
#        
#        self.jouTemplate_newButton = gtk.Button(\
#            stock=gtk.STOCK_NEW)
#        self.jouTemplate_newButton.connect(\
#            "clicked", self.event_button_jouTemplate_new, None)
#        self.__tableWidget.attach(self.jouTemplate_newButton,
#                                1,2,3,4, yoptions=gtk.FILL)
#
#        self.jouTemplate_openButton = gtk.Button(\
#            stock=gtk.STOCK_OPEN)
#        self.jouTemplate_openButton.connect(\
#            "clicked", self.event_button_jouTemplate_open, None)
#        self.__tableWidget.attach(self.jouTemplate_openButton,
#                                2,3,3,4, yoptions=gtk.FILL)
#        
#        self.jouTemplateWidgets_update()
        
        #Finalizing
        self.baseWidget.show_all()
示例#10
0
    def __init__(self,frameManager,meshInstance):
        print "MeshInstance::__init__()"
        InfoFrameComponent.__init__(self, frameManager)
        self.meshInstance = meshInstance
        
        #Create GUI
        self.__topLabels = []

        tlab = gtk.Label("Tag name")
        self.__topLabels.append(tlab)
        
        tlab = gtk.Label("Value")
        self.__topLabels.append(tlab)

        tlab = gtk.Label("Use default")
        self.__topLabels.append(tlab)

        

        self.__meshTemplateNameLabel = gtk.Label("Name of mesh template: \"" + self.meshInstance.meshTemplate.instName + "\"")
        
        self.__meshBadIndicator = gtk.Label("Mesh bad (ISOTEs): " + str(self.meshInstance.meshBad))        

        self.__clearLockdownButton = gtk.Button(label="Clear lockdown")
        self.__clearLockdownButton.connect("clicked", self.event_button_clearLockdown, None)
        
        self.__cloneButton = gtk.Button(label="Clone this mesh instance (deep copy)")
        self.__cloneButton.connect("clicked", self.event_button_clone, None)
        
        self.__runConfigButton = gtk.Button(label="Attach a runconfig...")
        self.__runConfigButton.connect("clicked", self.event_button_runConfig, None)
        
        self.__exportButton = gtk.Button(label="Export CUBIT journal to file...")
        self.__exportButton.connect("clicked", self.event_button_export, None)
        
        self.__paraviewButton = gtk.Button(label="Run ParaView...")
        self.__paraviewButton.connect("clicked", self.event_button_paraview)
        
        self.__generateButton = gtk.Button(label="Run CUBIT to generate mesh")
        self.__generateButton.connect("clicked", self.event_button_generate, None)


        self.updateTable()

        self.__scrolledWindow = gtk.ScrolledWindow()
        self.__scrolledWindow.set_policy(gtk.POLICY_NEVER,gtk.POLICY_AUTOMATIC)
        self.__scrolledWindow.add_with_viewport(self.__tableWidget)
        self.__scrolledWindow.set_shadow_type(gtk.SHADOW_NONE)
        
        self.baseWidget = gtk.VBox()
        self.baseWidget.pack_start(self.__meshTemplateNameLabel, expand=False)
        self.baseWidget.pack_start(self.__meshBadIndicator,      expand=False)
        self.baseWidget.pack_start(self.__scrolledWindow,        expand=True)
        self.baseWidget.pack_start(self.__clearLockdownButton,   expand=False)
        self.baseWidget.pack_start(self.__cloneButton,           expand=False)
        self.baseWidget.pack_start(self.__runConfigButton,       expand=False)
        self.baseWidget.pack_start(self.__exportButton,          expand=False)
        self.baseWidget.pack_start(self.__paraviewButton,        expand=False)
        self.baseWidget.pack_start(self.__generateButton,        expand=False)

        self.baseWidget.show_all()
示例#11
0
    def __init__(self,frameManager,scan):
        InfoFrameComponent.__init__(self, frameManager)
        self.scan2D = scan
        
        self.baseWidget = gtk.VBox()
   
        #Geometry instance selector
        self.__geomBox = gtk.HBox()
        self.__geomCombo = gtk.combo_box_new_text()
        self.__geomChangedHandlerID = self.__geomCombo.connect("changed", self.event_comboChanged_geom, None)
        self.__geomBox.pack_start(gtk.Label("Geometry instance:"),expand=False,padding=5)
        self.__geomBox.pack_start(self.__geomCombo,expand=True,padding=5)
        self.baseWidget.pack_start(self.__geomBox, expand=False, padding=5)
   
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)
                
        #Scan variable selectors
        self.__scanVariable1Box = gtk.HBox()
        self.__scanVariable1Combo = gtk.combo_box_new_text()
        self.__scanVariable1ChangedHandlerID = self.__scanVariable1Combo.connect("changed", self.event_comboChanged_scanVar, 1)
        self.__scanVariable1Box.pack_start(gtk.Label("Scan variable 1:"), expand=False, padding=5)
        self.__scanVariable1Box.pack_start(self.__scanVariable1Combo , expand=True, padding=5)
        self.baseWidget.pack_start(self.__scanVariable1Box, expand=False, padding=5)

        self.__scanVariable1RangeBox = gtk.HBox()
        self.__scanVariable1RangeBox.pack_start(gtk.Label("Default:"),expand=False,padding=2)
        self.__scanVariable1DefaultEntry = gtk.Entry()
        self.__scanVariable1DefaultEntry.set_sensitive(False)
        self.__scanVariable1RangeBox.pack_start(self.__scanVariable1DefaultEntry, expand=True,padding=2)
        self.__scanVariable1RangeBox.pack_start(gtk.Label("min:"),expand=False,padding=2)
        self.__scanVariable1MinEntry = gtk.Entry()
        self.__scanVariable1RangeBox.pack_start(self.__scanVariable1MinEntry, expand=True,padding=2)
        self.__scanVariable1RangeBox.pack_start(gtk.Label("max:"),expand=False,padding=2)
        self.__scanVariable1MaxEntry = gtk.Entry()
        self.__scanVariable1RangeBox.pack_start(self.__scanVariable1MaxEntry, expand=True,padding=2)
        self.__scanVariable1RangeBox.pack_start(gtk.Label("num:"),expand=False,padding=2)
        self.__scanVariable1NumEntry = gtk.Entry()
        self.__scanVariable1RangeBox.pack_start(self.__scanVariable1NumEntry, expand=True,padding=2)
        self.baseWidget.pack_start(self.__scanVariable1RangeBox,expand=False,padding=5)

        self.__scanVariable2Box = gtk.HBox()
        self.__scanVariable2Combo = gtk.combo_box_new_text()
        self.__scanVariable2ChangedHandlerID = self.__scanVariable2Combo.connect("changed", self.event_comboChanged_scanVar, 2)
        self.__scanVariable2Box.pack_start(gtk.Label("Scan variable 2:"), expand=False, padding=5)
        self.__scanVariable2Box.pack_start(self.__scanVariable2Combo , expand=True, padding=5)
        self.baseWidget.pack_start(self.__scanVariable2Box, expand=False, padding=5)

        self.__scanVariable2RangeBox = gtk.HBox()
        self.__scanVariable2RangeBox.pack_start(gtk.Label("Default:"),expand=False,padding=2)
        self.__scanVariable2DefaultEntry = gtk.Entry()
        self.__scanVariable2DefaultEntry.set_sensitive(False)
        self.__scanVariable2RangeBox.pack_start(self.__scanVariable2DefaultEntry, expand=True,padding=2)
        self.__scanVariable2RangeBox.pack_start(gtk.Label("min:"),expand=False,padding=2)
        self.__scanVariable2MinEntry = gtk.Entry()
        self.__scanVariable2RangeBox.pack_start(self.__scanVariable2MinEntry, expand=True,padding=2)
        self.__scanVariable2RangeBox.pack_start(gtk.Label("max:"),expand=False,padding=2)
        self.__scanVariable2MaxEntry = gtk.Entry()
        self.__scanVariable2RangeBox.pack_start(self.__scanVariable2MaxEntry, expand=True,padding=2)
        self.__scanVariable2RangeBox.pack_start(gtk.Label("num:"),expand=False,padding=2)
        self.__scanVariable2NumEntry = gtk.Entry()
        self.__scanVariable2RangeBox.pack_start(self.__scanVariable2NumEntry, expand=True,padding=2)
        self.baseWidget.pack_start(self.__scanVariable2RangeBox,expand=False,padding=5)

        self.__checkRangeButton = gtk.Button("Check scan ranges")
        self.__checkRangeButton.connect("clicked", self.event_button_checkScanRange, None)
        self.baseWidget.pack_start(self.__checkRangeButton, expand=False, padding=5)

        self.__doScanButton = gtk.Button("Create scan range")
        self.__doScanButton.connect("clicked", self.event_button_doScan, None)
        self.baseWidget.pack_start(self.__doScanButton, expand=False, padding = 5)
        
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)
   
        self.__plotButton = gtk.Button("Plot scan range")
        self.__plotButton.connect("clicked", self.event_button_plot, None)
        self.baseWidget.pack_start(self.__plotButton, expand=False, padding = 5)
        
   
        self.updateDisplay()
        self.baseWidget.show_all()
示例#12
0
文件: Scan.py 项目: kyrsjo/AcdOpti
    def __init__(self,frameManager,scanInstance):
        InfoFrameComponent.__init__(self, frameManager)
        self.scanInstance = scanInstance
        
        self.baseWidget = gtk.VBox()
        
        #Geometry instance selector
        self.__geomBox = gtk.HBox()
        self.__geomCombo = gtk.combo_box_new_text()
        self.__geomChangedHandlerID = self.__geomCombo.connect("changed", self.event_comboChanged_geom, None)
        self.__geomBox.pack_start(gtk.Label("Geometry instance:"))
        self.__geomBox.pack_start(self.__geomCombo)
        self.baseWidget.pack_start(self.__geomBox, expand=False, padding=5)
        
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)
                
        #Scan variable selector
        self.__scanVariableBox = gtk.HBox()
        self.__scanVariableCombo = gtk.combo_box_new_text()
        self.__scanVariableChangedHandlerID =  self.__scanVariableCombo.connect("changed", self.event_comboChanged_scanVar, None)
        self.__scanVariableBox.pack_start(gtk.Label("Scan variable:"))
        self.__scanVariableBox.pack_start(self.__scanVariableCombo)
        self.baseWidget.pack_start(self.__scanVariableBox, expand=False,padding=5)
        
        #Range selector
        self.__rangeTable = gtk.Table(rows=2,columns=3,homogeneous=True)
        self.__rangeMinEntry  = gtk.Entry()
        self.__rangeMaxEntry  = gtk.Entry()
        self.__rangeStepEntry = gtk.Entry()
        self.__rangeTable.attach(gtk.Label("Minimum value:"),0,1,0,1)
        self.__rangeTable.attach(gtk.Label("Maximum value:"),1,2,0,1)
        self.__rangeTable.attach(gtk.Label("Step size:"),2,3,0,1)
        self.__rangeTable.attach(self.__rangeMinEntry , 0,1,1,2)
        self.__rangeTable.attach(self.__rangeMaxEntry , 1,2,1,2)
        self.__rangeTable.attach(self.__rangeStepEntry, 2,3,1,2)
        self.baseWidget.pack_start(self.__rangeTable, expand=False, padding=5)
        
        self.__scanVariableDefLabel = gtk.Label("Default value: ") 
        self.baseWidget.pack_start(self.__scanVariableDefLabel, expand=False, padding=5)
        self.__previewRangeButton = gtk.Button("(Pre)view scan range")
        self.__previewRangeButton.connect("clicked", self.event_button_previewRange, None)
        self.baseWidget.pack_start(self.__previewRangeButton, expand=False)
        
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)
        
        #Value prediction
        self.baseWidget.pack_start(gtk.Label("Value prediction"))
        self.__predictTable = gtk.Table(rows=6,columns=2,homogeneous=False)
        self.__predictTable.attach(gtk.Label("Analysis variable:"),0,1,0,1, xoptions=gtk.FILL)
        self.__predictVariableEntry = gtk.Entry()
        self.__predictTable.attach(self.__predictVariableEntry,1,2,0,1, xoptions=gtk.FILL|gtk.EXPAND)
        self.__predictTable.attach(gtk.Label("Target value:"),0,1,1,2, xoptions=gtk.FILL)
        self.__predictTargetEntry = gtk.Entry()
        self.__predictTable.attach(self.__predictTargetEntry,1,2,1,2, xoptions=gtk.FILL|gtk.EXPAND)
        
        self.__fitButton = gtk.Button("Fit linear function")
        self.__fitButton.connect("clicked", self.event_button_fit, None) 
        self.__predictTable.attach(self.__fitButton, 0,2,2,3, xoptions=gtk.FILL)
        
        self.__predictTable.attach(gtk.Label("Fit:"),0,1,3,4, xoptions=gtk.FILL)
        fitHbox = gtk.HBox()
        fitHbox.pack_start(gtk.Label("Y = "))
        self.__fitDisplays = []
        self.__fitDisplays.append(gtk.Entry())
        fitHbox.pack_start(self.__fitDisplays[-1])
        fitHbox.pack_start(gtk.Label("* X + "))
        self.__fitDisplays.append(gtk.Entry())
        fitHbox.pack_start(self.__fitDisplays[-1])
        fitHbox.pack_start(gtk.Label(" ; sqrt(R2) = "))
        self.__fitDisplays.append(gtk.Entry())
        fitHbox.pack_start(self.__fitDisplays[-1])
        fitHbox.pack_start(gtk.Label(" , ndof = "))
        self.__fitDisplays.append(gtk.Entry())
        fitHbox.pack_start(self.__fitDisplays[-1])
        self.__predictTable.attach(fitHbox,1,2,3,4, xoptions=gtk.FILL|gtk.EXPAND)
        
        self.__predictTable.attach(gtk.Label("Predicted X:"),0,1,4,5, xoptions=gtk.FILL)
        self.__fitDisplays.append(gtk.Entry())
        self.__predictTable.attach(self.__fitDisplays[-1],1,2,4,5, xoptions=gtk.FILL|gtk.EXPAND)
        map(lambda entry: entry.set_sensitive(False), self.__fitDisplays)
        
        self.__createPointButton = gtk.Button("Create new point at predicted X")
        self.__createPointButton.connect("clicked", self.event_button_createPoint)
        self.__predictTable.attach(self.__createPointButton, 0,2,5,6)
        
        self.baseWidget.pack_start(self.__predictTable,expand=True, padding=5)
        
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)
        
        #Buttons
        self.__createScanButton   = gtk.Button("Create scan")
        self.__createScanButton.connect("clicked", self.event_button_createScan, None)
        self.baseWidget.pack_start(self.__createScanButton, expand=False)
        
        self.__stageScanButton    = gtk.Button("Stage runInstances")
        self.__stageScanButton.connect("clicked", self.event_button_stageScan, None)
        self.baseWidget.pack_start(self.__stageScanButton, expand=False)
        
        self.__runScanButton      = gtk.Button("Upload&run scan")
        self.__runScanButton.connect("clicked", self.event_button_runScan, None)
        self.baseWidget.pack_start(self.__runScanButton, expand=False)
        
#        self.__createAndRunButton = gtk.Button("Create and run scan (=> do all of the above!)")
#        self.baseWidget.pack_start(self.__createAndRunButton, expand=False)

        self.__getDataButton      = gtk.Button("Check status and download finished data")
        self.__getDataButton.connect("clicked", self.event_button_getData, None)
        self.baseWidget.pack_start(self.__getDataButton, expand=False)
        
        self.__runAnalysisButton  = gtk.Button("Run analysis")
        self.__runAnalysisButton.connect("clicked", self.event_button_runAnalysis, None)
        self.baseWidget.pack_start(self.__runAnalysisButton, expand=False)
        
        self.updateDisplay()
        self.baseWidget.show_all()
示例#13
0
    def __init__(self, frameManager, analysis):
        InfoFrameComponent.__init__(self, frameManager)
        self.analysis = analysis
        assert isinstance(self.analysis, AnalysisInterface)
        
        self.baseWidget = gtk.VBox()
        
        if self.analysis.settings != None:
            self.__settingsModel   = gtk.ListStore(str,str) #Key, value
            self.__settingsView    = gtk.TreeView(self.__settingsModel)
            self.__settingsCols    = []
            self.__settingsRenders = []
            
            self.__settingsRenders.append(gtk.CellRendererText())
            self.__settingsCols.append(gtk.TreeViewColumn("Key", self.__settingsRenders[-1], text=0))
            self.__settingsView.append_column(self.__settingsCols[-1])
        
            self.__settingsRenders.append(gtk.CellRendererText())
            self.__settingsRenders[-1].set_property("editable", True)
            self.__settingsRenders[-1].connect('edited', self.event_cellRenderer_settingsValue_edited, None)
            self.__settingsCols.append(gtk.TreeViewColumn("Value", self.__settingsRenders[-1], text=1))
            self.__settingsView.append_column(self.__settingsCols[-1])
            
            self.__settingsScroll = gtk.ScrolledWindow()
            self.__settingsScroll.set_policy(gtk.POLICY_AUTOMATIC,gtk.POLICY_AUTOMATIC)
            self.__settingsScroll.set_size_request(-1,125)
            self.__settingsScroll.add(self.__settingsView)
            
            self.baseWidget.pack_start(self.__settingsScroll, expand=False, padding=5)
        
        if self.analysis.localSolver != None:
            self.__localSolverButton = gtk.Button("_Setup local solver...")
            self.__localSolverButton.connect("clicked", self.event_button_localSolver, None)
            self.baseWidget.pack_start(self.__localSolverButton, expand=False, padding=5)
        
        self.__treeModel = gtk.TreeStore(str, str)
        self.__treeView = gtk.TreeView(self.__treeModel)
        self.__treeCols = []
        self.__treeRenders = []
        
        self.__treeRenders.append(gtk.CellRendererText())
        self.__treeCols.append(gtk.TreeViewColumn("Key", self.__treeRenders[-1], text=0))
        self.__treeRenders[-1].set_property("editable", True)
        self.__treeView.append_column(self.__treeCols[-1])
        
        self.__treeRenders.append(gtk.CellRendererText())
        self.__treeCols.append(gtk.TreeViewColumn("Value", self.__treeRenders[-1], text=1))
        self.__treeRenders[-1].set_property("editable", True)
        self.__treeView.append_column(self.__treeCols[-1])
         
        self.__scrollWindow = gtk.ScrolledWindow()
        self.__scrollWindow.set_policy(gtk.POLICY_AUTOMATIC,gtk.POLICY_AUTOMATIC)
        self.__scrollWindow.add(self.__treeView)
        self.baseWidget.pack_start(self.__scrollWindow, expand=True, padding=5)

        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)
        
        self.__lockdownRunButton = gtk.Button("_Run analysis") #Updated in __updateGui()
        self.__lockdownRunButton.connect("clicked", self.event_button_lockdownRun, None)
        self.baseWidget.pack_start(self.__lockdownRunButton, expand=False)

        self.__updateGui()
        
        self.baseWidget.show_all()
示例#14
0
 def __init__(self, frameManager, message):
     InfoFrameComponent.__init__(self, frameManager)
     
     self.baseWidget = gtk.Label(message)
     self.baseWidget.show()
示例#15
0
    def __init__(self,frameManager,runner):
        print "RunnerSetup_Hopper::__init__()"
        InfoFrameComponent.__init__(self, frameManager)
        self.runner = runner
        
        self.baseWidget = gtk.VBox()
        
        #Torque stuff:
        tqm = self.runner.getTorqueMeta()
        print tqm
        self.baseWidget.pack_start(gtk.Label("Torque information:"), expand=False,padding=5)
        self.__torqueTable   = gtk.Table(4,2,False)
        
        self.__queueCombo    = gtk.combo_box_entry_new_text()
        #self.__queueCombo.append_text(tqm["queue"])
        self.__queueCombo.append_text("regular")
        self.__queueCombo.append_text("debug")
        if tqm["queue"] == "regular":
            self.__queueCombo.set_active(0)
        else:
            self.__queueCombo.set_active(1)
        self.__torqueTable.attach(gtk.Label("Queue:"), 0,1,0,1, xoptions=gtk.FILL|gtk.EXPAND, yoptions=gtk.FILL)
        self.__torqueTable.attach(self.__queueCombo , 1,2,0,1, xoptions=gtk.FILL|gtk.EXPAND, yoptions=gtk.FILL)
        
        self.__walltimeEdit = gtk.Entry()
        if self.__checkWalltime(tqm["walltime"]):
            self.__walltimeEdit.set_text(tqm["walltime"])
        else:
            self.__walltimeEdit.set_text("hh:mm:ss")
        self.__torqueTable.attach(gtk.Label("Walltime:"), 0,1,1,2,xoptions=gtk.FILL|gtk.EXPAND, yoptions=gtk.FILL)
        self.__torqueTable.attach(self.__walltimeEdit   , 1,2,1,2,xoptions=gtk.FILL|gtk.EXPAND, yoptions=gtk.FILL)
        
        self.__repoEdit = gtk.Entry()
        self.__repoEdit.set_text(tqm["repo"])
        self.__torqueTable.attach(gtk.Label("Repository:"), 0,1,2,3,xoptions=gtk.FILL|gtk.EXPAND, yoptions=gtk.FILL)
        self.__torqueTable.attach(self.__repoEdit         , 1,2,2,3,xoptions=gtk.FILL|gtk.EXPAND, yoptions=gtk.FILL)
        
        self.__importvarsCheck = gtk.CheckButton()
        if DataDict.boolconv(tqm["importVars"]):
            self.__importvarsCheck.set_active(True)
        else:
            self.__importvarsCheck.set_active(False)
        self.__torqueTable.attach(gtk.Label("Import variables:"), 0,1,3,4,xoptions=gtk.FILL|gtk.EXPAND, yoptions=gtk.FILL)
        self.__torqueTable.attach(self.__importvarsCheck        , 1,2,3,4,xoptions=gtk.FILL|gtk.EXPAND, yoptions=gtk.FILL)
        
        self.baseWidget.pack_start(self.__torqueTable, expand=False)
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False,padding=10)
        
        #Commands stuff
        #Name, command, commandArgs, tasks, tasksNode, tasksNuma, ?aprun, job 
        self.__tasksListStore = gtk.ListStore(str, str, str, int, int, int, bool, object)
        self.__tasksList = gtk.TreeView(self.__tasksListStore)
        self.__tasksRenderers = []
        self.__tasksColumns = []
        
        self.__tasksRenderers.append(gtk.CellRendererText())
        self.__tasksRenderers[-1].set_property("editable", True)
        self.__tasksRenderers[-1].connect('edited', self.event_tasksList_textEdit, "name")
        self.__tasksColumns.append(gtk.TreeViewColumn("Name", self.__tasksRenderers[-1], text=0))
        self.__tasksList.append_column(self.__tasksColumns[-1])
        
        self.__tasksRenderers.append(gtk.CellRendererText())
        self.__tasksRenderers[-1].set_property("editable", True)
        self.__tasksRenderers[-1].connect('edited', self.event_tasksList_textEdit, "command")
        self.__tasksColumns.append(gtk.TreeViewColumn("Command", self.__tasksRenderers[-1], text=1))
        self.__tasksColumns[-1].set_expand(True)
        self.__tasksList.append_column(self.__tasksColumns[-1])
        
        self.__tasksRenderers.append(gtk.CellRendererText())
        self.__tasksRenderers[-1].connect('edited', self.event_tasksList_textEdit, "commandArgs")
        self.__tasksColumns.append(gtk.TreeViewColumn("Command arguments", self.__tasksRenderers[-1], text=2, visible=6, editable=6))
        self.__tasksList.append_column(self.__tasksColumns[-1])

        self.__tasksRenderers.append(gtk.CellRendererText())
        self.__tasksRenderers[-1].connect('edited', self.event_tasksList_textEdit, "tasks")
        self.__tasksColumns.append(gtk.TreeViewColumn("# Tasks", self.__tasksRenderers[-1], text=3, visible=6, editable=6))
        self.__tasksList.append_column(self.__tasksColumns[-1])

        self.__tasksRenderers.append(gtk.CellRendererText())
        self.__tasksRenderers[-1].connect('edited', self.event_tasksList_textEdit, "tasksNode")
        self.__tasksColumns.append(gtk.TreeViewColumn("(# tasks pr. node)", self.__tasksRenderers[-1], text=4, visible=6, editable=6))
        self.__tasksList.append_column(self.__tasksColumns[-1])

        self.__tasksRenderers.append(gtk.CellRendererText())
        self.__tasksRenderers[-1].connect('edited', self.event_tasksList_textEdit, "tasksNuma")
        self.__tasksColumns.append(gtk.TreeViewColumn("(# tasks pr. NUMAnode)", self.__tasksRenderers[-1], text=5, visible=6, editable=6))
        self.__tasksList.append_column(self.__tasksColumns[-1])
        
        self.__tasksRenderers.append(gtk.CellRendererToggle())
        self.__tasksRenderers[-1].connect("toggled", self.event_tasksList_aprunToggled, None)
        self.__tasksColumns.append(gtk.TreeViewColumn("Use aprun", self.__tasksRenderers[-1], active=6))
        self.__tasksList.append_column(self.__tasksColumns[-1])
        
        self.__scrollWindow = gtk.ScrolledWindow()
        self.__scrollWindow.set_policy(gtk.POLICY_AUTOMATIC,gtk.POLICY_AUTOMATIC)
        self.__scrollWindow.add(self.__tasksList)
        self.baseWidget.pack_start(self.__scrollWindow, expand=True)
        
        self.__populateTasksList()
        self.__tasksList.connect("cursor-changed", self.event_tasksList_cursorChanged, None)

        self.__tasksButtonsBox = gtk.HBox()
        self.__tasksMoveUpButton = gtk.Button("Move entry up")
        self.__tasksButtonsBox.pack_start(self.__tasksMoveUpButton)
        self.__tasksMoveUpButton.connect("clicked", self.event_button_moveUp, None)
        self.__tasksAddButton = gtk.Button("_Add new task")
        self.__tasksButtonsBox.pack_start(self.__tasksAddButton)
        self.__tasksAddButton.connect("clicked", self.event_button_add, None)
        self.__tasksDelButton = gtk.Button("_Delete task")
        self.__tasksButtonsBox.pack_start(self.__tasksDelButton)
        self.__tasksDelButton.connect("clicked", self.event_button_del, None)
        self.__tasksMoveDownButton = gtk.Button("Move entry down")
        self.__tasksButtonsBox.pack_start(self.__tasksMoveDownButton)
        self.__tasksMoveDownButton.connect("clicked", self.event_button_moveDown, None)
        self.event_tasksList_cursorChanged(self.__tasksList, None)
        self.baseWidget.pack_start(self.__tasksButtonsBox, expand=False)
        
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False,padding=10)
        self.__closeButton = gtk.Button("_Close")
        self.__closeButton.connect("clicked", self.event_button_close, None)
        self.baseWidget.pack_start(self.__closeButton, expand=False)
        
        if self.runner.lockdown:
            self.__queueCombo.set_sensitive(False)
            self.__walltimeEdit.set_sensitive(False)
            self.__repoEdit.set_sensitive(False)
            self.__importvarsCheck.set_sensitive(False)
            self.__tasksList.set_sensitive(False)
            self.__tasksAddButton.set_sensitive(False)
            self.__tasksDelButton.set_sensitive(False)
            self.__tasksMoveUpButton.set_sensitive(False)
            self.__tasksMoveDownButton.set_sensitive(False)
        
        self.baseWidget.show_all()
示例#16
0
    def __init__(self,frameManager,scan):
        InfoFrameComponent.__init__(self, frameManager)
        self.scan2D_Tune = scan
        
        self.baseWidget = gtk.VBox()
   
        #Geometry instance selector
        self.__geomBox = gtk.HBox()
        self.__geomCombo = gtk.combo_box_new_text()
        self.__geomChangedHandlerID = self.__geomCombo.connect("changed", self.event_comboChanged_geom, None)
        self.__geomBox.pack_start(gtk.Label("Geometry instance:"),expand=False,padding=5)
        self.__geomBox.pack_start(self.__geomCombo,expand=True,padding=5)
        self.baseWidget.pack_start(self.__geomBox, expand=False, padding=5)
   
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)
                
        #Scan variable selectors
        self.__scanVariable1Box = gtk.HBox()
        self.__scanVariable1Combo = gtk.combo_box_new_text()
        self.__scanVariable1ChangedHandlerID = self.__scanVariable1Combo.connect("changed", self.event_comboChanged_scanVar, 1)
        self.__scanVariable1Box.pack_start(gtk.Label("Scan variable 1:"), expand=False, padding=5)
        self.__scanVariable1Box.pack_start(self.__scanVariable1Combo , expand=True, padding=5)
        self.baseWidget.pack_start(self.__scanVariable1Box, expand=False, padding=5)

        self.__scanVariable1RangeBox = gtk.HBox()
        self.__scanVariable1RangeBox.pack_start(gtk.Label("Default:"),expand=False,padding=2)
        self.__scanVariable1DefaultEntry = gtk.Entry()
        self.__scanVariable1DefaultEntry.set_sensitive(False)
        self.__scanVariable1RangeBox.pack_start(self.__scanVariable1DefaultEntry, expand=True,padding=2)
        self.__scanVariable1RangeBox.pack_start(gtk.Label("min:"),expand=False,padding=2)
        self.__scanVariable1MinEntry = gtk.Entry()
        self.__scanVariable1RangeBox.pack_start(self.__scanVariable1MinEntry, expand=True,padding=2)
        self.__scanVariable1RangeBox.pack_start(gtk.Label("max:"),expand=False,padding=2)
        self.__scanVariable1MaxEntry = gtk.Entry()
        self.__scanVariable1RangeBox.pack_start(self.__scanVariable1MaxEntry, expand=True,padding=2)
        self.__scanVariable1RangeBox.pack_start(gtk.Label("num:"),expand=False,padding=2)
        self.__scanVariable1NumEntry = gtk.Entry()
        self.__scanVariable1RangeBox.pack_start(self.__scanVariable1NumEntry, expand=True,padding=2)
        self.baseWidget.pack_start(self.__scanVariable1RangeBox,expand=False,padding=5)

        self.__scanVariable2Box = gtk.HBox()
        self.__scanVariable2Combo = gtk.combo_box_new_text()
        self.__scanVariable2ChangedHandlerID = self.__scanVariable2Combo.connect("changed", self.event_comboChanged_scanVar, 2)
        self.__scanVariable2Box.pack_start(gtk.Label("Scan variable 2:"), expand=False, padding=5)
        self.__scanVariable2Box.pack_start(self.__scanVariable2Combo , expand=True, padding=5)
        self.baseWidget.pack_start(self.__scanVariable2Box, expand=False, padding=5)

        self.__scanVariable2RangeBox = gtk.HBox()
        self.__scanVariable2RangeBox.pack_start(gtk.Label("Default:"),expand=False,padding=2)
        self.__scanVariable2DefaultEntry = gtk.Entry()
        self.__scanVariable2DefaultEntry.set_sensitive(False)
        self.__scanVariable2RangeBox.pack_start(self.__scanVariable2DefaultEntry, expand=True,padding=2)
        self.__scanVariable2RangeBox.pack_start(gtk.Label("min:"),expand=False,padding=2)
        self.__scanVariable2MinEntry = gtk.Entry()
        self.__scanVariable2RangeBox.pack_start(self.__scanVariable2MinEntry, expand=True,padding=2)
        self.__scanVariable2RangeBox.pack_start(gtk.Label("max:"),expand=False,padding=2)
        self.__scanVariable2MaxEntry = gtk.Entry()
        self.__scanVariable2RangeBox.pack_start(self.__scanVariable2MaxEntry, expand=True,padding=2)
        self.__scanVariable2RangeBox.pack_start(gtk.Label("num:"),expand=False,padding=2)
        self.__scanVariable2NumEntry = gtk.Entry()
        self.__scanVariable2RangeBox.pack_start(self.__scanVariable2NumEntry, expand=True,padding=2)
        self.baseWidget.pack_start(self.__scanVariable2RangeBox,expand=False,padding=5)

        self.__checkRangeButton = gtk.Button("Check scan ranges")
        self.__checkRangeButton.connect("clicked", self.event_button_checkScanRange, None)
        self.baseWidget.pack_start(self.__checkRangeButton, expand=False, padding=5)

        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)

        #Tuning setup
        self.__tuneParameterBox = gtk.HBox()
        self.__tuneParameterBox.pack_start(gtk.Label("Tuning parameter:"), expand=False, padding=5)
        self.__tuneParameterCombo = gtk.combo_box_new_text()
        self.__tuneParameterChangedHandlerID = self.__tuneParameterCombo.connect("changed", self.event_comboChanged_tuneParameter, None)
        self.__tuneParameterBox.pack_start(self.__tuneParameterCombo , expand=True, padding=5)
        self.baseWidget.pack_start(self.__tuneParameterBox, expand=False, padding=5)

        self.__tuneParameterValueBox = gtk.HBox()
        self.__tuneParameterValueBox.pack_start(gtk.Label("Default value:"), expand=False, padding=5)
        self.__tuneParameterDefaultEntry = gtk.Entry()
        self.__tuneParameterDefaultEntry.set_sensitive(False)
        self.__tuneParameterValueBox.pack_start(self.__tuneParameterDefaultEntry, expand=True, padding=5)
        self.__tuneParameterValueBox.pack_start(gtk.Label(","), expand=False, padding=10)
        self.__tuneParameterValueBox.pack_start(gtk.Label("Initial value(s):"), expand=False, padding=5)
        self.__tuneParameterInitValEntry = gtk.Entry()
        self.__tuneParameterValueBox.pack_start(self.__tuneParameterInitValEntry, expand=True, padding=5)
        self.baseWidget.pack_start(self.__tuneParameterValueBox, expand=False, padding=5)
        
        self.__tuneParameterAnaVarBox = gtk.HBox()
        self.__tuneParameterAnaVarBox.pack_start(gtk.Label("Analysis variable:"), expand=False, padding=5)
        self.__tuneParameterAnaVarEntry = gtk.Entry()
        self.__tuneParameterAnaVarBox.pack_start(self.__tuneParameterAnaVarEntry, expand=True, padding=5)
        self.baseWidget.pack_start(self.__tuneParameterAnaVarBox, expand=False, padding=5)

        self.__tuneParameterTargetVarBox = gtk.HBox()
        self.__tuneParameterTargetVarBox.pack_start(gtk.Label("Target value:"), expand=False, padding=5)
        self.__tuneParameterTargetVarEntry = gtk.Entry()
        self.__tuneParameterTargetVarBox.pack_start(self.__tuneParameterTargetVarEntry, expand=True, padding=5)
        self.baseWidget.pack_start(self.__tuneParameterTargetVarBox, expand=False, padding=5)

        self.__tuneParameterFitModelBox = gtk.HBox()
        self.__tuneParameterFitModelBox.pack_start(gtk.Label("Fitted plane/quadsurf\n from dataExtractor:"), expand=False, padding=5)
        self.__tuneParameterFitModelEntry = gtk.Entry()
        self.__tuneParameterFitModelBox.pack_start(self.__tuneParameterFitModelEntry, expand=True, padding=5)
        self.__tuneParameterFitModelCheckEnable = gtk.CheckButton("Use model")
        self.__tuneParameterFitModelCheckEnable.connect("toggled", self.event_modelEnableCheck_toggled, None)
        self.__tuneParameterFitModelBox.pack_start(self.__tuneParameterFitModelCheckEnable, expand=False, padding=5)
        self.baseWidget.pack_start(self.__tuneParameterFitModelBox, expand=False, padding=5)
        
        self.__tuneParameterCheckRangeButton = gtk.Button("Check scan range and tuning")
        self.__tuneParameterCheckRangeButton.connect("clicked", self.event_button_tuneParameterCheckRange, None)
        self.baseWidget.pack_start(self.__tuneParameterCheckRangeButton, expand=False, padding=5)
        
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)

        #General stuff
        self.__doScanButton = gtk.Button("Create scan range")
        self.__doScanButton.connect("clicked", self.event_button_doScan, None)
        self.baseWidget.pack_start(self.__doScanButton, expand=False, padding = 5)
        
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)
   
        #Plotting
        self.__plotButton = gtk.Button("Plot scan range")
        self.__plotButton.connect("clicked", self.event_button_plot, None)
        self.baseWidget.pack_start(self.__plotButton, expand=False, padding = 5)
        
   
        self.updateDisplay()
        self.baseWidget.show_all()
示例#17
0
    def __init__(self, frameManager, runConfig):
        print "RunConfig::__init__()"
        InfoFrameComponent.__init__(self, frameManager)

        self.runConfig = runConfig

        self.baseWidget = gtk.VBox()
        
        #Information
        self.__configNameLabel = gtk.Label("Name of runConfig: \"" + self.runConfig.instName + "\"")
        self.baseWidget.pack_start(self.__configNameLabel, expand=False, padding=10)
        
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)
        
        #Solver and job setup
        self.__solverSetupListStore = gtk.ListStore(str, str)
        self.__solverSetupTreeView = gtk.TreeView(self.__solverSetupListStore)
        self.__solverSetupColumnName = gtk.TreeViewColumn("Solver setup name")
        self.__solverSetupColumnType = gtk.TreeViewColumn("Solver setup type")
        self.__solverSetupTreeView.append_column(self.__solverSetupColumnName)
        self.__solverSetupTreeView.append_column(self.__solverSetupColumnType)
        self.__solverSetupColumnNameRender = gtk.CellRendererText()
        self.__solverSetupColumnName.pack_start(self.__solverSetupColumnNameRender, True)
        self.__solverSetupColumnName.add_attribute(self.__solverSetupColumnNameRender, 'text', 0)
        self.__solverSetupColumnTypeRender = gtk.CellRendererText()
        self.__solverSetupColumnType.pack_start(self.__solverSetupColumnTypeRender, False)
        self.__solverSetupColumnType.add_attribute(self.__solverSetupColumnTypeRender, 'text', 1)
        self.baseWidget.pack_start(self.__solverSetupTreeView, expand=True)
        self.__solverSetupTreeView.connect("row-activated", self.event_solverSetupTreeView_rowActivated, None)
        self.__solverSetupTreeView.connect("cursor-changed",self.event_solverSetupTreeView_cursorChanged,None)
        self.baseWidget.pack_start(gtk.Label("Double-click a solver setup to edit..."), expand=False, padding=5)


        self.__solverSetupAddDelBox = gtk.HBox()        
        self.__solverSetupAddButton = gtk.Button(label="Add solver setup...")
        self.__solverSetupAddButton.connect("clicked", self.event_button_solverSetupAdd, None)
        self.__solverSetupAddDelBox.pack_start(self.__solverSetupAddButton)
        self.__solverSetupDelButton = gtk.Button(label="Delete solver setup")
        self.__solverSetupDelButton.connect("clicked", self.event_button_solverSetupDel, None)
        self.__solverSetupDelButton.set_sensitive(False)
        self.__solverSetupAddDelBox.pack_start(self.__solverSetupDelButton)
        self.baseWidget.pack_start(self.__solverSetupAddDelBox, expand=False)
        
        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)

        self.__jobSetupLabel = gtk.Label("Current job setup type: " + self.runConfig.runner.type) #Refreshed by updateDisplay()
        self.baseWidget.pack_start(self.__jobSetupLabel, expand=False, padding=10)
        self.__jobSetupEditButton = gtk.Button(label="Edit job setup...")
        self.__jobSetupEditButton.connect("clicked", self.event_button_jobSetupEdit, None)
        self.__jobSetupChangeButton = gtk.Button(label="Switch type of job setup...")
        self.__jobSetupChangeButton.connect("clicked", self.event_button_jobSetupChange, None)
        self.__jobSetupBox = gtk.HBox(homogeneous=True)
        self.__jobSetupBox.pack_start(self.__jobSetupEditButton)
        self.__jobSetupBox.pack_start(self.__jobSetupChangeButton)
        self.baseWidget.pack_start(self.__jobSetupBox, expand=False)

        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)

        #Status control
        self.__statusLabel = gtk.Label("Current status: " + self.runConfig.status) #Refreshed by updateDisplay()
        self.baseWidget.pack_start(self.__statusLabel, expand=False, padding=10)
        self.__statusButton = gtk.Button("_Refresh remote status") #Refreshed by updateDisplay()
        self.__statusButton.connect("clicked", self.event_button_refreshStatus, None)
        self.baseWidget.pack_start(self.__statusButton, expand=False)

        stageRunCancelBox = gtk.HBox(homogeneous=True)
        self.__stageOrLockdownButton = gtk.Button("_Clear lockdown") #Refreshed by updateDisplay()
        self.__stageOrLockdownButton.connect("clicked", self.event_button_stageOrClearLockdown, None)
        stageRunCancelBox.pack_start(self.__stageOrLockdownButton)
        
        self.__uploadDownloadButton = gtk.Button("_Upload  data") #Refreshed by updateDisplay
        self.__uploadDownloadButton.connect("clicked", self.event_button_uploadDownload, None)
        stageRunCancelBox.pack_start(self.__uploadDownloadButton)
        
        self.baseWidget.pack_start(stageRunCancelBox, expand=False)
        
        self.__runCancelButton =  gtk.Button("_Run job") #Refreshed by updateDisplay()
        self.__runCancelButton.connect("clicked", self.event_button_runCancel, None)
        self.baseWidget.pack_start(self.__runCancelButton, expand=False)

        self.baseWidget.pack_start(gtk.HSeparator(), expand=False, padding=10)
        
        self.__openTerminalButton = gtk.Button("Open _terminal")
        self.__openTerminalButton.connect("clicked", self.event_button_openterminal, None)
        self.baseWidget.pack_start(self.__openTerminalButton, expand=False)
        
        self.__addAnalysisButton = gtk.Button("_Add analysis")
        self.__addAnalysisButton.connect("clicked", self.event_button_addAnalysis, None)
        self.baseWidget.pack_start(self.__addAnalysisButton, expand=False)
        
        self.updateDisplay()

        self.baseWidget.show_all()