summaryrefslogtreecommitdiffstats
path: root/Mac/Demo/PICTbrowse
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2008-07-01 18:23:09 (GMT)
committerBenjamin Peterson <benjamin@python.org>2008-07-01 18:23:09 (GMT)
commitde9c869fb8c1f842bc3dfc4d51f287cb6b644ab2 (patch)
treeda0b9c0e9d56288354f936b59021d94018a172a8 /Mac/Demo/PICTbrowse
parentbbfd71d7ac02bc2053a0ba494a3f055fbec8deee (diff)
downloadcpython-de9c869fb8c1f842bc3dfc4d51f287cb6b644ab2.zip
cpython-de9c869fb8c1f842bc3dfc4d51f287cb6b644ab2.tar.gz
cpython-de9c869fb8c1f842bc3dfc4d51f287cb6b644ab2.tar.bz2
Hopefully fix make framework install on Mac (see 3174)
Removal of the Mac modules broke many of the Mac scripts (including BuildApplet.py) so the building of the Python launcher and IDLE.app was broken. I manually copied built versions of those apps into Mac. Everything else which used Mac modules had to die.
Diffstat (limited to 'Mac/Demo/PICTbrowse')
-rw-r--r--Mac/Demo/PICTbrowse/ICONbrowse.py161
-rw-r--r--Mac/Demo/PICTbrowse/PICTbrowse.py140
-rw-r--r--Mac/Demo/PICTbrowse/PICTbrowse.rsrcbin785 -> 0 bytes
-rw-r--r--Mac/Demo/PICTbrowse/PICTbrowse2.py162
-rw-r--r--Mac/Demo/PICTbrowse/cicnbrowse.py161
-rw-r--r--Mac/Demo/PICTbrowse/oldPICTbrowse.py158
-rw-r--r--Mac/Demo/PICTbrowse/oldPICTbrowse.rsrcbin502 -> 0 bytes
7 files changed, 0 insertions, 782 deletions
diff --git a/Mac/Demo/PICTbrowse/ICONbrowse.py b/Mac/Demo/PICTbrowse/ICONbrowse.py
deleted file mode 100644
index f55070b..0000000
--- a/Mac/Demo/PICTbrowse/ICONbrowse.py
+++ /dev/null
@@ -1,161 +0,0 @@
-"""browsepict - Display all "ICON" resources found"""
-
-import FrameWork
-import EasyDialogs
-from Carbon import Res
-from Carbon import Qd
-from Carbon import Win
-from Carbon import Controls
-from Carbon import List
-from Carbon import Icn
-import macresource
-
-#
-# Resource definitions
-ID_MAIN=512
-MAIN_LIST=1
-MAIN_SHOW=2
-
-# Where is the picture window?
-LEFT=200
-TOP=64
-MINWIDTH=32
-MINHEIGHT=32
-MAXWIDTH=320
-MAXHEIGHT=320
-
-def main():
- macresource.need('DLOG', ID_MAIN, "PICTbrowse.rsrc")
- ICONbrowse()
-
-class ICONbrowse(FrameWork.Application):
- def __init__(self):
- # First init menus, etc.
- FrameWork.Application.__init__(self)
- # Next create our dialog
- self.main_dialog = MyDialog(self)
- # Now open the dialog
- contents = self.findICONresources()
- self.main_dialog.open(ID_MAIN, contents)
- # Finally, go into the event loop
- self.mainloop()
-
- def makeusermenus(self):
- self.filemenu = m = FrameWork.Menu(self.menubar, "File")
- self.quititem = FrameWork.MenuItem(m, "Quit", "Q", self.quit)
-
- def quit(self, *args):
- self._quit()
-
- def showICON(self, resid):
- w = ICONwindow(self)
- w.open(resid)
- #EasyDialogs.Message('Show ICON %r' % (resid,))
-
- def findICONresources(self):
- num = Res.CountResources('ICON')
- rv = []
- for i in range(1, num+1):
- Res.SetResLoad(0)
- try:
- r = Res.GetIndResource('ICON', i)
- finally:
- Res.SetResLoad(1)
- id, type, name = r.GetResInfo()
- rv.append((id, name))
- return rv
-
-class ICONwindow(FrameWork.Window):
- def open(self, (resid, resname)):
- if not resname:
- resname = '#%r' % (resid,)
- self.resid = resid
- self.picture = Icn.GetIcon(self.resid)
- l, t, r, b = 0, 0, 32, 32
- self.pictrect = (l, t, r, b)
- width = r-l
- height = b-t
- if width < MINWIDTH: width = MINWIDTH
- elif width > MAXWIDTH: width = MAXWIDTH
- if height < MINHEIGHT: height = MINHEIGHT
- elif height > MAXHEIGHT: height = MAXHEIGHT
- bounds = (LEFT, TOP, LEFT+width, TOP+height)
-
- self.wid = Win.NewWindow(bounds, resname, 1, 0, -1, 1, 0)
- self.do_postopen()
-
- def do_update(self, *args):
- currect = self.fitrect()
- Icn.PlotIcon(currect, self.picture)
-
- def fitrect(self):
- """Return self.pictrect scaled to fit in window"""
- graf = self.wid.GetWindowPort()
- screenrect = graf.GetPortBounds()
- picwidth = self.pictrect[2] - self.pictrect[0]
- picheight = self.pictrect[3] - self.pictrect[1]
- if picwidth > screenrect[2] - screenrect[0]:
- factor = float(picwidth) / float(screenrect[2]-screenrect[0])
- picwidth = picwidth / factor
- picheight = picheight / factor
- if picheight > screenrect[3] - screenrect[1]:
- factor = float(picheight) / float(screenrect[3]-screenrect[1])
- picwidth = picwidth / factor
- picheight = picheight / factor
- return (screenrect[0], screenrect[1], screenrect[0]+int(picwidth),
- screenrect[1]+int(picheight))
-
-class MyDialog(FrameWork.DialogWindow):
- "Main dialog window for ICONbrowse"
-
- def open(self, id, contents):
- self.id = id
- FrameWork.DialogWindow.open(self, ID_MAIN)
- self.dlg.SetDialogDefaultItem(MAIN_SHOW)
- self.contents = contents
- self.ctl = self.dlg.GetDialogItemAsControl(MAIN_LIST)
- h = self.ctl.GetControlData_Handle(Controls.kControlListBoxPart,
- Controls.kControlListBoxListHandleTag)
- self.list = List.as_List(h)
- self.setlist()
-
- def setlist(self):
- self.list.LDelRow(0, 0)
- self.list.LSetDrawingMode(0)
- if self.contents:
- self.list.LAddRow(len(self.contents), 0)
- for i in range(len(self.contents)):
- v = repr(self.contents[i][0])
- if self.contents[i][1]:
- v = v + '"' + self.contents[i][1] + '"'
- self.list.LSetCell(v, (0, i))
- self.list.LSetDrawingMode(1)
- self.list.LUpdate(self.wid.GetWindowPort().visRgn)
-
- def getselection(self):
- items = []
- point = (0,0)
- while 1:
- ok, point = self.list.LGetSelect(1, point)
- if not ok:
- break
- items.append(point[1])
- point = point[0], point[1]+1
- values = []
- for i in items:
- values.append(self.contents[i])
- return values
-
- def do_show(self, *args):
- selection = self.getselection()
- for resid in selection:
- self.parent.showICON(resid)
-
- def do_close(self):
- self.close()
-
- def do_itemhit(self, item, event):
- if item == MAIN_SHOW:
- self.do_show()
-
-main()
diff --git a/Mac/Demo/PICTbrowse/PICTbrowse.py b/Mac/Demo/PICTbrowse/PICTbrowse.py
deleted file mode 100644
index e2bc87b..0000000
--- a/Mac/Demo/PICTbrowse/PICTbrowse.py
+++ /dev/null
@@ -1,140 +0,0 @@
-"""browsepict - Display all "PICT" resources found"""
-
-import FrameWork
-import EasyDialogs
-from Carbon import Res
-from Carbon import Qd
-from Carbon import Win
-from Carbon import Controls
-from Carbon import List
-import struct
-import macresource
-
-#
-# Resource definitions
-ID_MAIN=512
-MAIN_LIST=1
-MAIN_SHOW=2
-
-# Where is the picture window?
-LEFT=200
-TOP=64
-
-def main():
- macresource.need('DLOG', ID_MAIN, "PICTbrowse.rsrc")
- PICTbrowse()
-
-class PICTbrowse(FrameWork.Application):
- def __init__(self):
- # First init menus, etc.
- FrameWork.Application.__init__(self)
- # Next create our dialog
- self.main_dialog = MyDialog(self)
- # Now open the dialog
- contents = self.findPICTresources()
- self.main_dialog.open(ID_MAIN, contents)
- # Finally, go into the event loop
- self.mainloop()
-
- def makeusermenus(self):
- self.filemenu = m = FrameWork.Menu(self.menubar, "File")
- self.quititem = FrameWork.MenuItem(m, "Quit", "Q", self.quit)
-
- def quit(self, *args):
- self._quit()
-
- def showPICT(self, resid):
- w = PICTwindow(self)
- w.open(resid)
- #EasyDialogs.Message('Show PICT %r' % (resid,))
-
- def findPICTresources(self):
- num = Res.CountResources('PICT')
- rv = []
- for i in range(1, num+1):
- Res.SetResLoad(0)
- try:
- r = Res.GetIndResource('PICT', i)
- finally:
- Res.SetResLoad(1)
- id, type, name = r.GetResInfo()
- rv.append((id, name))
- return rv
-
-class PICTwindow(FrameWork.Window):
- def open(self, (resid, resname)):
- if not resname:
- resname = '#%r' % (resid,)
- self.resid = resid
- picture = Qd.GetPicture(self.resid)
- # Get rect for picture
- print(repr(picture.data[:16]))
- sz, t, l, b, r = struct.unpack('hhhhh', picture.data[:10])
- print('pict:', t, l, b, r)
- width = r-l
- height = b-t
- if width < 64: width = 64
- elif width > 480: width = 480
- if height < 64: height = 64
- elif height > 320: height = 320
- bounds = (LEFT, TOP, LEFT+width, TOP+height)
- print('bounds:', bounds)
-
- self.wid = Win.NewWindow(bounds, resname, 1, 0, -1, 1, 0)
- self.wid.SetWindowPic(picture)
- self.do_postopen()
-
-class MyDialog(FrameWork.DialogWindow):
- "Main dialog window for PICTbrowse"
-
- def open(self, id, contents):
- self.id = id
- FrameWork.DialogWindow.open(self, ID_MAIN)
- self.dlg.SetDialogDefaultItem(MAIN_SHOW)
- self.contents = contents
- self.ctl = self.dlg.GetDialogItemAsControl(MAIN_LIST)
- h = self.ctl.GetControlData_Handle(Controls.kControlListBoxPart,
- Controls.kControlListBoxListHandleTag)
- self.list = List.as_List(h)
- self.setlist()
-
- def setlist(self):
- self.list.LDelRow(0, 0)
- self.list.LSetDrawingMode(0)
- if self.contents:
- self.list.LAddRow(len(self.contents), 0)
- for i in range(len(self.contents)):
- v = repr(self.contents[i][0])
- if self.contents[i][1]:
- v = v + '"' + self.contents[i][1] + '"'
- self.list.LSetCell(v, (0, i))
- self.list.LSetDrawingMode(1)
- self.list.LUpdate(self.wid.GetWindowPort().visRgn)
-
- def getselection(self):
- items = []
- point = (0,0)
- while 1:
- ok, point = self.list.LGetSelect(1, point)
- if not ok:
- break
- items.append(point[1])
- point = point[0], point[1]+1
- values = []
- for i in items:
- values.append(self.contents[i])
- return values
-
- def do_show(self, *args):
- selection = self.getselection()
- for resid in selection:
- self.parent.showPICT(resid)
-
- def do_close(self):
- self.close()
-
- def do_itemhit(self, item, event):
- if item == MAIN_SHOW:
- self.do_show()
-
-main()
diff --git a/Mac/Demo/PICTbrowse/PICTbrowse.rsrc b/Mac/Demo/PICTbrowse/PICTbrowse.rsrc
deleted file mode 100644
index 526ff52..0000000
--- a/Mac/Demo/PICTbrowse/PICTbrowse.rsrc
+++ /dev/null
Binary files differ
diff --git a/Mac/Demo/PICTbrowse/PICTbrowse2.py b/Mac/Demo/PICTbrowse/PICTbrowse2.py
deleted file mode 100644
index 211d09e..0000000
--- a/Mac/Demo/PICTbrowse/PICTbrowse2.py
+++ /dev/null
@@ -1,162 +0,0 @@
-"""browsepict - Display all "PICT" resources found"""
-
-import FrameWork
-import EasyDialogs
-from Carbon import Res
-from Carbon import Qd
-from Carbon import Win
-from Carbon import Controls
-from Carbon import List
-import struct
-import macresource
-
-#
-# Resource definitions
-ID_MAIN=512
-MAIN_LIST=1
-MAIN_SHOW=2
-
-# Where is the picture window?
-LEFT=200
-TOP=64
-MINWIDTH=64
-MINHEIGHT=64
-MAXWIDTH=320
-MAXHEIGHT=320
-
-def main():
- macresource.need('DLOG', ID_MAIN, "PICTbrowse.rsrc")
- PICTbrowse()
-
-class PICTbrowse(FrameWork.Application):
- def __init__(self):
- # First init menus, etc.
- FrameWork.Application.__init__(self)
- # Next create our dialog
- self.main_dialog = MyDialog(self)
- # Now open the dialog
- contents = self.findPICTresources()
- self.main_dialog.open(ID_MAIN, contents)
- # Finally, go into the event loop
- self.mainloop()
-
- def makeusermenus(self):
- self.filemenu = m = FrameWork.Menu(self.menubar, "File")
- self.quititem = FrameWork.MenuItem(m, "Quit", "Q", self.quit)
-
- def quit(self, *args):
- self._quit()
-
- def showPICT(self, resid):
- w = PICTwindow(self)
- w.open(resid)
- #EasyDialogs.Message('Show PICT %r' % (resid,))
-
- def findPICTresources(self):
- num = Res.CountResources('PICT')
- rv = []
- for i in range(1, num+1):
- Res.SetResLoad(0)
- try:
- r = Res.GetIndResource('PICT', i)
- finally:
- Res.SetResLoad(1)
- id, type, name = r.GetResInfo()
- rv.append((id, name))
- return rv
-
-class PICTwindow(FrameWork.Window):
- def open(self, (resid, resname)):
- if not resname:
- resname = '#%r' % (resid,)
- self.resid = resid
- self.picture = Qd.GetPicture(self.resid)
- # Get rect for picture
- sz, t, l, b, r = struct.unpack('hhhhh', self.picture.data[:10])
- self.pictrect = (l, t, r, b)
- width = r-l
- height = b-t
- if width < MINWIDTH: width = MINWIDTH
- elif width > MAXWIDTH: width = MAXWIDTH
- if height < MINHEIGHT: height = MINHEIGHT
- elif height > MAXHEIGHT: height = MAXHEIGHT
- bounds = (LEFT, TOP, LEFT+width, TOP+height)
-
- self.wid = Win.NewWindow(bounds, resname, 1, 0, -1, 1, 0)
- self.do_postopen()
-
- def do_update(self, *args):
- currect = self.fitrect()
- Qd.DrawPicture(self.picture, currect)
-
- def fitrect(self):
- """Return self.pictrect scaled to fit in window"""
- graf = self.dlg.GetWindowPort()
- screenrect = graf.GetPortBounds()
- picwidth = self.pictrect[2] - self.pictrect[0]
- picheight = self.pictrect[3] - self.pictrect[1]
- if picwidth > screenrect[2] - screenrect[0]:
- factor = float(picwidth) / float(screenrect[2]-screenrect[0])
- picwidth = picwidth / factor
- picheight = picheight / factor
- if picheight > screenrect[3] - screenrect[1]:
- factor = float(picheight) / float(screenrect[3]-screenrect[1])
- picwidth = picwidth / factor
- picheight = picheight / factor
- return (screenrect[0], screenrect[1], screenrect[0]+int(picwidth),
- screenrect[1]+int(picheight))
-
-class MyDialog(FrameWork.DialogWindow):
- "Main dialog window for PICTbrowse"
-
- def open(self, id, contents):
- self.id = id
- FrameWork.DialogWindow.open(self, ID_MAIN)
- self.dlg.SetDialogDefaultItem(MAIN_SHOW)
- self.contents = contents
- self.ctl = self.dlg.GetDialogItemAsControl(MAIN_LIST)
- h = self.ctl.GetControlData_Handle(Controls.kControlListBoxPart,
- Controls.kControlListBoxListHandleTag)
- self.list = List.as_List(h)
- self.setlist()
-
- def setlist(self):
- self.list.LDelRow(0, 0)
- self.list.LSetDrawingMode(0)
- if self.contents:
- self.list.LAddRow(len(self.contents), 0)
- for i in range(len(self.contents)):
- v = repr(self.contents[i][0])
- if self.contents[i][1]:
- v = v + '"' + self.contents[i][1] + '"'
- self.list.LSetCell(v, (0, i))
- self.list.LSetDrawingMode(1)
- self.list.LUpdate(self.wid.GetWindowPort().visRgn)
-
- def getselection(self):
- items = []
- point = (0,0)
- while 1:
- ok, point = self.list.LGetSelect(1, point)
- if not ok:
- break
- items.append(point[1])
- point = point[0], point[1]+1
- values = []
- for i in items:
- values.append(self.contents[i])
- return values
-
- def do_show(self, *args):
- selection = self.getselection()
- for resid in selection:
- self.parent.showPICT(resid)
-
- def do_close(self):
- self.close()
-
- def do_itemhit(self, item, event):
- if item == MAIN_SHOW:
- self.do_show()
-
-main()
diff --git a/Mac/Demo/PICTbrowse/cicnbrowse.py b/Mac/Demo/PICTbrowse/cicnbrowse.py
deleted file mode 100644
index 4bc7008..0000000
--- a/Mac/Demo/PICTbrowse/cicnbrowse.py
+++ /dev/null
@@ -1,161 +0,0 @@
-"""browsepict - Display all "cicn" resources found"""
-
-import FrameWork
-import EasyDialogs
-from Carbon import Res
-from Carbon import Qd
-from Carbon import Win
-from Carbon import Controls
-from Carbon import List
-from Carbon import Icn
-import macresource
-
-#
-# Resource definitions
-ID_MAIN=512
-MAIN_LIST=1
-MAIN_SHOW=2
-
-# Where is the picture window?
-LEFT=200
-TOP=64
-MINWIDTH=32
-MINHEIGHT=32
-MAXWIDTH=320
-MAXHEIGHT=320
-
-def main():
- macresource.need('DLOG', ID_MAIN, "PICTbrowse.rsrc")
- CIconbrowse()
-
-class CIconbrowse(FrameWork.Application):
- def __init__(self):
- # First init menus, etc.
- FrameWork.Application.__init__(self)
- # Next create our dialog
- self.main_dialog = MyDialog(self)
- # Now open the dialog
- contents = self.findcicnresources()
- self.main_dialog.open(ID_MAIN, contents)
- # Finally, go into the event loop
- self.mainloop()
-
- def makeusermenus(self):
- self.filemenu = m = FrameWork.Menu(self.menubar, "File")
- self.quititem = FrameWork.MenuItem(m, "Quit", "Q", self.quit)
-
- def quit(self, *args):
- self._quit()
-
- def showCIcon(self, resid):
- w = CIconwindow(self)
- w.open(resid)
- #EasyDialogs.Message('Show cicn %r' % (resid,))
-
- def findcicnresources(self):
- num = Res.CountResources('cicn')
- rv = []
- for i in range(1, num+1):
- Res.SetResLoad(0)
- try:
- r = Res.GetIndResource('cicn', i)
- finally:
- Res.SetResLoad(1)
- id, type, name = r.GetResInfo()
- rv.append((id, name))
- return rv
-
-class CIconwindow(FrameWork.Window):
- def open(self, (resid, resname)):
- if not resname:
- resname = '#%r' % (resid,)
- self.resid = resid
- self.picture = Icn.GetCIcon(self.resid)
- l, t, r, b = 0, 0, 32, 32
- self.pictrect = (l, t, r, b)
- width = r-l
- height = b-t
- if width < MINWIDTH: width = MINWIDTH
- elif width > MAXWIDTH: width = MAXWIDTH
- if height < MINHEIGHT: height = MINHEIGHT
- elif height > MAXHEIGHT: height = MAXHEIGHT
- bounds = (LEFT, TOP, LEFT+width, TOP+height)
-
- self.wid = Win.NewWindow(bounds, resname, 1, 0, -1, 1, 0)
- self.do_postopen()
-
- def do_update(self, *args):
- currect = self.fitrect()
- Icn.PlotCIcon(currect, self.picture)
-
- def fitrect(self):
- """Return self.pictrect scaled to fit in window"""
- graf = self.wid.GetWindowPort()
- screenrect = graf.GetPortBounds()
- picwidth = self.pictrect[2] - self.pictrect[0]
- picheight = self.pictrect[3] - self.pictrect[1]
- if picwidth > screenrect[2] - screenrect[0]:
- factor = float(picwidth) / float(screenrect[2]-screenrect[0])
- picwidth = picwidth / factor
- picheight = picheight / factor
- if picheight > screenrect[3] - screenrect[1]:
- factor = float(picheight) / float(screenrect[3]-screenrect[1])
- picwidth = picwidth / factor
- picheight = picheight / factor
- return (screenrect[0], screenrect[1], screenrect[0]+int(picwidth),
- screenrect[1]+int(picheight))
-
-class MyDialog(FrameWork.DialogWindow):
- "Main dialog window for cicnbrowse"
-
- def open(self, id, contents):
- self.id = id
- FrameWork.DialogWindow.open(self, ID_MAIN)
- self.dlg.SetDialogDefaultItem(MAIN_SHOW)
- self.contents = contents
- self.ctl = self.dlg.GetDialogItemAsControl(MAIN_LIST)
- h = self.ctl.GetControlData_Handle(Controls.kControlListBoxPart,
- Controls.kControlListBoxListHandleTag)
- self.list = List.as_List(h)
- self.setlist()
-
- def setlist(self):
- self.list.LDelRow(0, 0)
- self.list.LSetDrawingMode(0)
- if self.contents:
- self.list.LAddRow(len(self.contents), 0)
- for i in range(len(self.contents)):
- v = repr(self.contents[i][0])
- if self.contents[i][1]:
- v = v + '"' + self.contents[i][1] + '"'
- self.list.LSetCell(v, (0, i))
- self.list.LSetDrawingMode(1)
- self.list.LUpdate(self.wid.GetWindowPort().visRgn)
-
- def getselection(self):
- items = []
- point = (0,0)
- while 1:
- ok, point = self.list.LGetSelect(1, point)
- if not ok:
- break
- items.append(point[1])
- point = point[0], point[1]+1
- values = []
- for i in items:
- values.append(self.contents[i])
- return values
-
- def do_show(self, *args):
- selection = self.getselection()
- for resid in selection:
- self.parent.showCIcon(resid)
-
- def do_close(self):
- self.close()
-
- def do_itemhit(self, item, event):
- if item == MAIN_SHOW:
- self.do_show()
-
-main()
diff --git a/Mac/Demo/PICTbrowse/oldPICTbrowse.py b/Mac/Demo/PICTbrowse/oldPICTbrowse.py
deleted file mode 100644
index 6ddd318..0000000
--- a/Mac/Demo/PICTbrowse/oldPICTbrowse.py
+++ /dev/null
@@ -1,158 +0,0 @@
-"""browsepict - Display all "PICT" resources found"""
-
-import FrameWork
-import EasyDialogs
-from Carbon import Res
-from Carbon import Qd
-from Carbon import Win
-from Carbon import List
-import struct
-import macresource
-
-#
-# Resource definitions
-ID_MAIN=512
-MAIN_LIST=1
-MAIN_SHOW=2
-
-# Where is the picture window?
-LEFT=200
-TOP=64
-
-def main():
- macresource.need('DLOG', ID_MAIN, "oldPICTbrowse.rsrc")
- PICTbrowse()
-
-class PICTbrowse(FrameWork.Application):
- def __init__(self):
- # First init menus, etc.
- FrameWork.Application.__init__(self)
- # Next create our dialog
- self.main_dialog = MyDialog(self)
- # Now open the dialog
- contents = self.findPICTresources()
- self.main_dialog.open(ID_MAIN, contents)
- # Finally, go into the event loop
- self.mainloop()
-
- def makeusermenus(self):
- self.filemenu = m = FrameWork.Menu(self.menubar, "File")
- self.quititem = FrameWork.MenuItem(m, "Quit", "Q", self.quit)
-
- def quit(self, *args):
- self._quit()
-
- def showPICT(self, resid):
- w = PICTwindow(self)
- w.open(resid)
- #EasyDialogs.Message('Show PICT %r' % (resid,))
-
- def findPICTresources(self):
- num = Res.CountResources('PICT')
- rv = []
- for i in range(1, num+1):
- Res.SetResLoad(0)
- try:
- r = Res.GetIndResource('PICT', i)
- finally:
- Res.SetResLoad(1)
- id, type, name = r.GetResInfo()
- rv.append((id, name))
- return rv
-
-class PICTwindow(FrameWork.Window):
- def open(self, (resid, resname)):
- if not resname:
- resname = '#%r' % (resid,)
- self.resid = resid
- picture = Qd.GetPicture(self.resid)
- # Get rect for picture
- print(repr(picture.data[:16]))
- sz, t, l, b, r = struct.unpack('hhhhh', picture.data[:10])
- print('pict:', t, l, b, r)
- width = r-l
- height = b-t
- if width < 64: width = 64
- elif width > 480: width = 480
- if height < 64: height = 64
- elif height > 320: height = 320
- bounds = (LEFT, TOP, LEFT+width, TOP+height)
- print('bounds:', bounds)
-
- self.wid = Win.NewWindow(bounds, resname, 1, 0, -1, 1, 0)
- self.wid.SetWindowPic(picture)
- self.do_postopen()
-
-class MyDialog(FrameWork.DialogWindow):
- "Main dialog window for PICTbrowse"
-
- def open(self, id, contents):
- self.id = id
- FrameWork.DialogWindow.open(self, ID_MAIN)
- self.dlg.SetDialogDefaultItem(MAIN_SHOW)
- tp, h, rect = self.dlg.GetDialogItem(MAIN_LIST)
- rect2 = rect[0]+1, rect[1]+1, rect[2]-17, rect[3]-17 # Scroll bar space
- self.list = List.LNew(rect2, (0, 0, 1, len(contents)), (0,0), 0, self.wid,
- 0, 1, 1, 1)
- self.contents = contents
- self.setlist()
-
- def setlist(self):
- self.list.LDelRow(0, 0)
- self.list.LSetDrawingMode(0)
- if self.contents:
- self.list.LAddRow(len(self.contents), 0)
- for i in range(len(self.contents)):
- v = repr(self.contents[i][0])
- if self.contents[i][1]:
- v = v + '"' + self.contents[i][1] + '"'
- self.list.LSetCell(v, (0, i))
- self.list.LSetDrawingMode(1)
- self.list.LUpdate(self.wid.GetWindowPort().visRgn)
-
- def do_listhit(self, event):
- (what, message, when, where, modifiers) = event
- Qd.SetPort(self.wid)
- where = Qd.GlobalToLocal(where)
- print('LISTHIT', where)
- if self.list.LClick(where, modifiers):
- self.do_show()
-
- def getselection(self):
- items = []
- point = (0,0)
- while 1:
- ok, point = self.list.LGetSelect(1, point)
- if not ok:
- break
- items.append(point[1])
- point = point[0], point[1]+1
- values = []
- for i in items:
- values.append(self.contents[i])
- return values
-
- def do_show(self, *args):
- selection = self.getselection()
- for resid in selection:
- self.parent.showPICT(resid)
-
- def do_rawupdate(self, window, event):
- tp, h, rect = self.dlg.GetDialogItem(MAIN_LIST)
- Qd.SetPort(self.wid)
- Qd.FrameRect(rect)
- self.list.LUpdate(self.wid.GetWindowPort().visRgn)
-
- def do_activate(self, activate, event):
- self.list.LActivate(activate)
-
- def do_close(self):
- self.close()
-
- def do_itemhit(self, item, event):
- if item == MAIN_LIST:
- self.do_listhit(event)
- if item == MAIN_SHOW:
- self.do_show()
-
-main()
diff --git a/Mac/Demo/PICTbrowse/oldPICTbrowse.rsrc b/Mac/Demo/PICTbrowse/oldPICTbrowse.rsrc
deleted file mode 100644
index fb7a192..0000000
--- a/Mac/Demo/PICTbrowse/oldPICTbrowse.rsrc
+++ /dev/null
Binary files differ