72 lines
No EOL
2.3 KiB
C
72 lines
No EOL
2.3 KiB
C
#include <gtk/gtk.h>
|
|
|
|
#include "gtk_test.h"
|
|
#include "../utils/logger.h"
|
|
|
|
GtkWidget *window;
|
|
GtkWidget *fixed1;
|
|
GtkWidget *button1;
|
|
GtkWidget *label;
|
|
GtkWidget *check;
|
|
GtkWidget *level;
|
|
GtkBuilder *builder;
|
|
|
|
void createGTKTestWindow(){
|
|
|
|
gtk_init(0, NULL);
|
|
|
|
builder = gtk_builder_new_from_file("glade/test_window.glade");
|
|
window = GTK_WIDGET(gtk_builder_get_object(builder, "window"));
|
|
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
|
|
gtk_builder_connect_signals(builder, NULL);
|
|
|
|
fixed1 = GTK_WIDGET(gtk_builder_get_object(builder, "fixed1"));
|
|
button1 = GTK_WIDGET(gtk_builder_get_object(builder, "button1"));
|
|
label = GTK_WIDGET(gtk_builder_get_object(builder, "label"));
|
|
check = GTK_WIDGET(gtk_builder_get_object(builder, "check"));
|
|
level = GTK_WIDGET(gtk_builder_get_object(builder, "level"));
|
|
|
|
gtk_widget_show(window);
|
|
gtk_main();
|
|
logger("[GTK] Window closed.");
|
|
}
|
|
|
|
void setBarLevel(){
|
|
if(gtk_level_bar_get_value(GTK_LEVEL_BAR(level)) == 100){
|
|
gtk_label_set_text(GTK_LABEL(label), (const gchar*) "LEVEL UP!");
|
|
logger("[GTK] LevelBar reached 100.");
|
|
gtk_level_bar_set_value(GTK_LEVEL_BAR(level), 0);
|
|
logger("[GTK] LevelBar reset to 0.");
|
|
} else {
|
|
char buffer[1024];
|
|
gtk_level_bar_set_value(GTK_LEVEL_BAR(level), gtk_level_bar_get_value(GTK_LEVEL_BAR(level)) + 20);
|
|
snprintf(buffer, sizeof(buffer), "[GTK] LevelBar reached %f", gtk_level_bar_get_value(GTK_LEVEL_BAR(level)));
|
|
logger(buffer);
|
|
}
|
|
}
|
|
|
|
void on_button1_clicked(GtkButton *b){
|
|
gtk_label_set_text(GTK_LABEL(label), (const gchar*) "DO NOT PUSH THE BUUUTTTON");
|
|
logger("[GTK] Button 'button1' clicked.");
|
|
setBarLevel();
|
|
}
|
|
|
|
void on_gay_check_toggled(GtkToggleButton *t){
|
|
if(gtk_toggle_button_get_active(t)){
|
|
gtk_label_set_text(GTK_LABEL(label), (const gchar*) "Toggle checked.");
|
|
logger("[GTK] Toggle 'check' changed to toggled.");
|
|
} else {
|
|
gtk_label_set_text(GTK_LABEL(label), (const gchar*) "Toggle unchecked.");
|
|
logger("[GTK] Toggle 'check' changed to untoggled.");
|
|
}
|
|
}
|
|
|
|
void on_window_focus_out_event(GtkWindow *w){
|
|
gtk_label_set_text(GTK_LABEL(label), (const gchar*) "HEY! COME BACK!");
|
|
logger("[GTK] Window focus lost.");
|
|
}
|
|
|
|
void on_window_focus_in_event(GtkWindow *w){
|
|
gtk_label_set_text(GTK_LABEL(label), (const gchar*) "Welcome Back!");
|
|
logger("[GTK] Window regained focus.");
|
|
} |