diff options
author | Aaron Mavrinac <mavrinac@gmail.com> | 2008-10-09 12:27:58 -0400 |
---|---|---|
committer | Aaron Mavrinac <mavrinac@gmail.com> | 2008-10-09 12:27:58 -0400 |
commit | efb499ac289d599ef54c5d814fb126bc06a4a6d2 (patch) | |
tree | 9c5e3bc4378b461152fc7e35a44707f4c6da857d /app-emulation | |
parent | Added tests to sci-libs/tina-libs ebuild. (diff) | |
download | ezod-efb499ac289d599ef54c5d814fb126bc06a4a6d2.tar.gz ezod-efb499ac289d599ef54c5d814fb126bc06a4a6d2.tar.bz2 ezod-efb499ac289d599ef54c5d814fb126bc06a4a6d2.zip |
Initial import of app-emulation/evbu ebuild.
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/evbu/ChangeLog | 8 | ||||
-rw-r--r-- | app-emulation/evbu/Manifest | 6 | ||||
-rw-r--r-- | app-emulation/evbu/evbu-0.6.ebuild | 43 | ||||
-rw-r--r-- | app-emulation/evbu/files/evbu-0.6-pysimwx.patch | 781 | ||||
-rw-r--r-- | app-emulation/evbu/files/evbu-0.6-wx.patch | 454 | ||||
-rw-r--r-- | app-emulation/evbu/metadata.xml | 13 |
6 files changed, 1305 insertions, 0 deletions
diff --git a/app-emulation/evbu/ChangeLog b/app-emulation/evbu/ChangeLog new file mode 100644 index 0000000..c5c8f81 --- /dev/null +++ b/app-emulation/evbu/ChangeLog @@ -0,0 +1,8 @@ +# ChangeLog for app-emulation/evbu +# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*evbu-0.6 (09 Oct 2008) + + 09 Oct 2008; Aaron Mavrinac <mavrinac@gmail.com> evbu-0.6.ebuild: + Initial import diff --git a/app-emulation/evbu/Manifest b/app-emulation/evbu/Manifest new file mode 100644 index 0000000..3b42905 --- /dev/null +++ b/app-emulation/evbu/Manifest @@ -0,0 +1,6 @@ +AUX evbu-0.6-pysimwx.patch 31557 RMD160 cf90ad8dabcbfc378f7a0f8eba57357594858b1b SHA1 c5c110e5d771953054f7ed572723212d1f496f1f SHA256 2afb3cff25af0e5dd7181c0df2df1a886d514d3b9e3e23c23d764d2e7f8f0ccc +AUX evbu-0.6-wx.patch 16428 RMD160 5ad7a5c5964b7e878caf981b5eec8f2942b6d0c7 SHA1 af42ae5517bd5a3dc6f5fdbf550f86747322d136 SHA256 27bbf1baaf2f74672e12aece73c02669f6e0bd3675cc2e69b9274c779e07b2ef +DIST evbu-0.6.tar.gz 109457 RMD160 701118bccba6ef07e5abff61cc81b226a8bc2e8c SHA1 1a985312482a6fb3cc8fb4875cb6fcb962c07638 SHA256 f15d4bca9ffd898a8c5379340dc124ec198fdb2eb23431d7f83b525e32a08e19 +EBUILD evbu-0.6.ebuild 946 RMD160 bdda2fb1c003095a0b6c2a8f6541e550f5fad070 SHA1 d94b41d00eeaace898bd2e8bef5c59264611f97d SHA256 f73a23b27cad199dcc7982a0c0293e1e8d2d6adef62e60f39313c0464a954d47 +MISC ChangeLog 230 RMD160 ddac491d29fd032839097df172a40388e6d5e332 SHA1 15e1a9af3bc71bd29c5901150e5e0085ac6e5550 SHA256 41dd1ac6514b2742d944f07edff23fb671346ff5a9386b4a62db29c1742e7938 +MISC metadata.xml 489 RMD160 23a9073ff6ef4f00d526465b8d99beb3aee44237 SHA1 57d08c04ce7d4a6c370786607c05d663fb60ad53 SHA256 4c774fa9c98f039377c246df67ff462d1875f3b3392d06a6982efd364b028752 diff --git a/app-emulation/evbu/evbu-0.6.ebuild b/app-emulation/evbu/evbu-0.6.ebuild new file mode 100644 index 0000000..0031b6c --- /dev/null +++ b/app-emulation/evbu/evbu-0.6.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +NEED_PYTHON=2.1 + +inherit distutils python + +DESCRIPTION="EVBU simulates the execution of a 68HC11 microcontroller." +HOMEPAGE="http://claymore.engineer.gvsu.edu/~steriana/Python/" +SRC_URI="http://claymore.engineer.gvsu.edu/%7Esteriana/courses/Downloads/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="virtual/python + dev-python/setuptools" +RDEPEND="virtual/python + >=dev-python/wxpython-2.3.2" + +DOCS="COPYING README" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-wx.patch + epatch "${FILESDIR}"/${P}-pysimwx.patch + sed '$d' < misc/evbu > misc/evbu-new + mv misc/evbu-new misc/evbu + echo python $(python_get_sitedir)/${PN}/${PN}.py \$\* >> misc/evbu +} + +src_install() { + distutils_src_install + dobin misc/evbu + dohtml doc/* +} + +pkg_postrm() { + python_mod_cleanup +} diff --git a/app-emulation/evbu/files/evbu-0.6-pysimwx.patch b/app-emulation/evbu/files/evbu-0.6-pysimwx.patch new file mode 100644 index 0000000..bc5af57 --- /dev/null +++ b/app-emulation/evbu/files/evbu-0.6-pysimwx.patch @@ -0,0 +1,781 @@ +diff -Naur PySim11/kcmmemory.py PySim11.new/kcmmemory.py +--- PySim11/kcmmemory.py 2004-07-25 11:41:25.000000000 -0400 ++++ PySim11.new/kcmmemory.py 2008-10-09 12:14:42.000000000 -0400 +@@ -3,7 +3,7 @@ + # + # Source file is kcmmemory.png from KDE icons + +-from wxPython.wx import wxBitmapFromXPMData, wxImageFromBitmap ++from wx import BitmapFromXPMData, ImageFromBitmap + import cPickle + + +@@ -30,8 +30,8 @@ + a." ) + + def getkcmmemoryBitmap(): +- return wxBitmapFromXPMData(getkcmmemoryData()) ++ return BitmapFromXPMData(getkcmmemoryData()) + + def getkcmmemoryImage(): +- return wxImageFromBitmap(getkcmmemoryBitmap()) ++ return ImageFromBitmap(getkcmmemoryBitmap()) + +diff -Naur PySim11/lacursors.py PySim11.new/lacursors.py +--- PySim11/lacursors.py 2004-07-25 11:41:25.000000000 -0400 ++++ PySim11.new/lacursors.py 2008-10-09 12:18:53.000000000 -0400 +@@ -3,14 +3,14 @@ + """ + + ## import all of the wxPython GUI package +-from wxPython.wx import * ++from wx import * + + import types + import sys + +-class LACursors(wxWindow): ++class LACursors(Window): + def __init__(self, parent, id, orig, size): +- wxWindow.__init__(self, parent, id, orig, size) ++ Window.__init__(self, parent, id, orig, size) + self.parent = parent + + EVT_PAINT(self, self.OnPaint) +@@ -20,8 +20,8 @@ + + self.startTime = 0L + self.division = 100000L # 100ns/div +- self.lineColor1 = wxRED +- self.lineColor2 = wxCYAN ++ self.lineColor1 = RED ++ self.lineColor2 = CYAN + self.lineWidth = 1 + self.tickSpacing = 50 # pixels/division + +@@ -66,7 +66,7 @@ + self.Refresh() + + def OnPaint(self, event): +- dc = wxPaintDC(self) ++ dc = PaintDC(self) + (w, h) = self.GetClientSizeTuple() + (decorationDX,decorationDY) = self.parent.GetWaveformBorderSizes() + +@@ -75,7 +75,7 @@ + # pixels/tick so we compute... + dX = float(self.tickSpacing) / self.division + +- dc.SetBackground(wxBrush(self.parent.GetBackgroundColour(), wxSOLID)) ++ dc.SetBackground(Brush(self.parent.GetBackgroundColour(), SOLID)) + dc.Clear() + + if self.pos1 is None: +@@ -83,24 +83,24 @@ + else: + x = int((self.pos1 - self.startTime)*dX + decorationDX) + if 0 <= x <= w: +- dc.SetPen(wxPen(self.lineColor1, self.lineWidth, wxSOLID)) ++ dc.SetPen(Pen(self.lineColor1, self.lineWidth, SOLID)) + if self.active==1: +- dc.SetBrush(wxBrush(self.lineColor1, wxSOLID)) ++ dc.SetBrush(Brush(self.lineColor1, SOLID)) + else: +- dc.SetBrush(wxBrush(self.lineColor1, wxTRANSPARENT)) +- dc.DrawPolygon([wxPoint(0,h), wxPoint(-4,h-4), wxPoint(-4,0), wxPoint(4,0), wxPoint(4,h-4)], xoffset=x) ++ dc.SetBrush(Brush(self.lineColor1, TRANSPARENT)) ++ dc.DrawPolygon([Point(0,h), Point(-4,h-4), Point(-4,0), Point(4,0), Point(4,h-4)], xoffset=x) + + if self.pos2 is None: + pass + else: + x = int((self.pos2 - self.startTime)*dX + decorationDX) + if 0 <= x <= w: +- dc.SetPen(wxPen(self.lineColor2, self.lineWidth, wxSOLID)) ++ dc.SetPen(Pen(self.lineColor2, self.lineWidth, SOLID)) + if self.active==2: +- dc.SetBrush(wxBrush(self.lineColor2, wxSOLID)) ++ dc.SetBrush(Brush(self.lineColor2, SOLID)) + else: +- dc.SetBrush(wxBrush(self.lineColor2, wxTRANSPARENT)) +- dc.DrawPolygon([wxPoint(0,h), wxPoint(-4,h-4), wxPoint(-4,0), wxPoint(4,0), wxPoint(4,h-4)], xoffset=x) ++ dc.SetBrush(Brush(self.lineColor2, TRANSPARENT)) ++ dc.DrawPolygon([Point(0,h), Point(-4,h-4), Point(-4,0), Point(4,0), Point(4,h-4)], xoffset=x) + + def GetC1Pos(self): + if not (self.pos1 is None): +diff -Naur PySim11/ladata.py PySim11.new/ladata.py +--- PySim11/ladata.py 2004-07-25 11:41:25.000000000 -0400 ++++ PySim11.new/ladata.py 2008-10-09 12:20:32.000000000 -0400 +@@ -2,7 +2,7 @@ + import re + + ## import all of the wxPython GUI package +-from wxPython.wx import * ++from wx import * + + #--------------------------------------------------------------------------- + +@@ -63,9 +63,9 @@ + # seem to work. + return hasattr(w, 'Blue') + +-class LAData(wxWindow): ++class LAData(Window): + def __init__(self, parent, id, orig, size): +- wxWindow.__init__(self, parent, id, orig, size, wxSUNKEN_BORDER) ++ Window.__init__(self, parent, id, orig, size, SUNKEN_BORDER) + + EVT_PAINT(self, self.OnPaint) + EVT_SIZE(self, self.OnSize) +@@ -74,11 +74,11 @@ + + self.startTime = 0L + self.division = 100000L # 100ns/div +- self.lineColor = wxWHITE ++ self.lineColor = WHITE + self.lineWidth = 2 +- self.backgroundColor = wxBLACK ++ self.backgroundColor = BLACK + self.tickSpacing = 50 # pixels/division +- self.tickColor = wxTheColourDatabase.FindColour("YELLOW") ++ self.tickColor = TheColourDatabase.FindColour("YELLOW") + + self.cursor1 = self.cursor2 = None + +@@ -195,13 +195,13 @@ + t = T1 + T1 = T2 + T2 = t +- self.Refresh(1, wxRect(T1, 0, T2-T1+1, h)) ++ self.Refresh(1, Rect(T1, 0, T2-T1+1, h)) + elif not (self.cursor1 is None): + T1 = int((self.cursor1 - self.startTime)*self.dX) +- self.Refresh(1, wxRect(T1-2, 0, 5, h)) ++ self.Refresh(1, Rect(T1-2, 0, 5, h)) + elif not (oldpos is None): + T1 = int((oldpos - self.startTime)*self.dX) +- self.Refresh(1, wxRect(T1-2, 0, 5, h)) ++ self.Refresh(1, Rect(T1-2, 0, 5, h)) + else: + self.Refresh() + +@@ -217,23 +217,23 @@ + t = T1 + T1 = T2 + T2 = t +- self.Refresh(1, wxRect(T1, 0, T2-T1+1, h)) ++ self.Refresh(1, Rect(T1, 0, T2-T1+1, h)) + elif not (self.cursor2 is None): + T1 = int((self.cursor2 - self.startTime)*self.dX) +- self.Refresh(1, wxRect(T1-2, 0, 5, h)) ++ self.Refresh(1, Rect(T1-2, 0, 5, h)) + elif not (oldpos is None): + T1 = int((oldpos - self.startTime)*self.dX) +- self.Refresh(1, wxRect(T1-2, 0, 5, h)) ++ self.Refresh(1, Rect(T1-2, 0, 5, h)) + else: + self.Refresh() + + def OnPaint(self, event): +- dc = wxPaintDC(self) ++ dc = PaintDC(self) + (w, h) = self.GetClientSizeTuple() + YVal = [h-4, 4] # Mapping from (0,1) to pixel positions + +- dc.SetPen(wxPen(self.lineColor, self.lineWidth, wxSOLID)) +- dc.SetBackground(wxBrush(self.backgroundColor, wxSOLID)) ++ dc.SetPen(Pen(self.lineColor, self.lineWidth, SOLID)) ++ dc.SetBackground(Brush(self.backgroundColor, SOLID)) + + region = self.GetUpdateRegion() + dc.SetClippingRegionAsRegion(region) +@@ -279,7 +279,7 @@ + if firstTime < self.startTime: + firstTime = firstTime + self.division + +- dc.SetPen(wxPen(self.tickColor, 1, wxSOLID)) ++ dc.SetPen(Pen(self.tickColor, 1, SOLID)) + if self.events: + while 1: + T = int((firstTime - self.startTime)*self.dX) +@@ -291,11 +291,11 @@ + # Draw cursors + if not (self.cursor1 is None): + T = int((self.cursor1 - self.startTime)*self.dX) +- dc.SetPen(wxRED_PEN) ++ dc.SetPen(RED_PEN) + dc.DrawLine(T, 0, T, h) + if not (self.cursor2 is None): + T = int((self.cursor2 - self.startTime)*self.dX) +- dc.SetPen(wxPen(wxCYAN, 1, wxSOLID)) ++ dc.SetPen(Pen(CYAN, 1, SOLID)) + dc.DrawLine(T, 0, T, h) + + def Clear(self): +@@ -332,13 +332,13 @@ + try: + fid = open(filename, 'r') + except IOError, detail: +- wxMessageBox('%s: "%s"' % (detail.strerror, detail.filename), "You lose", wxOK|wxCENTRE) ++ MessageBox('%s: "%s"' % (detail.strerror, detail.filename), "You lose", OK|CENTRE) + return 0 + + try: + lines = fid.readlines() + except IOError, detail: +- wxMessageBox('%s: "%s"' % (detail.strerror, filename), "You lose", wxOK|wxCENTRE) ++ MessageBox('%s: "%s"' % (detail.strerror, filename), "You lose", OK|CENTRE) + return 0 + + fid.close() +@@ -354,7 +354,7 @@ + match = pat_c.match(line) + if match is None: + if comment_c.match(line) is None: +- wxMessageBox('Error at "%s" line %d\nLine is not in the format\n"CYCLE ZeroOrOne"' % (filename, linenum), "Bad file format", wxOK|wxCENTRE) ++ MessageBox('Error at "%s" line %d\nLine is not in the format\n"CYCLE ZeroOrOne"' % (filename, linenum), "Bad file format", OK|CENTRE) + return 0 + else: + continue +@@ -364,7 +364,7 @@ + + if events: + if cycle <= events[-1][0]: +- wxMessageBox('Error at "%s" line %d\nCycle time not in ascending order' % (filename, linenum), "Bad file format", wxOK|wxCENTRE) ++ MessageBox('Error at "%s" line %d\nCycle time not in ascending order' % (filename, linenum), "Bad file format", OK|CENTRE) + return 0 + + if val != events[-1][1]: +diff -Naur PySim11/laframe.py PySim11.new/laframe.py +--- PySim11/laframe.py 2004-07-25 11:41:25.000000000 -0400 ++++ PySim11.new/laframe.py 2008-10-09 12:21:09.000000000 -0400 +@@ -2,30 +2,30 @@ + This module is the top-level frame for the logic analyzer window + """ + +-from wxPython.wx import * ++from wx import * + from lapanel import LAPanel + + from kcmmemory import getkcmmemoryData + + ## Create a new frame class, derived from the wxPython Frame. +-class LAFrame(wxFrame): ++class LAFrame(Frame): + + def __init__(self, parent, id, title): + # First, call the base class' __init__ method to create the frame +- wxFrame.__init__(self, parent, id, title, wxPoint(-1, -1), wxSize(835, 320), wxDEFAULT_FRAME_STYLE) ++ Frame.__init__(self, parent, id, title, Point(-1, -1), Size(835, 320), DEFAULT_FRAME_STYLE) + + EVT_CLOSE(self, self.OnCloseWindow) + + # Add the LA panel +- self.la = LAPanel(self, -1, wxPoint(10,10), wxSize(660,300), wxTAB_TRAVERSAL) ++ self.la = LAPanel(self, -1, Point(10,10), Size(660,300), TAB_TRAVERSAL) + +- self.statusBar = wxStatusBar(self, -1) ++ self.statusBar = StatusBar(self, -1) + self.statusBar.SetFieldsCount(1) + self.statusBar.SetStatusWidths([-1]) + self.statusBar.SetStatusText("", 0) + self.SetStatusBar(self.statusBar) + +- icon = wxIconFromXPMData(getkcmmemoryData()) ++ icon = IconFromXPMData(getkcmmemoryData()) + self.SetIcon(icon) + + # This method is called automatically when the CLOSE event is +@@ -34,10 +34,10 @@ + if hasattr(self,'testonly'): + self.Destroy() + else: +- wxMessageBox("Do not close this window while EVBU is running.", "Bad user!", wxOK|wxCENTRE) ++ MessageBox("Do not close this window while EVBU is running.", "Bad user!", OK|CENTRE) + + if __name__=="__main__": +- app = wxPySimpleApp() ++ app = PySimpleApp() + f = LAFrame(None, -1, "Stuff") + f.Show(1) + f.testonly = 1 +diff -Naur PySim11/lalabel.py PySim11.new/lalabel.py +--- PySim11/lalabel.py 2004-07-25 11:41:25.000000000 -0400 ++++ PySim11.new/lalabel.py 2008-10-09 12:21:43.000000000 -0400 +@@ -3,7 +3,7 @@ + """ + + ## import all of the wxPython GUI package +-from wxPython.wx import * ++from wx import * + + import types + +@@ -20,18 +20,18 @@ + # seem to work. + return hasattr(w, 'Blue') + +-class LALabel(wxWindow): ++class LALabel(Window): + def __init__(self, parent, id, orig, size): +- wxWindow.__init__(self, parent, id, orig, size, wxSUNKEN_BORDER) ++ Window.__init__(self, parent, id, orig, size, SUNKEN_BORDER) + + EVT_PAINT(self, self.OnPaint) + EVT_SIZE(self, self.OnSize) + EVT_RIGHT_DOWN(self, self.OnRightClick) + EVT_LEFT_DCLICK(self, self.OnLeftDoubleClick) + +- self.textColor = wxWHITE ++ self.textColor = WHITE + self.textWidth = 2 +- self.backgroundColor = wxTheColourDatabase.FindColour("DIM GREY") ++ self.backgroundColor = TheColourDatabase.FindColour("DIM GREY") + + self.parent = parent + self.label = "" +@@ -75,11 +75,11 @@ + self.Refresh() + + def OnPaint(self, event): +- dc = wxPaintDC(self) ++ dc = PaintDC(self) + (W, H) = self.GetClientSizeTuple() + +- bg = wxBrush(self.backgroundColor, wxSOLID) +- dc.SetFont(wxFont(14, wxSWISS, wxNORMAL, wxBOLD)) ++ bg = Brush(self.backgroundColor, SOLID) ++ dc.SetFont(Font(14, SWISS, NORMAL, BOLD)) + dc.SetTextForeground(self.textColor) + dc.SetTextBackground(self.backgroundColor) + dc.SetBackground(bg) +diff -Naur PySim11/lapanel.py PySim11.new/lapanel.py +--- PySim11/lapanel.py 2004-07-25 11:41:25.000000000 -0400 ++++ PySim11.new/lapanel.py 2008-10-09 12:24:08.000000000 -0400 +@@ -3,7 +3,7 @@ + """ + + ## import all of the wxPython GUI package +-from wxPython.wx import * ++from wx import * + + import operator + import types +@@ -30,18 +30,18 @@ + + # Colors for successive traces + _LA_DATA_COLORS = [ +- wxWHITE, wxRED, wxBLUE, wxGREEN, wxCYAN, +- wxTheColourDatabase.FindColour("YELLOW"), +- wxTheColourDatabase.FindColour("MAGENTA"), +- wxTheColourDatabase.FindColour("PINK") ++ WHITE, RED, BLUE, GREEN, CYAN, ++ TheColourDatabase.FindColour("YELLOW"), ++ TheColourDatabase.FindColour("MAGENTA"), ++ TheColourDatabase.FindColour("PINK") + ] + _LA_LAST_COLOR = -1 + + # Background color definitions for input waveforms and output waveforms +-_LA_INDATA_COLOR = wxTheColourDatabase.FindColour("DIM GRAY") +-_LA_OUTDATA_COLOR = wxBLACK ++_LA_INDATA_COLOR = TheColourDatabase.FindColour("DIM GRAY") ++_LA_OUTDATA_COLOR = BLACK + +-class LAPanel(wxPanel): ++class LAPanel(Panel): + # Future support for time units? + Cycles = 1 + Ms = 2 +@@ -49,11 +49,11 @@ + Ns = 4 + + def __init__(self, parent, id, orig, size, attr): +- wxPanel.__init__(self, parent, id, orig, size, attr) ++ Panel.__init__(self, parent, id, orig, size, attr) + self.parent = parent + + (w,h) = self.GetClientSize() +- self.cursors = LACursors(self, -1, wxPoint(5+100+5, _LA_TOP_Y-10), wxSize(w-5-100-5-5, 10)) ++ self.cursors = LACursors(self, -1, Point(5+100+5, _LA_TOP_Y-10), Size(w-5-100-5-5, 10)) + self.isSimulating = 0 + + # The PySim11 thread calls our functions to post window update +@@ -105,12 +105,12 @@ + # "right" way just yet. + + # Start time text control +- wxStaticBox(self, -1, "Start Time", wxPoint(5, 10), wxSize(176,40)) +- self.startTimeText = wxTextCtrl(self, 100, "0", wxPoint(10, 25), wxSize(68,20), wxTE_PROCESS_ENTER) +- self.startTimeUnits = wxStaticText(self, -1, "cyc", wxPoint(80, 28), wxSize(25,20)) +- self.startTimePDivButton = wxButton(self, 111, "+div", wxPoint(105, 19), wxSize(37,15)) +- self.startTimeMDivButton = wxButton(self, 112, "-div", wxPoint(140, 19), wxSize(37,15)) +- self.startTimeZeroButton = wxButton(self, 101, "zero", wxPoint(105, 33), wxSize(72,15)) ++ StaticBox(self, -1, "Start Time", Point(5, 10), Size(176,40)) ++ self.startTimeText = TextCtrl(self, 100, "0", Point(10, 25), Size(68,20), TE_PROCESS_ENTER) ++ self.startTimeUnits = StaticText(self, -1, "cyc", Point(80, 28), Size(25,20)) ++ self.startTimePDivButton = Button(self, 111, "+div", Point(105, 19), Size(37,15)) ++ self.startTimeMDivButton = Button(self, 112, "-div", Point(140, 19), Size(37,15)) ++ self.startTimeZeroButton = Button(self, 101, "zero", Point(105, 33), Size(72,15)) + + EVT_TEXT_ENTER(self, 100, self.OnStartTimeChange) + EVT_BUTTON(self, 101, self.OnZeroStartTime) +@@ -118,18 +118,18 @@ + EVT_BUTTON(self, 112, self.OnMDiv) + + # Division text control +- wxStaticBox(self, -1, "Scale", wxPoint(186, 10), wxSize(134,40)) +- self.divisionText = wxTextCtrl(self, 102, "100", wxPoint(191,25), wxSize(68,20), wxTE_PROCESS_ENTER) +- self.divisionUnits = wxStaticText(self, -1, "cyc/div", wxPoint(262,28), wxSize(50,20)) ++ StaticBox(self, -1, "Scale", Point(186, 10), Size(134,40)) ++ self.divisionText = TextCtrl(self, 102, "100", Point(191,25), Size(68,20), TE_PROCESS_ENTER) ++ self.divisionUnits = StaticText(self, -1, "cyc/div", Point(262,28), Size(50,20)) + + EVT_TEXT_ENTER(self, 102, self.OnDivisionChange) + + # Zoom buttons +- wxStaticBox(self, -1, "Zoom", wxPoint(325, 10), wxSize(165,40)) +- self.zoomInButton = wxButton(self, 103, "In", wxPoint(380, 19), wxSize(50,15)) +- self.zoomOutButton = wxButton(self, 104, "Out", wxPoint(380, 33), wxSize(50,15)) +- self.zoomAllButton = wxButton(self, 105, "All", wxPoint(435, 19), wxSize(50,15)) +- self.zoomMaxButton = wxButton(self, 106, "Max", wxPoint(435, 33), wxSize(50,15)) ++ StaticBox(self, -1, "Zoom", Point(325, 10), Size(165,40)) ++ self.zoomInButton = Button(self, 103, "In", Point(380, 19), Size(50,15)) ++ self.zoomOutButton = Button(self, 104, "Out", Point(380, 33), Size(50,15)) ++ self.zoomAllButton = Button(self, 105, "All", Point(435, 19), Size(50,15)) ++ self.zoomMaxButton = Button(self, 106, "Max", Point(435, 33), Size(50,15)) + + EVT_BUTTON(self, 103, self.OnZoomIn) + EVT_BUTTON(self, 104, self.OnZoomOut) +@@ -139,13 +139,13 @@ + ############## + # Cursors + ############## +- wxStaticBox(self, -1, "Cursors", wxPoint(495, 10), wxSize(325,40)) +- wxStaticText(self, -1, "C1", wxPoint(500, 30), wxSize(20, 15)) +- self.c1TimeText = wxTextCtrl(self, 113, "0", wxPoint(520, 26), wxSize(70, 20), wxTE_PROCESS_ENTER) +- wxStaticText(self, -1, "C2", wxPoint(600, 30), wxSize(20, 15)) +- self.c2TimeText = wxTextCtrl(self, 114, "0", wxPoint(620, 26), wxSize(70, 20), wxTE_PROCESS_ENTER) +- wxStaticText(self, -1, "C2-C1", wxPoint(700, 30), wxSize(45, 15)) +- self.deltaCTimeText = wxTextCtrl(self, 115, "0", wxPoint(745, 26), wxSize(70, 20), wxTE_READONLY) ++ StaticBox(self, -1, "Cursors", Point(495, 10), Size(325,40)) ++ StaticText(self, -1, "C1", Point(500, 30), Size(20, 15)) ++ self.c1TimeText = TextCtrl(self, 113, "0", Point(520, 26), Size(70, 20), TE_PROCESS_ENTER) ++ StaticText(self, -1, "C2", Point(600, 30), Size(20, 15)) ++ self.c2TimeText = TextCtrl(self, 114, "0", Point(620, 26), Size(70, 20), TE_PROCESS_ENTER) ++ StaticText(self, -1, "C2-C1", Point(700, 30), Size(45, 15)) ++ self.deltaCTimeText = TextCtrl(self, 115, "0", Point(745, 26), Size(70, 20), TE_READONLY) + + EVT_TEXT_ENTER(self, 113, self.OnTextC1) + EVT_TEXT_ENTER(self, 114, self.OnTextC2) +@@ -172,14 +172,14 @@ + # bar for our parent, an LAFrame. Now why is this? Why doesn't this code + # migrate up to laframe.py? + ###### +- parent.menubar = wxMenuBar() ++ parent.menubar = MenuBar() + +- waveformMenu = wxMenu() ++ waveformMenu = Menu() + waveformMenu.Append(401, "&Add waveform...\tCtrl-A", "Add a waveform") + parent.menubar.Append(waveformMenu, "&Waveform") + self.waveformMenu = waveformMenu + +- viewMenu = wxMenu() ++ viewMenu = Menu() + viewMenu.Append(201, "&Zero\tCtrl-Z", "Set start time to 0") + viewMenu.Append(211, "&+Div", "Increase start time by one division (also Shift-Right)") + viewMenu.Append(212, "&-Div", "Decrease start time by one division (also Shift-Left)") +@@ -206,17 +206,17 @@ + EVT_MENU(parent, 207, self.OnCursor1) + EVT_MENU(parent, 208, self.OnCursor2) + +- accel = wxAcceleratorTable([ \ +- (wxACCEL_CTRL, ord('a'), 401), \ +- (wxACCEL_CTRL, ord('z'), 201), \ +- (wxACCEL_NORMAL, WXK_PRIOR, 203), \ +- (wxACCEL_NORMAL, WXK_NEXT, 204), \ +- (wxACCEL_CTRL, WXK_PRIOR, 206), \ +- (wxACCEL_CTRL, WXK_NEXT, 205), \ +- (wxACCEL_CTRL, ord('1'), 207), \ +- (wxACCEL_CTRL, ord('2'), 208), \ +- (wxACCEL_SHIFT, WXK_RIGHT, 211), \ +- (wxACCEL_SHIFT, WXK_LEFT, 212)]) ++ accel = AcceleratorTable([ \ ++ (ACCEL_CTRL, ord('a'), 401), \ ++ (ACCEL_CTRL, ord('z'), 201), \ ++ (ACCEL_NORMAL, WXK_PRIOR, 203), \ ++ (ACCEL_NORMAL, WXK_NEXT, 204), \ ++ (ACCEL_CTRL, WXK_PRIOR, 206), \ ++ (ACCEL_CTRL, WXK_NEXT, 205), \ ++ (ACCEL_CTRL, ord('1'), 207), \ ++ (ACCEL_CTRL, ord('2'), 208), \ ++ (ACCEL_SHIFT, WXK_RIGHT, 211), \ ++ (ACCEL_SHIFT, WXK_LEFT, 212)]) + parent.SetAcceleratorTable(accel) + + def OnPDiv(self, event): +@@ -264,7 +264,7 @@ + if newSpacing != self.tickSpacing: + self.SetTickSpacing(newSpacing) + else: +- wxMessageBox("Minimum zoom reached. Increase the scale to see more of the waveform.", "Whoa, there", wxOK|wxCENTRE) ++ MessageBox("Minimum zoom reached. Increase the scale to see more of the waveform.", "Whoa, there", OK|CENTRE) + + def OnZoomIn(self, event): + newSpacing = self.tickSpacing*5/4 +@@ -372,8 +372,8 @@ + if w >= 100: + for wave in self.waveforms: + (oldw, h) = wave.GetSize() +- wave.SetSize(wxSize(w,h)) +- self.cursors.SetSize(wxSize(w-5-100, 10)) ++ wave.SetSize(Size(w,h)) ++ self.cursors.SetSize(Size(w-5-100, 10)) + + def OnZeroStartTime(self, event): + self.startTimeText.SetValue("0") +@@ -405,7 +405,7 @@ + if self.isSimulating: + return + +- m = wxMenu() ++ m = Menu() + (x,y) = event.GetPosition() + + m.Append(401, "Add waveform...") +@@ -489,7 +489,7 @@ + x = self.clickxy[0] + nextedge = self.clickwaveform.FindNextEdgeFromX(x) + if nextedge is None: +- wxMessageBox("No waveform edges exist past this point", "Outta luck", wxOK|wxCENTRE) ++ MessageBox("No waveform edges exist past this point", "Outta luck", OK|CENTRE) + return + + self.cursors.SetC1PosCycles(nextedge) +@@ -501,7 +501,7 @@ + x = self.clickxy[0] + nextedge = self.clickwaveform.FindNextEdgeFromX(x) + if nextedge is None: +- wxMessageBox("No waveform edges exist past this point", "Outta luck", wxOK|wxCENTRE) ++ MessageBox("No waveform edges exist past this point", "Outta luck", OK|CENTRE) + return + + self.cursors.SetC2PosCycles(nextedge) +@@ -551,7 +551,7 @@ + (w,h) = self.GetClientSizeTuple() + ix = len(self.waveforms) + +- w = LAWaveform(self, -1, wxPoint(5, _LA_TOP_Y+ix*_LA_VSPACING), wxSize(w-10, _LA_HEIGHT), 0) ++ w = LAWaveform(self, -1, Point(5, _LA_TOP_Y+ix*_LA_VSPACING), Size(w-10, _LA_HEIGHT), 0) + + # Open dialog to set properties + (isOK, newPath) = w.Edit(self.lastSTIPath) +@@ -687,7 +687,7 @@ + apply(func, args) + + # Come back here for the next event in the queue +- wxPostEvent(self, wxCommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, 301)) ++ PostEvent(self, CommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, 301)) + + # The following functions are called as fake button handlers + # to respond to events from the PySim11 thread. +@@ -743,19 +743,19 @@ + + def OnCycReset(self, event): + self.queue.put((self.OnCycReset_handler, ())) +- wxPostEvent(self, wxCommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, 301)) ++ PostEvent(self, CommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, 301)) + + def IsSimulating(self, sim): + self.queue.put((self.IsSimulating_handler, (sim,))) +- wxPostEvent(self, wxCommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, 301)) ++ PostEvent(self, CommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, 301)) + + def Append(self, PortPin, T, V): + self.queue.put((self.Append_handler, (PortPin, T, V))) +- wxPostEvent(self, wxCommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, 301)) ++ PostEvent(self, CommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, 301)) + + def AppendRel(self, PortPin, DT, V): + self.queue.put((self.AppendRel_handler, (PortPin, DT, V))) +- wxPostEvent(self, wxCommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, 301)) ++ PostEvent(self, CommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, 301)) + + ################################################################## + ################################################################## +diff -Naur PySim11/lawaveform.py PySim11.new/lawaveform.py +--- PySim11/lawaveform.py 2004-07-25 11:41:25.000000000 -0400 ++++ PySim11.new/lawaveform.py 2008-10-09 12:24:35.000000000 -0400 +@@ -7,7 +7,7 @@ + import os.path + + ## import all of the wxPython GUI package +-from wxPython.wx import * ++from wx import * + + from ladata import LAData + from lalabel import LALabel +@@ -15,9 +15,9 @@ + + _LA_LABELWIDTH = 100 + +-class LAWaveform(wxWindow): ++class LAWaveform(Window): + def __init__(self, parent, id, orig, size, attr): +- wxWindow.__init__(self, parent, id, orig, size, attr) ++ Window.__init__(self, parent, id, orig, size, attr) + + self.data = None # Contains object of class LAData + self.label = None # Contains object of class LALabel +@@ -66,7 +66,7 @@ + (oldw, oldh) = self.data.GetSize() + neww = myw - _LA_LABELWIDTH - 5 + if neww >= 100: +- self.data.SetSize(wxSize(neww, oldh)) ++ self.data.SetSize(Size(neww, oldh)) + + event.Skip() + +@@ -100,14 +100,14 @@ + + (w,h) = self.GetClientSizeTuple() + +- d = LAWaveformProperties(self, -1, "Waveform Properties", wxPoint(-1,-1), lastPath) ++ d = LAWaveformProperties(self, -1, "Waveform Properties", Point(-1,-1), lastPath) + d.SetValues(self.portpin, self.stimfile) + +- if d.ShowModal() == wxID_OK: ++ if d.ShowModal() == ID_OK: + dlgdata = d.SlurpData() + if len(dlgdata['pin']) and dlgdata['pin'] != self.portpin: +- self.label = LALabel(self, -1, wxPoint(0, 0), wxSize(_LA_LABELWIDTH, h)) +- self.data = LAData(self, -1, wxPoint(_LA_LABELWIDTH+5, 0), wxSize(w-_LA_LABELWIDTH-5,h)) ++ self.label = LALabel(self, -1, Point(0, 0), Size(_LA_LABELWIDTH, h)) ++ self.data = LAData(self, -1, Point(_LA_LABELWIDTH+5, 0), Size(w-_LA_LABELWIDTH-5,h)) + + self.label.SetLabel(dlgdata['pin']) + self.stimfile = dlgdata['filename'] +@@ -174,7 +174,7 @@ + assert self.isinput + + if not self.stimfile: +- wxMessageBox("You must first Edit this waveform to specify a stimulus file", "First things first", wxOK|wxCENTRE) ++ MessageBox("You must first Edit this waveform to specify a stimulus file", "First things first", OK|CENTRE) + return + + if self.data: +diff -Naur PySim11/lawaveprops_dlg.py PySim11.new/lawaveprops_dlg.py +--- PySim11/lawaveprops_dlg.py 2004-07-25 11:41:25.000000000 -0400 ++++ PySim11.new/lawaveprops_dlg.py 2008-10-09 12:26:07.000000000 -0400 +@@ -1,4 +1,4 @@ +-from wxPython.wx import * ++from wx import * + + PortInfo = { \ + 'PA7': ('IO',"""Port A:7 PA7/PAI/OC1 +@@ -215,40 +215,40 @@ + input channel.""") + } + +-class LAWaveformProperties(wxDialog): ++class LAWaveformProperties(Dialog): + + def __init__(self, parent, id, title, orig, lastPath): +- wxDialog.__init__(self, parent, id, title, orig, wxDLG_SZE(parent,wxSize(160,184)), wxCAPTION|wxDIALOG_MODAL) ++ Dialog.__init__(self, parent, id, title, orig, DLG_SZE(parent,Size(160,184)), CAPTION|DIALOG_MODAL) + +- wxStaticText(self, -1, "Port Pin", wxDLG_PNT(self,wxPoint(10,10)), wxDLG_SZE(self,wxSize(21,9)), wxALIGN_LEFT) ++ StaticText(self, -1, "Port Pin", DLG_PNT(self,Point(10,10)), DLG_SZE(self,Size(21,9)), ALIGN_LEFT) + + self.lastPath = lastPath + + names = PortInfo.keys() + names.sort() + +- self.listbox = wxListBox(self, 100, wxDLG_PNT(self,wxPoint(10,20)), wxDLG_SZE(self,wxSize(46,90)), names, wxLB_SINGLE) +- self.stimulusfile = wxStaticText(self, -1, "Stimulus File", wxDLG_PNT(self,wxPoint(10,114)), wxDLG_SZE(self,wxSize(36,9)), wxALIGN_LEFT) ++ self.listbox = ListBox(self, 100, DLG_PNT(self,Point(10,20)), DLG_SZE(self,Size(46,90)), names, LB_SINGLE) ++ self.stimulusfile = StaticText(self, -1, "Stimulus File", DLG_PNT(self,Point(10,114)), DLG_SZE(self,Size(36,9)), ALIGN_LEFT) + self.stimulusfile.Enable(0) + +- self.filename = wxTextCtrl(self, 101, "", wxDLG_PNT(self,wxPoint(10,123)), wxDLG_SZE(self,wxSize(100,13)), wxTE_PROCESS_ENTER) ++ self.filename = TextCtrl(self, 101, "", DLG_PNT(self,Point(10,123)), DLG_SZE(self,Size(100,13)), TE_PROCESS_ENTER) + self.filename.Enable(0) +- self.browse = wxButton(self, 102, "Browse", wxDLG_PNT(self,wxPoint(116,123)), wxDLG_SZE(self,wxSize(32,12))) ++ self.browse = Button(self, 102, "Browse", DLG_PNT(self,Point(116,123)), DLG_SZE(self,Size(32,12))) + self.browse.Enable(0) +- wxStaticBox(self, -1, "Port Pin Info", wxDLG_PNT(self,wxPoint(60,10)), wxDLG_SZE(self,wxSize(90,100))) ++ StaticBox(self, -1, "Port Pin Info", DLG_PNT(self,Point(60,10)), DLG_SZE(self,Size(90,100))) + +- self.pininfo = wxStaticText(self, 103, "", wxDLG_PNT(self,wxPoint(62,21)), wxDLG_SZE(self,wxSize(86,85)), wxALIGN_LEFT|wxST_NO_AUTORESIZE) ++ self.pininfo = StaticText(self, 103, "", DLG_PNT(self,Point(62,21)), DLG_SZE(self,Size(86,85)), ALIGN_LEFT|ST_NO_AUTORESIZE) + +- wxStaticLine(self, -1, wxDLG_PNT(self,wxPoint(5,145)), wxDLG_SZE(self,wxSize(148,2)), wxLI_HORIZONTAL) +- self.okbutton = wxButton(self, wxID_OK, "OK", wxDLG_PNT(self,wxPoint(34, 152)), wxDLG_SZE(self,wxSize(32,12))) ++ StaticLine(self, -1, DLG_PNT(self,Point(5,145)), DLG_SZE(self,Size(148,2)), LI_HORIZONTAL) ++ self.okbutton = Button(self, ID_OK, "OK", DLG_PNT(self,Point(34, 152)), DLG_SZE(self,Size(32,12))) + self.okbutton.Enable(0) +- wxButton(self, wxID_CANCEL, "Cancel", wxDLG_PNT(self,wxPoint(86, 152)), wxDLG_SZE(self,wxSize(32,12))) ++ Button(self, ID_CANCEL, "Cancel", DLG_PNT(self,Point(86, 152)), DLG_SZE(self,Size(32,12))) + + EVT_LISTBOX(self, 100, self.OnListBox) + EVT_LISTBOX_DCLICK(self, 100, self.OnListBoxDoubleClick) + EVT_BUTTON(self, 102, self.OnBrowse) + EVT_TEXT_ENTER(self, 101, self.OnTextEnter) +- EVT_BUTTON(self, wxID_OK, self.OnOk) ++ EVT_BUTTON(self, ID_OK, self.OnOk) + + def OnOk(self, event): + # Don't allow OK button when no selection. We kind-of handle +@@ -279,13 +279,13 @@ + self.filename.SetValue("") + + def OnTextEnter(self, event): +- wxPostEvent(self, wxCommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK)) ++ PostEvent(self, CommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, ID_OK)) + + def OnListBoxDoubleClick(self, event): + s = event.GetString() + assert PortInfo.has_key(s) + self.okbutton.Enable(1) +- wxPostEvent(self, wxCommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK)) ++ PostEvent(self, CommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, ID_OK)) + + def OnListBox(self, event): + s = event.GetString() +@@ -302,7 +302,7 @@ + self.stimulusfile.Enable(1) + + def OnBrowse(self, event): +- s = wxFileSelector("Select stimulus file", self.lastPath, "", ".sti", "Stimulus files (*.sti)|*.sti|All files (*.*)|*.*", wxOPEN|wxFILE_MUST_EXIST, self) ++ s = FileSelector("Select stimulus file", self.lastPath, "", ".sti", "Stimulus files (*.sti)|*.sti|All files (*.*)|*.*", OPEN|FILE_MUST_EXIST, self) + if (s): + self.filename.SetValue(s) + +@@ -315,9 +315,9 @@ + return d + + if __name__=="__main__": +- app = wxPySimpleApp() +- d = LAWaveformProperties(None, -1, "Waveform Properties", wxPoint(-1,-1)) +- if d.ShowModal() == wxID_OK: ++ app = PySimpleApp() ++ d = LAWaveformProperties(None, -1, "Waveform Properties", Point(-1,-1)) ++ if d.ShowModal() == ID_OK: + dlgdata = d.SlurpData() + print dlgdata['pin'] + print dlgdata['filename'] +diff -Naur PySim11/pe_pio.py PySim11.new/pe_pio.py +--- PySim11/pe_pio.py 2004-07-25 11:41:25.000000000 -0400 ++++ PySim11.new/pe_pio.py 2008-10-09 12:26:29.000000000 -0400 +@@ -114,7 +114,7 @@ + PAIF = 0x10 + + try: +- import wxPython.wx ++ import wx + from laframe import LAFrame + + except: diff --git a/app-emulation/evbu/files/evbu-0.6-wx.patch b/app-emulation/evbu/files/evbu-0.6-wx.patch new file mode 100644 index 0000000..2c1e686 --- /dev/null +++ b/app-emulation/evbu/files/evbu-0.6-wx.patch @@ -0,0 +1,454 @@ +diff -Naur evbu/evbu.py evbu.new/evbu.py +--- evbu/evbu.py 2004-07-25 11:41:25.000000000 -0400 ++++ evbu.new/evbu.py 2008-10-09 12:02:20.000000000 -0400 +@@ -811,11 +811,11 @@ + import Queue + + ## import all of the wxPython GUI package +- from wxPython.wx import * ++ from wx import * + + from evbuframe import EVBUFrame + +- class MyApp(wxApp): ++ class MyApp(App): + + # wxWindows calls this method to initialize the application + def OnInit(self): +@@ -866,7 +866,7 @@ + import buffalo + bstate = buffalo.BuffaloServices(evb) + +- frame.Show(true) ++ frame.Show(True) + + # Tell wxWindows that this is our main window + self.SetTopWindow(frame) +@@ -884,7 +884,7 @@ + frame.term.input.SetFocus() + + # Return a success flag +- return true ++ return True + + + # Save and restore working directory on exit +diff -Naur evbu/evbuframe.py evbu.new/evbuframe.py +--- evbu/evbuframe.py 2004-07-25 11:41:25.000000000 -0400 ++++ evbu.new/evbuframe.py 2008-10-09 11:49:35.000000000 -0400 +@@ -10,7 +10,7 @@ + + from safestruct import * + +-from wxPython.wx import * ++from wx import * + + import G + from term import Term +@@ -18,7 +18,7 @@ + from PySim11 import PySim11 + from kcmmemory import getkcmmemoryData + +-class EVBUFrame(wxFrame): ++class EVBUFrame(Frame): + + def __init__(self, parent, id, title, queue, simbreak): + # Queue for sending user input to cmdloop +@@ -38,11 +38,11 @@ + # Determine sizes + # + ##################################################### +- dc = wxScreenDC() ++ dc = ScreenDC() + if sys.platform == "win32": +- font = wxFont(12, wxMODERN, wxNORMAL, wxNORMAL) ++ font = Font(12, MODERN, NORMAL, NORMAL) + else: +- font = wxFont(14, wxMODERN, wxNORMAL, wxNORMAL) ++ font = Font(14, MODERN, NORMAL, NORMAL) + dc.SetFont(font) + ch = dc.GetCharHeight() + cw = dc.GetCharWidth() +@@ -75,10 +75,10 @@ + h = 25*ch + ch + 72 + + # First, call the base class' __init__ method to create the frame +- wxFrame.__init__(self, parent, id, title, wxPoint(-1, -1), wxSize(w,h), wxMINIMIZE_BOX|wxMAXIMIZE_BOX|wxSYSTEM_MENU|wxCAPTION|wxRESIZE_BORDER) +- self.SetAutoLayout(true) ++ Frame.__init__(self, parent, id, title, Point(-1, -1), Size(w,h), MINIMIZE_BOX|MAXIMIZE_BOX|SYSTEM_MENU|CAPTION|RESIZE_BORDER) ++ self.SetAutoLayout(True) + +- self.term = Term(self, -1, wxPoint(0,0), (80,25), font, queue) ++ self.term = Term(self, -1, Point(0,0), (80,25), font, queue) + + # The PySim11 thread calls our functions to post window update + # commands using this queue. We use a fake button with ID +@@ -87,7 +87,7 @@ + # (func, parms) which is simply invoked as apply(func,parms) + # in the handler. + self.handlerqueue = Queue.Queue(0) +- self.handlerqueuebuttonid = wxNewId() ++ self.handlerqueuebuttonid = NewId() + EVT_BUTTON(self, self.handlerqueuebuttonid, self.Queue_handler) + + ############################################## +@@ -95,25 +95,25 @@ + # Create menu bar, event table, and accelerator + # + ############################################## +- self.menubar = wxMenuBar() ++ self.menubar = MenuBar() + self.menuIDs = {} +- fileMenu = wxMenu() +- #self.menuIDs['Preferences'] = fileMenu.preferencesID = wxNewId() ++ fileMenu = Menu() ++ #self.menuIDs['Preferences'] = fileMenu.preferencesID = NewId() + #fileMenu.Append(fileMenu.preferencesID, "&Preferences...\tCtrl-P", "Edit global properties for this application") + #fileMenu.AppendSeparator() +- self.menuIDs['Load'] = fileMenu.loadID = wxNewId() ++ self.menuIDs['Load'] = fileMenu.loadID = NewId() + fileMenu.Append(fileMenu.loadID, "&Load\tCtrl-L", "Load an S19 file") +- self.menuIDs['Exit'] = fileMenu.exitID = wxNewId() ++ self.menuIDs['Exit'] = fileMenu.exitID = NewId() + fileMenu.Append(fileMenu.exitID, "E&xit\tCtrl-Q", "Exit the program") + self.menubar.Append(fileMenu, "&File") + +- simMenu = wxMenu() +- self.menuIDs['Stop'] = simMenu.stopID = wxNewId() ++ simMenu = Menu() ++ self.menuIDs['Stop'] = simMenu.stopID = NewId() + simMenu.Append(simMenu.stopID, "&Stop\tCtrl-C", "Stop the simulation") + self.menubar.Append(simMenu, "&Simulation") + +- helpMenu = wxMenu() +- self.menuIDs['About'] = helpMenu.aboutID = wxNewId() ++ helpMenu = Menu() ++ self.menuIDs['About'] = helpMenu.aboutID = NewId() + helpMenu.Append(helpMenu.aboutID, "&About...", "About this program") + self.menubar.Append(helpMenu, "&Help") + +@@ -127,10 +127,10 @@ + EVT_MENU(self, helpMenu.aboutID, self.OnAbout) + EVT_MENU(self, simMenu.stopID, self.OnSimStop) + +- accel = wxAcceleratorTable([ \ +- (wxACCEL_CTRL, ord('q'), fileMenu.exitID), \ +- # (wxACCEL_CTRL, ord('p'), fileMenu.preferencesID), \ +- (wxACCEL_CTRL, ord('c'), simMenu.stopID)]) ++ accel = AcceleratorTable([ \ ++ (ACCEL_CTRL, ord('q'), fileMenu.exitID), \ ++ # (ACCEL_CTRL, ord('p'), fileMenu.preferencesID), \ ++ (ACCEL_CTRL, ord('c'), simMenu.stopID)]) + self.SetAcceleratorTable(accel) + + ############################################## +@@ -138,15 +138,15 @@ + # Create status bar + # + ############################################## +- self.statusBar = wxStatusBar(self, -1, 0) ++ self.statusBar = StatusBar(self, -1, 0) + self.statusBar.SetFieldsCount(1) + self.statusBar.SetStatusWidths([-1]) + self.statusBar.SetStatusText("Ready", 0) + self.SetStatusBar(self.statusBar) + #self.statusBarBackgroundColor = self.statusBar.GetBackgroundColour() + +- self.sizer = wxBoxSizer(wxVERTICAL) +- self.sizer.Add(self.term, 1, wxEXPAND) ++ self.sizer = BoxSizer(VERTICAL) ++ self.sizer.Add(self.term, 1, EXPAND) + self.sizer.Fit(self) + self.SetSizer(self.sizer) + +@@ -175,7 +175,7 @@ + # Icon + # + ######################### +- icon = wxIconFromXPMData(getkcmmemoryData()) ++ icon = IconFromXPMData(getkcmmemoryData()) + self.SetIcon(icon) + + #def OnSize(self, event): +@@ -184,7 +184,7 @@ + + def Quit(self): + if self.isSimulating: +- wxMessageBox("Simulation is in progress. Terminate the simulation before quitting the program.", "Hold it, bub", wxOK|wxCENTRE) ++ MessageBox("Simulation is in progress. Terminate the simulation before quitting the program.", "Hold it, bub", OK|CENTRE) + return + + self.queue.put(0) +@@ -197,7 +197,7 @@ + pass + + def OnFileLoad(self, event): +- line = wxFileSelector("Select S19 file", os.getcwd(), "", ".s19", "S19 files (*.s19)|*.s19|All files (*.*)|*.*", wxOPEN|wxFILE_MUST_EXIST, self) ++ line = FileSelector("Select S19 file", os.getcwd(), "", ".s19", "S19 files (*.s19)|*.s19|All files (*.*)|*.*", OPEN|FILE_MUST_EXIST, self) + if line: + self.queue.put("load "+line) + +@@ -215,7 +215,7 @@ + <http://claymore.engineer.gvsu.edu/~steriana/Python> + """ % (EVBUoptions.EVBUVersionMajor, EVBUoptions.EVBUVersionMinor,\ + PySim11.PySim11VersionMajor, PySim11.PySim11VersionMinor) +- wxMessageBox(aboutText, "About EVBU", wxOK|wxCENTRE, self) ++ MessageBox(aboutText, "About EVBU", OK|CENTRE, self) + + def FlushQueue(self): + # Flush the queue that sends user data to the EVBU +@@ -235,7 +235,7 @@ + # User-generated simulation stop + def OnSimStop(self, event): + if not self.isSimulating: +- wxMessageBox("Simulation not in progress", "Huh?", wxOK|wxCENTRE, self) ++ MessageBox("Simulation not in progress", "Huh?", OK|CENTRE, self) + return + + # Clear the flag, then wait for PySim11 to set it, indicating a +@@ -246,8 +246,8 @@ + if self.simbreak.isSet(): + break + else: +- ret = wxMessageBox("The simulator has not stopped yet. Press OK to try again or Cancel to give up.", "Ooops", wxOK|wxCANCEL|wxCENTRE|wxICON_ERROR) +- if ret != wxOK: ++ ret = MessageBox("The simulator has not stopped yet. Press OK to try again or Cancel to give up.", "Ooops", OK|CANCEL|CENTRE|ICON_ERROR) ++ if ret != OK: + return + + ################################################################## +@@ -266,7 +266,7 @@ + apply(func, args) + + # Come back here for the next event in the queue +- wxPostEvent(self, wxCommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, self.handlerqueuebuttonid)) ++ PostEvent(self, CommandEvent(EVT_COMMAND_BUTTON_CLICKED, self.handlerqueuebuttonid)) + + def OnCharWait_handler(self): + self.statusBar.SetStatusText("Simulating...waiting for a character", 0) +@@ -302,35 +302,35 @@ + + def OnCharWait(self, event): + self.handlerqueue.put((self.OnCharWait_handler, ())) +- wxPostEvent(self, wxCommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, self.handlerqueuebuttonid)) ++ PostEvent(self, CommandEvent(EVT_COMMAND_BUTTON_CLICKED, self.handlerqueuebuttonid)) + + def OnNoCharWait(self, event): + self.handlerqueue.put((self.OnNoCharWait_handler, ())) +- wxPostEvent(self, wxCommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, self.handlerqueuebuttonid)) ++ PostEvent(self, CommandEvent(EVT_COMMAND_BUTTON_CLICKED, self.handlerqueuebuttonid)) + + def OnSimStart(self, event): + self.handlerqueue.put((self.OnSimStart_handler, ())) +- wxPostEvent(self, wxCommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, self.handlerqueuebuttonid)) ++ PostEvent(self, CommandEvent(EVT_COMMAND_BUTTON_CLICKED, self.handlerqueuebuttonid)) + + def OnSimEnd(self, event): + self.handlerqueue.put((self.OnSimEnd_handler, ())) +- wxPostEvent(self, wxCommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, self.handlerqueuebuttonid)) ++ PostEvent(self, CommandEvent(EVT_COMMAND_BUTTON_CLICKED, self.handlerqueuebuttonid)) + + if __name__=="__main__": +- class MyApp(wxApp): ++ class MyApp(App): + + # wxWindows calls this method to initialize the application + def OnInit(self): + + # Create an instance of our customized Frame class + frame = EVBUFrame(None, -1, "This is a test") +- frame.Show(true) ++ frame.Show(True) + + # Tell wxWindows that this is our main window + self.SetTopWindow(frame) + + # Return a success flag +- return true ++ return True + + + app = MyApp(0) # Create an instance of the application class +diff -Naur evbu/kcmmemory.py evbu.new/kcmmemory.py +--- evbu/kcmmemory.py 2004-07-25 11:41:25.000000000 -0400 ++++ evbu.new/kcmmemory.py 2008-10-09 11:37:52.000000000 -0400 +@@ -3,7 +3,7 @@ + # + # Source file is kcmmemory.png from KDE icons + +-from wxPython.wx import wxBitmapFromXPMData, wxImageFromBitmap ++from wx import BitmapFromXPMData, ImageFromBitmap + import cPickle + + +@@ -30,8 +30,8 @@ + a." ) + + def getkcmmemoryBitmap(): +- return wxBitmapFromXPMData(getkcmmemoryData()) ++ return BitmapFromXPMData(getkcmmemoryData()) + + def getkcmmemoryImage(): +- return wxImageFromBitmap(getkcmmemoryBitmap()) ++ return ImageFromBitmap(getkcmmemoryBitmap()) + +diff -Naur evbu/term.py evbu.new/term.py +--- evbu/term.py 2004-07-25 11:41:25.000000000 -0400 ++++ evbu.new/term.py 2008-10-09 12:01:44.000000000 -0400 +@@ -1,5 +1,5 @@ + ## import all of the wxPython GUI package +-from wxPython.wx import * ++from wx import * + + import Queue + +@@ -57,9 +57,9 @@ + # Term -- terminal with read-only display and single-input line + + +-class MyTextCtrl(wxTextCtrl): ++class MyTextCtrl(TextCtrl): + def __init__(self, parent, id, title, orig, size, style): +- wxTextCtrl.__init__(self, parent, id, title, orig, size, style) ++ TextCtrl.__init__(self, parent, id, title, orig, size, style) + self.parent = parent + + EVT_CHAR(self, self.OnChar) +@@ -68,7 +68,7 @@ + self.parent.RawChar(event.GetKeyCode()) + event.Skip() + +-class Term(wxWindow): ++class Term(Window): + def __init__(self, parent, id, orig, dimension, font, queue): + self.parent = parent + +@@ -86,7 +86,7 @@ + # List of previously entered lines for recalling with up/down arrows + self.history = History(100) + +- dc = wxClientDC(parent) ++ dc = ClientDC(parent) + dc.SetFont(font) + ch = dc.GetCharHeight() + cw = dc.GetCharWidth() +@@ -95,37 +95,37 @@ + w = dimension[0]*cw + 25 + h = dimension[1]*ch + ch + 18 + +- wxWindow.__init__(self, parent, id, orig, wxSize(w,h), wxNO_BORDER) ++ Window.__init__(self, parent, id, orig, Size(w,h), NO_BORDER) + + EVT_SIZE(self, self.OnSize) +- self.sizer = wxBoxSizer(wxVERTICAL) ++ self.sizer = BoxSizer(VERTICAL) + + # Slop approach + h = dimension[1]*ch + 8 + +- self.display = wxTextCtrl(self, 200, "", wxPoint(0,0), wxSize(w,h), wxTE_MULTILINE|wxTE_READONLY|wxTE_RICH|wxTE_NOHIDESEL) ++ self.display = TextCtrl(self, 200, "", Point(0,0), Size(w,h), TE_MULTILINE|TE_READONLY|TE_RICH|TE_NOHIDESEL) + + sep = 4 + h2 = ch + 8 + +- self.input = MyTextCtrl(self, 201, "", wxPoint(0,h+sep), wxSize(w,h2), wxTE_PROCESS_ENTER|wxTE_RICH) ++ self.input = MyTextCtrl(self, 201, "", Point(0,h+sep), Size(w,h2), TE_PROCESS_ENTER|TE_RICH) + + self.display.SetFont(font) +- self.display.SetDefaultStyle(wxTextAttr(wxGREEN, wxBLACK, font)) +- self.display.SetBackgroundColour(wxBLACK) ++ self.display.SetDefaultStyle(TextAttr(GREEN, BLACK, font)) ++ self.display.SetBackgroundColour(BLACK) + + self.input.SetFont(font) +- self.input.SetBackgroundColour(wxBLACK) +- self.input.SetForegroundColour(wxWHITE) ++ self.input.SetBackgroundColour(BLACK) ++ self.input.SetForegroundColour(WHITE) + + EVT_TEXT_ENTER(self, 201, self.OnInput) + EVT_BUTTON(self, 301, self.OnWriteQueue) + + # Try using a sizer +- self.sizer.Add(self.display, 1, wxEXPAND) +- self.sizer.Add(w, 5, 0, wxEXPAND) +- self.sizer.Add(self.input, 0, wxEXPAND) +- self.SetAutoLayout(true) ++ self.sizer.Add(self.display, 1, EXPAND) ++ #self.sizer.Add(w, 5, 0, EXPAND) ++ self.sizer.Add(self.input, 0, EXPAND) ++ self.SetAutoLayout(True) + self.SetSizer(self.sizer) + self.sizer.Fit(self) + +@@ -135,14 +135,14 @@ + #print 'Display:', (X,Y), (x,y) + #dX = X-x + #dY = Y-y +- #self.display.SetClientSize(wxSize(dimension[0]*cw + dX, dimension[1]*ch + dY)) ++ #self.display.SetClientSize(Size(dimension[0]*cw + dX, dimension[1]*ch + dY)) + + #(X,Y) = self.input.GetSizeTuple() + #(x,y) = self.input.GetClientSizeTuple() + #print 'Input:', (X,Y), (x,y) + #dX = X-x + #dY = Y-y +- #self.input.SetClientSize(wxSize(dimension[0]*cw + dX, 1*ch + dY)) ++ #self.input.SetClientSize(Size(dimension[0]*cw + dX, 1*ch + dY)) + + def OnSize(self, event): + #print 'OnSize:', event.GetSize() +@@ -186,44 +186,44 @@ + for line in lines[:-1]: + self.writequeue.put(line+'\n') + self.writequeue.put(lines[-1]) +- wxPostEvent(self, wxCommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, 301)) ++ PostEvent(self, CommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, 301)) + + def OnWriteQueue(self, event): + try: + self.display.AppendText(self.writequeue.get(0)) +- wxPostEvent(self, wxCommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, 301)) ++ PostEvent(self, CommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, 301)) + except Queue.Empty: + pass + + #--------------------------------------------------------------------------- + if __name__=="__main__": +- class MyFrame(wxFrame): ++ class MyFrame(Frame): + + def __init__(self, parent, id, title): + # First, call the base class' __init__ method to create the frame +- wxFrame.__init__(self, parent, id, title, wxPoint(-1, -1), wxSize(800, 450)) ++ Frame.__init__(self, parent, id, title, Point(-1, -1), Size(800, 450)) + + EVT_CLOSE(self, self.OnCloseWindow) + +- self.term = Term(self, -1, wxPoint(0,0), wxSize(610,430)) ++ self.term = Term(self, -1, Point(0,0), Size(610,430)) + + def OnCloseWindow(self, event): + self.Destroy() + +- class MyApp(wxApp): ++ class MyApp(App): + + # wxWindows calls this method to initialize the application + def OnInit(self): + + # Create an instance of our customized Frame class + frame = MyFrame(None, -1, "This is a test") +- frame.Show(true) ++ frame.Show(True) + + # Tell wxWindows that this is our main window + self.SetTopWindow(frame) + + # Return a success flag +- return true ++ return True + + + app = MyApp(0) # Create an instance of the application class diff --git a/app-emulation/evbu/metadata.xml b/app-emulation/evbu/metadata.xml new file mode 100644 index 0000000..9c0499d --- /dev/null +++ b/app-emulation/evbu/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>no-herd</herd> +<maintainer> + <name>Aaron Mavrinac</name> + <email>mavrinac@gmail.com</email> +</maintainer> +<longdescription lang="en"> +EVBU is a simulator for the 68HC11 microcontroller. Within a GUI, it implements a command line interface, very similar to the BUFFALO monitor, and a waveform interface for simulating I/O. +</longdescription> +</pkgmetadata> + |