Exemplo n.º 1
0
    def __init__(self, x_region=None, y_region=None):

        if (x_region is None):
            x_region = Region1D()

        if (y_region is None):
            y_region = Region1D()

        self.x_region = x_region
        self.y_region = y_region
Exemplo n.º 2
0
    def update_world_region():

        (w0, w1) = r.world_region
        w0 = w0 - 1
        w1 = w1 + 1
        print 'update_world_region1', w0, w1
        wr = Region1D(w0, w1)
        print 'update_world_region2', wr
        r.setWorldRegion(wr)
Exemplo n.º 3
0
    def __init__(self,
                 parent,
                 world_region=None,
                 view_region=None,
                 callback=None,
                 text_decimals=2,
                 min_thickness=None,
                 *args,
                 **kw):

        if (world_region is None):
            world_region = Region1D()

        if (view_region is None):
            view_region = Region1D()

        (w0, w1) = world_region
        assert w0 != w1, 'w0 = w1 = %s' % w0

        (v0, v1) = view_region
        assert v0 != v1, 'v0 = v1 = %s' % v0

        if (w0 < w1):
            assert w0 <= v0 and v0 < v1 and v1 <= w1, 'w0 = %s, w1 = %s, v0 = %s, v1 = %s' % (
                w0, w1, v0, v1)
        else:
            assert w0 >= v0 and v0 > v1 and v1 >= w1, 'w0 = %s, w1 = %s, v0 = %s, v1 = %s' % (
                w0, w1, v0, v1)

        self.world_region = world_region
        self.view_region = view_region
        self.myCallback = callback
        self.text_decimals = text_decimals

        kw['text_func'] = self.determineText
        Scrollbar.__init__(self, parent, *args, **kw)

        self.setMinThickness(min_thickness)
        self.setViewRegion(v0, v1, do_callback=True)
Exemplo n.º 4
0
    def setWorldRegion(self, world_region):

        (v0, v1) = self.view_region
        (w0, w1) = world_region
        (ww0, ww1) = self.world_region
        if (w0 == ww0 and w1 == ww1):
            return
        if (w0 < w1):
            w0 = min(w0, v0)
            w1 = max(w1, v1)
        else:
            w0 = max(w0, v0)
            w1 = min(w1, v1)
        self.world_region = Region1D(w0, w1)
        self.setViewRegion(v0, v1, do_callback=True)
Exemplo n.º 5
0
        if (not view_region):
            view_region = self.region_scrollbar.view_region
        (v0, v1) = view_region
        x = 0.5 * (v0 + v1)
        s = formatDecimals(x, decimals=self.text_decimals)
        self.entry.set(s)

    def __getattr__(self, name):

        # dispatch everything not defined by RegionSelector to scrollbar widget

        try:
            return getattr(self.__dict__['region_scrollbar'], name)
        except:
            raise AttributeError, "RegionSelector instance has no attribute '%s'" % name


if __name__ == '__main__':

    from memops.universal.Region1D import Region1D

    root = Tkinter.Tk()

    wr = Region1D(20.0, -4.0)
    vr = Region1D(7.2, 6.5)

    r = RegionSelector(root, label='1H', world_region=wr, view_region=vr)
    r.pack(fill=Tkinter.BOTH, expand=Tkinter.YES)

    root.mainloop()
Exemplo n.º 6
0
        (v0, v1) = self.view_region
        t0 = formatDecimals(v0, self.text_decimals)
        t1 = formatDecimals(v1, self.text_decimals)

        return (t0, t1)


if __name__ == '__main__':

    def callback(view_region):
        print 'callback', view_region

    root = Tkinter.Tk()

    wr = Region1D(-0.5, 1.5)
    vr = Region1D(0.2, 0.5)

    r = RegionScrollbar(root,
                        world_region=wr,
                        view_region=vr,
                        callback=callback,
                        allow_resize=True,
                        show_text=True)
    r.pack(fill=Tkinter.BOTH, expand=Tkinter.YES)

    def update_world_region():

        (w0, w1) = r.world_region
        w0 = w0 - 1
        w1 = w1 + 1