Hello Everyone,
I have a callback on a button that changes a notebook page and sets the menu bar and buttonbox sensitive to true. The Notebook changes pages but i can't get the set sensitive on the menubar and buttonbox. Any Ideas? I am using GTK3, Ubuntu 12.04.1, I get no error on compile and on the terminal.
main.c
Code:
#include <config.h>
#include <gtk/gtk.h>
#include <glib/gi18n.h>
#include "main.h"
GtkWidget *window;
GtkBuilder *builder;
GtkWidget *btn_login;
GtkWidget *menubar;
GtkWidget *buttonbox;
GtkWidget *notebook;
void btn_login_clicked_cb (GtkWidget *btn_login, gpointer data)
{
menubar = _menubar ();
buttonbox = _buttonbox ();
notebook = _notebook ();
gtk_widget_set_sensitive (GTK_WIDGET (menubar), TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (buttonbox), TRUE);
gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), 1);
}
int main (int argc, char *argv[])
{
gtk_init (&argc, &argv);
window = _window ();
gtk_widget_show_all (window);
gtk_main ();
return 0;
}
main.h
Code:
#include <config.h>
#include <gtk/gtk.h>
#include <glib/gi18n.h>
GtkWidget *window;
GtkBuilder *builder;
GtkWidget *btn_login;
GtkWidget *menubar;
GtkWidget *buttonbox;
GtkWidget *notebook;
GError* error = NULL;
void destroy (GtkWidget *widget, gpointer data)
{
gtk_main_quit ();
}
void get_builder (void)
{
builder = gtk_builder_new ();
gtk_builder_add_from_file (builder, "src/osbuilder.ui", &error);
}
static GtkWidget* _window (void)
{
get_builder();
window = GTK_WIDGET (gtk_builder_get_object (builder, "window"));
gtk_builder_connect_signals (builder, NULL);
return window;
}
static GtkWidget* _btn_login (void)
{
get_builder();
btn_login = GTK_WIDGET (gtk_builder_get_object (builder, "btn_login"));
gtk_builder_connect_signals (builder, NULL);
return btn_login;
}
static GtkWidget* _menubar (void)
{
get_builder();
menubar = GTK_WIDGET (gtk_builder_get_object (builder, "menubar"));
gtk_builder_connect_signals (builder, NULL);
return menubar;
}
static GtkWidget* _buttonbox (void)
{
get_builder();
buttonbox = GTK_WIDGET (gtk_builder_get_object (builder, "buttonbox"));
gtk_builder_connect_signals (builder, NULL);
return buttonbox;
}
static GtkWidget* _notebook (void)
{
get_builder();
notebook = GTK_WIDGET (gtk_builder_get_object (builder, "notebook"));
gtk_builder_connect_signals (builder, NULL);
gtk_widget_show_all (GTK_WIDGET(notebook));
return notebook;
}
Thank You Everyone.