summaryrefslogtreecommitdiff
path: root/gr-wxgui
diff options
context:
space:
mode:
authorJohnathan Corgan2009-10-29 07:26:39 -0700
committerJohnathan Corgan2009-10-29 07:26:39 -0700
commit6f0685769f7a7728a779502435cd2dd17b8d65e2 (patch)
treed73abda8dcd4ba0130696e5ed212f5de2a688919 /gr-wxgui
parentab901e7d4cb6e5e8b1b46dac8a7af74acf72cb8c (diff)
downloadgnuradio-6f0685769f7a7728a779502435cd2dd17b8d65e2.tar.gz
gnuradio-6f0685769f7a7728a779502435cd2dd17b8d65e2.tar.bz2
gnuradio-6f0685769f7a7728a779502435cd2dd17b8d65e2.zip
Consolidated termsink into one class
Diffstat (limited to 'gr-wxgui')
-rw-r--r--gr-wxgui/src/python/Makefile.am11
-rw-r--r--gr-wxgui/src/python/term_window.py70
-rw-r--r--gr-wxgui/src/python/termsink.py56
3 files changed, 51 insertions, 86 deletions
diff --git a/gr-wxgui/src/python/Makefile.am b/gr-wxgui/src/python/Makefile.am
index 0b4550b38..dfa156f62 100644
--- a/gr-wxgui/src/python/Makefile.am
+++ b/gr-wxgui/src/python/Makefile.am
@@ -1,23 +1,23 @@
#
# Copyright 2004,2005,2008 Free Software Foundation, Inc.
-#
+#
# This file is part of GNU Radio
-#
+#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
-#
+#
# GNU Radio is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with GNU Radio; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street,
# Boston, MA 02110-1301, USA.
-#
+#
include $(top_srcdir)/Makefile.common
@@ -53,7 +53,6 @@ ourpython_PYTHON = \
scopesink_nongl.py \
scopesink_gl.py \
scope_window.py \
- term_window.py \
termsink.py \
waterfallsink2.py \
waterfallsink_nongl.py \
diff --git a/gr-wxgui/src/python/term_window.py b/gr-wxgui/src/python/term_window.py
deleted file mode 100644
index 77270b1f3..000000000
--- a/gr-wxgui/src/python/term_window.py
+++ /dev/null
@@ -1,70 +0,0 @@
-#
-# Copyright 2009 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-import wx
-
-DEFAULT_WIN_SIZE = (600, 300)
-APPEND_EVENT = wx.NewEventType()
-EVT_APPEND_EVENT = wx.PyEventBinder(APPEND_EVENT, 0)
-
-class AppendEvent(wx.PyEvent):
- def __init__(self, text):
- wx.PyEvent.__init__(self)
- self.SetEventType(APPEND_EVENT)
- self.text = text
-
- def Clone(self):
- self.__class__(self.GetId())
-
-
-class term_window(wx.Panel):
- def __init__(self,
- parent,
- size,
- ):
-
- wx.Panel.__init__(self,
- parent,
- size=size,
- style=wx.SIMPLE_BORDER,
- )
-
- self.text_ctrl = wx.TextCtrl(self,
- wx.ID_ANY,
- value="",
- size=size,
- style=wx.TE_MULTILINE|wx.TE_READONLY,
- )
-
- main_sizer = wx.BoxSizer(wx.VERTICAL)
- main_sizer.Add(self.text_ctrl, 1, wx.EXPAND)
- self.SetSizerAndFit(main_sizer)
-
- EVT_APPEND_EVENT(self, self.evt_append)
-
- def append_text(self, text):
- evt = AppendEvent(text)
- wx.PostEvent(self, evt)
- del evt
-
- def evt_append(self, evt):
- print "appending", len(evt.text), "bytes"
- self.text_ctrl.AppendText(evt.text)
diff --git a/gr-wxgui/src/python/termsink.py b/gr-wxgui/src/python/termsink.py
index addfa5810..45a94e396 100644
--- a/gr-wxgui/src/python/termsink.py
+++ b/gr-wxgui/src/python/termsink.py
@@ -19,25 +19,61 @@
# Boston, MA 02110-1301, USA.
#
-import term_window
from gnuradio import gru
+import wx
-class termsink(object):
+DEFAULT_WIN_SIZE = (600, 300)
+APPEND_EVENT = wx.NewEventType()
+EVT_APPEND_EVENT = wx.PyEventBinder(APPEND_EVENT, 0)
+
+class AppendEvent(wx.PyEvent):
+ def __init__(self, text):
+ wx.PyEvent.__init__(self)
+ self.SetEventType(APPEND_EVENT)
+ self.text = text
+
+ def Clone(self):
+ self.__class__(self.GetId())
+
+class termsink(wx.Panel):
def __init__(self,
parent,
msgq,
- size=term_window.DEFAULT_WIN_SIZE,
+ size=DEFAULT_WIN_SIZE,
):
-
- self.win = term_window.term_window(
- parent=parent,
- size=size,
- )
+ wx.Panel.__init__(self,
+ parent,
+ size=size,
+ style=wx.SIMPLE_BORDER,
+ )
+
+ self.text_ctrl = wx.TextCtrl(self,
+ wx.ID_ANY,
+ value="",
+ size=size,
+ style=wx.TE_MULTILINE|wx.TE_READONLY,
+ )
+
+ main_sizer = wx.BoxSizer(wx.VERTICAL)
+ main_sizer.Add(self.text_ctrl, 1, wx.EXPAND)
+ self.SetSizerAndFit(main_sizer)
+
+ EVT_APPEND_EVENT(self, self.evt_append)
self.runner = gru.msgq_runner(msgq, self.handle_msg)
def handle_msg(self, msg):
- # Just append text for now
+ # This gets called in the queue runner thread context
+ # For now, just add whatever the user sends to the text control
text = msg.to_string()
print "handle_msg: received", len(text), "bytes"
- self.win.append_text(text)
+
+ # Create a wxPython event and post it to the event queue
+ evt = AppendEvent(text)
+ wx.PostEvent(self, evt)
+ del evt
+
+ def evt_append(self, evt):
+ # This gets called by the wxPython event queue runner
+ print "appending", len(evt.text), "bytes"
+ self.text_ctrl.AppendText(evt.text)