Consolidated termsink into one class
authorJohnathan Corgan <jcorgan@corganenterprises.com>
Thu, 29 Oct 2009 14:26:39 +0000 (07:26 -0700)
committerJohnathan Corgan <jcorgan@corganenterprises.com>
Thu, 29 Oct 2009 14:26:39 +0000 (07:26 -0700)
gr-wxgui/src/python/Makefile.am
gr-wxgui/src/python/term_window.py [deleted file]
gr-wxgui/src/python/termsink.py
grc/blocks/wxgui_termsink.xml

index 0b4550b381a3c2ac86a449441cb40b8e76615507..dfa156f626c9e4e73c8fb8778df83aa6f0847a66 100644 (file)
@@ -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 (file)
index 77270b1..0000000
+++ /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)
index addfa5810173d422e11535e9a3524fbe1343b657..45a94e39655358282a9b010acf04087de8437323 100644 (file)
 # 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)
index fce7577de9cfd971458676d3f2124e16c18fad74..985d89b58e1e1301d15a2f19cb4f9375741094e9 100644 (file)
@@ -16,12 +16,12 @@ termsink.termsink(
 #if $win_size()
        size=$win_size,
 #end if
-       msgq=$(id)_msgq,
+       msgq=$(id)_msgq_in,
 )
 #if not $grid_pos()
-$(parent).Add(self.$(id).win)
+$(parent).Add(self.$(id))
 #else
-$(parent).GridAdd(self.$(id).win, $(', '.join(map(str, $grid_pos()))))
+$(parent).GridAdd(self.$(id), $(', '.join(map(str, $grid_pos()))))
 #end if</make>
 
        <param>
@@ -51,5 +51,5 @@ $(parent).GridAdd(self.$(id).win, $(', '.join(map(str, $grid_pos()))))
                <name>in</name>
                <type>msg</type>
        </sink>
-       
+
 </block>