Merged r10463:10658 from jblum/gui_guts into trunk. Trunk passes distcheck.
[debian/gnuradio] / gr-wxgui / src / python / scopesink2.py
1 #
2 # Copyright 2008 Free Software Foundation, Inc.
3 #
4 # This file is part of GNU Radio
5 #
6 # GNU Radio is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3, or (at your option)
9 # any later version.
10 #
11 # GNU Radio is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with GNU Radio; see the file COPYING.  If not, write to
18 # the Free Software Foundation, Inc., 51 Franklin Street,
19 # Boston, MA 02110-1301, USA.
20 #
21
22 from gnuradio import gr
23
24 p = gr.prefs()
25 style = p.get_string('wxgui', 'style', 'auto')
26
27 # In 3.2 we'll change 'auto' to mean 'gl' if possible, then fallback
28 # Currently, anything other than 'gl' means 'nongl'
29
30 if style == 'gl':
31     try:
32         import wx.glcanvas
33     except ImportError:
34         raise RuntimeError("wxPython doesn't support glcanvas")
35
36     try:
37         from OpenGL.GL import *
38     except ImportError:
39         raise RuntimeError("Unable to import OpenGL. Are Python wrappers for OpenGL installed?")
40
41     from scopesink_gl import scope_sink_f, scope_sink_c
42
43 else:
44     from scopesink_nongl import scope_sink_f, scope_sink_c