Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pynxc/waxy/application.py
diff options
context:
space:
mode:
Diffstat (limited to 'pynxc/waxy/application.py')
-rw-r--r--pynxc/waxy/application.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/pynxc/waxy/application.py b/pynxc/waxy/application.py
new file mode 100644
index 0000000..c6c01fd
--- /dev/null
+++ b/pynxc/waxy/application.py
@@ -0,0 +1,32 @@
+# application.py
+
+import wx
+import sys
+#from waxconfig import WaxConfig
+#import font
+
+class Application(wx.App):
+ def __init__(self, frameklass, *args, **kwargs):
+ # takes a frame *class* plus arbitrary options. these options will
+ # be passed to the frame constructor.
+ self.frameklass = frameklass
+ self.args = args
+ self.kwargs = kwargs
+
+ # when set, the app uses the stdout/stderr window; off by default
+ use_stdout_window = 0
+ if kwargs.has_key('use_stdout_window'):
+ use_stdout_window = kwargs['use_stdout_window']
+ del kwargs['use_stdout_window']
+ wx.App.__init__(self, use_stdout_window)
+
+ def OnInit(self):
+ self.mainframe = self.frameklass(*self.args, **self.kwargs)
+ if hasattr(self.mainframe.__class__, "__ExceptHook__"):
+ sys.excepthook = self.mainframe.__ExceptHook__
+ self.mainframe.Show(True)
+ self.SetTopWindow(self.mainframe)
+ return True
+
+ def Run(self):
+ self.MainLoop()