Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

KeyPad.h

00001 // Copyright (C) 2004 Dominic Letourneau
00002 
00003 #ifndef _KEYPAD_H
00004 #define _KEYPAD_H
00005 
00006 #include "Probe.h"
00007 #include "BufferedNode.h"
00008 #include <map>
00009 #include <sys/time.h>
00010 
00011 namespace FD {
00012 
00013 class KeyPad : public BufferedNode
00014 {
00015 
00016 
00017   //callbacks
00018    friend gboolean on_KeyPad_key_press_event(GtkWidget *widget,
00019                                              GdkEventKey *event,
00020                                              gpointer user_data);
00021 
00022    friend void on_button_A_pressed(GtkButton *button,
00023                                  gpointer user_data);
00024 
00025    friend void on_button_released(GtkButton *button,
00026                                  gpointer user_data);
00027 
00028    friend void on_button_B_pressed(GtkButton *button,
00029                                  gpointer user_data);
00030 
00031    friend void on_button_C_pressed(GtkButton *button,
00032                                  gpointer user_data);
00033 
00034    friend void on_button_D_pressed(GtkButton *button,
00035                                  gpointer user_data);
00036 
00037    friend void on_button_E_pressed(GtkButton *button,
00038                                  gpointer user_data);
00039 
00040    friend void on_button_F_pressed(GtkButton *button,
00041                                  gpointer user_data);
00042 
00043    friend void on_button_0_pressed(GtkButton *button,
00044                                  gpointer user_data);
00045 
00046    friend void on_button_1_pressed(GtkButton *button,
00047                                  gpointer user_data);
00048 
00049    friend void on_button_2_pressed(GtkButton *button,
00050                                  gpointer user_data);
00051 
00052    friend void on_button_3_pressed(GtkButton *button,
00053                                  gpointer user_data);
00054 
00055    friend void on_button_4_pressed(GtkButton *button,
00056                                  gpointer user_data);
00057 
00058    friend void on_button_5_pressed(GtkButton *button,
00059                                  gpointer user_data);
00060 
00061    friend void on_button_6_pressed(GtkButton *button,
00062                                  gpointer user_data);
00063 
00064    friend void on_button_7_pressed(GtkButton *button,
00065                                  gpointer user_data);
00066 
00067    friend void on_button_8_pressed(GtkButton *button,
00068                                  gpointer user_data);
00069 
00070    friend void on_button_9_pressed(GtkButton *button,
00071                                  gpointer user_data);
00072 
00073    friend void on_button_dot_pressed(GtkButton *button,
00074                                  gpointer user_data);
00075 
00076    friend void on_button_div_pressed(GtkButton *button,
00077                                     gpointer user_data);
00078 
00079    friend void on_button_mul_pressed(GtkButton *button,
00080                                     gpointer user_data);
00081 
00082    friend void on_button_sub_pressed(GtkButton *button,
00083                                     gpointer user_data);
00084 
00085    friend void on_button_add_pressed(GtkButton *button,
00086                                     gpointer user_data);
00087 
00088    friend void on_button_equa_pressed(GtkButton *button,
00089                                     gpointer user_data);
00090 
00091 private:
00092 
00093    //inputs & outputs
00094    int m_outputID;
00095 
00096 
00097    //widgets
00098    GtkWidget *window;
00099    GtkWidget *table1;
00100    GtkWidget *table2;
00101    GtkWidget *table3;
00102    GtkWidget *table4;
00103    GtkWidget *table5;
00104    GtkWidget *table6;
00105    GtkWidget *button_A;
00106    GtkWidget *button_B;
00107    GtkWidget *button_C;
00108    GtkWidget *button_D;
00109    GtkWidget *button_E;
00110    GtkWidget *button_F;
00111    GtkWidget *button_0;
00112    GtkWidget *button_1;
00113    GtkWidget *button_2;
00114    GtkWidget *button_3;
00115    GtkWidget *button_4;
00116    GtkWidget *button_5;
00117    GtkWidget *button_6;
00118    GtkWidget *button_7;
00119    GtkWidget *button_8;
00120    GtkWidget *button_9;
00121    GtkWidget *button_dot;
00122    GtkWidget *button_div;
00123    GtkWidget *button_mul;
00124    GtkWidget *button_sub;
00125    GtkWidget *button_add;
00126    GtkWidget *button_equa;
00127 
00128    ObjectRef m_key;
00129    timeval m_time;
00130 
00131 public:
00132 
00133    KeyPad(std::string nodeName, ParameterSet params);
00134 
00135    virtual ~KeyPad();
00136 
00139    virtual void initialize();
00140 
00143    virtual void reset();
00144 
00145 
00146    void calculate(int output_id, int count, Buffer &out);
00147 
00148    void setKeyValue(char keyValue, int timer = -1);
00149 };
00150 
00151 }//namespace FD
00152 
00153 #endif

Generated on Wed Oct 5 14:28:55 2005 for FlowDesigner by  doxygen 1.4.4