Beispiel #1
0
 def load_project_data(self, fullfilename):
     OM = ObjectManager()
     UIM = UIManager()
     self.OM_file = fullfilename
     ret = OM.load(self.OM_file)
     if not ret:
         msg = 'GRIPy project cannot be opened.'
         wx.MessageBox(msg, 'Error', wx.OK | wx.ICON_ERROR)
         return
     mwc = UIM.list('main_window_controller')[0]
     tree_ctrl = UIM.list('tree_controller', mwc.uid)[0]
     if tree_ctrl:
         tree_ctrl.set_project_name(self.OM_file)
Beispiel #2
0
    def activatePlugin(self):
        if self.is_activated:
            return
        if self.plugin_object._parent_menu:
            menu_name = self.plugin_object._parent_menu
        else:
            menu_name = GripyPlugin._DEFAULT_PARENT_MENU
        found = None
        _UIM = UIManager()
        menus = _UIM.list('menu_controller')
        for menu in menus:
            testing_name = menu.label
            if testing_name.startswith('&'):
                testing_name = testing_name[1:]
            if testing_name == menu_name:
                found = menu
        if found:
            msg = 'Plugin {} will try insert itself to Menu {}'.format(
                self.name, found.label)
            log.debug(msg)

            menu_item = _UIM.create('menu_item_controller',
                                    found.uid,
                                    label=self.name,
                                    help=self.description,
                                    callback=self.plugin_object.event_run)

            if menu_item:
                self._menu_item_uid = menu_item.uid
            log.debug('Plugin {} was inserted to Menu {}'.format(
                self.name, found.label))
        self.plugin_object.activate()
        log.debug('Activated plugin: {}'.format(self.name))
Beispiel #3
0
 def create_depth_canvas(self):
     self._in_canvas = -1
     self._drag_mode = SASH_DRAG_NONE
     self.canvas_color = 'blue'
     self.canvas_alt_color = 'red'
     self.canvas_width = 3
     #
     display_coords = self._get_depth_canvas_display_coords()
     #
     UIM = UIManager()
     tcc = UIM.list('track_canvas_controller', self._controller_uid)[0]
     #
     self.d1_canvas = wx.Panel(tcc.view, name='D1')
     self.d1_canvas.SetSize((display_coords['width'], self.canvas_width))
     self.d1_canvas.SetBackgroundColour(self.canvas_color)
     self.d1_canvas.SetPosition(
         (display_coords['xmin'], display_coords['ymin']))
     #
     self.d2_canvas = wx.Panel(tcc.view, name='D2')
     self.d2_canvas.SetSize((display_coords['width'], self.canvas_width))
     self.d2_canvas.SetBackgroundColour(self.canvas_color)
     self.d2_canvas.SetPosition(
         (display_coords['xmin'],
          display_coords['ymax'] - self.canvas_width))
     #
     self.d1_canvas.Bind(wx.EVT_MOUSE_EVENTS, self.on_canvas_mouse)
     self.d2_canvas.Bind(wx.EVT_MOUSE_EVENTS, self.on_canvas_mouse)
Beispiel #4
0
 def set_multicursor(self, new_value, old_value):
     UIM = UIManager()
     tracks = UIM.list('track_controller', self._controller_uid)
     if not tracks:
         return
     for track in tracks:
         track.view.track.update_multicursor(new_value)
Beispiel #5
0
 def reposition_depth_canvas(self):
     UIM = UIManager()
     controller = UIM.get(self._controller_uid)
     if not controller.overview:
         return
     tcc = UIM.list('track_canvas_controller', self._controller_uid)[0]
     tcc.reposition_depth_canvas()
Beispiel #6
0
    def set_ylim(self, ymin, ymax):
        tcc = self._get_canvas_controller()
        tcc.ylim = (ymax, ymin)
        UIM = UIManager()
        for toc in UIM.list('track_object_controller', self._controller_uid):

            toc.redraw()
