def __init__(self, nb): Tab.__init__(self, nb) self.project_list = wx.ListCtrl(self, -1, style=wx.LC_REPORT, size=(700, 400)) self.project_list.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self._load_project) self._il = wx.ImageList(16,16) self._il.Add(bitmaps.fetch_icon_bitmap("actions", "agt_action_success", scale=(16,16))) self.project_list.SetImageList(self._il, wx.IMAGE_LIST_SMALL) titles = ['', 'Title', '# Jobs', 'Last Action'] sizes = [20,400, 100,140] for i,t in enumerate(titles): self.project_list.InsertColumn(i, t) self.project_list.SetColumnWidth(i, sizes[i]) self.sidebar = wx.BoxSizer(wx.VERTICAL) new = metallicbutton.MetallicButton(self, -1, 'New', '', bitmaps.fetch_icon_bitmap("actions", "folder_new"), size=(120,40)) delete = metallicbutton.MetallicButton(self, -1, 'Delete', '', bitmaps.fetch_icon_bitmap("actions", "fileclose"), size=(120,40)) load = metallicbutton.MetallicButton(self, -1, 'Load', '', bitmaps.fetch_icon_bitmap("actions", "folder"), size=(120,40)) self.Bind(wx.EVT_BUTTON, self._new_project, new) self.Bind(wx.EVT_BUTTON, self._load_project, load) self.Bind(wx.EVT_BUTTON, self._delete_project, delete) self.sidebar.Add(new, 0, wx.EXPAND|wx.ALL, 5) self.sidebar.Add(load, 0, wx.EXPAND|wx.ALL, 5) self.sidebar.Add(delete, 0, wx.EXPAND|wx.ALL, 5) self.sizer = wx.BoxSizer(wx.HORIZONTAL) self.sizer.Add(self.project_list, 0, wx.EXPAND | wx.ALL, 5) self.sizer.Add(self.sidebar, 0, wx.EXPAND | wx.ALL, 5) self.SetSizer(self.sizer)
def __init__(self, nb): Tab.__init__(self, nb) Refinement.set_proot(self.s.proot) # plot self.dpi = 100 self.fig = Figure((5.0, 4.0), dpi=self.dpi) col = wx.SystemSettings.GetColour(wx.SYS_COLOUR_BACKGROUND) self.fig.patch.set_facecolor((col[0]/255.0, col[1]/255.0, col[2]/255.0)) self.canvas = FigCanvas(self, -1, self.fig) self.ax1 = self.fig.add_subplot(111) self.ax1.set_position([0.115,0.17,0.80,0.79]) [i.set_linewidth(0.5) for i in self.ax1.spines.itervalues()] self.ax2 = self.ax1.twinx() self.ax2.set_position([0.115,0.17,0.80,0.79]) self._clear_figure() # stats self.stats_sizer = wx.FlexGridSizer(cols=2, rows=9, hgap=5, vgap=5) self._labels = [ wx.StaticText(self, -1, 'Title'), wx.StaticText(self, -1, 'Status'), wx.StaticText(self, -1, 'Cycle'), wx.StaticText(self, -1, 'Resolution (A)'), wx.StaticText(self, -1, 'R-work (%)'), wx.StaticText(self, -1, 'R-free (%)'), wx.StaticText(self, -1, '# of Reflections'), wx.StaticText(self, -1, 'Parameters'), wx.StaticText(self, -1, 'Data:Parameter') ] self._labels[0].Wrap(200) self._values = [ wx.StaticText(self, -1, '') for x in range(len(self._labels)) ] rows = [1,2,3,4,6] for i in range(len(self._labels)): self.stats_sizer.Add(self._labels[i], 0, wx.EXPAND|wx.TOP, i in rows and 15 or 5) self.stats_sizer.Add(self._values[i], 0, wx.EXPAND|wx.TOP, i in rows and 15 or 5) self.vbox = wx.BoxSizer(wx.VERTICAL) self.vbox.Add(self.stats_sizer, 0, wx.ALL, 10) self.button_sizer = wx.BoxSizer(wx.HORIZONTAL) self.vbox.Add(self.button_sizer, 0, wx.EXPAND|wx.CENTER, 10) self.hbox = wx.BoxSizer(wx.HORIZONTAL) self.hbox.Add(self.vbox, 1, wx.EXPAND|wx.ALL, 10) self.hbox.Add(self.canvas, 4, wx.EXPAND|wx.ALL, 10) self.SetSizer(self.hbox) self.hbox.Fit(self) self._refinement = None
def __init__(self, window): self.databaseWindow = window store = Gtk.TreeStore(str) Tab.__init__(self, store) renderer = Gtk.CellRendererText() column = Gtk.TreeViewColumn("Name", renderer, text=0) column.set_resizable(True) column.set_expand(True) self.tree.append_column(column)
def __init__(self, nb): Tab.__init__(self, nb) Holder.set_finished_callback(self._job_finished) self._tabs = wx.aui.AuiNotebook(self, -1, size=(700,750)) self.main = wx.BoxSizer(wx.HORIZONTAL) self.main.Add(self._tabs, 1 , wx.EXPAND) self.SetSizer(self.main) self._auto_manager = AutoProcessManager() AutoProcess.set_start_refinement(self.start_new_refinement) self._running = 0
def __init__(self, nb): Tab.__init__(self, nb) #Process.set_finished_callback(self.refinement_finished) self._tabs = wx.aui.AuiNotebook(self, -1, style=wx.NB_TOP, size=(850,750)) self._tab_list = [] self._stats = Process(self) self._stats.set_finished_callback(self.refinement_finished) self._tabs.AddPage(self._stats, 'Refinement') self.sizer = wx.BoxSizer(wx.HORIZONTAL) self.sizer.Add(self._tabs, 1, wx.EXPAND) self.SetSizer(self.sizer)
def __init__(self, windowDatabase): self.windowDatabase = windowDatabase store = Gtk.ListStore(int, str, str) Tab.__init__(self, store) for i, value in enumerate(itemModel): renderer = Gtk.CellRendererText() if value != "ID": renderer.set_property("editable", True) renderer.connect("edited", self.editRenderer, value) column = Gtk.TreeViewColumn(value, renderer, text=i) column.set_resizable(True) column.set_expand(True) self.tree.append_column(column) self.itemCapacities = list()
def __init__(self, nb): Tab.__init__(self, nb) self._tabs = wx.aui.AuiNotebook(self, -1, style=wx.NB_TOP, size=(850,750)) self.sheet1 = Projects(self._tabs) self.sheet2 = Jobs(self._tabs) self._tabs.AddPage(self.sheet1, "Projects") self._tabs.AddPage(self.sheet2, "Job List") self.main = wx.BoxSizer(wx.HORIZONTAL) self.main.Add(self._tabs, 1, wx.EXPAND) self.SetSizer(self.main)
def __init__(self, nb): Tab.__init__(self, nb) self.job_list = wx.ListCtrl(self, -1, style=wx.LC_REPORT|wx.LC_SINGLE_SEL, size=(700, 400)) self.job_list.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self._load_job) titles = ['ID', 'Date', 'Title', 'Type', 'Status', 'R'] sizes = [65,135,225,130,80,60] for i,t in enumerate(titles): self.job_list.InsertColumn(i, t, width=sizes[i]) new = metallicbutton.MetallicButton(self, -1, 'New', '', bitmaps.fetch_icon_bitmap("actions", "window_new"), size=(120,40)) load = metallicbutton.MetallicButton(self, -1, 'Load', '', bitmaps.fetch_icon_bitmap("actions", "fileopen"), size=(120,40)) delete = metallicbutton.MetallicButton(self, -1, 'Delete', '', bitmaps.fetch_icon_bitmap("actions", "fileclose"), size=(120,40)) sum = metallicbutton.MetallicButton(self, -1, 'Summary', '', bitmaps.fetch_icon_bitmap("actions", "info"), size=(120,40)) self.Bind(wx.EVT_BUTTON, self._new_job, new) self.Bind(wx.EVT_BUTTON, self._load_job, load) self.Bind(wx.EVT_BUTTON, self._delete_job, delete) self.Bind(wx.EVT_BUTTON, self._show_summary, sum) import_cif = metallicbutton.MetallicButton(self, -1, 'Import HKL', '', icons.hkl_file.GetBitmap(), size=(120,40)) import_pdb = metallicbutton.MetallicButton(self, -1, 'Import PDB', '', icons.pdb_file.GetBitmap(), size=(120,40)) rcsb_dl = metallicbutton.MetallicButton(self, -1, 'RCSB PDB', '', bitmaps.fetch_icon_bitmap("actions", "down"), size=(120,40)) self.Bind(wx.EVT_BUTTON, self._import_pbd, import_pdb) self.Bind(wx.EVT_BUTTON, self._import_cif, import_cif) self.Bind(wx.EVT_BUTTON, self._download_files, rcsb_dl) self.sidebar = wx.BoxSizer(wx.VERTICAL) self.sidebar.Add(new, 0, wx.EXPAND | wx.ALL, 5) self.sidebar.Add(load, 0, wx.EXPAND | wx.ALL, 5) self.sidebar.Add(sum, 0, wx.EXPAND | wx.ALL, 5) self.sidebar.Add(delete, 0, wx.EXPAND | wx.ALL, 5) self.sidebar.AddSpacer(20) self.sidebar.Add(import_cif, 0, wx.EXPAND | wx.ALL, 5) self.sidebar.Add(import_pdb, 0, wx.EXPAND | wx.ALL, 5) self.sidebar.AddSpacer(10) self.sidebar.Add(rcsb_dl, 0, wx.EXPAND | wx.ALL, 5) self.main = wx.BoxSizer(wx.HORIZONTAL) self.main.Add(self.job_list, 0, wx.EXPAND|wx.ALL, 5) self.main.Add(self.sidebar, 0, wx.EXPAND|wx.ALL, 5) self.SetSizer(self.main)
def __init__(self, store): Tab.__init__(self, store)
def __init__(self, nb): Tab.__init__(self, nb) self.fig = Figure((5.0, 4.0), dpi=100) col = wx.SystemSettings.GetColour(wx.SYS_COLOUR_BACKGROUND) self.fig.patch.set_facecolor((col[0]/255.0, col[1]/255.0, col[2]/255.0)) self.canvas = FigCanvas(self, -1, self.fig) self.ax1 = self.fig.add_subplot(111) self.ax1.set_position([0.1,0.1,0.85,0.86]) self.ax1.set_ylabel('sig(x)', fontsize=9) self.ax1.set_xlabel('Resolution', fontsize=9) self.ax1.tick_params(labelsize=8) [i.set_linewidth(0.5) for i in self.ax1.spines.itervalues()] self.side_sizer = wx.FlexGridSizer(rows=0, cols=2, vgap=5, hgap=5) self.side_sizer.Add(wx.StaticText(self, -1, 'Vm'), 0, wx.EXPAND) self._mv = wx.StaticText(self, -1, '') self.side_sizer.Add(self._mv, 0, wx.EXPAND) self.side_sizer.Add(wx.StaticText(self, -1, 'Solvent'), 0, wx.EXPAND) self._s = wx.StaticText(self, -1, '') self.side_sizer.Add(self._s, 0, wx.EXPAND) self.side_sizer.Add(wx.StaticText(self, -1, 'Resolution'), 0, wx.EXPAND) self._dmin = wx.StaticText(self, -1, '') self.side_sizer.Add(self._dmin, 0, wx.EXPAND) self.side_sizer.Add(wx.StaticText(self, -1, 'Completeness'), 0, wx.EXPAND) self._c = wx.StaticText(self, -1, '') self.side_sizer.Add(self._c, 0, wx.EXPAND) self.side_sizer.Add(wx.StaticText(self, -1, 'R Factor'), 0, wx.EXPAND) self._r = wx.StaticText(self, -1, '') self.side_sizer.Add(self._r, 0, wx.EXPAND) self.side_sizer.Add(wx.StaticText(self, -1, 'R Free'), 0, wx.EXPAND) self._rfree = wx.StaticText(self, -1, '') self.side_sizer.Add(self._rfree, 0, wx.EXPAND) self.side_sizer.AddSpacer(20) self.side_sizer.AddSpacer(20) self.side_sizer.Add(wx.StaticText(self, -1, 'sig(x) R'), 0, wx.EXPAND) self._sigxr = wx.StaticText(self, -1, '') self.side_sizer.Add(self._sigxr, 0, wx.EXPAND) self.side_sizer.Add(wx.StaticText(self, -1, 'sig(x) Rfree'), 0, wx.EXPAND) self._sigxrf = wx.StaticText(self, -1, '') self.side_sizer.Add(self._sigxrf, 0, wx.EXPAND) self.side_sizer.AddSpacer(20) self.side_sizer.AddSpacer(20) self.side_sizer.Add(wx.StaticText(self, -1, 'sig(x) - 3sig (ASP)'), 0, wx.EXPAND) self.side_sizer.Add(wx.StaticText(self, -1, '0.024'), 0, wx.EXPAND) self.side_sizer.Add(wx.StaticText(self, -1, 'sig(x) - 3sig (HIS)'), 0, wx.EXPAND) self.side_sizer.Add(wx.StaticText(self, -1, ''), 0, wx.EXPAND) self.sizer = wx.BoxSizer(wx.HORIZONTAL) self.sizer.Add(self.side_sizer, 0, wx.EXPAND|wx.ALL, 10) self.sizer.Add(self.canvas, 1, wx.EXPAND|wx.ALL, 5) self.SetSizer(self.sizer)
def __init__(self, nb): Tab.__init__(self, nb) self.fig = Figure((5.0, 4.0), dpi=100) col = wx.SystemSettings.GetColour(wx.SYS_COLOUR_BACKGROUND) self.fig.patch.set_facecolor((col[0]/255.0, col[1]/255.0, col[2]/255.0)) self.canvas = FigCanvas(self, -1, self.fig) self.canvas.mpl_connect('button_press_event', self._on_click) self.ax1 = self.fig.add_subplot(111) self.ax1.set_position([0.10,0.153,0.80,0.81]) #self.ax2 = self.ax1.twinx() self.ax1.tick_params(labelsize=8) #self.ax2.tick_params(labelsize=8) self.hist_fig = Figure((2,1.5), dpi=100) self.hist_fig.set_facecolor((col[0]/255.0, col[1]/255.0, col[2]/255.0)) self.hist_canvas = FigCanvas(self, -1, self.hist_fig) self.hist_ax1 = self.hist_fig.add_subplot(111) self.shist_fig = Figure((2,1.5), dpi=100) self.shist_fig.set_facecolor((col[0]/255.0, col[1]/255.0, col[2]/255.0)) self.shist_canvas = FigCanvas(self, -1, self.shist_fig) self.shist_ax1 = self.shist_fig.add_subplot(111) self.refinements = wx.ListBox(self, 26, wx.DefaultPosition, (60, 100), [], wx.LB_MULTIPLE) self.refinements.Bind(wx.EVT_LISTBOX, self._set_refinements) self.res_sizer = wx.BoxSizer(wx.HORIZONTAL) self.res_sizer.Add(wx.StaticText(self, -1, 'Residue Type'), 0, wx.EXPAND) self.res_type = wx.ComboBox(self, -1, choices=[], style=wx.CB_READONLY) self.res_type.Bind(wx.EVT_COMBOBOX, self._set_residue_type) self.res_sizer.Add(self.res_type, 0, wx.EXPAND) self._flds = [ wx.StaticText(self, -1, '') for i in range(4) ] self.avg_info = wx.FlexGridSizer(rows=0, cols=2, vgap=5, hgap=5) self.avg_info.Add(wx.StaticText(self, -1, 'Average Std Dev'), 0, wx.EXPAND) self.avg_info.Add(self._flds[0], 0, wx.EXPAND) #self.avg_info.Add(wx.StaticText(self, -1, 'Number of Vals'), wx.EXPAND|wx.ALL, 5) #self.avg_info.Add(self._flds[1], wx.EXPAND|wx.ALL, 5) self.res_info = wx.FlexGridSizer(rows=0, cols=2, vgap=5, hgap=5) self.res_info.Add(wx.StaticText(self, -1, 'Average Values'), 0, wx.EXPAND) self.res_info.Add(self._flds[1], 0, wx.EXPAND) self.res_info.Add(wx.StaticText(self, -1, 'Standard Dev'), 0, wx.EXPAND) self.res_info.Add(self._flds[2], 0, wx.EXPAND) #self.res_info.Add(wx.StaticText(self, -1, 'Number of Vals'), wx.EXPAND|wx.ALL, 5) #self.res_info.Add(self._flds[3], wx.EXPAND|wx.ALL, 5) self.side_sizer = wx.BoxSizer(wx.VERTICAL) self.side_sizer.Add(wx.StaticText(self, -1, 'Refinements'), 0, wx.EXPAND|wx.LEFT, 5) self.side_sizer.Add(self.refinements, 0, wx.EXPAND|wx.LEFT, 5) self.side_sizer.Add(self.res_sizer, 0, wx.EXPAND|wx.LEFT, 5) self.side_sizer.Add(self.avg_info, 0, wx.EXPAND|wx.LEFT, 5) self.side_sizer.Add(self.shist_canvas, 1, wx.EXPAND|wx.LEFT, 5) self.side_sizer.Add(self.res_info, 0, wx.EXPAND|wx.LEFT, 5) self.side_sizer.Add(self.hist_canvas, 1, wx.EXPAND|wx.LEFT, 5) self.sizer = wx.BoxSizer(wx.HORIZONTAL) self.sizer.Add(self.side_sizer, 0, wx.EXPAND|wx.ALL, 5) self.sizer.Add(self.canvas, 1, wx.EXPAND|wx.ALL, 5) self._rtypes = ['Aspartate', 'Glutamate', 'Histidine', 'Arginine'] self._rtypess = ['Asp', 'Glu', 'His', 'Arg'] self._residue_type = 0 self._highlight = -1 self._selected_residue = -1 self._residue_types = [] self._all_data = [] self._averaged = [] self._files = [] self.SetSizer(self.sizer) self.Fit()
def __init__(self, nb): Tab.__init__(self, nb) self.sizer = wx.BoxSizer(wx.HORIZONTAL) self.SetSizer(self.sizer)
def __init__(self, nb): Tab.__init__(self, nb) self.fig = Figure((5.0, 4.0), dpi=100) col = wx.SystemSettings.GetColour(wx.SYS_COLOUR_BACKGROUND) self.fig.patch.set_facecolor((col[0]/255.0, col[1]/255.0, col[2]/255.0)) self.canvas = FigCanvas(self, -1, self.fig) self.res = wx.StaticBitmap(self, size=(200,237)) self.res.SetBitmap(wx.EmptyImage( 200,237 ).ConvertToBitmap()) self._rtypes = ['Aspartate', 'Glutamate', 'Histidine', 'Arginine'] self._rtypess = ['Asp', 'Glu', 'His', 'Arg'] self.ax1 = self.fig.add_subplot(111) self.ax1.set_position([0.10,0.153,0.80,0.81]) self.ax2 = self.ax1.twinx() self.ax1.tick_params(labelsize=8) self.ax2.tick_params(labelsize=8) self._highlight = 0 self._bond_lengths = '' self._std_devs = '' self._residue_selection = [] self._residue_type = 0 self._residues = {'asp': {}, 'glu': {}, 'his': {}, 'arg': {}} self._omitted = {'asp': [], 'glu': [], 'his': [], 'arg': []} self.omitted_title = wx.StaticBox( self, -1, "Omitted" ) self.omitted_sizer = wx.StaticBoxSizer( self.omitted_title, wx.HORIZONTAL) self.selected_title = wx.StaticBox( self, -1, "Displayed" ) self.selected_sizer = wx.StaticBoxSizer( self.selected_title, wx.HORIZONTAL) self.residue_info_title = wx.StaticBox( self, -1, "Residue Info: " ) self.residue_info_sizer = wx.StaticBoxSizer( self.residue_info_title, wx.HORIZONTAL) self._labels = [ wx.StaticText(self, -1, 'D(C-O)'), wx.StaticText(self, -1, 'S(D(C-O))'), wx.StaticText(self, -1, 'Level'), wx.StaticText(self, -1, 'Avg S'), wx.StaticText(self, -1, 'Avg B'), ] self._values = [ wx.StaticText(self, -1, '') for x in range(len(self._labels)) ] self.residue_info = wx.GridSizer(rows=5, cols=2, vgap=5, hgap=5) for i in range(len(self._labels)): self.residue_info.Add(self._labels[i], 0, wx.EXPAND) self.residue_info.Add(self._values[i], 0, wx.EXPAND) self.residue_info_sizer.Add(self.residue_info, 0) self.residue_info_sizer.Add(self.res, 0) self.residue_sel = wx.ListBox(self, 26, wx.DefaultPosition, (80, 100), [], wx.LB_MULTIPLE) self.residue_sel.Bind(wx.EVT_LISTBOX, self._update_sel) self.omitted_res = wx.ListBox(self, 26, wx.DefaultPosition, (80, 100), [], wx.LB_SINGLE) self.omitted_res.Bind(wx.EVT_LISTBOX, self._goto_omitted) self._data_widgets = [ wx.StaticText(self, -1, 'Bond Lengths'), wx.ComboBox(self, -1, '', choices=[], style=wx.CB_READONLY), wx.StaticText(self, -1, 'Standard Deviations'), wx.ComboBox(self, -1, choices=[], style=wx.CB_READONLY), wx.StaticText(self, -1, 'Residue Type'), wx.ComboBox(self, -1, choices=[], style=wx.CB_READONLY)] self._data_widgets[1].Bind(wx.EVT_COMBOBOX, self._set_data) self._data_widgets[3].Bind(wx.EVT_COMBOBOX, self._set_data) self._data_widgets[5].Bind(wx.EVT_COMBOBOX, self._set_residue_type) self._data_widgets[5].SetStringSelection('Aspartate') self.data_box = wx.GridSizer(rows=3, cols=2, vgap=5, hgap=5) for i in range(len(self._data_widgets)): self.data_box.Add(self._data_widgets[i], 0, wx.EXPAND) self.omitted_sizer.Add(self.omitted_res) self.selected_sizer.Add(self.residue_sel) self.button_sizer = wx.BoxSizer(wx.VERTICAL) coot = wx.BitmapButton(self, 1, wx.Image('Resources/Icons/coot_logo.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap()) pymol = wx.BitmapButton(self, 2, wx.Image('Resources/Icons/pymol.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap()) plot = wx.BitmapButton(self, 3, wx.Image('Resources/Icons/plot_tiny.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap()) self.button_sizer.Add(coot, 0, wx.EXPAND) self.button_sizer.Add(pymol, 0, wx.EXPAND) self.button_sizer.Add(plot, 0, wx.EXPAND) plot.Bind(wx.EVT_BUTTON, self._save_figure) self.ressel_sizer = wx.BoxSizer(wx.HORIZONTAL) self.ressel_sizer.Add(self.omitted_sizer) self.ressel_sizer.Add(self.selected_sizer) self.ressel_sizer.Add(self.button_sizer) self.residue_box = wx.BoxSizer(wx.VERTICAL) self.residue_box.Add(self.data_box) self.residue_box.Add(self.residue_info_sizer, 0, wx.EXPAND | wx.TOP, 10) self.residue_box.Add(self.ressel_sizer) self.main = wx.BoxSizer(wx.HORIZONTAL) self.main.Add(self.residue_box, 0, wx.ALL, 10) self.main.Add(self.canvas, 0, wx.ALL, 5) self.SetSizer(self.main) self.main.Fit(self) self.canvas.mpl_connect('button_press_event', self._on_click) self.update_inputs()
def __init__(self, nb): Tab.__init__(self, nb) self._pdbt = PDBTools() self._res_size = (200,170) self._to_save = [] self.fig = Figure((5.0, 4.0), dpi=100) col = wx.SystemSettings.GetColour(wx.SYS_COLOUR_BACKGROUND) self.fig.patch.set_facecolor((col[0]/255.0, col[1]/255.0, col[2]/255.0)) self.canvas = FigCanvas(self, -1, self.fig) self.res = wx.StaticBitmap(self, size=self._res_size) self.res.SetBitmap(wx.EmptyImage(self._res_size[0], self._res_size[1]).ConvertToBitmap()) self._rtypes = ['Aspartate', 'Glutamate', 'Histidine', 'Arginine'] self._rtypess = ['Asp', 'Glu', 'His', 'Arg'] self.ax1 = self.fig.add_subplot(111) self.ax1.set_position([0.10,0.153,0.80,0.81]) #self.ax1.set_frame_on(False) [i.set_linewidth(0.5) for i in self.ax1.spines.itervalues()] self.ax2 = self.ax1.twinx() self.ax2.set_position([0.10,0.153,0.80,0.81]) self.ax1.tick_params(labelsize=8) self.ax2.tick_params(labelsize=8) self._highlight = -2 self._bond_lengths = '' self._std_devs = '' self._residue_selection = [] self._chain_lookup = {} self._residue_type = 0 self._residues = {'asp': {}, 'glu': {}, 'his': {}, 'arg': {}} self._omitted = {'asp': [], 'glu': [], 'his': [], 'arg': []} self.omitted_title = wx.StaticBox( self, -1, "Omitted" ) self.omitted_sizer = wx.StaticBoxSizer( self.omitted_title, wx.HORIZONTAL) self.selected_title = wx.StaticBox( self, -1, "Displayed" ) self.selected_sizer = wx.StaticBoxSizer( self.selected_title, wx.HORIZONTAL) self.residue_info_title = wx.StaticBox( self, -1, "Residue Info: " ) self.residue_info_sizer = wx.StaticBoxSizer( self.residue_info_title, wx.VERTICAL) #self.residue_info = wx.FlexGridSizer(rows=0, cols=2, vgap=5, hgap=5) #self.residue_info.Add(wx.StaticText(self, -1, 'D(C-O)')) #self._dco = wx.StaticText(self, -1, '') #self.residue_info.Add(self._dco) #self.residue_info.Add(wx.StaticText(self, -1, 'S(D(C-O))')) #self._sdco = wx.StaticText(self, -1, '') #self.residue_info.Add(self._sdco) #self.residue_info.Add(wx.StaticText(self, -1, 'Level')) #self._lev = wx.StaticText(self, -1, '') #self.residue_info.Add(self._lev) #self.residue_info_sizer.Add(self.residue_info, 0) self.residue_info_sizer.Add(self.res, 0) self.residue_sel = wx.ListBox(self, 26, wx.DefaultPosition, (70, 80), [], wx.LB_MULTIPLE) self.residue_sel.Bind(wx.EVT_LISTBOX, self._update_sel) self.omitted_res = wx.ListBox(self, 26, wx.DefaultPosition, (70, 80), [], wx.LB_SINGLE) self.omitted_res.Bind(wx.EVT_LISTBOX, self._goto_omitted) self.data_box = wx.BoxSizer(wx.HORIZONTAL) self.data_box.Add(wx.StaticText(self, -1, 'Residue Type'), 0, wx.EXPAND|wx.ALL, 5) self.res_type = wx.ComboBox(self, -1, choices=[], style=wx.CB_READONLY) self.res_type.Bind(wx.EVT_COMBOBOX, self._set_residue_type) self.data_box.Add(self.res_type, 0, wx.EXPAND|wx.ALL, 5) self.omitted_sizer.Add(self.omitted_res, 1, wx.EXPAND|wx.ALL, 0) self.selected_sizer.Add(self.residue_sel, 1, wx.EXPAND|wx.ALL, 0) self.ressel_sizer = wx.BoxSizer(wx.HORIZONTAL) self.ressel_sizer.Add(self.omitted_sizer, 1, wx.EXPAND|wx.ALL, 5) self.ressel_sizer.Add(self.selected_sizer, 1, wx.EXPAND|wx.ALL, 5) lig = metallicbutton.MetallicButton(self, -1, 'Ligands', '', bitmaps.fetch_icon_bitmap('actions', 'viewmag', scale=(16,16)), size=(75, 25)) save = metallicbutton.MetallicButton(self, -1, 'Figure', '', bitmaps.fetch_icon_bitmap('actions', 'save_all', scale=(16,16)), size=(65, 25)) tab = metallicbutton.MetallicButton(self, -1, 'Data', '', bitmaps.fetch_icon_bitmap('actions', 'save_all', scale=(16,16)), size=(65, 25)) self.Bind(wx.EVT_BUTTON, self._view_ligands, lig) self.Bind(wx.EVT_BUTTON, self._save_figure, save) self.Bind(wx.EVT_BUTTON, self._save_data, tab) self.button_sizer = wx.BoxSizer(wx.HORIZONTAL) self.button_sizer.Add(save, 0, wx.LEFT, 5) self.button_sizer.Add(tab, 0, wx.LEFT, 5) self.button_sizer.Add(lig, 0, wx.LEFT, 5) self.residue_box = wx.BoxSizer(wx.VERTICAL) self.residue_box.Add(self.data_box, 0) self.residue_box.Add(self.residue_info_sizer, 0, wx.EXPAND, 10) self.residue_box.Add(self.ressel_sizer, 0) self.residue_box.Add(self.button_sizer, 0) self.main = wx.BoxSizer(wx.HORIZONTAL) self.main.Add(self.residue_box, 1, wx.EXPAND|wx.ALL, 5) self.averages = wx.StaticText(self, -1, '', style=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) self.bottom_sizer = wx.BoxSizer(wx.HORIZONTAL) #self.bottom_sizer.Add(self.button_sizer, 0) self.bottom_sizer.Add(self.averages, 1, wx.EXPAND) self.canvas_sizer = wx.BoxSizer(wx.VERTICAL) self.canvas_sizer.Add(self.canvas, 1, wx.EXPAND|wx.ALL) self.canvas_sizer.Add(self.bottom_sizer, 0, wx.EXPAND) self.main.Add(self.canvas_sizer, 3, wx.EXPAND|wx.ALL, 5) self.SetSizer(self.main) self.main.Fit(self) self.canvas.mpl_connect('button_press_event', self._on_click) self.canvas.mpl_connect('pick_event', self._show_series)