[Python-checkins] python/dist/src/Lib/idlelib aboutDialog.py,1.10,1.11 textView.py,1.3,1.4

kbk@users.sourceforge.net kbk@users.sourceforge.net
Wed, 11 Jun 2003 21:20:58 -0700


Update of /cvsroot/python/python/dist/src/Lib/idlelib
In directory sc8-pr-cvs1:/tmp/cvs-serv8961

Modified Files:
	aboutDialog.py textView.py 
Log Message:
aboutDialog.py:
1. Add additional buttons for Python Copyright and Credits
2. Use the Python LICENSE file instead of the old IDLE LICENSE.txt
3. Add additional buttons for IDLE's README and NEWS
4. Implement a method to read text from a _Printer object
5. Rename the Ok button to Close
6. Clean up to conform to Python code formatting standards

textView.py:
1. Change background to white on all platforms
2. Increase height of frame
3. Add an optional parameter to textViewer to allow inserting text into
   the viewer instead of reading a file.
4. Rename the Ok button to Close
 Modified Files:
 	aboutDialog.py textView.py 


Index: aboutDialog.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/idlelib/aboutDialog.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** aboutDialog.py	30 May 2003 02:42:02 -0000	1.10
--- aboutDialog.py	12 Jun 2003 04:20:55 -0000	1.11
***************
*** 1,4 ****
! """
! about box for idle
  """
  
--- 1,4 ----
! """About Dialog for IDLE
! 
  """
  
***************
*** 9,14 ****
  
  class AboutDialog(Toplevel):
!     """
!     modal about dialog for idle
      """
      def __init__(self,parent,title):
--- 9,14 ----
  
  class AboutDialog(Toplevel):
!     """Modal about dialog for idle
! 
      """
      def __init__(self,parent,title):
***************
*** 16,25 ****
          self.configure(borderwidth=5)
          self.geometry("+%d+%d" % (parent.winfo_rootx()+30,
!                 parent.winfo_rooty()+30))
!         self.bg="#707070"
!         self.fg="#ffffff"
! 
          self.CreateWidgets()
!         self.resizable(height=FALSE,width=FALSE)
          self.title(title)
          self.transient(parent)
--- 16,24 ----
          self.configure(borderwidth=5)
          self.geometry("+%d+%d" % (parent.winfo_rootx()+30,
!                                   parent.winfo_rooty()+30))
!         self.bg = "#707070"
!         self.fg = "#ffffff"
          self.CreateWidgets()
!         self.resizable(height=FALSE, width=FALSE)
          self.title(title)
          self.transient(parent)
***************
*** 28,34 ****
          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('<Return>',self.Ok) #dismiss dialog
          self.bind('<Escape>',self.Ok) #dismiss dialog
--- 27,30 ----
***************
*** 36,85 ****
  
      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)
!         labelVersion.grid(row=1,column=0,sticky=W,padx=10,pady=5)
!         labelDesc = Label(frameBg,
!                 text="A development version of Python's lightweight\n"+
!                 'Integrated DeveLopment Environment, IDLE.',
!                 justify=LEFT,fg=self.fg,bg=self.bg)
!         labelDesc.grid(row=2,column=0,sticky=W,columnspan=3,padx=10,pady=5)
!         labelCopyright = Label(frameBg,
!                 text="Copyright (c) 2001 - 2003 Python Software Foundation\nAll Rights Reserved",
!                 justify=LEFT,fg=self.fg,bg=self.bg)
!         labelCopyright.grid(row=3,column=0,sticky=W,columnspan=3,padx=10,pady=5)
!         labelLicense = Label(frameBg,
!                 text='Released under the Python 2.3 PSF License',
!                 justify=LEFT,fg=self.fg,bg=self.bg)
!         labelLicense.grid(row=4,column=0,sticky=W,columnspan=3,padx=10,pady=5)
!         Frame(frameBg,height=5,bg=self.bg).grid(row=5,column=0)
!         labelEmail = Label(frameBg,text='email:  idle-dev@python.org',
!                 justify=LEFT,fg=self.fg,bg=self.bg)
          labelEmail.grid(row=6,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)
!         labelWWW.grid(row=7,column=0,columnspan=2,sticky=W,padx=10,pady=0)
!         Frame(frameBg,borderwidth=1,relief=SUNKEN,
!                 height=2,bg=self.bg).grid(row=8,column=0,sticky=EW,
!                                           columnspan=3, padx=5, pady=5)
!         labelPythonVer = Label(frameBg,text='Python version:  '+
!                 sys.version.split()[0],fg=self.fg,bg=self.bg)
!         labelPythonVer.grid(row=9,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:]
--- 32,69 ----
  
      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='Close',
