python-2.5.2/win32/Lib/idlelib/ZoomHeight.py
changeset 0 ae805ac0140d
equal deleted inserted replaced
-1:000000000000 0:ae805ac0140d
       
     1 # Sample extension: zoom a window to maximum height
       
     2 
       
     3 import re
       
     4 import sys
       
     5 import macosxSupport
       
     6 
       
     7 class ZoomHeight:
       
     8 
       
     9     menudefs = [
       
    10         ('windows', [
       
    11             ('_Zoom Height', '<<zoom-height>>'),
       
    12          ])
       
    13     ]
       
    14 
       
    15     def __init__(self, editwin):
       
    16         self.editwin = editwin
       
    17 
       
    18     def zoom_height_event(self, event):
       
    19         top = self.editwin.top
       
    20         zoom_height(top)
       
    21 
       
    22 def zoom_height(top):
       
    23     geom = top.wm_geometry()
       
    24     m = re.match(r"(\d+)x(\d+)\+(-?\d+)\+(-?\d+)", geom)
       
    25     if not m:
       
    26         top.bell()
       
    27         return
       
    28     width, height, x, y = map(int, m.groups())
       
    29     newheight = top.winfo_screenheight()
       
    30     if sys.platform == 'win32':
       
    31         newy = 0
       
    32         newheight = newheight - 72
       
    33 
       
    34     elif macosxSupport.runningAsOSXApp():
       
    35         # The '88' below is a magic number that avoids placing the bottom
       
    36         # of the window below the panel on my machine. I don't know how
       
    37         # to calculate the correct value for this with tkinter.
       
    38         newy = 22
       
    39         newheight = newheight - newy - 88
       
    40 
       
    41     else:
       
    42         #newy = 24
       
    43         newy = 0
       
    44         #newheight = newheight - 96
       
    45         newheight = newheight - 88
       
    46     if height >= newheight:
       
    47         newgeom = ""
       
    48     else:
       
    49         newgeom = "%dx%d+%d+%d" % (width, newheight, x, newy)
       
    50     top.wm_geometry(newgeom)