Beispiel #7
0
    def _on_track_move(self, event):
        axes = event.inaxes
        if axes is None:
            return

        OM = ObjectManager()
        UIM = UIManager()
        parent_controller_uid = UIM._getparentuid(self._controller_uid)
        parent_controller = UIM.get(parent_controller_uid)
        info = parent_controller.index_type + ': {:0.2f}'.format(event.ydata)

        for toc in UIM.list('track_object_controller', self._controller_uid):

            data = toc.get_data_info(event)
            if data is None:
                continue
            if isinstance(data, float):
                str_x = '{:0.2f}'.format(data)
            else:
                str_x = str(data)

            obj = OM.get(toc.data_obj_uid)
            info += ', {}: {}'.format(obj.name, str_x)

#        print ('on_track_move:', event.xdata, event.ydata)

        parent_controller.show_status_message(info)
Beispiel #8
0
 def set_own_name(self):
     UIM = UIManager()
     controller = UIM.get(self._controller_uid)
     idx = 0
     lpcs = UIM.list('crossplot_controller')
     for lpc in lpcs:
         idx += 1
     controller.title = self._get_tid_friendly_name() + ' [' + str(idx) + ']'
Beispiel #9
0
 def _get_label_controller(self):
     """
     """
     UIM = UIManager()
     controller = UIM.get(self._controller_uid)
     if controller.overview:
         return None
     return UIM.list('track_label_controller', self._controller_uid)[0]
Beispiel #10
0
    def _menu_selection(self, event):
        UIM = UIManager()
        tcc = UIM.list('track_canvas_controller', self._controller_uid)[0]

        if event.GetId() == ShowGridId:
            tcc.plotgrid = True
        elif event.GetId() == HideGridId:
            tcc.plotgrid = False
        elif event.GetId() == ScaleLinGridId:
            tcc.xscale = 'linear'
        elif event.GetId() == ScaleLogGridId:
            tcc.xscale = 'log'
        elif event.GetId() == DepthLinesAllId:
            tcc.depth_lines = 0
        elif event.GetId() == DepthLinesLeftId:
            tcc.depth_lines = 1
        elif event.GetId() == DepthLinesRightId:
            tcc.depth_lines = 2
        elif event.GetId() == DepthLinesCenterId:
            tcc.depth_lines = 3
        elif event.GetId() == DepthLinesLeftRightId:
            tcc.depth_lines = 4
        elif event.GetId() == DepthLinesNoneId:
            tcc.depth_lines = 5
        elif event.GetId() == LogDecades1Id:
            tcc.decades = 1
        elif event.GetId() == LogDecades10Id:
            tcc.decades = 2
        elif event.GetId() == LogDecades100Id:
            tcc.decades = 3
        elif event.GetId() == LogDecades1000Id:
            tcc.decades = 4
        elif event.GetId() == LogDecades10000Id:
            tcc.decades = 5
        elif event.GetId() == LogDecades100000Id:
            tcc.decades = 6
        elif event.GetId() == LogDecades1000000Id:
            tcc.decades = 7
        elif event.GetId() == LinScaleLines0Id:
            tcc.scale_lines = 0
        elif event.GetId() == LinScaleLines1Id:
            tcc.scale_lines = 1
        elif event.GetId() == LinScaleLines2Id:
            tcc.scale_lines = 2
        elif event.GetId() == LinScaleLines3Id:
            tcc.scale_lines = 3
        elif event.GetId() == LinScaleLines4Id:
            tcc.scale_lines = 4
        elif event.GetId() == LinScaleLines5Id:
            tcc.scale_lines = 5
        elif event.GetId() == LinScaleLines6Id:
            tcc.scale_lines = 6
        elif event.GetId() == LinScaleLines7Id:
            tcc.scale_lines = 7
        elif event.GetId() == ShowMinorgridId:
            tcc.minorgrid = True
        elif event.GetId() == HideMinorgridId:
            tcc.minorgrid = False
