[Python-checkins] cpython (2.7): Issue #24750: Improve appearance of IDLE editor window status bar.

terry.reedy python-checkins at python.org
Mon Nov 16 07:37:10 EST 2015


https://hg.python.org/cpython/rev/ff31af003c35
changeset:   99160:ff31af003c35
branch:      2.7
parent:      99141:017d77d001c5
user:        Terry Jan Reedy <tjreedy at udel.edu>
date:        Mon Nov 16 07:32:19 2015 -0500
summary:
  Issue #24750: Improve appearance of IDLE editor window status bar.
Patch by Mark Roseman.

files:
  Lib/idlelib/EditorWindow.py   |  3 +++
  Lib/idlelib/MultiStatusBar.py |  8 +++++---
  2 files changed, 8 insertions(+), 3 deletions(-)


diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py
--- a/Lib/idlelib/EditorWindow.py
+++ b/Lib/idlelib/EditorWindow.py
@@ -184,6 +184,7 @@
                 'name': 'text',
                 'padx': 5,
                 'wrap': 'none',
+                'highlightthickness': 0,
                 'width': self.width,
                 'height': idleConf.GetOption('main', 'EditorWindow', 'height', type='int')}
         if TkVersion >= 8.5:
@@ -410,6 +411,7 @@
 
     def set_status_bar(self):
         self.status_bar = self.MultiStatusBar(self.top)
+        sep = Frame(self.top, height=1, borderwidth=1, background='grey75')
         if sys.platform == "darwin":
             # Insert some padding to avoid obscuring some of the statusbar
             # by the resize widget.
@@ -417,6 +419,7 @@
         self.status_bar.set_label('column', 'Col: ?', side=RIGHT)
         self.status_bar.set_label('line', 'Ln: ?', side=RIGHT)
         self.status_bar.pack(side=BOTTOM, fill=X)
+        sep.pack(side=BOTTOM, fill=X)
         self.text.bind("<<set-line-and-column>>", self.set_line_and_column)
         self.text.event_add("<<set-line-and-column>>",
                             "<KeyRelease>", "<ButtonRelease>")
diff --git a/Lib/idlelib/MultiStatusBar.py b/Lib/idlelib/MultiStatusBar.py
--- a/Lib/idlelib/MultiStatusBar.py
+++ b/Lib/idlelib/MultiStatusBar.py
@@ -8,13 +8,15 @@
         Frame.__init__(self, master, **kw)
         self.labels = {}
 
-    def set_label(self, name, text='', side=LEFT):
+    def set_label(self, name, text='', side=LEFT, width=0):
         if name not in self.labels:
-            label = Label(self, bd=1, relief=SUNKEN, anchor=W)
-            label.pack(side=side)
+            label = Label(self, borderwidth=0, anchor=W)
+            label.pack(side=side, pady=0, padx=4)
             self.labels[name] = label
         else:
             label = self.labels[name]
+        if width != 0: 
+            label.config(width=width)
         label.config(text=text)
 
 def _multistatus_bar(parent):

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list