Пример #1
0
    def __init__(self,
                 master,
                 subFrame=None,
                 defSubFrame=None,
                 callFunc=None,
                 helpText=None,
                 helpURL=None,
                 **kargs):
        Tkinter.Frame.__init__(self, master, **kargs)
        RO.AddCallback.BaseMixin.__init__(self)
        RO.Wdg.CtxMenuMixin.__init__(
            self,
            helpURL=helpURL,
        )

        self.currRectCoords = []

        self.binFac = SubFrame.binFacAsArr(1)

        self.fullSize = None
        self.widthOverHeight = None
        self.redrawingRect = False

        self.subFrame = None
        self.defSubFrame = None

        self.subResRect = None  # None or an RO.Wdg.ResizableRect
        self.defRectID = None  # None or ID of a canvas rectangle

        cnvHeight = kargs.get("height", 100) - \
            2 * (self["borderwidth"] + self["highlightthickness"])

        self.cnv = Tkinter.Canvas(
            self,
            height=cnvHeight,
            width=1,  # start with this dimension and correct for image size
            selectborderwidth=0,
            highlightthickness=0,
            borderwidth=0,
        )
        self.cnv.pack(expand=True, fill="both")
        self.cnv.bind("<Configure>", self._setCnvSize)
        self.cnv.bind("<Map>", self._setCnvSize)
        if helpText:
            self.cnv.helpText = helpText

        if subFrame:
            self.setSubFrame(subFrame)

        if defSubFrame:
            self.setDefSubFrame(defSubFrame)

        if callFunc:
            self.addCallback(callFunc)
Пример #2
0
    def __init__(self,
        master,
        subFrame = None,
        defSubFrame = None,
        callFunc = None,
        helpText = None,
        helpURL = None,
    **kargs):
        Tkinter.Frame.__init__(self, master, **kargs)
        RO.AddCallback.BaseMixin.__init__(self)
        RO.Wdg.CtxMenuMixin.__init__(self,
            helpURL = helpURL,
        )
        
        self.currRectCoords = []
        
        self.binFac = SubFrame.binFacAsArr(1)
    
        self.fullSize = None
        self.widthOverHeight = None
        self.redrawingRect = False
        
        self.subFrame = None
        self.defSubFrame = None

        self.subResRect = None # None or an RO.Wdg.ResizableRect
        self.defRectID = None # None or ID of a canvas rectangle
        
        cnvHeight = kargs.get("height", 100) - \
            2 * (self["borderwidth"] + self["highlightthickness"])
        
        self.cnv = Tkinter.Canvas(
            self,
            height = cnvHeight,
            width = 1, # start with this dimension and correct for image size
            selectborderwidth = 0,
            highlightthickness = 0,
            borderwidth = 0,
        )
        self.cnv.pack(expand = True, fill = "both") 
        self.cnv.bind("<Configure>", self._setCnvSize)
        self.cnv.bind("<Map>", self._setCnvSize)
        if helpText:
            self.cnv.helpText = helpText

        if subFrame:
            self.setSubFrame(subFrame)

        if defSubFrame:
            self.setDefSubFrame(defSubFrame)
        
        if callFunc:
            self.addCallback(callFunc)
Пример #3
0
 def setBinFac(self, binFac):
     """Set bin factor.
     """
     self.binFac = SubFrame.binFacAsArr(binFac)
     self.update()
Пример #4
0
        self._redrawRects()


if __name__ == "__main__":
    root = Tkinter.Tk()

    def printSubFrame(sf):
        if not sf.subFrame:
            return
        subBeg, subSize = sf.subFrame.getSubBegSize()
        print "subBeg=%s, %s; subSize=%s, %s" % (subBeg[0], subBeg[1],
                                                 subSize[0], subSize[1])

    subFrame = SubFrame.SubFrame(
        fullSize=(512, 512),
        subBeg=(128, 128),
        subSize=(256, 256),
    )

    sfw = SubFrameWdg(
        master=root,
        subFrame=subFrame,
        defSubFrame=subFrame,
        helpText="Sample SubFrame Wdg",
        callFunc=printSubFrame,
        width=200,
        height=200,
        borderwidth=2,
        relief="solid",
    )
    sfw.grid(row=0, column=0, sticky="ns")
Пример #5
0
 def setBinFac(self, binFac):
     """Set bin factor.
     """
     self.binFac = SubFrame.binFacAsArr(binFac)
     self.update()