Beispiel #11
0
 def get_representation(self):
     # Returns the real OM.object representation
     UIM = UIManager()
     children = UIM.list(None, self.uid)
     if len(children) == 0:
         return None
     for child in children:
         if isinstance(child, RepresentationController):
             return child
Beispiel #12
0
 def _on_change_shown_ylim(self, new_value, old_value):
     ymin, ymax = new_value
     if ymin < 0 or ymax < 0:
         raise Exception()
     UIM = UIManager()
     for track in UIM.list('track_controller', self.uid):
         if not track.overview:
             track.set_ylim(ymin, ymax)
         else:
             track.reposition_depth_canvas()
     self.view._reload_z_axis_textctrls()
Beispiel #13
0
    def on_canvas_mouse(self, event):

        if event.GetEventType() in [wx.wxEVT_MOTION, wx.wxEVT_LEFT_DOWN,
                                    wx.wxEVT_LEFT_UP, wx.wxEVT_MOTION | wx.wxEVT_LEFT_DOWN]:
            UIM = UIManager()
            tcc = UIM.list('track_canvas_controller', self._controller_uid)[0]

            new_event = wx.MouseEvent(event.GetEventType())
            pos = tcc.view.ScreenToClient(wx.GetMousePosition())
            new_event.SetPosition(pos)
            new_event.Skip()
            tcc.view.GetEventHandler().ProcessEvent(new_event)
Beispiel #14
0
    def __len__(self):
        """
        Returns the number of :class:`~GRIPy-3.ui.mvc_classes.TrackController`
        owned by this object.

        Returns
        -------
        lenght : int        
        
        """
        UIM = UIManager()
        return len(UIM.list('track_controller', self.uid))
Beispiel #15
0
 def get_track_on_position(self, pos, relative_position=True):
     if pos == -1:
         return self.get_overview_track()
     b_splitter = self._tracks_panel.bottom_splitter
     if relative_position:
         pos = b_splitter.get_windows_indexes_shown()[pos]
     bottom_window = b_splitter.GetWindow(pos)
     UIM = UIManager()
     for tcc in UIM.list('track_canvas_controller'):
         if tcc.view == bottom_window:
             track_ctrl_uid = UIM._getparentuid(tcc.uid)
             return UIM.get(track_ctrl_uid)
     raise Exception('Informed position [{}] is invalid.'.format(pos))
Beispiel #16
0
    def _on_change_index_type(self, new_value, old_value):
        print('\n_on_change_index_type:', new_value, old_value)
        UIM = UIManager()
        try:
            self._reload_ylims_from_index_type()

            # TODO: Find a more Pythonic way to write aboxe
            for track_ctrl in UIM.list('track_controller', self.uid):
                if track_ctrl.overview:
                    continue
                    """    
#                    print ('overview')
                    try:
                        if self.ot_toc:
                            UIM.remove(self.ot_toc.uid) 
                    except Exception as e:
                        print ('UIM.remove(self.ot_toc.uid):', e)
#                    print (self.zaxis_uid)    
        
#                    self.ot_toc = self._overview_track.append_object(self.zaxis_uid) 
             
                    #ot_toc = self._overview_track.append_object(self.zaxis_uid)
                    #ot_toc_repr_ctrl = self.ot_toc.get_representation()
                    # TODO: Update Adaptative
                    #ot_toc_repr_ctrl.step = 200
                    """
                else:
                    for toc_ctrl in UIM.list('track_object_controller',
                                             track_ctrl.uid):
                        #dm = toc_ctrl.get_data_mask()
                        toc_ctrl.set_dimension(datatype=new_value)
                        toc_ctrl.redraw()

        except Exception as e:
            print('ERROR _on_change_index_type:', e)
            raise
