Changeset 2d88fc4 in sasview


Ignore:
Timestamp:
Oct 20, 2015 8:55:16 AM (9 years ago)
Author:
Paul Kienzle <pkienzle@…>
Branches:
master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
6f16e25
Parents:
6f3fea2
Message:

reduce number of NewIds? used for each plot. Refs #448.

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sasview/wxcruft.py

    r6f3fea2 r2d88fc4  
    5757 
    5858    def __init__(self, millis, callableObj, *args, **kwargs): 
    59         print "=================== entering CallLater constructor" 
     59        # print "=================== entering CallLater constructor" 
    6060        assert callable(callableObj), "callableObj is not callable" 
    6161        self.millis = millis 
     
    8181            self.SetArgs(*args, **kwargs) 
    8282        self.Stop() 
    83         self.timer = wx.PyTimer(self.Notify, id=self.id) 
     83        self.timer = PyTimer(self.Notify, id=self.id)  # PAK 
    8484        self.timer.Start(self.millis, wx.TIMER_ONE_SHOT) 
    8585        self.running = True 
  • src/sas/guiframe/local_perspectives/plotting/Plotter1D.py

    r098f3d2 r2d88fc4  
    3636    return [k for k, v in dic.iteritems() if v == val][0] 
    3737 
     38class IdCollection: 
     39    def __init__(self): 
     40        self._ids = [] 
     41        self._index = 0 
     42    def next(self): 
     43        if len(self._ids) == self._index: 
     44           self._ids.append(wx.NewId()) 
     45        self._index += 1 
     46        return self._ids[self._index-1] 
     47    def reset(self): 
     48        self._index = 0 
    3849 
    3950 
     
    5263    ## Group ID 
    5364    group_id = None 
     65    _menu_ids = IdCollection() 
    5466 
    5567    def __init__(self, parent, id=-1, color=None, 
     
    556568        self._slicerpop.set_plots(self.plots) 
    557569        self._slicerpop.set_graph(self.graph) 
     570        self._menu_ids.reset() 
    558571        if not self.graph.selected_plottable in self.plots: 
    559572            # Various plot options 
    560             wx_id = wx.NewId() 
     573            wx_id = self._menu_ids.next() 
    561574            self._slicerpop.Append(wx_id, '&Save Image', 'Save image as PNG') 
    562575            wx.EVT_MENU(self, wx_id, self.onSaveImage) 
    563             wx_id = wx.NewId() 
     576            wx_id = self._menu_ids.next() 
    564577            self._slicerpop.Append(wx_id, '&Print Image', 'Print image ') 
    565578            wx.EVT_MENU(self, wx_id, self.onPrint) 
    566579 
    567             wx_id = wx.NewId() 
     580            wx_id = self._menu_ids.next() 
    568581            self._slicerpop.Append(wx_id, '&Copy to Clipboard', 
    569582                                   'Copy to the clipboard') 
     
    582595                    continue 
    583596 
    584             wx_id = wx.NewId() 
     597            wx_id = self._menu_ids.next() 
    585598            plot_menu.Append(wx_id, "&DataInfo", name) 
    586599            wx.EVT_MENU(self, wx_id, self. _onDataShow) 
    587             wx_id = wx.NewId() 
     600            wx_id = self._menu_ids.next() 
    588601            plot_menu.Append(wx_id, "&Save Points as a File", name) 
    589602            wx.EVT_MENU(self, wx_id, self._onSave) 
     
    597610 
    598611                    try: 
    599                         wx_id = wx.NewId() 
     612                        wx_id = self._menu_ids.next() 
    600613                        plot_menu.Append(wx_id, item[0], name) 
    601614                        wx.EVT_MENU(self, wx_id, item[2]) 
     
    607620 
    608621            if self.parent.ClassName.count('wxDialog') == 0: 
    609                 wx_id = wx.NewId() 
     622                wx_id = self._menu_ids.next() 
    610623                plot_menu.Append(wx_id, '&Linear Fit', name) 
    611624                wx.EVT_MENU(self, wx_id, self.onFitting) 
    612625                plot_menu.AppendSeparator() 
    613626 
    614                 wx_id = wx.NewId() 
     627                wx_id = self._menu_ids.next() 
    615628                plot_menu.Append(wx_id, "Remove", name) 
    616629                wx.EVT_MENU(self, wx_id, self._onRemove) 
    617630                if not plot.is_data: 
    618                     wx_id = wx.NewId() 
     631                    wx_id = self._menu_ids.next() 
    619632                    plot_menu.Append(wx_id, '&Freeze', name) 
    620633                    wx.EVT_MENU(self, wx_id, self.onFreeze) 
     
    622635 
    623636                if plot.is_data: 
    624                     wx_id = wx.NewId() 
     637                    wx_id = self._menu_ids.next() 
    625638                    self.hide_menu = plot_menu.Append(wx_id, "Hide Error Bar", name) 
    626639 
     
    636649                    plot_menu.AppendSeparator() 
    637650 
    638                 wx_id = wx.NewId() 
     651                wx_id = self._menu_ids.next() 
    639652                plot_menu.Append(wx_id, '&Modify Plot Property', name) 
    640653                wx.EVT_MENU(self, wx_id, self.createAppDialog) 
    641             wx_id = wx.NewId() 
     654            wx_id = self._menu_ids.next() 
    642655            # plot_menu.SetTitle(name) 
    643656            self._slicerpop.AppendMenu(wx_id, '&%s' % name, plot_menu) 
     
    648661            loc_menu = wx.Menu() 
    649662            for label in self._loc_labels: 
    650                 wx_id = wx.NewId() 
     663                wx_id = self._menu_ids.next() 
    651664                loc_menu.Append(wx_id, str(label), str(label)) 
    652665                wx.EVT_MENU(self, wx_id, self.onChangeLegendLoc) 
    653666 
    654             wx_id = wx.NewId() 
     667            wx_id = self._menu_ids.next() 
    655668            self._slicerpop.Append(wx_id, '&Modify Graph Appearance', 
    656669                                   'Modify graph appearance') 
     
    660673 
    661674            if self.position != None: 
    662                 wx_id = wx.NewId() 
     675                wx_id = self._menu_ids.next() 
    663676                self._slicerpop.Append(wx_id, '&Add Text') 
    664677                wx.EVT_MENU(self, wx_id, self._on_addtext) 
    665                 wx_id = wx.NewId() 
     678                wx_id = self._menu_ids.next() 
    666679                self._slicerpop.Append(wx_id, '&Remove Text') 
    667680                wx.EVT_MENU(self, wx_id, self._on_removetext) 
    668681                self._slicerpop.AppendSeparator() 
    669             wx_id = wx.NewId() 
     682            wx_id = self._menu_ids.next() 
    670683            self._slicerpop.Append(wx_id, '&Change Scale') 
    671684            wx.EVT_MENU(self, wx_id, self._onProperties) 
    672685            self._slicerpop.AppendSeparator() 
    673             wx_id = wx.NewId() 
     686            wx_id = self._menu_ids.next() 
    674687            self._slicerpop.Append(wx_id, '&Reset Graph Range') 
    675688            wx.EVT_MENU(self, wx_id, self.onResetGraph) 
     
    677690            if self.parent.ClassName.count('wxDialog') == 0: 
    678691                self._slicerpop.AppendSeparator() 
    679                 wx_id = wx.NewId() 
     692                wx_id = self._menu_ids.next() 
    680693                self._slicerpop.Append(wx_id, '&Window Title') 
    681694                wx.EVT_MENU(self, wx_id, self.onChangeCaption) 
  • src/sas/guiframe/local_perspectives/plotting/Plotter2D.py

    r098f3d2 r2d88fc4  
    287287 
    288288        """ 
     289        self._menu_ids.reset() 
    289290        slicerpop = PanelMenu() 
    290291        slicerpop.set_plots(self.plots) 
    291292        slicerpop.set_graph(self.graph) 
    292293 
    293         wx_id = wx.NewId() 
     294        wx_id = self._menu_ids.next() 
    294295        slicerpop.Append(wx_id, '&Save Image') 
    295296        wx.EVT_MENU(self, wx_id, self.onSaveImage) 
    296297 
    297         wx_id = wx.NewId() 
     298        wx_id = self._menu_ids.next() 
    298299        slicerpop.Append(wx_id, '&Print Image', 'Print image') 
    299300        wx.EVT_MENU(self, wx_id, self.onPrint) 
    300301 
    301         wx_id = wx.NewId() 
     302        wx_id = self._menu_ids.next() 
    302303        slicerpop.Append(wx_id, '&Copy to Clipboard', 'Copy to the clipboard') 
    303304        wx.EVT_MENU(self, wx_id, self.OnCopyFigureMenu) 
     
    305306        # saving data 
    306307        plot = self.data2D 
    307         wx_id = wx.NewId() 
     308        wx_id = self._menu_ids.next() 
    308309        slicerpop.Append(wx_id, "&Data Info") 
    309310        wx.EVT_MENU(self, wx_id, self._onDataShow) 
    310311 
    311         wx_id = wx.NewId() 
     312        wx_id = self._menu_ids.next() 
    312313        slicerpop.Append(wx_id, "&Save as a File (DAT)") 
    313314        self.action_ids[str(wx_id)] = plot 
     
    322323                for item in item_list: 
    323324                    try: 
    324                         wx_id = wx.NewId() 
     325                        wx_id = self._menu_ids.next() 
    325326                        slicerpop.Append(wx_id, item[0], item[1]) 
    326327                        wx.EVT_MENU(self, wx_id, item[2]) 
     
    331332                slicerpop.AppendSeparator() 
    332333 
    333             wx_id = wx.NewId() 
     334            wx_id = self._menu_ids.next() 
    334335            slicerpop.Append(wx_id, '&Perform Circular Average') 
    335336            wx.EVT_MENU(self, wx_id, self.onCircular) \ 
    336337            # For Masked Data 
    337338            if not plot.mask.all(): 
    338                 wx_id = wx.NewId() 
     339                wx_id = self._menu_ids.next() 
    339340                slicerpop.Append(wx_id, '&Masked Circular Average') 
    340341                wx.EVT_MENU(self, wx_id, self.onMaskedCircular) 
    341             wx_id = wx.NewId() 
     342            wx_id = self._menu_ids.next() 
    342343            slicerpop.Append(wx_id, '&Sector [Q View]') 
    343344            wx.EVT_MENU(self, wx_id, self.onSectorQ) 
    344             wx_id = wx.NewId() 
     345            wx_id = self._menu_ids.next() 
    345346            slicerpop.Append(wx_id, '&Annulus [Phi View ]') 
    346347            wx.EVT_MENU(self, wx_id, self.onSectorPhi) 
    347             wx_id = wx.NewId() 
     348            wx_id = self._menu_ids.next() 
    348349            slicerpop.Append(wx_id, '&Box Sum') 
    349350            wx.EVT_MENU(self, wx_id, self.onBoxSum) 
    350             wx_id = wx.NewId() 
     351            wx_id = self._menu_ids.next() 
    351352            slicerpop.Append(wx_id, '&Box Averaging in Qx') 
    352353            wx.EVT_MENU(self, wx_id, self.onBoxavgX) 
    353             wx_id = wx.NewId() 
     354            wx_id = self._menu_ids.next() 
    354355            slicerpop.Append(wx_id, '&Box Averaging in Qy') 
    355356            wx.EVT_MENU(self, wx_id, self.onBoxavgY) 
    356357            if self.slicer != None: 
    357                 wx_id = wx.NewId() 
     358                wx_id = self._menu_ids.next() 
    358359                slicerpop.Append(wx_id, '&Clear Slicer') 
    359360                wx.EVT_MENU(self, wx_id, self.onClearSlicer) 
    360361                if self.slicer.__class__.__name__ != "BoxSum": 
    361                     wx_id = wx.NewId() 
     362                    wx_id = self._menu_ids.next() 
    362363                    slicerpop.Append(wx_id, '&Edit Slicer Parameters') 
    363364                    wx.EVT_MENU(self, wx_id, self._onEditSlicer) 
    364365            slicerpop.AppendSeparator() 
    365366 
    366         wx_id = wx.NewId() 
     367        wx_id = self._menu_ids.next() 
    367368        slicerpop.Append(wx_id, '&Edit Graph Label', 'Edit Graph Label') 
    368369        wx.EVT_MENU(self, wx_id, self.onEditLabels) 
     
    371372        # ILL mod here 
    372373 
    373         wx_id = wx.NewId() 
     374        wx_id = self._menu_ids.next() 
    374375        slicerpop.Append(wx_id, '&Modify graph appearance', 'Modify graph appearance') 
    375376        wx.EVT_MENU(self, wx_id, self.modifyGraphAppearance) 
    376377        slicerpop.AppendSeparator() 
    377378 
    378         wx_id = wx.NewId() 
     379        wx_id = self._menu_ids.next() 
    379380        slicerpop.Append(wx_id, '&2D Color Map') 
    380381        wx.EVT_MENU(self, wx_id, self._onEditDetector) 
    381382        slicerpop.AppendSeparator() 
    382383 
    383         wx_id = wx.NewId() 
     384        wx_id = self._menu_ids.next() 
    384385        slicerpop.Append(wx_id, '&Toggle Linear/Log Scale') 
    385386        wx.EVT_MENU(self, wx_id, self._onToggleScale) 
    386387 
    387388        slicerpop.AppendSeparator() 
    388         wx_id = wx.NewId() 
     389        wx_id = self._menu_ids.next() 
    389390        slicerpop.Append(wx_id, '&Window Title') 
    390391        wx.EVT_MENU(self, wx_id, self.onChangeCaption) 
  • src/sas/plottools/toolbar.py

    rd3d67f0 r2d88fc4  
    1919 
    2020class NavigationToolBar(NavigationToolbar2WxAgg): 
     21    _NTB2_HOME = wx.NewId() 
     22    _NTB2_BACK = wx.NewId() 
     23    _NTB2_FORWARD = wx.NewId() 
     24    _NTB2_PAN = wx.NewId() 
     25    _NTB2_ZOOM = wx.NewId() 
     26    _NTB2_SAVE = wx.NewId() 
     27    _NTB2_PRINT = wx.NewId() 
     28    _NTB2_RESET = wx.NewId() 
     29    _NTB2_COPY = wx.NewId() 
    2130    """ 
    2231    Overwrite matplotlib toolbar 
     
    3140    def _init_toolbar(self): 
    3241        self._parent = self.canvas.GetParent() 
    33         self._NTB2_HOME = wx.NewId() 
    34         self._NTB2_BACK = wx.NewId() 
    35         self._NTB2_FORWARD = wx.NewId() 
    36         self._NTB2_PAN = wx.NewId() 
    37         self._NTB2_ZOOM = wx.NewId() 
    38         self._NTB2_SAVE = wx.NewId() 
    39         self._NTB2_PRINT = wx.NewId() 
    40         self._NTB2_RESET = wx.NewId() 
    4142 
    4243        # for mpl 1.2+ compatibility 
     
    101102        """ 
    102103        # Slicer plot popup menu 
    103         wx_id = wx.NewId() 
    104104        popup = wx.Menu() 
    105         popup.Append(wx_id, '&Save image', 'Save image as PNG') 
    106         wx.EVT_MENU(self, wx_id, self.save_figure) 
     105        popup.Append(self._NTB2_SAVE, '&Save image', 'Save image as PNG') 
     106        wx.EVT_MENU(self, self._NTB2_SAVE, self.save_figure) 
    107107 
    108         wx_id = wx.NewId() 
    109         popup.Append(wx_id, '&Print image', 'Print image ') 
    110         wx.EVT_MENU(self, wx_id, self.print_figure) 
     108        popup.Append(self._NTB2_PRINT, '&Print image', 'Print image ') 
     109        wx.EVT_MENU(self, self._NTB2_PRINT, self.print_figure) 
    111110 
    112         wx_id = wx.NewId() 
    113         popup.Append(wx_id, '&Copy to Clipboard', 'Copy image to the clipboard') 
    114         wx.EVT_MENU(self, wx_id, self.copy_figure) 
     111        popup.Append(self._NTB2_COPY, '&Copy to Clipboard', 'Copy image to the clipboard') 
     112        wx.EVT_MENU(self, self._NTB2_COPY, self.copy_figure) 
    115113 
    116114        # Show the popup menu relative to the location of the toolbar 
Note: See TracChangeset for help on using the changeset viewer.