summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoaquin Cuenca Abela <e98cuenc@yahoo.com>2003-08-15 18:24:11 +0000
committerJoaquĆ­n Cuenca Abela <cuenca@src.gnome.org>2003-08-15 18:24:11 +0000
commit029c8fb42344bfc4b54cf0dafb5d3dc99e1829e5 (patch)
treebf920c7945ac4b940d6eac2980994d4788747b04
parentf17a3827957c5bb043cae41e2269e40deebe92dc (diff)
downloadglade-029c8fb42344bfc4b54cf0dafb5d3dc99e1829e5.tar.gz
set 0.01 as the step for float and double parameters. parse the
2003-08-15 Joaquin Cuenca Abela <e98cuenc@yahoo.com> * src/glade-parameter.c: set 0.01 as the step for float and double parameters. * src/glade-widget-class.c: parse the PostCreateFunction value on glade_widget_class_extend_with_file. * widgets/gtkwindow.xml: put again the PostCreateFunction to set a reasonable default size for a window. * widgets/gtkmessagedialog.xml: reuse this xml file. * widgets/*.xml: remove some unneed tags, as name and generic_name, as now there are defined on gtk-base and gtk-additional.xml files.
-rw-r--r--ChangeLog13
-rw-r--r--src/glade-editor.c14
-rw-r--r--src/glade-parameter.c16
-rw-r--r--src/glade-parameter.h2
-rw-r--r--src/glade-widget-class.c31
-rw-r--r--src/glade-widget.c2
-rw-r--r--widgets/gtk-base.xml2
-rw-r--r--widgets/gtkbox.xml2
-rw-r--r--widgets/gtkmessagedialog.xml3
-rw-r--r--widgets/gtkseparator.xml2
-rw-r--r--widgets/gtktable.xml2
-rw-r--r--widgets/gtkwindow.xml5
12 files changed, 44 insertions, 50 deletions
diff --git a/ChangeLog b/ChangeLog
index b167d779..b27895aa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2003-08-15 Joaquin Cuenca Abela <e98cuenc@yahoo.com>
+
+ * src/glade-parameter.c: set 0.01 as the step for float and double parameters.
+ * src/glade-widget-class.c: parse the PostCreateFunction value on
+ glade_widget_class_extend_with_file.
+ * widgets/gtkwindow.xml: put again the PostCreateFunction to set a reasonable
+ default size for a window.
+ * widgets/gtkmessagedialog.xml: reuse this xml file.
+ * widgets/*.xml: remove some unneed tags, as name and generic_name, as now
+ there are defined on gtk-base and gtk-additional.xml files.
+
2003-08-14 Paolo Borelli <pborelli@katamail.com>
* src/glade-widget-class.[ch]: reapply minor cleanups after Joaquin's
@@ -33,7 +44,7 @@
gtkwidgets and gtkboxes. Coupled with the above changes, it
makes almost every xml file obsolete.
-2003-08-07 Paolo BOrelli <pborelli@katamail.com>
+2003-08-07 Paolo Borelli <pborelli@katamail.com>
* src/glade-utils.[ch]: remove dependency on glade-project-window.h.
* src/glade-project-window.c: fix for the above.
diff --git a/src/glade-editor.c b/src/glade-editor.c
index 37f3e2a8..0c67519c 100644
--- a/src/glade-editor.c
+++ b/src/glade-editor.c
@@ -579,28 +579,28 @@ static GtkWidget *
glade_editor_create_input_numeric (GladeEditorProperty *property,
GladeEditorNumericType numeric_type)
{
- GladePropertyClass *class;
+ GladePropertyClass *property_class;
GtkAdjustment *adjustment;
GtkWidget *spin;
g_return_val_if_fail (property != NULL, NULL);
- class = property->class;
+ property_class = property->class;
- adjustment = glade_parameter_adjustment_new (class->parameters, class->def);
+ adjustment = glade_parameter_adjustment_new (property_class);
- spin = gtk_spin_button_new (adjustment, 10,
+ spin = gtk_spin_button_new (adjustment, 4,
numeric_type == GLADE_EDITOR_INTEGER ? 0 : 2);
g_object_set_data (G_OBJECT (spin), "NumericType", GINT_TO_POINTER (numeric_type));
- g_signal_connect (G_OBJECT (spin), "value_changed",
+ /* g_signal_connect (G_OBJECT (spin), "value_changed",
G_CALLBACK (glade_editor_property_changed_numeric),
- property);
+ property); */
/* Some numeric types are optional, for example the default window size, so
* they have a toggle button right next to the spin button.
*/
- if (class->optional) {
+ if (property_class->optional) {
GtkWidget *check;
GtkWidget *hbox;
check = gtk_check_button_new ();
diff --git a/src/glade-parameter.c b/src/glade-parameter.c
index 55f52edf..2b745b78 100644
--- a/src/glade-parameter.c
+++ b/src/glade-parameter.c
@@ -26,6 +26,7 @@
#include "glade.h"
#include "glade-xml-utils.h"
#include "glade-parameter.h"
+#include "glade-property-class.h"
void
glade_parameter_get_integer (GList *parameters, const gchar *key, gint *value)
@@ -221,29 +222,34 @@ glade_parameter_list_new_from_node (GList *list, GladeXmlNode *node)
* Return Value: A newly created GtkAdjustment
**/
GtkAdjustment *
-glade_parameter_adjustment_new (GList *parameters, const GValue *def)
+glade_parameter_adjustment_new (GladePropertyClass *property_class)
{
+ GList *parameters = property_class->parameters;
+ GValue *def = property_class->def;
GtkAdjustment *adjustment;
gfloat value = 1;
gfloat lower = 0;
gfloat upper = 999999;
-
- gfloat step_increment = 1;
- gfloat page_increment = 265;
- gfloat climb_rate = 1;
+ gfloat step_increment = 1.0;
+ gfloat page_increment = 10.0;
+ gfloat climb_rate = 1.0;
if (def) {
switch (def->g_type) {
case G_TYPE_FLOAT:
value = g_value_get_float (def);
+ step_increment = 0.01;
break;
case G_TYPE_INT:
value = (float) g_value_get_int (def);
+ step_increment = 1.0;
break;
case G_TYPE_DOUBLE:
value = (float) g_value_get_double (def);
+ step_increment = 0.01;
break;
}
+ page_increment = 10 * step_increment;
}
glade_parameter_get_float (parameters, "Min", &lower);
diff --git a/src/glade-parameter.h b/src/glade-parameter.h
index 281122de..22a4d08b 100644
--- a/src/glade-parameter.h
+++ b/src/glade-parameter.h
@@ -44,7 +44,7 @@ void glade_parameter_get_string (GList *parameters, const gchar *key, gchar **v
GList * glade_parameter_list_new_from_node (GList *list, GladeXmlNode *node);
/* Convenience functions */
-GtkAdjustment * glade_parameter_adjustment_new (GList *parameters, const GValue *def);
+GtkAdjustment * glade_parameter_adjustment_new (GladePropertyClass *property_class);
G_END_DECLS
diff --git a/src/glade-widget-class.c b/src/glade-widget-class.c
index 27fd7b4f..7a86b34d 100644
--- a/src/glade-widget-class.c
+++ b/src/glade-widget-class.c
@@ -416,6 +416,7 @@ glade_widget_class_extend_with_file (GladeWidgetClass *widget_class, const char
GladeXmlDoc *doc;
GladeXmlNode *properties;
GladeXmlNode *node;
+ char *post_create_function_name;
g_return_val_if_fail (filename != NULL, FALSE);
@@ -423,6 +424,15 @@ glade_widget_class_extend_with_file (GladeWidgetClass *widget_class, const char
if (context != NULL) {
doc = glade_xml_context_get_doc (context);
node = glade_xml_doc_get_root (doc);
+
+ post_create_function_name = glade_xml_get_value_string (node, GLADE_TAG_POST_CREATE_FUNCTION);
+ if (post_create_function_name) {
+ widget_class->post_create_function = glade_gtk_get_function (post_create_function_name);
+ if (!widget_class->post_create_function)
+ g_warning ("Could not find %s\n", post_create_function_name);
+ }
+ g_free (post_create_function_name);
+
properties = glade_xml_search_child (node, GLADE_TAG_PROPERTIES);
/* if we found a <properties> tag on the xml file, we add the properties
* that we read from the xml file to the class */
@@ -490,7 +500,6 @@ glade_widget_class_merge (GladeWidgetClass *widget_class, GladeWidgetClass *pare
{
GList *last_property;
GList *parent_properties;
- GList *tmp1;
g_return_if_fail (GLADE_IS_WIDGET_CLASS (widget_class));
g_return_if_fail (GLADE_IS_WIDGET_CLASS (parent_class));
@@ -501,19 +510,6 @@ glade_widget_class_merge (GladeWidgetClass *widget_class, GladeWidgetClass *pare
if (widget_class->post_create_function == NULL)
widget_class->post_create_function = parent_class->post_create_function;
- tmp1 = widget_class->properties;
- while (tmp1 != NULL) {
- GladePropertyClass *property_class = (GladePropertyClass*) tmp1->data;
- g_debug (("%s from %s\n", property_class->id, widget_class->name));
- tmp1 = g_list_next (tmp1);
- }
- tmp1 = parent_class->properties;
- while (tmp1 != NULL) {
- GladePropertyClass *property_class = (GladePropertyClass*) tmp1->data;
- g_debug (("%s from %s\n", property_class->id, parent_class->name));
- tmp1 = g_list_next (tmp1);
- }
-
last_property = g_list_last (widget_class->properties);
parent_properties = parent_class->properties;
for (; parent_properties; parent_properties = parent_properties->next) {
@@ -527,13 +523,6 @@ glade_widget_class_merge (GladeWidgetClass *widget_class, GladeWidgetClass *pare
else
last_property = list->next;
}
-
- tmp1 = widget_class->properties;
- while (tmp1 != NULL) {
- GladePropertyClass *property_class = (GladePropertyClass*) tmp1->data;
- g_debug (("Result %s\n", property_class->id));
- tmp1 = g_list_next (tmp1);
- }
}
/**
diff --git a/src/glade-widget.c b/src/glade-widget.c
index 79f8873c..04ca0e67 100644
--- a/src/glade-widget.c
+++ b/src/glade-widget.c
@@ -715,7 +715,7 @@ glade_widget_append_query (GtkWidget *table,
0, 1, row, row +1);
/* Spin/Entry */
- adjustment = glade_parameter_adjustment_new (property_class->parameters, property_class->def);
+ adjustment = glade_parameter_adjustment_new (property_class);
spin = gtk_spin_button_new (adjustment, 1, 0);
gtk_widget_show (spin);
gtk_table_attach_defaults (GTK_TABLE (table), spin,
diff --git a/widgets/gtk-base.xml b/widgets/gtk-base.xml
index 3e3aa620..04c44a2b 100644
--- a/widgets/gtk-base.xml
+++ b/widgets/gtk-base.xml
@@ -34,7 +34,7 @@
<GladeWidget name="GtkDrawingArea" generic_name="drawingarea"/>
<GladeWidget name="GtkDialog" generic_name="dialog"/>
- <GladeWidget name="GtkMessageDialog" generic_name="messagedialog"/>
+ <GladeWidget name="GtkMessageDialog" generic_name="messagedialog" filename="gtkmessagedialog.xml"/>
<GladeWidget name="GtkFileSelection" generic_name="fileselection"/>
<GladeWidget name="GtkColorSelectionDialog" generic_name="colorselectiondialog"/>
<GladeWidget name="GtkFontSelectionDialog" generic_name="fontselectiondialog"/>
diff --git a/widgets/gtkbox.xml b/widgets/gtkbox.xml
index 07cfbab1..65606bfc 100644
--- a/widgets/gtkbox.xml
+++ b/widgets/gtkbox.xml
@@ -1,6 +1,4 @@
<GladeWidgetClass>
- <Name>GtkBox</Name>
-
<Properties>
<Property Name="Size" Id="size" Default="3">
diff --git a/widgets/gtkmessagedialog.xml b/widgets/gtkmessagedialog.xml
index 3df0d6a1..28b8853d 100644
--- a/widgets/gtkmessagedialog.xml
+++ b/widgets/gtkmessagedialog.xml
@@ -1,8 +1,5 @@
<GladeWidgetClass>
- <Name>GtkMessageDialog</Name>
- <GenericName>messagedialog</GenericName>
- <Toplevel>True</Toplevel>
<PostCreateFunction>glade_gtk_message_dialog_post_create</PostCreateFunction>
<Properties>
diff --git a/widgets/gtkseparator.xml b/widgets/gtkseparator.xml
index 09785ffc..4eb7f336 100644
--- a/widgets/gtkseparator.xml
+++ b/widgets/gtkseparator.xml
@@ -1,6 +1,4 @@
<GladeWidgetClass>
- <Name>GtkSeparator</Name>
-
<PackingProperties>
<Container Id="GtkTable">
<Packing Id="xexpand">True</Packing>
diff --git a/widgets/gtktable.xml b/widgets/gtktable.xml
index 35fb882b..0b77510e 100644
--- a/widgets/gtktable.xml
+++ b/widgets/gtktable.xml
@@ -1,6 +1,4 @@
<GladeWidgetClass>
- <Name>GtkTable</Name>
- <GenericName>table</GenericName>
<PostCreateFunction>glade_gtk_table_post_create</PostCreateFunction>
<Properties>
diff --git a/widgets/gtkwindow.xml b/widgets/gtkwindow.xml
index c4d13a09..6efceb6d 100644
--- a/widgets/gtkwindow.xml
+++ b/widgets/gtkwindow.xml
@@ -1,8 +1,5 @@
<GladeWidgetClass>
- <Name>GtkWindow</Name>
- <GenericName>window</GenericName>
- <Toplevel>True</Toplevel>
- <Placeholder>True</Placeholder>
+ <PostCreateFunction>glade_gtk_window_post_create</PostCreateFunction>
<Properties>