Passing new function definition to SWIG for access in Python.
[debian/gnuradio] / gr-qtgui / src / lib / qtgui.i
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2008,2009 Free Software Foundation, Inc.
4  * 
5  * This file is part of GNU Radio
6  * 
7  * GNU Radio is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 3, or (at your option)
10  * any later version.
11  * 
12  * GNU Radio is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with GNU Radio; see the file COPYING.  If not, write to
19  * the Free Software Foundation, Inc., 51 Franklin Street,
20  * Boston, MA 02110-1301, USA.
21  */
22
23 %include "gnuradio.i"
24
25 %{
26 #include "qtgui_sink_c.h"
27 #include "qtgui_sink_f.h"
28 %}
29
30 GR_SWIG_BLOCK_MAGIC(qtgui,sink_c)
31
32   qtgui_sink_c_sptr qtgui_make_sink_c (int fftsize, int wintype,
33                                        float fmin=-0.5, float fmax=0.5,
34                                        const std::string &name="Display",
35                                        bool plotfreq=true, bool plotwaterfall=true,
36                                        bool plotwaterfall3d=true, bool plottime=true,
37                                        bool plotconst=true,
38                                        bool use_openGL=true,
39                                        QWidget *parent=NULL);
40
41 class qtgui_sink_c : public gr_block
42 {
43 private:
44   friend qtgui_sink_c_sptr qtgui_make_sink_c (int fftsize, int wintype,
45                                               float fmin, float fmax,
46                                               const std::string &name,
47                                               bool plotfreq, bool plotwaterfall,
48                                               bool plotwaterfall3d, bool plottime,
49                                               bool plotconst,
50                                               bool use_openGL,
51                                               QWidget *parent);
52   qtgui_sink_c (int fftsize, int wintype,
53                 float fmin, float fmax,
54                 const std::string &name,
55                 bool plotfreq, bool plotwaterfall,
56                 bool plotwaterfall3d, bool plottime,
57                 bool plotconst,
58                 bool use_openGL,
59                 QWidget *parent);
60
61 public:
62   void exec_();
63   PyObject* pyqwidget();
64
65   void set_frequency_range(const double centerfreq,
66                            const double startfreq,
67                            const double stopfreq);
68   void set_time_domain_axis(double min, double max);
69   void set_constellation_axis(double xmin, double xmax,
70                               double ymin, double ymax);
71   void set_frequency_axis(double min, double max);
72 };
73
74
75
76 /*********************************************************************/
77
78
79 GR_SWIG_BLOCK_MAGIC(qtgui,sink_f)
80   
81 qtgui_sink_f_sptr qtgui_make_sink_f (int fftsize, int wintype,
82                                      float fmin=-0.5, float fmax=0.5,
83                                      const std::string &name="Display",
84                                      bool plotfreq=true, bool plotwaterfall=true,
85                                      bool plotwaterfall3d=true, bool plottime=true,
86                                      bool plotconst=true,
87                                      QWidget *parent=NULL);
88
89 class qtgui_sink_f : public gr_block
90 {
91 private:
92   friend qtgui_sink_f_sptr qtgui_make_sink_f (int fftsize, int wintype,
93                                               float fmin, float fmax,
94                                               const std::string &name,
95                                               bool plotfreq, bool plotwaterfall,
96                                               bool plotwaterfall3d, bool plottime,
97                                               bool plotconst,
98                                               QWidget *parent);
99   qtgui_sink_f (int fftsize, int wintype,
100                 float fmin, float fmax,
101                 const std::string &name,
102                 bool plotfreq, bool plotwaterfall,
103                 bool plotwaterfall3d, bool plottime,
104                 bool plotconst,
105                 QWidget *parent);
106
107 public:
108   void exec_();
109   PyObject* pyqwidget();
110
111   void set_frequency_range(const double centerfreq,
112                            const double startfreq,
113                            const double stopfreq);
114   void set_time_domain_axis(double min, double max);
115   void set_constellation_axis(double xmin, double xmax,
116                               double ymin, double ymax);
117   void set_frequency_axis(double min, double max);
118 };
119