GTK+/Kalkulator 0.0.1 - gui.hpp

Z Wikibooks, biblioteki wolnych podręczników.
Przejdź do nawigacji Przejdź do wyszukiwania
 1 #include "kalkulator.cpp"
 2 
 3 class GUIKalkulator: public Kalkulator
 4 {
 5   private:
 6     GtkWidget *mainwindow;
 7     GtkWidget *vbox;
 8     GtkWidget *table;
 9     GtkWidget *entry;
10     GtkWidget *button1;
11     GtkWidget *button2;
12     GtkWidget *button3;
13     GtkWidget *button4;
14     GtkWidget *button5;
15     GtkWidget *button6;
16     GtkWidget *button7;
17     GtkWidget *button8;
18     GtkWidget *button9;
19     GtkWidget *button0;
20     GtkWidget *buttoncomma;
21     GtkWidget *buttonback;
22     GtkWidget *buttonclear;
23     GtkWidget *buttonadd;
24     GtkWidget *buttonsub;
25     GtkWidget *buttonmulti;
26     GtkWidget *buttondiv;
27     GtkWidget *buttonresult;
28     GtkWidget *buttonsigned;
29     GtkWidget *buttonaddmem;
30     GtkWidget *comboreadmem;
31     guint combocount;
32     GtkWidget *buttonclearmem;
33     GtkWidget *menubar;
34     GtkWidget *vbox_menu;
35     GtkWidget *menuitem_bar_kalkulator;
36     GtkWidget *menuitem_bar_about;
37     GtkWidget *menu_kalkulator;
38     GtkWidget *menu_help;
39     GtkWidget *menuitem_close;
40     GtkWidget *menuitem_help;
41     GtkWidget *dialog;
42     PangoFontDescription *pangofont;
43     // funkcje zwrotne
44     static gboolean delete_event(GtkWidget *widget, GdkEvent *event, gpointer data);
45     static void destroy(GtkWidget *widget, gpointer data);
46     static void btn_1_clicked(GtkWidget *widget, gpointer data);
47     static void btn_2_clicked(GtkWidget *widget, gpointer data);
48     static void btn_3_clicked(GtkWidget *widget, gpointer data);
49     static void btn_4_clicked(GtkWidget *widget, gpointer data);
50     static void btn_5_clicked(GtkWidget *widget, gpointer data);
51     static void btn_6_clicked(GtkWidget *widget, gpointer data);
52     static void btn_7_clicked(GtkWidget *widget, gpointer data);
53     static void btn_8_clicked(GtkWidget *widget, gpointer data);
54     static void btn_9_clicked(GtkWidget *widget, gpointer data);
55     static void btn_0_clicked(GtkWidget *widget, gpointer data);
56     static void btn_comma_clicked(GtkWidget *widget, gpointer data);
57     static void btn_back_clicked(GtkWidget *widget, gpointer data);
58     static void btn_clear_clicked(GtkWidget *widget, gpointer data);
59     static void btn_add_clicked(GtkWidget *widget, gpointer data);
60     static void btn_sub_clicked(GtkWidget *widget, gpointer data);
61     static void btn_multi_clicked(GtkWidget *widget, gpointer data);
62     static void btn_div_clicked(GtkWidget *widget, gpointer data);
63     static void btn_result_clicked(GtkWidget *widget, gpointer data);
64     static void btn_signed_clicked(GtkWidget *widget, gpointer data);
65     static void btn_addmem_clicked(GtkWidget *widget, gpointer data);
66     static void btn_readmem_clicked(GtkWidget *widget, gpointer data);
67     static void btn_clearmem_clicked(GtkWidget *widget, gpointer data);
68     static void menu_item_close(GtkMenuItem *menuitem, gpointer data);
69     static void menu_item_help(GtkMenuItem *menuitem, gpointer data);
70     static gboolean mainwindow_key_press_event(GtkWidget *widget, GdkEventKey *event, gpointer data);
71     // obsłuwa wszystkich przycisków numerycznych: 1,2,3,4,5,6,7,8,9,0
72     void _numeric_btn_clicked_event(btn_id button, GUIKalkulator* gui_kalkulator);
73     // obsługa wszytskich przycisków działń: +,-,*,/
74     void _calculate_btn_clicked_event(operation_id operation);
75     
76   public:
77     GUIKalkulator();
78     ~GUIKalkulator();
79     void init(int, char**);
80     void build();
81     void run();
82 };