testing-repository/Gtk3/gtk49_entry/src/main.cpp

32 lines
1.3 KiB
C++
Raw Normal View History

2021-03-06 11:17:54 +08:00
#include <gtk/gtk.h>
void btnvisible_clicked(GtkWidget *widget,gpointer data){
gtk_entry_set_visibility(GTK_ENTRY(data),gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)));
}
void btnedit_clicked(GtkWidget *widget,gpointer data){
gtk_editable_set_editable(GTK_EDITABLE(data),gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)));
}
static void gtkmain(GtkApplication *app,gpointer user_data){
//Get window
GtkBuilder *builder=gtk_builder_new_from_file("res/window.ui");
GObject *window,*btn_edit,*btn_visible,*entry;
window=gtk_builder_get_object(builder,"window");
//Get entry and buttons
entry=gtk_builder_get_object(builder,"entry");
btn_edit=gtk_builder_get_object(builder,"btnedit");
g_signal_connect(btn_edit,"clicked",G_CALLBACK(btnedit_clicked),entry);
btn_visible=gtk_builder_get_object(builder,"btnvisible");
g_signal_connect(btn_visible,"clicked",G_CALLBACK(btnvisible_clicked),entry);
gtk_application_add_window(app,GTK_WINDOW(window));
gtk_widget_show_all(GTK_WIDGET(window));
}
int main(int argc,char *argv[]){
GtkApplication *app;
app=gtk_application_new("org.gtk.daleclack",G_APPLICATION_NON_UNIQUE);
g_signal_connect(app,"activate",G_CALLBACK(gtkmain),NULL);
return g_application_run(G_APPLICATION(app),argc,argv);
}