Esempio n. 1
0
    def dragdone(self, a, evt):
        axes = a.axes
        x, y = self._eval_xy()
        dxd, dyd = self._drag_delta

        if (evt.xdata is not None and evt.ydata is not None):
            i = 0
            xdata = []
            ydata = []
            for x0 in nd_iter(x):
                xd, void = transform_point(axes.transData, x0, evt.ydata)
                x1, void = transform_point(axes.transData.inverted(), xd + dxd,
                                           void)
                xdata.append(x1)
                i = i + 1
            for y0 in nd_iter(y):
                void, yd = transform_point(axes.transData, evt.xdata, y0)
                void, y1 = transform_point(axes.transData.inverted(), void,
                                           yd + dyd)
                ydata.append(y1)

                i = i + 1
        else:
            xdata = x
            ydata = y

        action = UndoRedoFigobjMethod(self._artists[0], 'data',
                                      (np.array(xdata), np.array(ydata)))
        window = evt.guiEvent.GetEventObject().GetTopLevelParent()
        GlobalHistory().get_history(window).make_entry([action])
        return 1
Esempio n. 2
0
    def drag(self, a, evt):
        if evt.inaxes is None: return 0
        if evt.xdata is None: return

        axes = a.axes
        x, y = self._eval_xy()
        dxd = evt.x - self._drag_backup[2]
        dyd = evt.y - self._drag_backup[3]

        if (evt.guiEvent.ShiftDown()):
            if abs(dxd) > 2 * abs(dyd):
                dyd = 0
            elif abs(dyd) > 2 * abs(dxd):
                dxd = 0
        i = 0
        for x0 in nd_iter(x):
            xd, void = transform_point(axes.transData, x0, evt.ydata)
            x1, void = transform_point(axes.transData.inverted(), xd + dxd,
                                       void)
            self._artists[i].set_xdata([x1, x1])
            i = i + 1
        for y0 in nd_iter(y):
            void, yd = transform_point(axes.transData, evt.xdata, y0)
            void, y1 = transform_point(axes.transData.inverted(), void,
                                       yd + dyd)

            self._artists[i].set_ydata([y1, y1])
            i = i + 1
        self._drag_delta = (dxd, dyd)
        return 1
Esempio n. 3
0
    def highlight_artist(self, val, artist=None):
        if artist is None:
            alist = self._artists
        else:
            alist = artist
        container = self.get_container()
        #        container=self._parent._artists[0]
        if val == True:
            hl = []
            x, y = self._eval_xy()

            for x1 in nd_iter(x):
                hl.append(
                    container.axvline(x1,
                                      marker='s',
                                      color='k',
                                      linestyle='None',
                                      markeredgewidth=0.5,
                                      markerfacecolor='None'))
            for y1 in nd_iter(y):
                hl.append(
                    container.axhline(y1,
                                      marker='s',
                                      color='k',
                                      linestyle='None',
                                      markeredgewidth=0.5,
                                      markerfacecolor='None'))
            for a in alist:
                a.figobj_hl += hl
        else:
            for a in self._artists:
                for hl in a.figobj_hl:
                    if hl in container.lines: container.lines.remove(hl)
                a.figobj_hl = []
Esempio n. 4
0
    def dragdone(self, a, evt):
        axes = a.axes
        x, y = self._eval_xy()
        dxd, dyd = self._drag_delta
   
        if (evt.xdata is not  None and
            evt.ydata is not None):
            i = 0
            xdata = []
            ydata = []
            for x0 in nd_iter(x):
                xd, void= transform_point(axes.transData,
                                          x0, evt.ydata)
                x1, void= transform_point(axes.transData.inverted(),
                                          xd+dxd, void)
                xdata.append(x1)
                i = i+1
            for y0 in nd_iter(y):
                void, yd= transform_point(axes.transData,
                                          evt.xdata, y0)
                void, y1= transform_point(axes.transData.inverted(),
                                          void, yd+dyd)
                ydata.append(y1)

                i = i+1
        else:
            xdata = x
            ydata = y

        action = UndoRedoFigobjMethod(self._artists[0], 
                                      'data', 
                                      (np.array(xdata), np.array(ydata)))
        window = evt.guiEvent.GetEventObject().GetTopLevelParent()
        GlobalHistory().get_history(window).make_entry([action])
        return 1
Esempio n. 5
0
    def drag(self, a, evt):
        if evt.inaxes is None: return 0
        if evt.xdata is None:return

        axes = a.axes
        x, y = self._eval_xy()
        dxd = evt.x - self._drag_backup[2]
        dyd = evt.y - self._drag_backup[3]
  
        if (evt.guiEvent.ShiftDown()):
           if abs(dxd) > 2*abs(dyd): 
               dyd = 0
           elif abs(dyd) > 2*abs(dxd): 
               dxd = 0
        i = 0
        for x0 in nd_iter(x):
            xd, void= transform_point(axes.transData,
                                      x0, evt.ydata)
            x1, void= transform_point(axes.transData.inverted(),
                                      xd+dxd, void)
            self._artists[i].set_xdata([x1, x1])
            i = i+1
        for y0 in nd_iter(y):
            void, yd= transform_point(axes.transData,
                                      evt.xdata, y0)
            void, y1= transform_point(axes.transData.inverted(),
                                      void, yd+dyd)

            self._artists[i].set_ydata([y1, y1])
            i = i+1
        self._drag_delta = (dxd, dyd)
        return 1
Esempio n. 6
0
    def highlight_artist(self, val, artist=None):
        if artist is None:
             alist=self._artists
        else:
             alist=artist
        container=self.get_container()
#        container=self._parent._artists[0]
        if val == True:
            hl = []
            x, y  = self._eval_xy()


            for x1 in nd_iter(x):
                    hl.append(container.axvline(x1,  marker='s', 
                                 color='k', linestyle='None',
                                 markeredgewidth = 0.5,
                                 markerfacecolor='None'))
            for y1 in nd_iter(y):
                    hl.append(container.axhline(y1,  marker='s', 
                                 color='k', linestyle='None',
                                 markeredgewidth = 0.5,
                                 markerfacecolor='None'))
            for a in alist:
                 a.figobj_hl += hl
        else:
           for a in self._artists:
              for hl in a.figobj_hl:
                 if hl in container.lines: container.lines.remove(hl)
              a.figobj_hl=[]