Beispiel #17
0
 def _set_pos(self, new_value, old_value):
     UIM = UIManager()
     controller = UIM.get(self._controller_uid)
     main_window_uid = UIM._getparentuid(controller.uid)
     main_window = UIM.get(main_window_uid)
     # Check event
     if new_value < 0 or new_value > main_window.view.get_notebook_page_count() - 1:
         # Undo wrong event
         controller.set_value_from_event('pos', old_value)
         return
         # Broadcasting position change to other pages 
     for mw_child in UIM.list(tidfilter='workpage_controller',
                              parentuidfilter=main_window_uid):
         pos = main_window.view.get_notebook_page_index(mw_child.view)
         mw_child.set_value_from_event('pos', pos)
Beispiel #18
0
 def _get_sequence_number(self):
     """
     Retorna o numero de ordem considerando a existencia de multiplos 
     objetos do mesmo tipo.
     """
     UIM = UIManager()
     controller = UIM.get(self._controller_uid)
     idx = 0
     wpcs = UIM.list(self._controller_uid[0])
     for wpc in wpcs:
         if wpc == controller:
             break
         if wpc.obj_uid == controller.obj_uid:
             idx += 1
     idx += 1
     return idx
Beispiel #19
0
 def PostInit(self):
     UIM = UIManager()
     if self.pos == -1:
         track_ctrl_uid = UIM._getparentuid(self.uid)
         self.pos = len(UIM.list(self.tid, track_ctrl_uid))
