summaryrefslogtreecommitdiffstats
path: root/Lib/idlelib/configDialog.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/idlelib/configDialog.py')
-rw-r--r--Lib/idlelib/configDialog.py228
1 files changed, 114 insertions, 114 deletions
diff --git a/Lib/idlelib/configDialog.py b/Lib/idlelib/configDialog.py
index f46f95f..e290aa5 100644
--- a/Lib/idlelib/configDialog.py
+++ b/Lib/idlelib/configDialog.py
@@ -11,128 +11,128 @@ from Tkinter import *
import tkMessageBox
class ConfigDialog(Toplevel):
- """
- configuration dialog for idle
- """
- def __init__(self,parent,title,configDict):
"""
- configDict - dictionary of configuration items
- """
- Toplevel.__init__(self, parent)
- self.configure(borderwidth=5)
- self.geometry("+%d+%d" % (parent.winfo_rootx()+20,
- parent.winfo_rooty()+30))
- self.config=configDict
- #elguavas - config placeholders til config stuff completed
- self.bg=self.cget('bg')
- self.fg=None
- #no ugly bold default text font on *nix
- self.textFont=tuple(Label().cget('font').split())[0:2]+('normal',)
+ configuration dialog for idle
+ """
+ def __init__(self,parent,title,configDict):
+ """
+ configDict - dictionary of configuration items
+ """
+ Toplevel.__init__(self, parent)
+ self.configure(borderwidth=5)
+ self.geometry("+%d+%d" % (parent.winfo_rootx()+20,
+ parent.winfo_rooty()+30))
+ self.config=configDict
+ #elguavas - config placeholders til config stuff completed
+ self.bg=self.cget('bg')
+ self.fg=None
+ #no ugly bold default text font on *nix
+ self.textFont=tuple(Label().cget('font').split())[0:2]+('normal',)
- self.CreateWidgets()
- self.resizable(height=FALSE,width=FALSE)
- self.ChangePage()
- self.transient(parent)
- self.grab_set()
- self.protocol("WM_DELETE_WINDOW", self.Cancel)
- self.parent = parent
- self.framePages.focus_set()
- #key bindings for this dialog
+ self.CreateWidgets()
+ self.resizable(height=FALSE,width=FALSE)
+ self.ChangePage()
+ self.transient(parent)
+ self.grab_set()
+ self.protocol("WM_DELETE_WINDOW", self.Cancel)
+ self.parent = parent
+ self.framePages.focus_set()
+ #key bindings for this dialog
# self.bind('<Return>',self.Ok) #dismiss dialog
- self.bind('<Escape>',self.CancelBinding) #dismiss dialog, no save
- self.bind('<Alt-s>',self.SaveBinding) #dismiss dialog, save
- self.bind('<Alt-r>',self.RevertBinding) #revert to defaults
- self.bind('<Alt-f>',self.ChangePageBinding)
- self.bind('<Alt-c>',self.ChangePageBinding)
- self.bind('<Alt-k>',self.ChangePageBinding)
- self.bind('<Alt-g>',self.ChangePageBinding)
- self.wait_window()
-
- def Cancel(self):
- self.destroy()
+ self.bind('<Escape>',self.CancelBinding) #dismiss dialog, no save
+ self.bind('<Alt-s>',self.SaveBinding) #dismiss dialog, save
+ self.bind('<Alt-r>',self.RevertBinding) #revert to defaults
+ self.bind('<Alt-f>',self.ChangePageBinding)
+ self.bind('<Alt-c>',self.ChangePageBinding)
+ self.bind('<Alt-k>',self.ChangePageBinding)
+ self.bind('<Alt-g>',self.ChangePageBinding)
+ self.wait_window()
+
+ def Cancel(self):
+ self.destroy()
- def Save(self):
- pass
+ def Save(self):
+ pass
- def Revert(self):
- pass
+ def Revert(self):
+ pass
- def ChangePage(self):
- self.pages[self.pageNum.get()].lift()
- self.title('Settings - '+self.pageButtons[self.pageNum.get()].cget('text'))
+ def ChangePage(self):
+ self.pages[self.pageNum.get()].lift()
+ self.title('Settings - '+self.pageButtons[self.pageNum.get()].cget('text'))
- def CancelBinding(self,event):
- self.Cancel()
-
- def SaveBinding(self,event):
- self.Save()
-
- def RevertBinding(self,event):
- self.Revert()
-
- def ChangePageBinding(self,event):
- pageKeys=('f','c','k','g')
- pos=0
- for key in pageKeys:
- if event.char == key:
- self.pageNum.set(pos)
- self.ChangePage()
- return
- pos=pos+1
-
- def CreateWidgets(self):
- self.framePages = Frame(self,borderwidth=2,relief=SUNKEN)
- frameActionButtons = Frame(self)
- framePageButtons = Frame(self.framePages,borderwidth=1,relief=SUNKEN)
- #action buttons
- self.buttonRevert = Button(frameActionButtons,text='Revert',
- command=self.Revert,underline=0,takefocus=FALSE)
- self.buttonSave = Button(frameActionButtons,text='Save',
- command=self.Save,underline=0,takefocus=FALSE)
- self.buttonCancel = Button(frameActionButtons,text='Cancel',
- command=self.Cancel,takefocus=FALSE)
- #page buttons
- self.pageNum=IntVar()
- self.pageNum.set(0)
- buttonPageFonts = Radiobutton(framePageButtons,value=0,text='Fonts')
- buttonPageColours = Radiobutton(framePageButtons,value=1,text='Colours')
- buttonPageKeys = Radiobutton(framePageButtons,value=2,text='Keys')
- buttonPageGeneral = Radiobutton(framePageButtons,value=3,text='General')
- self.pageButtons=(buttonPageFonts,buttonPageColours,
- buttonPageKeys,buttonPageGeneral)
- for button in self.pageButtons:
- button.config(command=self.ChangePage,underline=0,takefocus=FALSE,
- indicatoron=FALSE,highlightthickness=0,variable=self.pageNum,
- selectcolor=self.bg,borderwidth=1)
- button.pack(side=LEFT)
- #pages
- framePageFonts=Frame(self.framePages)
- framePageColours=Frame(self.framePages)
- framePageKeys=Frame(self.framePages)
- framePageGeneral=Frame(self.framePages)
- self.pages=(framePageFonts,framePageColours,framePageKeys,framePageGeneral)
- #pageFonts
- Button(framePageFonts,text='fonts page test').pack(padx=30,pady=30)
- #pageColours
- Button(framePageColours,text='colours page test').pack(padx=60,pady=60)
- #pageKeys
- Button(framePageKeys,text='keys page test').pack(padx=90,pady=90)
- #pageGeneral
- Button(framePageGeneral,text='general page test').pack(padx=110,pady=110)
+ def CancelBinding(self,event):
+ self.Cancel()
+
+ def SaveBinding(self,event):
+ self.Save()
- #grid in framePages so we can overlap pages
- framePageButtons.grid(row=0,column=0,sticky=W)
- for page in self.pages: page.grid(row=1,column=0,sticky=(N,S,E,W))
+ def RevertBinding(self,event):
+ self.Revert()
- self.buttonRevert.pack(side=LEFT,padx=5,pady=5)
- self.buttonSave.pack(side=LEFT,padx=5,pady=5)
- self.buttonCancel.pack(side=LEFT,padx=5,pady=5)
- frameActionButtons.pack(side=BOTTOM)
- self.framePages.pack(side=TOP,expand=TRUE,fill=BOTH)
+ def ChangePageBinding(self,event):
+ pageKeys=('f','c','k','g')
+ pos=0
+ for key in pageKeys:
+ if event.char == key:
+ self.pageNum.set(pos)
+ self.ChangePage()
+ return
+ pos=pos+1
+ def CreateWidgets(self):
+ self.framePages = Frame(self,borderwidth=2,relief=SUNKEN)
+ frameActionButtons = Frame(self)
+ framePageButtons = Frame(self.framePages,borderwidth=1,relief=SUNKEN)
+ #action buttons
+ self.buttonRevert = Button(frameActionButtons,text='Revert',
+ command=self.Revert,underline=0,takefocus=FALSE)
+ self.buttonSave = Button(frameActionButtons,text='Save',
+ command=self.Save,underline=0,takefocus=FALSE)
+ self.buttonCancel = Button(frameActionButtons,text='Cancel',
+ command=self.Cancel,takefocus=FALSE)
+ #page buttons
+ self.pageNum=IntVar()
+ self.pageNum.set(0)
+ buttonPageFonts = Radiobutton(framePageButtons,value=0,text='Fonts')
+ buttonPageColours = Radiobutton(framePageButtons,value=1,text='Colours')
+ buttonPageKeys = Radiobutton(framePageButtons,value=2,text='Keys')
+ buttonPageGeneral = Radiobutton(framePageButtons,value=3,text='General')
+ self.pageButtons=(buttonPageFonts,buttonPageColours,
+ buttonPageKeys,buttonPageGeneral)
+ for button in self.pageButtons:
+ button.config(command=self.ChangePage,underline=0,takefocus=FALSE,
+ indicatoron=FALSE,highlightthickness=0,variable=self.pageNum,
+ selectcolor=self.bg,borderwidth=1)
+ button.pack(side=LEFT)
+ #pages
+ framePageFonts=Frame(self.framePages)
+ framePageColours=Frame(self.framePages)
+ framePageKeys=Frame(self.framePages)
+ framePageGeneral=Frame(self.framePages)
+ self.pages=(framePageFonts,framePageColours,framePageKeys,framePageGeneral)
+ #pageFonts
+ Button(framePageFonts,text='fonts page test').pack(padx=30,pady=30)
+ #pageColours
+ Button(framePageColours,text='colours page test').pack(padx=60,pady=60)
+ #pageKeys
+ Button(framePageKeys,text='keys page test').pack(padx=90,pady=90)
+ #pageGeneral
+ Button(framePageGeneral,text='general page test').pack(padx=110,pady=110)
+
+ #grid in framePages so we can overlap pages
+ framePageButtons.grid(row=0,column=0,sticky=W)
+ for page in self.pages: page.grid(row=1,column=0,sticky=(N,S,E,W))
+
+ self.buttonRevert.pack(side=LEFT,padx=5,pady=5)
+ self.buttonSave.pack(side=LEFT,padx=5,pady=5)
+ self.buttonCancel.pack(side=LEFT,padx=5,pady=5)
+ frameActionButtons.pack(side=BOTTOM)
+ self.framePages.pack(side=TOP,expand=TRUE,fill=BOTH)
+
if __name__ == '__main__':
- #test the dialog
- root=Tk()
- Button(root,text='Dialog',
- command=lambda:ConfigDialog(root,'Settings',None)).pack()
- root.mainloop()
+ #test the dialog
+ root=Tk()
+ Button(root,text='Dialog',
+ command=lambda:ConfigDialog(root,'Settings',None)).pack()
+ root.mainloop()