!                                command=self.Ok)
!         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='IDLE', 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=1, column=1, sticky=W, rowspan=2,
!         #                  padx=0, pady=3)
!         byline = "Python's Integrated DeveLopment Environment" + 5*'\n'
!         labelDesc = Label(frameBg, text=byline, justify=LEFT,
!                           fg=self.fg, bg=self.bg)
!         labelDesc.grid(row=2, column=0, sticky=W, columnspan=3, padx=10, pady=5)
!         labelEmail = Label(frameBg, text='email:  idle-dev@python.org',
!                            justify=LEFT, fg=self.fg, bg=self.bg)
          labelEmail.grid(row=6,column=0,columnspan=2,sticky=W,padx=10,pady=0)
!         labelWWW = Label(frameBg, text='www:  http://www.python.org/idle/',
!                          justify=LEFT, fg=self.fg, bg=self.bg)
!         labelWWW.grid(row=7, column=0, columnspan=2, sticky=W, padx=10, pady=0)
!         Frame(frameBg, borderwidth=1, relief=SUNKEN,
!               height=2, bg=self.bg).grid(row=8, column=0, sticky=EW,
!                                          columnspan=3, padx=5, pady=5)
!         labelPythonVer = Label(frameBg, text='Python version:  ' + \
!                                sys.version.split()[0], fg=self.fg, bg=self.bg)
!         labelPythonVer.grid(row=9, 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:]
***************
*** 87,113 ****
              tkVer[len(tkVer)-1] = '0'
          tkVer = string.join(tkVer,'.')
!         labelTkVer = Label(frameBg,text='Tk version:  '+
!                 tkVer,fg=self.fg,bg=self.bg)
!         labelTkVer.grid(row=9,column=1,sticky=W,padx=2,pady=0)
! 
!         self.buttonLicense = Button(frameBg,text='View License',underline=5,
!                 width=14,highlightbackground=self.bg,command=self.ShowLicense)#takefocus=FALSE
!         self.buttonLicense.grid(row=10,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=10,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 - License','LICENSE.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)
--- 71,135 ----
              tkVer[len(tkVer)-1] = '0'
          tkVer = string.join(tkVer,'.')
!         labelTkVer = Label(frameBg, text='Tk version:  '+
!                            tkVer, fg=self.fg, bg=self.bg)
!         labelTkVer.grid(row=9, column=1, sticky=W, padx=2, pady=0)
!         py_button_f = Frame(frameBg, bg=self.bg)
!         py_button_f.grid(row=10, column=0, columnspan=2, sticky=NSEW)
!         buttonLicense = Button(py_button_f, text='License', width=8,
!                                highlightbackground=self.bg,
!                                command=self.ShowLicense)
!         buttonLicense.pack(side=LEFT, padx=10, pady=10)
!         buttonCopyright = Button(py_button_f, text='Copyright', width=8,
!                                  highlightbackground=self.bg,
!                                  command=self.ShowCopyright)
!         buttonCopyright.pack(side=LEFT, padx=10, pady=10)
!         buttonCredits = Button(py_button_f, text='Credits', width=8,
!                                highlightbackground=self.bg,
!                                command=self.ShowPythonCredits)
!         buttonCredits.pack(side=LEFT, padx=10, pady=10)
!         Frame(frameBg, borderwidth=1, relief=SUNKEN,
!               height=2, bg=self.bg).grid(row=11, column=0, sticky=EW,
!                                          columnspan=3, padx=5, pady=5)
!         idle_v = Label(frameBg, text='IDLE version  ' + idlever.IDLE_VERSION,
!                        fg=self.fg, bg=self.bg)
!         idle_v.grid(row=12, column=0, sticky=W, padx=10, pady=0)
!         idle_button_f = Frame(frameBg, bg=self.bg)
!         idle_button_f.grid(row=13, column=0, columnspan=3, sticky=NSEW)
!         idle_about_b = Button(idle_button_f, text='README', width=8,
!                                 highlightbackground=self.bg,
!                                 command=self.ShowIDLEAbout)
!         idle_about_b.pack(side=LEFT, padx=10, pady=10)
!         idle_news_b = Button(idle_button_f, text='NEWS', width=8,
!                                 highlightbackground=self.bg,
!                                 command=self.ShowIDLENEWS)
!         idle_news_b.pack(side=LEFT, padx=10, pady=10)
!         idle_credits_b = Button(idle_button_f, text='Credits', width=8,
!                                 highlightbackground=self.bg,
!                                 command=self.ShowIDLECredits)
!         idle_credits_b.pack(side=LEFT, padx=10, pady=10)
  
!     def ShowLicense(self):
!         self.display_printer_text(license, 'About - License')
  
!     def ShowCopyright(self):
!         self.display_printer_text(copyright, 'About - Copyright')
  
!     def ShowPythonCredits(self):
!         self.display_printer_text(credits, 'About - Python Credits')
  
!     def ShowIDLECredits(self):
          self.ViewFile('About - Credits','CREDITS.txt')
  
