Le 01/11/2013 07:19, lmx a écrit :
hi guys,
Hi,
[...] The problem is...I can't change their name..it inherit the name of the IDE(Geany) :S.
I created it with:
#include <gtk/gtk.h>
GtkWidget *window=gtk_window_new (GTK_WINDOW_TOPLEVEL); //gtk_window_set_title(window->window,"STM8dev");
I tried(like you can see in the picture) with gtk directly, but it won't work :S
Any Idea?
You need to read a bit about GTK I think :) Try to find a tutorial to get the basic concepts used by GTK so you'll be able to understand the docs easily. There probably are a few on the web, but you can start with the GTK one https://developer.gnome.org/gtk3/stable/gtk-getting-started.html
But here you just need to call `gtk_window_set_title(GTK_WINDOW(window), STM8dev")`. window->window is a GTK internal and represents a low-level platform primitive you don't wanna deal with (and BTW, since version 3 of GTK, you can't access private members like that anymore).
I started with gtk, because I don't know if it possible to do it in the Geany glade xml...?
Geany uses GTK and don't re-create the wheel, so you're in the right direction using GTK :)
Another problem, is like you can see, the button(big button), have a listener associated with, but if I click it, in the first time...it does nothing...in the second it shutdowns, the GEANY IDE :S ??!!but I don know if it kills that window in memory...
I done it with:
gint delete( GtkWidget *widget,GtkWidget *event,gpointer data ){ gtk_main_quit(); //------>what is the main windows??????Geany
or STM8dev plugin?????????????????? return(FALSE); } ... button = gtk_button_new_with_label ("close-One more?None?Don't know"); gtk_signal_connect_object (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (delete), NULL); gtk_table_attach_defaults(GTK_TABLE(table), button, 0,1,1,2); gtk_widget_show(button);
First, your handler signature is wrong for that signal, see https://developer.gnome.org/gtk3/stable/GtkButton.html#GtkButton-clicked
So your "delete" handler should be like `void delete(GtkWidget*, gpointer)`.
Also, gtk_main_quit() quits the GTK even loop, which basically means quitting the application. https://developer.gnome.org/gtk3/stable/gtk3-General.html#gtk-main-quit
What you want to do is using `gtk_widget_destroy()` on your window widget if you want to destroy the window.
Also, don't use GTK_OBJECT or GTK_SIGNAL_FUNC, those are deprecated since forever in favor of GObjet's equivalents, G_OBJECT and G_CALLBACK (https://developer.gnome.org/gobject/stable/). GObject is the object system library used by GTK.
Regards, Colomban