def run(error_message, title="Almost"): ''' error_message is a list of error messages ''' msg = QtWidgets.QMessageBox() msg.setWindowTitle(title) msg.setWindowIcon(QtGui.QIcon(get_image_directory() + "/eman.png")) mes = "" if isinstance(error_message, tuple): error_message = list(error_message) if isinstance(error_message, list): for error in error_message: mes += error if len(error) > 0 and error[-1] != '.': # correct my own inconsistencies....AWESOME mes += '.' if error != error_message[-1]: mes += "\n" else: mes = error_message if len(error_message) > 0 and error_message[-1] != '.': # correct my own inconsistencies....AWESOME mes += '.' msg.setText(mes) msg.exec_()
def __init__(self, mediator): QtGui.QWidget.__init__(self) self.mediator = mediator self.db = js_open_dict("info/emboxerrctgui.json") self.qualitydb = js_open_dict("e2boxercache/quality.json") self.setWindowIcon( QtGui.QIcon(get_image_directory() + "green_boxes.png")) self.setWindowTitle("e2RCTboxer") # Here is where additional tools can be added self.manual_tool = ManualPicker(self.mediator, self.db) self.pair_picker_tool = PairPickerTool(self.mediator, self.db) vbox = QtGui.QVBoxLayout(self) self.tab_widget = QtGui.QTabWidget() self.tab_widget.addTab(self.get_main_tab(), "Main") self.tab_widget.addTab(self.get_processor_tab(), "Processor") self.tab_widget.addTab(self.get_filter_tab(), "Filter") vbox.addWidget(self.tab_widget) self.add_controls(vbox) # add done button, among other things self.setLayout(vbox) self.add_picker_tools() self.updateGeometry() # Initialize tools self.tools_stacked_widget.setCurrentIndex( self.db.getdefault("toolidx", dfl=0)) self.current_tool_combobox.setCurrentIndex( self.db.getdefault("toolidx", dfl=0)) E2loadappwin("e2rctboxer", "main", self)
def __init__(self, mediator): QtGui.QWidget.__init__(self) self.mediator = mediator self.db = db_open_dict("bdb:emboxerrctgui") self.qualitydb = db_open_dict("bdb:e2boxercache#quality") self.setWindowIcon(QtGui.QIcon(get_image_directory() +"green_boxes.png")) self.setWindowTitle("e2RCTboxer") # Here is where additional tools can be added self.manual_tool = ManualPicker(self.mediator, self.db) self.pair_picker_tool = PairPickerTool(self.mediator, self.db) vbox = QtGui.QVBoxLayout(self) self.tab_widget = QtGui.QTabWidget() self.tab_widget.addTab(self.get_main_tab(),"Main") self.tab_widget.addTab(self.get_processor_tab(),"Processor") self.tab_widget.addTab(self.get_filter_tab(),"Filter") vbox.addWidget(self.tab_widget) self.add_controls(vbox) # add done button, among other things self.setLayout(vbox) self.add_picker_tools() self.updateGeometry() # Initialize tools self.tools_stacked_widget.setCurrentIndex(self.db.get("toolidx",dfl=0)) self.current_tool_combobox.setCurrentIndex(self.db.get("toolidx",dfl=0))
def __init__(self, label_text, cancel_button_text, minimum, maximum, parent=None): QtGui.QProgressDialog.__init__(self, label_text, cancel_button_text, minimum, maximum, parent) self.setWindowIcon(QtGui.QIcon(get_image_directory() + "/eman.png"))
def get_qt_widget(self): if self.qt_context_parent == None: from emimageutil import EMParentWin from emimage3d import EMImage3DWidget self.under_qt_control = True self.gl_context_parent = EMImage3DWidget(self) self.qt_context_parent = EMParentWin(self.gl_context_parent) self.gl_widget = self.gl_context_parent self.qt_context_parent.setWindowIcon(QtGui.QIcon(get_image_directory() +"single_image_3d.png")) return self.qt_context_parent
def __init__(self,target,enable_advanced=True): QtGui.QWidget.__init__(self,None) self.target = weakref.ref(target) # prevent a strong cycle - this target object should be an EM3DModule, but that could change depending on who builds on this object self.setWindowIcon(QtGui.QIcon(get_image_directory() +"single_image_3d.png")) self.vbl = QtGui.QVBoxLayout(self) # this is the main vbl self.advanced_tab = None self.tabwidget = QtGui.QTabWidget() #self.vbl.addLayout(self.hbl_check) self.vbl.addWidget(self.tabwidget) if enable_advanced: self.insert_advanced_tab()
def init_x_texture(self): if EMBorderDecoration.x_texture_dl == None or EMBorderDecoration.x_texture_dl < 0: #glEnable(GL_TEXTURE_2D) pixmap = QtGui.QPixmap(get_image_directory() + "/Close.png") #self.qwidget.setVisible(False) if (pixmap.isNull() == True ): print 'error, the pixmap was null' self.texture = self.object().parent().get_gl_context_parent().bindTexture(pixmap) EMBorderDecoration.x_texture_dl=glGenLists(1) if EMBorderDecoration.x_texture_dl == 0: print "BORDER GENERATION FAILED" import sys sys.exit(1) return glNewList( EMBorderDecoration.x_texture_dl,GL_COMPILE) glEnable(GL_TEXTURE_2D) texture = glGenTextures(1) glPixelStorei(GL_UNPACK_ALIGNMENT,1) #print glGetInteger(GL_UNPACK_ALIGNMENT) glBindTexture(GL_TEXTURE_2D, self.texture) glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST) glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST) # this makes it so that the texture is impervious to lighting #glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE) xmin = -0.5 xmax = 0.5 ymin = -0.5 ymax = 0.5 glBegin(GL_QUADS) glNormal(0,0,1) glTexCoord2f(0,0) glVertex2f(xmin,ymax) glTexCoord2f(1,0) glVertex2f(xmax,ymax) glTexCoord2f(1,1) glVertex2f(xmax,ymin) glTexCoord2f(0,1) glVertex2f(xmin,ymin) glEnd() glDisable(GL_TEXTURE_2D) glEndList()
def __init__(self,application,wd): ''' wd is the working directory ''' self.wd = wd from emform import EMFormWidget self.form = EMFormWidget(params=self.get_history_table()) self.form.setWindowTitle("EMAN2 history") from PyQt4 import QtGui,QtCore self.form.setWindowIcon(QtGui.QIcon(get_image_directory() + "feather.png")) self.form.resize(640,480) QtCore.QObject.connect(self.form,QtCore.SIGNAL("emform_ok"),self.on_ok) QtCore.QObject.connect(self.form,QtCore.SIGNAL("emform_cancel"),self.on_cancel)
def run(error_message,title="Almost"): ''' error_message is a list of error messages ''' msg = QtGui.QMessageBox() msg.setWindowTitle(title) msg.setWindowIcon(QtGui.QIcon(get_image_directory() + "/eman.png")) mes = "" if isinstance(error_message,tuple): error_message=list(error_message) if isinstance(error_message,list): for error in error_message: mes += error if len(error) > 0 and error[-1] != '.': # correct my own inconsistencies....AWESOME mes += '.' if error != error_message[-1]: mes += "\n" else: mes = error_message if len(error_message) > 0 and error_message[-1] != '.': # correct my own inconsistencies....AWESOME mes += '.' msg.setText(mes) msg.exec_()
def __init__(self,label_text,cancel_button_text, minimum, maximum, parent = None): QtGui.QProgressDialog.__init__(self,label_text,cancel_button_text, minimum, maximum, parent) self.setWindowIcon(QtGui.QIcon(get_image_directory() + "/eman.png"))
def __init__(self,filename,item_list): ''' @param filename the name of the file that is being overwritten @param item_list a list - the first object must have supply the get_attr_dict function, the keys "nx", "ny" and "nz therein If you want to use this function for a single EMData object then just put it in a list ''' QtGui.QDialog.__init__(self,None) self.resize(480,320) self.setWindowIcon(QtGui.QIcon(get_image_directory() + "/eman.png")) self.setWindowTitle("File already exists") self.appendable_types = ["hed","img","spi","hdf"] #image types that can be stacks - TODO bdb ? append_enable = False splt = filename.split(".") if splt[-1] in self.appendable_types or (len(filename) > 3 and filename[:4] == "bdb:"): (nx,ny,nz) = gimme_image_dimensions3D(filename) d = item_list[0].get_attr_dict() nz1 = d["nz"] ny1 = d["ny"] nx1 = d["nx"] # can only append if the dimensions are the same if nx == nx1 and ny == ny1 and nz == nz1: append_enable=True # some widgets vbl = QtGui.QVBoxLayout(self) hbl = QtGui.QHBoxLayout() overwrite = QtGui.QPushButton("Overwrite") cancel = QtGui.QPushButton("Cancel") # add Widgets to Layouts hbl.addWidget(cancel) if append_enable: append = QtGui.QPushButton("Append") hbl.addWidget(append) hbl.addWidget(overwrite) if (len(filename) > 3 and filename[:4] == "bdb:"): overwrite.setEnabled(False) overwrite.setToolTip("Overwriting bdb files is currently disabled.") # Text to alert the user hbl2 = QtGui.QHBoxLayout() text_edit = QtGui.QTextEdit("",self) text_edit.setReadOnly(True) text_edit.setWordWrapMode(QtGui.QTextOption.WordWrap) if (filename == ""): if append_enable: help = "The file already exists. You can choose to append to it, to overwrite it, or to cancel this operation." else: help = "The file already exists. You can choose to overwrite it, or to cancel this operation." else: if append_enable: help = "The file %s already exists. You can choose to append to it, to overwrite it, or to cancel this operation." %filename else: help = "The file %s already exists. You can choose to to overwrite it, or to cancel this operation." %filename help += "\n\nBe careful about overwriting data as it may cause errors when using EMAN2 virtual stacks." text_edit.setText(help) hbl2.addWidget(text_edit,0) groupbox = QtGui.QGroupBox("Warning") groupbox.setLayout(hbl2) vbl.addWidget(groupbox) vbl.addLayout(hbl) if append_enable: QtCore.QObject.connect(append, QtCore.SIGNAL("clicked(bool)"), self.append_clicked) QtCore.QObject.connect(overwrite, QtCore.SIGNAL("clicked(bool)"), self.overwrite_clicked) QtCore.QObject.connect(cancel, QtCore.SIGNAL("clicked(bool)"), self.cancel_clicked) self.__result = 0
def __init__(self, filename, item_list): ''' @param filename the name of the file that is being overwritten @param item_list a list - the first object must have supply the get_attr_dict function, the keys "nx", "ny" and "nz therein If you want to use this function for a single EMData object then just put it in a list ''' QtGui.QDialog.__init__(self, None) self.resize(480, 320) self.setWindowIcon(QtGui.QIcon(get_image_directory() + "/eman.png")) self.setWindowTitle("File already exists") self.appendable_types = [ "hed", "img", "spi", "hdf" ] #image types that can be stacks - TODO bdb ? append_enable = False splt = filename.split(".") if splt[-1] in self.appendable_types or (len(filename) > 3 and filename[:4] == "bdb:"): (nx, ny, nz) = gimme_image_dimensions3D(filename) d = item_list[0].get_attr_dict() nz1 = d["nz"] ny1 = d["ny"] nx1 = d["nx"] # can only append if the dimensions are the same if nx == nx1 and ny == ny1 and nz == nz1: append_enable = True # some widgets vbl = QtGui.QVBoxLayout(self) hbl = QtGui.QHBoxLayout() overwrite = QtGui.QPushButton("Overwrite") cancel = QtGui.QPushButton("Cancel") # add Widgets to Layouts hbl.addWidget(cancel) if append_enable: append = QtGui.QPushButton("Append") hbl.addWidget(append) hbl.addWidget(overwrite) if (len(filename) > 3 and filename[:4] == "bdb:"): overwrite.setEnabled(False) overwrite.setToolTip( "Overwriting bdb files is currently disabled.") # Text to alert the user hbl2 = QtGui.QHBoxLayout() text_edit = QtGui.QTextEdit("", self) text_edit.setReadOnly(True) text_edit.setWordWrapMode(QtGui.QTextOption.WordWrap) if (filename == ""): if append_enable: help = "The file already exists. You can choose to append to it, to overwrite it, or to cancel this operation." else: help = "The file already exists. You can choose to overwrite it, or to cancel this operation." else: if append_enable: help = "The file %s already exists. You can choose to append to it, to overwrite it, or to cancel this operation." % filename else: help = "The file %s already exists. You can choose to to overwrite it, or to cancel this operation." % filename help += "\n\nBe careful about overwriting data as it may cause errors when using EMAN2 virtual stacks." text_edit.setText(help) hbl2.addWidget(text_edit, 0) groupbox = QtGui.QGroupBox("Warning") groupbox.setLayout(hbl2) vbl.addWidget(groupbox) vbl.addLayout(hbl) if append_enable: append.clicked[bool].connect(self.append_clicked) overwrite.clicked[bool].connect(self.overwrite_clicked) cancel.clicked[bool].connect(self.cancel_clicked) self.__result = 0