+     def ShowIDLEAbout(self):
+         self.ViewFile('About - Readme', 'README.txt')
+ 
+     def ShowIDLENEWS(self):
+         self.ViewFile('About - NEWS', 'NEWS.txt')
+ 
+     def display_printer_text(self, printer, title):
+         printer._Printer__setup()
+         data = '\n'.join(printer._Printer__lines)
+         textView.TextViewer(self, title, None, data)
+ 
      def ViewFile(self,viewTitle,viewFile):
          fn=os.path.join(os.path.abspath(os.path.dirname(__file__)),viewFile)
***************
*** 118,126 ****
  
  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()
--- 140,148 ----
  
  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()

Index: textView.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/idlelib/textView.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** textView.py	31 Dec 2002 16:03:23 -0000	1.3
--- textView.py	12 Jun 2003 04:20:56 -0000	1.4
***************
*** 1,11 ****
! ##---------------------------------------------------------------------------##
! ##
! ## idle - simple text view dialog
! ## elguavas
! ##
! ##---------------------------------------------------------------------------##
! """
! simple text browser for idle
  """
  from Tkinter import *
  import tkMessageBox
--- 1,6 ----
! """Simple text browser for IDLE
! 
  """
+ 
  from Tkinter import *
  import tkMessageBox
***************
*** 15,29 ****
      simple text viewer dialog for idle
      """
!     def __init__(self,parent,title,fileName):
!         """
!         fileName - string,should be an absoulute filename
          """
          Toplevel.__init__(self, parent)
          self.configure(borderwidth=5)
!         self.geometry("+%d+%d" % (parent.winfo_rootx()+10,
!                 parent.winfo_rooty()+10))
          #elguavas - config placeholders til config stuff completed
!         self.bg=None
!         self.fg=None
  
          self.CreateWidgets()
--- 10,26 ----
      simple text viewer dialog for idle
      """
!     def __init__(self, parent, title, fileName, data=None):
!         """If data exists, load it into viewer, otherwise try to load file.
! 
!         fileName - string, should be an absoulute filename
          """
          Toplevel.__init__(self, parent)
          self.configure(borderwidth=5)
!         self.geometry("=%dx%d+%d+%d" % (625, 500,
!                                         parent.winfo_rootx() + 10,
!                                         parent.winfo_rooty() + 10))
          #elguavas - config placeholders til config stuff completed
!         self.bg = '#ffffff'
!         self.fg = '#000000'
  
          self.CreateWidgets()
***************
*** 37,41 ****
          self.bind('<Return>',self.Ok) #dismiss dialog
          self.bind('<Escape>',self.Ok) #dismiss dialog
!         self.LoadTextFile(fileName)
          self.textView.config(state=DISABLED)
          self.wait_window()
--- 34,41 ----
          self.bind('<Return>',self.Ok) #dismiss dialog
          self.bind('<Escape>',self.Ok) #dismiss dialog
!         if data:
!             self.textView.insert(0.0, data)
!         else:
!             self.LoadTextFile(fileName)
          self.textView.config(state=DISABLED)
          self.wait_window()
***************
*** 52,65 ****
  
      def CreateWidgets(self):
!         frameText = Frame(self)
          frameButtons = Frame(self)
!         self.buttonOk = Button(frameButtons,text='Ok',
!                 command=self.Ok,takefocus=FALSE,default=ACTIVE)
!         self.scrollbarView = Scrollbar(frameText,orient=VERTICAL,
!                 takefocus=FALSE,highlightthickness=0)
!         self.textView = Text(frameText,wrap=WORD,highlightthickness=0)
          self.scrollbarView.config(command=self.textView.yview)
          self.textView.config(yscrollcommand=self.scrollbarView.set)
!         self.buttonOk.pack(padx=5,pady=5)
          self.scrollbarView.pack(side=RIGHT,fill=Y)
          self.textView.pack(side=LEFT,expand=TRUE,fill=BOTH)
--- 52,66 ----
  
      def CreateWidgets(self):
!         frameText = Frame(self, relief=SUNKEN, height=700)
          frameButtons = Frame(self)
!         self.buttonOk = Button(frameButtons, text='Close',
!                                command=self.Ok, takefocus=FALSE)
!         self.scrollbarView = Scrollbar(frameText, orient=VERTICAL,
!                                        takefocus=FALSE, highlightthickness=0)
!         self.textView = Text(frameText, wrap=WORD, highlightthickness=0,
!                              fg=self.fg, bg=self.bg)
          self.scrollbarView.config(command=self.textView.yview)
          self.textView.config(yscrollcommand=self.scrollbarView.set)
!         self.buttonOk.pack()
          self.scrollbarView.pack(side=RIGHT,fill=Y)
          self.textView.pack(side=LEFT,expand=TRUE,fill=BOTH)