Canola  0.8.D001
canola/nixie_tubes.h
Go to the documentation of this file.
00001 //
00002 // canola - canon canola 1614p emulator
00003 // Copyright (C) 2011 Peter Miller
00004 //
00005 // This program is free software; you can redistribute it and/or modify
00006 // it under the terms of the GNU General Public License, version 3, as
00007 // published by the Free Software Foundation.
00008 //
00009 // This program is distributed in the hope that it will be useful,
00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012 // General Public License for more details.
00013 //
00014 // You should have received a copy of the GNU General Public License along
00015 // with this program. If not, see <http://www.gnu.org/licenses/>.
00016 //
00017 
00018 #ifndef CANOLA_NIXIE_TUBES_H
00019 #define CANOLA_NIXIE_TUBES_H
00020 
00021 #include <lib/config.h>
00022 #include <gtkmm/box.h>
00023 #include <gtkmm/eventbox.h>
00024 
00025 #include <lib/display.h>
00026 
00027 #include <canola/nixie_tube.h>
00028 
00033 class nixie_tubes:
00034     public Gtk::VBox
00035 {
00036 public:
00040     virtual ~nixie_tubes();
00041 
00045     nixie_tubes();
00046 
00055     void set_value(const display &value);
00056 
00057 private:
00073     Gtk::Image overflow;
00074 
00080     Gtk::Image bezel_left;
00081 
00087     nixie_tube tubes[16];
00088 
00094     Gtk::Image bezel_right;
00095 
00106     Gtk::Image negative;
00107 
00113     Gtk::HBox tube_layout;
00114 
00119     Gtk::EventBox tube_bg;
00120 
00133     Gtk::Image m1_lamp;
00134 
00147     Gtk::Image m2_lamp;
00148 
00183     Gtk::Image entry_lamp;
00184 
00189     Gtk::HBox lamp_layout;
00190 
00195     Gtk::EventBox lamp_bg;
00196 
00201     Glib::RefPtr<Gdk::Pixbuf> images[14];
00202 
00207     void load_images(void);
00208 
00216     nixie_tubes(const nixie_tubes &rhs);
00217 
00225     nixie_tubes &operator=(const nixie_tubes &rhs);
00226 };
00227 
00228 #endif // CANOLA_NIXIE_TUBES_H