Beispiel #1
0
    def makewidgets(self):
        self.actionbuttons = Frame(self)
        self.actionbuttons.pack(side=TOP, expand=NO, fill=X)
        Button(self.actionbuttons, text='New', command=self.onnew).pack(side=LEFT)
        Button(self.actionbuttons, text='Load', command=self.onload).pack(side=LEFT)
        Button(self.actionbuttons, text='Save', command=self.onsave).pack(side=LEFT)
        Button(self.actionbuttons, text='Find', command=self.onfind).pack(side=LEFT)

        self.scrolltext = ScrollText(self)
Beispiel #2
0
class MinimalEdit(Tk):
    def __init__(self):
        Tk.__init__(self)
        self.title("MinimalEdit")

        self.isMinimal = False
        self.prevGeometry = None
        
        self.makewidgets()

        self.protocol("WM_DELETE_WINDOW", self.onquit)

    def makewidgets(self):
        self.actionbuttons = Frame(self)
        self.actionbuttons.pack(side=TOP, expand=NO, fill=X)
        Button(self.actionbuttons, text='New', command=self.onnew).pack(side=LEFT)
        Button(self.actionbuttons, text='Load', command=self.onload).pack(side=LEFT)
        Button(self.actionbuttons, text='Save', command=self.onsave).pack(side=LEFT)
        Button(self.actionbuttons, text='Find', command=self.onfind).pack(side=LEFT)

        self.scrolltext = ScrollText(self)

    def onquit(self):
        ans = askokcancel("Verify exit", "Really quit?")
        if ans:
            self.quit()

    def onnew(self):
        ans = askokcancel("Verify new file", "Really start a new file?")
        if ans:
            self.scrolltext.settext(text='')

    def onload(self):
        filename = askopenfilename()
        if filename:
            f = open(filename, 'r')
            alltext = f.read()
            self.scrolltext.settext(alltext)
            f.close()

    def onsave(self):
        filename = asksaveasfilename()
        if filename:
            alltext = self.scrolltext.gettext()
            f = open(filename, 'w') 
            f.write(alltext)
            f.close()

    def onfind(self):
        target = askstring('Search String', '')
        if target:
            self.scrolltext.findtext(target)

    def setfullscreen(self):
        self.overrideredirect(True)
        self.geometry("{0}x{1}+0+0".format(self.winfo_screenwidth(), self.winfo_screenheight()))

    def storegeometry(self):
        pg = re.split(r"x|\+", self.geometry())
        self.prevGeometry = tuple(pg)

    def restoreprevgeometry(self):
        self.overrideredirect(False)
        if self.prevGeometry:
            self.geometry("{0[0]}x{0[1]}+{0[2]}+{0[3]}".format(self.prevGeometry))

    def toggleminimal(self):
        if self.isMinimal == False:
            self.isMinimal = True

            self.storegeometry()

            self.setfullscreen()

            self.actionbuttons.pack_forget()
            self.scrolltext.toggleminimal()

        else:
            self.isMinimal = False

            self.restoreprevgeometry()

            self.actionbuttons.pack(side=TOP, expand=NO, fill=X)
            self.scrolltext.toggleminimal()