Imported Upstream version 3.2.2
[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                                        double fc=0, double bw=1.0,
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                                               double fc, double bw,
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                 double fc, double bw,
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 bandwidth);
67   void set_time_domain_axis(double min, double max);
68   void set_constellation_axis(double xmin, double xmax,
69                               double ymin, double ymax);
70   void set_frequency_axis(double min, double max);
71 };
72
73
74
75 /*********************************************************************/
76
77
78 GR_SWIG_BLOCK_MAGIC(qtgui,sink_f)
79   
80 qtgui_sink_f_sptr qtgui_make_sink_f (int fftsize, int wintype,
81                                      double fc=0, double bw=0.0,
82                                      const std::string &name="Display",
83                                      bool plotfreq=true, bool plotwaterfall=true,
84                                      bool plotwaterfall3d=true, bool plottime=true,
85                                      bool plotconst=true,
86                                      bool use_openGL=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                                               double fc, double bw,
94                                               const std::string &name,
95                                               bool plotfreq, bool plotwaterfall,
96                                               bool plotwaterfall3d, bool plottime,
97                                               bool plotconst,
98                                               bool use_openGL,
99                                               QWidget *parent);
100   qtgui_sink_f (int fftsize, int wintype,
101                 double fc, double bw,
102                 const std::string &name,
103                 bool plotfreq, bool plotwaterfall,
104                 bool plotwaterfall3d, bool plottime,
105                 bool plotconst,
106                 bool use_openGL,
107                 QWidget *parent);
108
109 public:
110   void exec_();
111   PyObject* pyqwidget();
112
113   void set_frequency_range(const double centerfreq,
114                            const double bandwidth);
115   void set_time_domain_axis(double min, double max);
116   void set_constellation_axis(double xmin, double xmax,
117                               double ymin, double ymax);
118   void set_frequency_axis(double min, double max);
119 };
120