From: Andrea Zagli <azagli@libero.it> Date: Sat, 30 Apr 2011 14:38:04 +0000 (+0200) Subject: Started Glade catalog for GtkFormUI. X-Git-Tag: 0.3.1~15 X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=56d60fbea5e407de4eaaf9b98a8552c81122fcf7;p=libgtkform Started Glade catalog for GtkFormUI. --- diff --git a/configure.ac b/configure.ac index a8e5423..da603b4 100644 --- a/configure.ac +++ b/configure.ac @@ -39,6 +39,10 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", AM_GLIB_GNU_GETTEXT # Checks for libraries. +PKG_CHECK_EXISTS(gladeui-1.0 >= 3.2.0, [GLADEUI_FOUND=yes], [GLADEUI_FOUND=no]) + +AM_CONDITIONAL(GLADEUI, test $GLADEUI_FOUND = yes) + PKG_CHECK_MODULES(GTKFORM, [gtk+-2.0 >= 2.12.0 libxml-2.0 >= 2.0.0 libgdaex >= 0.1.0 @@ -73,4 +77,17 @@ AC_CONFIG_FILES([ data/Makefile po/Makefile.in ]) + +if test $GLADEUI_FOUND = yes; then +AC_CONFIG_FILES([ + ui/glade/Makefile + ui/glade/icons/Makefile + ui/glade/icons/hicolor/Makefile + ui/glade/icons/hicolor/16x16/Makefile + ui/glade/icons/hicolor/16x16/actions/Makefile + ui/glade/icons/hicolor/22x22/Makefile + ui/glade/icons/hicolor/22x22/actions/Makefile +]) +fi + AC_OUTPUT diff --git a/ui/Makefile.am b/ui/Makefile.am index 649b3d8..54a8f2b 100644 --- a/ui/Makefile.am +++ b/ui/Makefile.am @@ -1,3 +1,7 @@ +if GLADEUI +SUBDIRS = glade +endif + AM_CPPFLAGS = $(WARN_CFLAGS) \ $(DISABLE_DEPRECATED_CFLAGS) \ $(GTKFORMUI_CFLAGS) \ diff --git a/ui/glade/Makefile.am b/ui/glade/Makefile.am new file mode 100644 index 0000000..8d22cb8 --- /dev/null +++ b/ui/glade/Makefile.am @@ -0,0 +1,16 @@ +SUBDIRS = icons + +moduledir = `pkg-config --variable=moduledir gladeui-1.0` + +catalogsdir = `pkg-config --variable=catalogdir gladeui-1.0` + +catalogs_DATA = gtkformui.xml + +EXTRA_DIST = $(catalogs_DATA) + +install-exec-hook: + cd $(moduledir) && \ + ln -s -f $(libdir)/libgtkformui.so . + +uninstall-hook: + rm -f $(moduledir)/libgtkformui.so diff --git a/ui/glade/gtkformui.xml b/ui/glade/gtkformui.xml new file mode 100644 index 0000000..48be43e --- /dev/null +++ b/ui/glade/gtkformui.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<glade-catalog name="gtkformui" library="gtkformui" depends="gtk+" domain="gtkformui" book="gtkformui"> + + <glade-widget-classes> + <glade-widget-class name="GtkFormDecoder" generic-name="gtkformdecoder" title="Decoder"> + <properties> + </properties> + </glade-widget-class> + </glade-widget-classes> + + <glade-widget-group name="gtk-control-display" title="Control and Display"> + <glade-widget-class-ref name="GtkFormDecoder" /> + </glade-widget-group> + +</glade-catalog> diff --git a/ui/glade/icons/Makefile.am b/ui/glade/icons/Makefile.am new file mode 100644 index 0000000..658356b --- /dev/null +++ b/ui/glade/icons/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = hicolor diff --git a/ui/glade/icons/hicolor/16x16/Makefile.am b/ui/glade/icons/hicolor/16x16/Makefile.am new file mode 100644 index 0000000..0224d45 --- /dev/null +++ b/ui/glade/icons/hicolor/16x16/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = actions diff --git a/ui/glade/icons/hicolor/16x16/actions/Makefile.am b/ui/glade/icons/hicolor/16x16/actions/Makefile.am new file mode 100644 index 0000000..ccf8100 --- /dev/null +++ b/ui/glade/icons/hicolor/16x16/actions/Makefile.am @@ -0,0 +1,5 @@ +iconsdir = `pkg-config --variable=pixmapdir gladeui-1.0`/hicolor/16x16/actions + +icons_DATA = widget-gtkformui-gtkformdecoder.png + +EXTRA_DIST = $(icons_DATA) diff --git a/ui/glade/icons/hicolor/16x16/actions/widget-gtkformui-gtkformdecoder.png b/ui/glade/icons/hicolor/16x16/actions/widget-gtkformui-gtkformdecoder.png new file mode 100644 index 0000000..ec4e622 Binary files /dev/null and b/ui/glade/icons/hicolor/16x16/actions/widget-gtkformui-gtkformdecoder.png differ diff --git a/ui/glade/icons/hicolor/22x22/Makefile.am b/ui/glade/icons/hicolor/22x22/Makefile.am new file mode 100644 index 0000000..0224d45 --- /dev/null +++ b/ui/glade/icons/hicolor/22x22/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = actions diff --git a/ui/glade/icons/hicolor/22x22/actions/Makefile.am b/ui/glade/icons/hicolor/22x22/actions/Makefile.am new file mode 100644 index 0000000..35aa85a --- /dev/null +++ b/ui/glade/icons/hicolor/22x22/actions/Makefile.am @@ -0,0 +1,5 @@ +iconsdir = `pkg-config --variable=pixmapdir gladeui-1.0`/hicolor/22x22/actions + +icons_DATA = widget-gtkformui-gtkformdecoder.png + +EXTRA_DIST = $(icons_DATA) diff --git a/ui/glade/icons/hicolor/22x22/actions/widget-gtkformui-gtkformdecoder.png b/ui/glade/icons/hicolor/22x22/actions/widget-gtkformui-gtkformdecoder.png new file mode 100644 index 0000000..7945a48 Binary files /dev/null and b/ui/glade/icons/hicolor/22x22/actions/widget-gtkformui-gtkformdecoder.png differ diff --git a/ui/glade/icons/hicolor/Makefile.am b/ui/glade/icons/hicolor/Makefile.am new file mode 100644 index 0000000..fc1d169 --- /dev/null +++ b/ui/glade/icons/hicolor/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = 16x16 22x22 diff --git a/ui/gtkformdecoder.c b/ui/gtkformdecoder.c index a651d96..9ec781a 100644 --- a/ui/gtkformdecoder.c +++ b/ui/gtkformdecoder.c @@ -43,6 +43,9 @@ static void gtk_form_decoder_get_property (GObject *object, GValue *value, GParamSpec *pspec); +static void gtk_form_decoder_on_btn_browse_clicked (GtkButton *button, + gpointer user_data); + static GtkWidgetClass *parent_class = NULL; @@ -76,6 +79,21 @@ gtk_form_decoder_class_init (GtkFormDecoderClass *klass) widget_class->size_request = gtk_form_decoder_size_request; widget_class->size_allocate = gtk_form_decoder_size_allocate; + + /** + * GtkFormDecoder::btn_browse_clicked: + * @gtk_form_decoder: + * + */ + klass->btn_browse_clicked_signal_id = g_signal_new ("btn-browse-clicked", + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + 0, + NULL, + NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); } static void @@ -83,12 +101,13 @@ gtk_form_decoder_init (GtkFormDecoder *decoder) { GtkFormDecoderPrivate *priv = GTK_FORM_DECODER_GET_PRIVATE (decoder); - priv->hbox = gtk_hbox_new (FALSE, 0); + priv->hbox = gtk_hbox_new (FALSE, 5); gtk_container_add (GTK_CONTAINER (decoder), priv->hbox); gtk_widget_show (priv->hbox); priv->txt_decoded = gtk_entry_new (); gtk_box_pack_start (GTK_BOX (priv->hbox), priv->txt_decoded, TRUE, TRUE, 0); + gtk_editable_set_editable (GTK_EDITABLE (priv->txt_decoded), FALSE); gtk_widget_show (priv->txt_decoded); priv->btn_browse = gtk_button_new_with_label ("..."); @@ -96,6 +115,9 @@ gtk_form_decoder_init (GtkFormDecoder *decoder) gtk_widget_set_no_show_all (priv->btn_browse, TRUE); gtk_widget_show (priv->btn_browse); + g_signal_connect (G_OBJECT (priv->btn_browse), "clicked", + G_CALLBACK (gtk_form_decoder_on_btn_browse_clicked), (gpointer)decoder); + priv->lbl_key = gtk_label_new (""); gtk_box_pack_start (GTK_BOX (priv->hbox), priv->lbl_key, FALSE, FALSE, 0); gtk_widget_set_no_show_all (priv->lbl_key, TRUE); @@ -212,3 +234,12 @@ gtk_form_decoder_size_allocate (GtkWidget *widget, gtk_widget_size_allocate (bin->child, &child_allocation); } } + +static void +gtk_form_decoder_on_btn_browse_clicked (GtkButton *button, + gpointer user_data) +{ + GtkFormDecoderClass *klass = GTK_FORM_DECODER_GET_CLASS ((GtkFormDecoder *)user_data); + + g_signal_emit (G_OBJECT (user_data), klass->btn_browse_clicked_signal_id, 0); +} diff --git a/ui/gtkformdecoder.h b/ui/gtkformdecoder.h index c7a09c7..12dcf18 100644 --- a/ui/gtkformdecoder.h +++ b/ui/gtkformdecoder.h @@ -29,10 +29,10 @@ G_BEGIN_DECLS #define GTK_TYPE_FORM_DECODER (gtk_form_decoder_get_type ()) #define GTK_FORM_DECODER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FORM_DECODER, GtkFormDecoder)) -#define GTK_FORM_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_FORM_DECODER, GtkFormDecoder)) +#define GTK_FORM_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_FORM_DECODER, GtkFormDecoderClass)) #define GTK_IS_FORM_DECODER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FORM_DECODER)) #define GTK_IS_FORM_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FORM_DECODER)) -#define GTK_FORM_DECODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_FORM_DECODER, GtkFormDecoder)) +#define GTK_FORM_DECODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_FORM_DECODER, GtkFormDecoderClass)) typedef struct _GtkFormDecoder GtkFormDecoder; @@ -47,6 +47,8 @@ struct _GtkFormDecoder struct _GtkFormDecoderClass { GtkBinClass parent_class; + + guint btn_browse_clicked_signal_id; };