def __init__(self): GladeWrapper.__init__(self, "plugins/molecular/gui.glade", "wi_ring_distribution", "window") self.window.hide() self.init_callbacks(RingDistributionWindow) self.init_proxies(["al_image", "cb_filter", "tv_rings"]) import zeobuilder.mplwrap as mplwrap import pylab self.figure = pylab.figure(figsize=(4, 4), dpi=100) self.mpl_widget = mplwrap.FigureCanvas(self.figure) self.mpl_widget.set_size_request(400, 400) #self.mpl_widget.set_border_width(6) TODO self.al_image.add(self.mpl_widget) self.filter_store = gtk.ListStore(str, int) self.cb_filter.set_model(self.filter_store) cell_renderer = gtk.CellRendererText() self.cb_filter.pack_start(cell_renderer) self.cb_filter.add_attribute(cell_renderer, "text", 0) self.cb_filter.connect("changed", self.on_filter_changed) self.ring_store = gtk.ListStore(int, str, str, str, object) self.tv_rings.set_model(self.ring_store) self.tv_rings.append_column(gtk.TreeViewColumn("Size", gtk.CellRendererText(), text=0)) self.tv_rings.append_column(gtk.TreeViewColumn("Av. diameter", gtk.CellRendererText(), text=1)) self.tv_rings.append_column(gtk.TreeViewColumn("Min. diameter", gtk.CellRendererText(), text=2)) self.tv_rings.append_column(gtk.TreeViewColumn("Label", gtk.CellRendererText(), text=3)) self.tv_rings.get_selection().connect("changed", self.on_ring_selection_changed) context.application.action_manager.connect("model-changed", self.on_model_changed)
def __init__(self): GladeWrapper.__init__(self, "plugins/builder/gui.glade", "di_optimize", "dialog") ChildProcessDialog.__init__(self, self.dialog, self.dialog.action_area.get_children()) self.init_callbacks(OptimizationReportDialog) self.init_proxies(["la_num_iter", "la_rms_error", "progress_bar"]) self.state_indices = None
def __init__(self): GladeWrapper.__init__(self, "plugins/basic/gui.glade", "di_plugin_info", "dialog") self.dialog.hide() self.init_proxies([ "la_category", "la_required_modules", "la_failed_modules", "la_file", "la_status", "vb_authors", "tv_authors", "bu_information", "sw_extra", "tv_extra", ]) self.author_store = authors.init_widgets(self.tv_authors, self.bu_information)
def __init__(self): GladeWrapper.__init__(self, "plugins/basic/gui.glade", "wi_measurements", "window") self.window.hide() self.init_callbacks(self.__class__) labels_chain2 = ["distances", "label_12", "distance_12" ] labels_chain3 = ["angles", "distances_to_line", "label_23", "distance_23", "label_123", "angle_123", "label_1_23", "distance_1_23", ] labels_chain_only3 = [ "label_12_3", "distance_12_3", ] labels_chain4 = [ "dihedral_angles", "out_of_plane_angles", "distances_to_plane", "distances_between_lines", "label_34", "distance_34", "label_234", "angle_234", "label_123_234", "angle_123_234", "label_12_234", "angle_12_234", "label_123_34", "angle_123_34", "label_1_234", "distance_1_234", "label_123_4", "distance_123_4", "label_23_4", "distance_23_4", "label_12_34", "distance_12_34", ] labels_chain_closed = [ "label_31", "distance_31", "label_231", "angle_231", "label_312", "angle_312", "label_31_2", "distance_31_2", ] self.init_proxies( labels_chain2 + labels_chain3 + labels_chain_only3 + labels_chain4 + labels_chain_closed ) self.labels_chain2 = [self.__dict__[label] for label in labels_chain2] self.labels_chain3 = [self.__dict__[label] for label in labels_chain3] self.labels_chain_only3 = [self.__dict__[label] for label in labels_chain_only3] self.labels_chain4 = [self.__dict__[label] for label in labels_chain4] self.labels_chain_closed = [self.__dict__[label] for label in labels_chain_closed] context.application.action_manager.connect("action-started", self.on_action_started) context.application.action_manager.connect("action-ends", self.on_action_ended) context.application.action_manager.connect("action-cancels", self.on_action_ended) self.model_objects = [] self.points = [] self.vectors = [] glutInit([])
def __init__(self): GladeWrapper.__init__(self, "plugins/molecular/gui.glade", "di_distribution", "dialog") self.dialog.hide() self.init_callbacks(DistributionDialog) self.init_proxies(["fa_image"]) import zeobuilder.mplwrap as mplwrap import pylab figure = pylab.figure(0, figsize=(8, 4), dpi=100) self.mpl_widget = mplwrap.FigureCanvas(figure) self.mpl_widget.set_size_request(800, 400) self.fa_image.add(self.mpl_widget)
def __init__(self): self.frame1 = None self.frame2 = None GladeWrapper.__init__(self, "plugins/builder/gui.glade", "wi_conscan_results", "window") self.init_callbacks(ConscanResultsWindow) self.init_proxies([ "tv_results", "cb_auto_apply", "bu_apply", "bu_apply_opt", "cb_inverse", ]) self.window.hide() self.list_store = gtk.ListStore(float, int, str, object) column = gtk.TreeViewColumn("") renderer_text = gtk.CellRendererText() column.pack_start(renderer_text, expand=False) def cell_data_func(column, cell, model, iter): cell.set_property("text", model.get_path(iter)[0]) column.set_cell_data_func(renderer_text, cell_data_func) self.tv_results.append_column(column) column = gtk.TreeViewColumn("Quality") renderer_text = gtk.CellRendererText() column.pack_start(renderer_text, expand=False) column.add_attribute(renderer_text, "text", 0) self.tv_results.append_column(column) column = gtk.TreeViewColumn("#") renderer_text = gtk.CellRendererText() column.pack_start(renderer_text, expand=False) column.add_attribute(renderer_text, "text", 1) self.tv_results.append_column(column) column = gtk.TreeViewColumn("Invertible") renderer_text = gtk.CellRendererText() column.pack_start(renderer_text, expand=False) column.add_attribute(renderer_text, "text", 2) self.tv_results.append_column(column) self.tv_results.set_model(self.list_store) self.tree_selection = self.tv_results.get_selection() self.tree_selection.connect("changed", self.on_selection_changed) context.application.cache.connect("cache-invalidated", self.on_cache_invalidated)
def __init__(self): model = context.application.model model.connect("file-new", self.on_filename_changed) model.connect("file-opened", self.on_filename_changed) model.connect("file-saved", self.on_filename_changed) context.application.action_manager.connect("model-changed", self.on_model_changed) GladeWrapper.__init__(self, "zeobuilder.glade", "wi_main", "window") self.init_callbacks(self.__class__) self.init_proxies(["sw_nodes", "hp_main", "vb_main", "menubar"]) # add model gui: self.init_tree_view() self.init_drawing_area()
def __init__(self): GladeWrapper.__init__(self, "plugins/molecular/gui.glade", "wi_ring_distribution", "window") self.window.hide() self.init_callbacks(RingDistributionWindow) self.init_proxies(["al_image", "cb_filter", "tv_rings"]) import zeobuilder.mplwrap as mplwrap import pylab self.figure = pylab.figure(figsize=(4, 4), dpi=100) self.mpl_widget = mplwrap.FigureCanvas(self.figure) self.mpl_widget.set_size_request(400, 400) #self.mpl_widget.set_border_width(6) TODO self.al_image.add(self.mpl_widget) self.filter_store = gtk.ListStore(str, int) self.cb_filter.set_model(self.filter_store) cell_renderer = gtk.CellRendererText() self.cb_filter.pack_start(cell_renderer) self.cb_filter.add_attribute(cell_renderer, "text", 0) self.cb_filter.connect("changed", self.on_filter_changed) self.ring_store = gtk.ListStore(int, str, str, str, object) self.tv_rings.set_model(self.ring_store) self.tv_rings.append_column( gtk.TreeViewColumn("Size", gtk.CellRendererText(), text=0)) self.tv_rings.append_column( gtk.TreeViewColumn("Av. diameter", gtk.CellRendererText(), text=1)) self.tv_rings.append_column( gtk.TreeViewColumn("Min. diameter", gtk.CellRendererText(), text=2)) self.tv_rings.append_column( gtk.TreeViewColumn("Label", gtk.CellRendererText(), text=3)) self.tv_rings.get_selection().connect("changed", self.on_ring_selection_changed) context.application.action_manager.connect("model-changed", self.on_model_changed)
def __init__(self): GladeWrapper.__init__(self, "zeobuilder.glade", "di_author", "dialog") self.init_proxies(["la_author", "la_affiliation"]) self.dialog.hide()
def __init__(self): GladeWrapper.__init__(self, "plugins/molecular/gui.glade", "wi_sketch", "window") self.window.hide() self.init_callbacks(self.__class__) self.init_proxies([ "cb_object", "cb_vector", "cb_erase_filter", "bu_edit_erase_filter", "la_current", "bu_set_atom", "cb_bondtype", "hbox_atoms", "hbox_quickpicks", "hbox_fragments", "la_fragment", "cb_fragment" ]) self.erase_filter = Expression("True") #Initialize atom number - this can be changed anytime with the edit_atom_number dialog self.atom_number = 6 # Initialize the GUI # 1) common parts of the comboboxes def render_icon(column, cell, model, iter): if model.get_value(iter, 0) == "Fragment": cell.set_property( "pixbuf", context.application.plugins.get_node("Atom").icon) else: cell.set_property( "pixbuf", context.application.plugins.get_node( model.get_value(iter, 0)).icon) # 2) fill the objects combo box self.object_store = gtk.ListStore(str) self.object_store.append(["Atom"]) self.object_store.append(["Fragment"]) self.object_store.append(["Point"]) self.object_store.append(["Sphere"]) self.object_store.append(["Box"]) self.cb_object.set_model(self.object_store) renderer_pixbuf = gtk.CellRendererPixbuf() self.cb_object.pack_start(renderer_pixbuf, expand=False) self.cb_object.set_cell_data_func(renderer_pixbuf, render_icon) renderer_text = gtk.CellRendererText() self.cb_object.pack_start(renderer_text, expand=True) self.cb_object.add_attribute(renderer_text, "text", 0) self.cb_object.set_active(0) # 3) fill the vector combo box self.vector_store = gtk.ListStore(str) self.vector_store.append(["Bond"]) self.vector_store.append(["Arrow"]) self.vector_store.append(["Spring"]) self.cb_vector.set_model(self.vector_store) renderer_pixbuf = gtk.CellRendererPixbuf() self.cb_vector.pack_start(renderer_pixbuf, expand=False) self.cb_vector.set_cell_data_func(renderer_pixbuf, render_icon) renderer_text = gtk.CellRendererText() self.cb_vector.pack_start(renderer_text, expand=True) self.cb_vector.add_attribute(renderer_text, "text", 0) self.cb_vector.set_active(0) # 4) fill the bond type combo box self.bondtype_store = gtk.ListStore(str, int) self.bondtype_store.append(["Single bond", BOND_SINGLE]) self.bondtype_store.append(["Double bond", BOND_DOUBLE]) self.bondtype_store.append(["Triple bond", BOND_TRIPLE]) self.bondtype_store.append(["Hybrid bond", BOND_HYBRID]) self.bondtype_store.append(["Hydrogen bond", BOND_HYDROGEN]) self.cb_bondtype.set_model(self.bondtype_store) #no icons like the others, just text here renderer_text = gtk.CellRendererText() self.cb_bondtype.pack_start(renderer_text, expand=True) self.cb_bondtype.add_attribute(renderer_text, "text", 0) self.cb_bondtype.set_active(0) # register quick pick config setting config = context.application.configuration config.register_setting( "sketch_quickpicks", [6, 7, 8, 9, 10, 11], DialogFieldInfo( "Sketch tool", (0, 2), fields.faulty.IntegerList( label_text="Quick pick atoms (applies after restart)", attribute_name="sketch_quickpicks", )), ) # 5)create the "quick pick" atom buttons for index in xrange(len(config.sketch_quickpicks)): atomnumber = config.sketch_quickpicks[index] bu_element = gtk.Button("") bu_element.set_label("%s" % periodic[atomnumber].symbol) bu_element.connect("clicked", self.on_bu_element_clicked, index) # add to hbox self.hbox_quickpicks.pack_start(bu_element) bu_element.show() # 6)fill the fragment combo box with filenames from share/fragments fragment_dir = context.get_share_filename('fragments') self.fragment_store = gtk.ListStore(str) for filename in sorted(os.listdir(fragment_dir)): # Ignore subfolders and files with extension other than cml if os.path.isdir(os.path.join(fragment_dir, filename)) or filename[-3:] != 'cml': continue self.fragment_store.append([filename[:-4]]) self.cb_fragment.set_model(self.fragment_store) renderer_text = gtk.CellRendererText() self.cb_fragment.pack_start(renderer_text, expand=True) self.cb_fragment.add_attribute(renderer_text, "text", 0) self.cb_fragment.set_active(0)
def __init__(self, dialog_name): GladeWrapper.__init__(self, "plugins/basic/gui.glade", dialog_name, "dialog") self.dialog.hide()
def __init__(self): GladeWrapper.__init__(self, "plugins/molecular/gui.glade", "wi_sketch", "window") self.window.hide() self.init_callbacks(self.__class__) self.init_proxies([ "cb_object", "cb_vector", "cb_erase_filter", "bu_edit_erase_filter", "la_current", "bu_set_atom", "cb_bondtype", "hbox_atoms", "hbox_quickpicks", "hbox_fragments", "la_fragment", "cb_fragment" ]) self.erase_filter = Expression("True") #Initialize atom number - this can be changed anytime with the edit_atom_number dialog self.atom_number = 6; # Initialize the GUI # 1) common parts of the comboboxes def render_icon(column, cell, model, iter): if model.get_value(iter, 0) == "Fragment": cell.set_property( "pixbuf", context.application.plugins.get_node("Atom").icon ) else: cell.set_property( "pixbuf", context.application.plugins.get_node(model.get_value(iter, 0)).icon ) # 2) fill the objects combo box self.object_store = gtk.ListStore(str) self.object_store.append(["Atom"]) self.object_store.append(["Fragment"]) self.object_store.append(["Point"]) self.object_store.append(["Sphere"]) self.object_store.append(["Box"]) self.cb_object.set_model(self.object_store) renderer_pixbuf = gtk.CellRendererPixbuf() self.cb_object.pack_start(renderer_pixbuf, expand=False) self.cb_object.set_cell_data_func(renderer_pixbuf, render_icon) renderer_text = gtk.CellRendererText() self.cb_object.pack_start(renderer_text, expand=True) self.cb_object.add_attribute(renderer_text, "text", 0) self.cb_object.set_active(0) # 3) fill the vector combo box self.vector_store = gtk.ListStore(str) self.vector_store.append(["Bond"]) self.vector_store.append(["Arrow"]) self.vector_store.append(["Spring"]) self.cb_vector.set_model(self.vector_store) renderer_pixbuf = gtk.CellRendererPixbuf() self.cb_vector.pack_start(renderer_pixbuf, expand=False) self.cb_vector.set_cell_data_func(renderer_pixbuf, render_icon) renderer_text = gtk.CellRendererText() self.cb_vector.pack_start(renderer_text, expand=True) self.cb_vector.add_attribute(renderer_text, "text", 0) self.cb_vector.set_active(0) # 4) fill the bond type combo box self.bondtype_store = gtk.ListStore(str,int) self.bondtype_store.append(["Single bond",BOND_SINGLE]) self.bondtype_store.append(["Double bond",BOND_DOUBLE]) self.bondtype_store.append(["Triple bond",BOND_TRIPLE]) self.bondtype_store.append(["Hybrid bond",BOND_HYBRID]) self.bondtype_store.append(["Hydrogen bond",BOND_HYDROGEN]) self.cb_bondtype.set_model(self.bondtype_store) #no icons like the others, just text here renderer_text = gtk.CellRendererText() self.cb_bondtype.pack_start(renderer_text, expand=True) self.cb_bondtype.add_attribute(renderer_text, "text", 0) self.cb_bondtype.set_active(0) # register quick pick config setting config = context.application.configuration config.register_setting( "sketch_quickpicks", [6,7,8,9,10,11], DialogFieldInfo("Sketch tool", (0,2), fields.faulty.IntegerList( label_text="Quick pick atoms (applies after restart)", attribute_name="sketch_quickpicks", )), ) # 5)create the "quick pick" atom buttons for index in xrange(len(config.sketch_quickpicks)): atomnumber = config.sketch_quickpicks[index] bu_element = gtk.Button("") bu_element.set_label("%s" % periodic[atomnumber].symbol) bu_element.connect("clicked", self.on_bu_element_clicked, index) # add to hbox self.hbox_quickpicks.pack_start(bu_element) bu_element.show() # 6)fill the fragment combo box with filenames from share/fragments fragment_dir = context.get_share_filename('fragments') self.fragment_store = gtk.ListStore(str) for filename in sorted(os.listdir(fragment_dir)): # Ignore subfolders and files with extension other than cml if os.path.isdir (os.path.join (fragment_dir, filename)) or filename[-3:] != 'cml': continue self.fragment_store.append([filename[:-4]]) self.cb_fragment.set_model(self.fragment_store) renderer_text = gtk.CellRendererText() self.cb_fragment.pack_start(renderer_text, expand=True) self.cb_fragment.add_attribute(renderer_text, "text", 0) self.cb_fragment.set_active(0)
def __init__(self): GladeWrapper.__init__(self, "plugins/basic/gui.glade", "wi_measurements", "window") self.window.hide() self.init_callbacks(self.__class__) labels_chain2 = ["distances", "label_12", "distance_12"] labels_chain3 = [ "angles", "distances_to_line", "label_23", "distance_23", "label_123", "angle_123", "label_1_23", "distance_1_23", ] labels_chain_only3 = [ "label_12_3", "distance_12_3", ] labels_chain4 = [ "dihedral_angles", "out_of_plane_angles", "distances_to_plane", "distances_between_lines", "label_34", "distance_34", "label_234", "angle_234", "label_123_234", "angle_123_234", "label_12_234", "angle_12_234", "label_123_34", "angle_123_34", "label_1_234", "distance_1_234", "label_123_4", "distance_123_4", "label_23_4", "distance_23_4", "label_12_34", "distance_12_34", ] labels_chain_closed = [ "label_31", "distance_31", "label_231", "angle_231", "label_312", "angle_312", "label_31_2", "distance_31_2", ] self.init_proxies(labels_chain2 + labels_chain3 + labels_chain_only3 + labels_chain4 + labels_chain_closed) self.labels_chain2 = [self.__dict__[label] for label in labels_chain2] self.labels_chain3 = [self.__dict__[label] for label in labels_chain3] self.labels_chain_only3 = [ self.__dict__[label] for label in labels_chain_only3 ] self.labels_chain4 = [self.__dict__[label] for label in labels_chain4] self.labels_chain_closed = [ self.__dict__[label] for label in labels_chain_closed ] context.application.action_manager.connect("action-started", self.on_action_started) context.application.action_manager.connect("action-ends", self.on_action_ended) context.application.action_manager.connect("action-cancels", self.on_action_ended) self.model_objects = [] self.points = [] self.vectors = [] glutInit([])