Beispiel #20
0
def load():
    # load_UI_file = True
    load_UI_file = False

    gripy_app = wx.GetApp()
    # gripy_app = app.gripy_app.GripyApp.Get()

    if not gripy_app:
        raise Exception('ERRO grave.')

    UIM = UIManager()

    if load_UI_file:
        """
        Load basic app from file.            
        """
        load_application_UI_data(gripy_app._gripy_app_state.get('app_UI_file'))
        load_user_UI_data(gripy_app._gripy_app_state.get('user_UI_file'))
        mwc = UIM.list('main_window_controller')[0]
    else:
        """
        Construct the application itself.
        """
        mwc = UIM.create(
            'main_window_controller',
            title=gripy_app._gripy_app_state.get('app_display_name'),
            pos=(2000, 800),
            maximized=True)

        # """

        # Menubar
        menubar_ctrl = UIM.create('menubar_controller', mwc.uid)

        # First level Menus
        mc_project = UIM.create('menu_controller',
                                menubar_ctrl.uid,
                                label=u"&Project")

        mc_edit = UIM.create('menu_controller',
                             menubar_ctrl.uid,
                             label=u"&Edit")
        mc_well = UIM.create('menu_controller',
                             menubar_ctrl.uid,
                             label=u"&Well")
        mc_precond = UIM.create('menu_controller',
                                menubar_ctrl.uid,
                                label=u"&Preconditioning")
        mc_model = UIM.create('menu_controller',
                              menubar_ctrl.uid,
                              label=u"&Modeling")
        mc_interp = UIM.create('menu_controller',
                               menubar_ctrl.uid,
                               label=u"&Interpretation")
        #        mc_infer = UIM.create('menu_controller', menubar_ctrl.uid, label=u"&Inference")
        # mc_specdecom = UIM.create('menu_controller', menubar_ctrl.uid, label=u"&SpecDecom")
        mc_tools = UIM.create('menu_controller',
                              menubar_ctrl.uid,
                              label=u"&Tools")
        mc_plugins = UIM.create('menu_controller',
                                menubar_ctrl.uid,
                                label=u"&Plugins")

        # Project Menu
        UIM.create('menu_item_controller',
                   mc_project.uid,
                   label=u'&New project',
                   help=u'Create a new empty GriPy Project.',
                   id=wx.ID_NEW,
                   callback='app.menu_functions.on_new')
        UIM.create('menu_item_controller',
                   mc_project.uid,
                   kind=wx.ITEM_SEPARATOR)
        UIM.create('menu_item_controller',
                   mc_project.uid,
                   label=u'&Open',
                   help=u'Open GriPy Project (*.pgg)',
                   id=wx.ID_OPEN,
                   callback='app.menu_functions.on_open')
        UIM.create('menu_item_controller',
                   mc_project.uid,
                   label=u'&Save',
                   help=u'Save GriPy Project',
                   id=wx.ID_SAVE,
                   callback='app.menu_functions.on_save')
        UIM.create('menu_item_controller',
                   mc_project.uid,
                   label=u'&Save as',
                   help=u'Save GriPy Project with a new name',
                   id=wx.ID_SAVEAS,
                   callback='app.menu_functions.on_save_as')
        UIM.create('menu_item_controller',
                   mc_project.uid,
                   kind=wx.ITEM_SEPARATOR)

        mc_import = UIM.create('menu_controller',
                               mc_project.uid,
                               label=u"&Import",
                               help=u"Import file")

        UIM.create('menu_item_controller',
                   mc_import.uid,
                   label=u"SEG-Y Well Gather",
                   help=u'Import a SEG-Y Seismic file as Well Gather',
                   callback='app.menu_functions.on_import_segy_well_gather')
        UIM.create(
            'menu_item_controller',
            mc_import.uid,
            label=u"SEG-Y Seismic",
            help=u'Import a SEG-Y Seismic file to current GriPy Project',
            callback='app.menu_functions.on_import_segy_seis')
        UIM.create(
            'menu_item_controller',
            mc_import.uid,
            label=u"SEG-Y Velocity",
            help=u'Import a SEG-Y Velocity file to current GriPy Project',
            callback='app.menu_functions.on_import_segy_vel')
        mc_export = UIM.create('menu_controller',
                               mc_project.uid,
                               label=u"Export",
                               help=u"Export file")
        UIM.create(
            'menu_item_controller',
            mc_export.uid,
            label=u"LAS File",
            help=u'Export a LAS file from a well in current GriPy Project',
            callback='app.menu_functions.on_export_las')

        UIM.create('menu_item_controller',
                   mc_project.uid,
                   kind=wx.ITEM_SEPARATOR)
        UIM.create('menu_item_controller',
                   mc_project.uid,
                   label=u'Exit',
                   help=u'Exits GRIPy application.',
                   id=wx.ID_EXIT,
                   callback='app.menu_functions.on_exit')

        # Edit Menu
        """
        mc_partition = UIM.create('menu_controller', mc_edit.uid, 
                                      label=u"&Partition",
                                      help=u"Create / Edit Partition"
        )
        """
        mc_rocktable = UIM.create('menu_controller',
                                  mc_edit.uid,
                                  label=u"&Rock Table",
                                  help=u"Create / Edit RockTable")
        UIM.create('menu_item_controller',
                   mc_rocktable.uid,
                   label=u"New Rock Table",
                   help=u'New Rock Table',
                   callback='app.menu_functions.on_new_rocktable')
        UIM.create('menu_item_controller',
                   mc_rocktable.uid,
                   label=u"Edit Rock Table",
                   help=u'Edit Rock Table',
                   callback='app.menu_functions.on_edit_rocktable')

        UIM.create('menu_item_controller',
                   mc_edit.uid,
                   label=u'&Well Plot',
                   help=u'Well Plot',
                   callback='app.menu_functions.on_new_wellplot')
        UIM.create('menu_item_controller',
                   mc_edit.uid,
                   label=u'&Crossplot',
                   help=u'Crossplot',
                   callback='app.menu_functions.on_new_crossplot')
        #        UIM.create('menu_item_controller', mc_edit.uid,
        #                label=u'&Rock',
        #                help=u'Initialize rock model',
        #                callback='app.menu_functions.on_rock'
        #        )
        #        UIM.create('menu_item_controller', mc_edit.uid,
        #                label=u'&Fluid',
        #                help=u'Initialize fluid model',
        #                callback='app.menu_functions.on_fluid'
        #        )

        # Well Menu
        UIM.create('menu_item_controller',
                   mc_well.uid,
                   label=u"New well",
                   help=u"Create well",
                   callback='app.menu_functions.on_create_well')
        # Import Well
        mc_import_well = UIM.create('menu_controller',
                                    mc_well.uid,
                                    label=u"&Import Well")
        UIM.create('menu_item_controller',
                   mc_import_well.uid,
                   label=u"LAS File",
                   help=u'Import a LAS file to current GriPy Project',
                   callback='app.menu_functions.on_import_las')
        UIM.create('menu_item_controller',
                   mc_import_well.uid,
                   label=u"LIS File",
                   help=u'Import a LIS file to current GriPy Project',
                   callback='app.menu_functions.on_import_lis')

        UIM.create('menu_item_controller',
                   mc_import_well.uid,
                   label=u"DLIS File",
                   help=u'Import a DLIS file to current GriPy Project',
                   callback='app.menu_functions.on_import_dlis')
        UIM.create('menu_item_controller',
                   mc_import_well.uid,
                   label=u"ODT File",
                   help=u'Import a ODT file to current GriPy Project',
                   callback='app.menu_functions.on_import_odt')

        #
        UIM.create('menu_item_controller', mc_well.uid, kind=wx.ITEM_SEPARATOR)

        UIM.create('menu_item_controller',
                   mc_well.uid,
                   label=u"Create Synthetic Log",
                   callback='app.menu_functions.on_create_synthetic')
        """
        ### Trabalho Roseane
        UIM.create('menu_item_controller', mc_well.uid, 
                       kind=wx.ITEM_SEPARATOR
        )
        
        UIM.create('menu_item_controller', mc_well.uid, 
                label=u'PoroPerm Cross-Plot',
                callback='app.menu_functions.create_poro_perm_xplot'
        )           
        
        UIM.create('menu_item_controller', mc_well.uid, 
                label=u'Winland Cross-Plot',
                callback='app.menu_functions.create_winland_xplot'
        )        
        UIM.create('menu_item_controller', mc_well.uid, 
                label=u'Stratigraphic Modified lorenz Plot (SMLP)',
                callback='app.menu_functions.create_SMLP_xplot'
        )        
        UIM.create('menu_item_controller', mc_well.uid, 
                label=u'Modified lorenz Plot (MLP)',
                callback='app.menu_functions.create_MLP_xplot'
        )          
        UIM.create('menu_item_controller', mc_well.uid, 
                label=u'Depth vs Acumulated KH',
                callback='app.menu_functions.create_Depth_vs_kHAcum_xplot'
        )      
        ### FIM - Trabalho Roseane
        """
        """
        # Inference Menu
        UIM.create('menu_item_controller', mc_infer.uid, 
                label=u"Avo PP", 
                callback='app.menu_functions.teste6'
        )  
        UIM.create('menu_item_controller', mc_infer.uid, 
                label=u"Avo PP-PS", 
                callback='app.menu_functions.teste7'
        )  
        """

        # Interpretation Menu
        mc_specdecom = UIM.create(
            'menu_controller',
            mc_interp.uid,
            label=u"Spectral Decomposition",
            help=u"Spectral Decomposition",
        )
        UIM.create('menu_item_controller',
                   mc_specdecom.uid,
                   label=u"Continuous Wavelet Transform",
                   callback='app.menu_functions.on_cwt')
        mc_attributes = UIM.create(
            'menu_controller',
            mc_interp.uid,
            label=u"Attributes",
            help=u"Attributes",
        )
        UIM.create('menu_item_controller',
                   mc_attributes.uid,
                   label=u"Phase Rotation",
                   callback='app.menu_functions.on_phase_rotation')

        UIM.create('menu_item_controller',
                   mc_attributes.uid,
                   label=u"Hilbert Attributes",
                   callback='app.menu_functions.on_hilbert_attributes')

        # Modeling Menu
        UIM.create('menu_item_controller',
                   mc_model.uid,
                   label=u"Create 2/3 layers model",
                   callback='app.menu_functions.on_create_model')
        UIM.create('menu_item_controller',
                   mc_model.uid,
                   kind=wx.ITEM_SEPARATOR)
        UIM.create('menu_item_controller',
                   mc_model.uid,
                   label=u"Aki-Richards PP",
                   callback='app.menu_functions.on_akirichards_pp')
        UIM.create('menu_item_controller',
                   mc_model.uid,
                   label=u"Reflectivity Method",
                   callback='app.menu_functions.ReflectivityModel')
        # UIM.create('menu_item_controller', mc_model.uid,
        #               kind=wx.ITEM_SEPARATOR
        # )
        # UIM.create('menu_item_controller', mc_model.uid,
        #        label=u"Poisson ratio",
        #        callback='app.menu_functions.on_poisson_ratio'
        # )

        # Tools Menu
        UIM.create('menu_item_controller',
                   mc_tools.uid,
                   label="Coding Console",
                   help=u"Gripy Coding Console",
                   callback='app.menu_functions.on_coding_console')
        #
        """
        # Debug Menu
        UIM.create('menu_item_controller', mc_debug.uid, 
                label=u"Load Wilson Synthetics", 
                callback='app.menu_functions.on_load_wilson'
        )  
           
        UIM.create('menu_item_controller', mc_debug.uid, 
                label=u"Load Stack North Viking Data", 
                callback='app.menu_functions.teste10'
        )   
        UIM.create('menu_item_controller', mc_debug.uid, 
                label=u"Teste 11", 
                callback='app.menu_functions.teste11'
        ) 
     
        UIM.create('menu_item_controller', mc_debug.uid, 
                label=u'Calc Well Time from Depth curve', 
                callback='app.menu_functions.calc_well_time_from_depth'
        ) 
 
        UIM.create('menu_item_controller', mc_debug.uid, 
                       kind=wx.ITEM_SEPARATOR
        )
        
        UIM.create('menu_item_controller', mc_debug.uid, 
                label="Load Teste 2019", 
                callback='app.menu_functions.on_load_teste_2019'
        )  
        """

        # Fim Main Menu Bar

        # Object Manager TreeController
        UIM.create('tree_controller', mwc.uid)

        # Main ToolBar
        tbc = UIM.create('toolbar_controller', mwc.uid)
        UIM.create('toolbartool_controller',
                   tbc.uid,
                   label=u"New project",
                   bitmap='new_file-30.png',
                   help='New project',
                   long_help='Start a new Gripy project, closes existing',
                   callback='app.menu_functions.on_new')
        UIM.create('toolbartool_controller',
                   tbc.uid,
                   label=u"Abrir projeto",
                   bitmap='open_folder-30.png',
                   help='Abrir projeto',
                   long_help='Abrir projeto GriPy',
                   callback='app.menu_functions.on_open')
        UIM.create('toolbartool_controller',
                   tbc.uid,
                   label=u"Salvar projeto",
                   bitmap='save_close-30.png',
                   help='Salvar projeto',
                   long_help='Salvar projeto GriPy',
                   callback='app.menu_functions.on_save')
        UIM.create('toolbartool_controller',
                   tbc.uid,
                   label=u"Well Plot",
                   bitmap='oil_rig-30.png',
                   help='Well Plot',
                   long_help='Well Plot',
                   callback='app.menu_functions.on_new_wellplot')
        UIM.create('toolbartool_controller',
                   tbc.uid,
                   label=u"Crossplot",
                   bitmap='scatter_plot-30.png',
                   help='Crossplot',
                   long_help='Crossplot',
                   callback='app.menu_functions.on_new_crossplot')

        # StatusBar
        UIM.create('statusbar_controller', mwc.uid,
                   label='Bem vindo ao ' + \
                         app.gripy_app.GripyApp.Get()._gripy_app_state.get('app_display_name')
                   )
