[Idle-dev] CVS: idle aboutDialog.py,1.1,1.2

Stephen elguavas@users.sourceforge.net
Tue, 31 Jul 2001 03:44:37 -0700


Update of /cvsroot/idlefork/idle
In directory usw-pr-cvs1:/tmp/cvs-serv1788

Modified Files:
	aboutDialog.py 
Log Message:
improve viewfile handling
indentation style changed to match existing source


Index: aboutDialog.py
===================================================================
RCS file: /cvsroot/idlefork/idle/aboutDialog.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** aboutDialog.py	2001/07/31 06:58:43	1.1
--- aboutDialog.py	2001/07/31 10:44:35	1.2
***************
*** 9,133 ****
  """
  from Tkinter import *
! import string
  import textView
  import idlever
  class AboutDialog(Toplevel):
!   """
!   modal about dialog for idle
!   """ 
!   def __init__(self,parent,title):
!     Toplevel.__init__(self, parent)
!     self.configure(borderwidth=5)
!     self.geometry("+%d+%d" % (parent.winfo_rootx()+30,
!         parent.winfo_rooty()+30))
!     #elguavas - config placeholders til config stuff completed
!     self.bg="#555555"
!     self.fg="#ffffff"
!     #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.title(title)
!     self.transient(parent)
!     self.grab_set()
!     self.protocol("WM_DELETE_WINDOW", self.Ok)
!     self.parent = parent
!     self.buttonOk.focus_set()
!     #key bindings for this dialog
!     self.bind('<Alt-c>',self.CreditsButtonBinding) #credits button
!     #self.bind('<Alt-l>',self.LicenseButtonBinding) #license button
!     self.bind('<Alt-r>',self.LicenseButtonBinding) #readme button
!     self.bind('<Return>',self.Ok) #dismiss dialog
!     self.bind('<Escape>',self.Ok) #dismiss dialog
!     self.wait_window()
!     
!   def CreateWidgets(self):
!     frameMain = Frame(self,borderwidth=2,relief=SUNKEN)
!     frameButtons = Frame(self)
!     frameButtons.pack(side=BOTTOM,fill=X)
!     frameMain.pack(side=TOP,expand=TRUE,fill=BOTH)
!     self.buttonOk = Button(frameButtons,text='Ok',
!         command=self.Ok)#,default=ACTIVE
!     self.buttonOk.pack(padx=5,pady=5)
!     #self.picture = Image('photo',data=self.pictureData)
!     frameBg = Frame(frameMain,bg=self.bg)
!     frameBg.pack(expand=TRUE,fill=BOTH)
!     labelTitle = Label(frameBg,text='IDLEfork',fg=self.fg,bg=self.bg,
!         font=('courier', 24, 'bold'))
!     labelTitle.grid(row=0,column=0,sticky=W,padx=10,pady=10)
!     #labelPicture = Label(frameBg,text='[picture]')
!     #image=self.picture,bg=self.bg)
!     #labelPicture.grid(row=0,column=1,sticky=W,rowspan=2,padx=0,pady=3)
!     labelVersion = Label(frameBg,text='version  '+idlever.IDLE_VERSION,
!         fg=self.fg,bg=self.bg,font=self.textFont)
!     labelVersion.grid(row=1,column=0,sticky=W,padx=10,pady=5)
!     labelCopyright = Label(frameBg,
!         text="A development version of Python's lightweight\n"+
!         'Integrated DeveLopment Environment, IDLE.',
!         justify=LEFT,fg=self.fg,bg=self.bg,font=self.textFont)
!     labelCopyright.grid(row=2,column=0,sticky=W,columnspan=3,padx=10,pady=5)
!     labelLicense = Label(frameBg,
!         text='Licenced under the Python 2.1.1 PSF Licence\n'+
!         '(a GPL compatible licence with extra freedoms)',
!         justify=LEFT,fg=self.fg,bg=self.bg,font=self.textFont)
!     labelLicense.grid(row=3,column=0,sticky=W,columnspan=3,padx=10,pady=5)
!     framePad = Frame(frameBg,height=5,bg=self.bg).grid(row=4,column=0)
!     labelEmail = Label(frameBg,text='email:  idle-dev@python.org',
!         justify=LEFT,fg=self.fg,bg=self.bg,font=self.textFont)
!     labelEmail.grid(row=5,column=0,columnspan=2,sticky=W,padx=10,pady=0)
!     labelWWW = Label(frameBg,text='www:  http://idlefork.sourceforge.net',
!         justify=LEFT,fg=self.fg,bg=self.bg,font=self.textFont)
!     labelWWW.grid(row=6,column=0,columnspan=2,sticky=W,padx=10,pady=0)
!     frameDivider = Frame(frameBg,borderwidth=1,relief=SUNKEN,
!         height=2,bg=self.bg).grid(row=7,column=0,sticky=(E,W),columnspan=3,
!         padx=5,pady=5)
!     labelPythonVer = Label(frameBg,text='Python version:  '+
!         sys.version.split()[0],fg=self.fg,bg=self.bg,font=self.textFont)
!     labelPythonVer.grid(row=8,column=0,sticky=W,padx=10,pady=0)
!     #handle weird tk version num in windoze python >= 1.6 (?!?)
!     tkVer = `TkVersion`.split('.')
!     tkVer[len(tkVer)-1] = str('%.3g' % (float('.'+tkVer[len(tkVer)-1])))[2:]
!     if tkVer[len(tkVer)-1] == '': 
!       tkVer[len(tkVer)-1] = '0'
!     tkVer = string.join(tkVer,'.')
!     labelTkVer = Label(frameBg,text='Tk version:  '+tkVer,fg=self.fg,bg=self.bg,
!         font=self.textFont)
!     labelTkVer.grid(row=8,column=1,sticky=W,padx=2,pady=0)
!     #labelOs = Label(frameBg,text='python os name: '+pyching.os,
!     #       font=self.fontText,fg=self.fg,bg=self.bg)
!     #labelOs.grid(row=6,column=0,sticky=W,padx=10,pady=0)
!     #labelOsType = Label(frameBg,text='python os type: '+pyching.osType,
!     #       font=self.fontText,fg=self.fg,bg=self.bg)
!     #labelOsType.grid(row=6,column=1,sticky=W,padx=5,pady=0)
!     #framePad = Frame(frameBg,bg=self.bg,height=5).grid(row=7,column=0)
! 
!     self.buttonLicense = Button(frameBg,text='View Readme',underline=5,
!         width=14,highlightbackground=self.bg,command=self.ShowLicense)#takefocus=FALSE
!     self.buttonLicense.grid(row=9,column=0,sticky=W,padx=10,pady=10)
!     self.buttonCredits = Button(frameBg,text='View Credits',underline=5,
!         width=14,highlightbackground=self.bg,command=self.ShowCredits)#takefocus=FALSE
!     self.buttonCredits.grid(row=9,column=1,columnspan=2,sticky=E,padx=10,pady=10)
! 
!   def CreditsButtonBinding(self,event):
!     self.buttonCredits.invoke()
! 
!   def LicenseButtonBinding(self,event):
!     self.buttonLicense.invoke()
! 
!   def ShowLicense(self):
!     textView.TextViewer(self,title='About - Readme',
!           fileName='./README.txt')
!     
!   def ShowCredits(self):
!     textView.TextViewer(self,title='About - Credits',
!           fileName='./CREDITS.txt')
!     
!   def Ok(self, event=None):
!     self.destroy()
  
  if __name__ == '__main__':
!   #test the dialog
!   root=Tk()
!   Button(root,text='About',command=lambda:AboutDialog(root,'About')).pack()
!   root.mainloop()
--- 9,138 ----
  """
  from Tkinter import *
