00001 #ifndef _General_H_
00002 #define _General_H_
00003
00004 #include <gtkmm.h>
00005 #include <iostream>
00006 #include <assert.h>
00007 #include "References.h"
00008
00009 using namespace std;
00010
00011 namespace UniSetGraphics
00012 {
00013
00014 class GeneralUI: public Gtk::Table
00015 {
00016 public:
00017 virtual void blink(int timeout = 300, int count=-1 );
00018
00019 void set_behaviour(Behaviour behvr){behaviour = behvr;}
00020 Behaviour get_behaviour(){return behaviour;}
00021 void set_title(string name, Orientation where, string font_descr = "Arial Bold 12");
00022 virtual void on() = 0;
00023 virtual void off() = 0;
00024 Gtk::Table *get_table(){return this;}
00025
00026
00027
00028 virtual bool blink_handler() = 0;
00029
00030
00031 typedef sigc::signal<void> FinishBlink_Signal;
00032 FinishBlink_Signal signal_finish_blink();
00033
00034
00035 void clear_blink_var(bool blink_var = 0){this->blink_var = blink_var;}
00036
00037
00038
00039 protected:
00040 virtual void on_finish_blink();
00041
00042
00043 GeneralUI();
00044 virtual ~GeneralUI();
00045 bool blink_var;
00046 int timeout;
00047
00048 SigC::Connection conn;
00049
00050 Behaviour behaviour;
00051
00052
00053 private:
00054 FinishBlink_Signal m_finishblink_signal;
00055 bool blink_hook();
00056 int blink_count;
00057 int blink_num;
00058 };
00059
00060 }
00061
00062 #endif // _General_H_