Beispiel #21
0
def get_main_window_controller():
    UIM = UIManager()
    mwc = UIM.list('main_window_controller')[0]
    return mwc
Beispiel #22
0
 def _on_choice_style(self, event):
     lib_name = event.GetString()
     UIM = UIManager()
     cc = UIM.list('canvas_plotter_controller', self._controller_uid)[0]
     cc.load_style(lib_name)
Beispiel #23
0
    def _create_selected_obj_menus(self, menu):
        self._ids_functions = {}
        selected_obj_menus = OrderedDict()
        UIM = UIManager()
        tcc = self._get_canvas_controller()
        tocs = UIM.list('track_object_controller', self._controller_uid)
        for toc in tocs:
            print(toc.uid)
            repr_ctrl = toc.get_representation()
            print(repr_ctrl)
            if repr_ctrl and \
                        repr_ctrl.tid == 'density_representation_controller':
                obj_submenu = wx.Menu()
                id_ = wx.NewId()
                obj_submenu.Append(id_, 'Show navigator')
                tcc.Bind(wx.EVT_MENU, self._object_menu_selection, id=id_)
                self._ids_functions[id_] = (self._data_navigator_helper,
                                            (toc.uid), {})
                selected_obj_menus[toc.get_data_object()] = obj_submenu
            elif toc.selected:
                obj = toc.get_data_object()
                if obj:
                    obj_submenu = wx.Menu()
                    #
                    funcs = FunctionManager.functions_available_for_class(
                        obj.__class__)
                    for func in funcs:

                        id_ = wx.NewId()
                        obj_submenu.Append(id_, func['friendly_name'])
                        tcc.Bind(wx.EVT_MENU,
                                 self._object_menu_selection,
                                 id=id_)
                        self._ids_functions[id_] = (func['function'], (obj), {
                            'toc': toc
                        })
                    #
                    obj_submenu.AppendSeparator()
                    id_ = wx.NewId()
                    obj_submenu.Append(id_, 'Remove from track')
                    tcc.Bind(wx.EVT_MENU, self._object_menu_selection, id=id_)
                    self._ids_functions[id_] = (self._remove_object_helper,
                                                (toc.uid), {})
                    #
                    obj_submenu.AppendSeparator()
                    id_ = wx.NewId()
                    obj_submenu.Append(id_, 'Properties')
                    tcc.Bind(wx.EVT_MENU, self._object_menu_selection, id=id_)
                    self._ids_functions[id_] = (self._properties_object_helper,
                                                (toc.uid), {})
                    #
                    obj_submenu.AppendSeparator()
                    id_ = wx.NewId()
                    obj_submenu.Append(id_, 'Delete object')
                    tcc.Bind(wx.EVT_MENU, self._object_menu_selection, id=id_)
                    self._ids_functions[id_] = (self._delete_object_helper,
                                                (obj.uid), {})
                    #
                    selected_obj_menus[obj] = obj_submenu

        if selected_obj_menus:
            for obj, obj_submenu in selected_obj_menus.items():
                menu.AppendSubMenu(obj_submenu, obj.get_friendly_name())
            menu.AppendSeparator()
Beispiel #24
0
 def get_canvas_plotter_controller(self):
     UIM = UIManager()
     return UIM.list('canvas_plotter_controller',
                     self._controller_uid)[0]
Beispiel #25
0
 def on_change_obj_uid(self, new_value, old_value):
     UIM = UIManager()
     pgc = UIM.list('property_grid_controller', parent_uid=self.uid)[0]
     pgc.obj_uid = new_value
Beispiel #26
0
 def _get_canvas_controller(self):
     """
     """
     UIM = UIManager()
     return UIM.list('track_canvas_controller', self._controller_uid)[0]