! import string, os
  import textView
  import idlever
  class AboutDialog(Toplevel):
!     """
!     modal about dialog for idle
!     """ 
!     def __init__(self,parent,title):
!         Toplevel.__init__(self, parent)
!         self.configure(borderwidth=5)
!         self.geometry("+%d+%d" % (parent.winfo_rootx()+30,
!                 parent.winfo_rooty()+30))
!         #elguavas - config placeholders til config stuff completed
!         self.bg="#555555"
!         self.fg="#ffffff"
!         #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.title(title)
!         self.transient(parent)
!         self.grab_set()
!         self.protocol("WM_DELETE_WINDOW", self.Ok)
!         self.parent = parent
!         self.buttonOk.focus_set()
!         #key bindings for this dialog
!         self.bind('<Alt-c>',self.CreditsButtonBinding) #credits button
!         #self.bind('<Alt-l>',self.LicenseButtonBinding) #license button
!         self.bind('<Alt-r>',self.LicenseButtonBinding) #readme button
!         self.bind('<Return>',self.Ok) #dismiss dialog
!         self.bind('<Escape>',self.Ok) #dismiss dialog
!         self.wait_window()
!         
!     def CreateWidgets(self):
!         frameMain = Frame(self,borderwidth=2,relief=SUNKEN)
!         frameButtons = Frame(self)
!         frameButtons.pack(side=BOTTOM,fill=X)
!         frameMain.pack(side=TOP,expand=TRUE,fill=BOTH)
!         self.buttonOk = Button(frameButtons,text='Ok',
!                 command=self.Ok)#,default=ACTIVE
!         self.buttonOk.pack(padx=5,pady=5)
!         #self.picture = Image('photo',data=self.pictureData)
!         frameBg = Frame(frameMain,bg=self.bg)
!         frameBg.pack(expand=TRUE,fill=BOTH)
!         labelTitle = Label(frameBg,text='IDLEfork',fg=self.fg,bg=self.bg,
!                 font=('courier', 24, 'bold'))
!         labelTitle.grid(row=0,column=0,sticky=W,padx=10,pady=10)
!         #labelPicture = Label(frameBg,text='[picture]')
!         #image=self.picture,bg=self.bg)
!         #labelPicture.grid(row=0,column=1,sticky=W,rowspan=2,padx=0,pady=3)
!         labelVersion = Label(frameBg,text='version  '+idlever.IDLE_VERSION,
!                 fg=self.fg,bg=self.bg,font=self.textFont)
!         labelVersion.grid(row=1,column=0,sticky=W,padx=10,pady=5)
!         labelCopyright = Label(frameBg,
!                 text="A development version of Python's lightweight\n"+
!                 'Integrated DeveLopment Environment, IDLE.',
!                 justify=LEFT,fg=self.fg,bg=self.bg,font=self.textFont)
!         labelCopyright.grid(row=2,column=0,sticky=W,columnspan=3,padx=10,pady=5)
!         labelLicense = Label(frameBg,
!                 text='Licenced under the Python 2.1.1 PSF Licence\n'+
!                 '(a GPL compatible licence with extra freedoms)',
!                 justify=LEFT,fg=self.fg,bg=self.bg,font=self.textFont)
!         labelLicense.grid(row=3,column=0,sticky=W,columnspan=3,padx=10,pady=5)
!         framePad = Frame(frameBg,height=5,bg=self.bg).grid(row=4,column=0)
!         labelEmail = Label(frameBg,text='email:  idle-dev@python.org',
!                 justify=LEFT,fg=self.fg,bg=self.bg,font=self.textFont)
!         labelEmail.grid(row=5,column=0,columnspan=2,sticky=W,padx=10,pady=0)
!         labelWWW = Label(frameBg,text='www:  http://idlefork.sourceforge.net',
!                 justify=LEFT,fg=self.fg,bg=self.bg,font=self.textFont)
!         labelWWW.grid(row=6,column=0,columnspan=2,sticky=W,padx=10,pady=0)
!         frameDivider = Frame(frameBg,borderwidth=1,relief=SUNKEN,
!                 height=2,bg=self.bg).grid(row=7,column=0,sticky=(E,W),columnspan=3,
!                 padx=5,pady=5)
!         labelPythonVer = Label(frameBg,text='Python version:  '+
!                 sys.version.split()[0],fg=self.fg,bg=self.bg,font=self.textFont)
!         labelPythonVer.grid(row=8,column=0,sticky=W,padx=10,pady=0)
!         #handle weird tk version num in windoze python >= 1.6 (?!?)
!         tkVer = `TkVersion`.split('.')
!         tkVer[len(tkVer)-1] = str('%.3g' % (float('.'+tkVer[len(tkVer)-1])))[2:]
!         if tkVer[len(tkVer)-1] == '': 
!             tkVer[len(tkVer)-1] = '0'
!         tkVer = string.join(tkVer,'.')
!         labelTkVer = Label(frameBg,text='Tk version:  '+tkVer,fg=self.fg,bg=self.bg,
!                 font=self.textFont)
!         labelTkVer.grid(row=8,column=1,sticky=W,padx=2,pady=0)
!         #labelOs = Label(frameBg,text='python os name: '+pyching.os,
!         #       font=self.fontText,fg=self.fg,bg=self.bg)
!         #labelOs.grid(row=6,column=0,sticky=W,padx=10,pady=0)
!         #labelOsType = Label(frameBg,text='python os type: '+pyching.osType,
!         #       font=self.fontText,fg=self.fg,bg=self.bg)
!         #labelOsType.grid(row=6,column=1,sticky=W,padx=5,pady=0)
!         #framePad = Frame(frameBg,bg=self.bg,height=5).grid(row=7,column=0)
! 
!         self.buttonLicense = Button(frameBg,text='View Readme',underline=5,
!                 width=14,highlightbackground=self.bg,command=self.ShowLicense)#takefocus=FALSE
!         self.buttonLicense.grid(row=9,column=0,sticky=W,padx=10,pady=10)
!         self.buttonCredits = Button(frameBg,text='View Credits',underline=5,
!                 width=14,highlightbackground=self.bg,command=self.ShowCredits)#takefocus=FALSE
!         self.buttonCredits.grid(row=9,column=1,columnspan=2,sticky=E,padx=10,pady=10)
! 
!     def CreditsButtonBinding(self,event):
!         self.buttonCredits.invoke()
! 
!     def LicenseButtonBinding(self,event):
!         self.buttonLicense.invoke()
! 
!     def ShowLicense(self):
!         self.ViewFile('About - Readme','README.txt')
!         
!     def ShowCredits(self):
!         self.ViewFile('About - Credits','CREDITS.txt')
! 
!     def ViewFile(self,viewTitle,viewFile):
!         fn=os.path.join(os.path.abspath(os.path.dirname(__file__)),viewFile)
!         textView.TextViewer(self,viewTitle,fn)
  
+     def Ok(self, event=None):
+         self.destroy()
+     
  if __name__ == '__main__':
!     #test the dialog
!     root=Tk()
!     def run():
!         import aboutDialog
!         aboutDialog.AboutDialog(root,'About')
!     Button(root,text='Dialog',command=run).pack()
!     root.mainloop()