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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
def __init__(self, frameManager, message): InfoFrameComponent.__init__(self, frameManager) self.baseWidget = gtk.Label(message) self.baseWidget.show()
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()
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()
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()