dia r3953 - in trunk: . lib objects/Database objects/UML objects/chronogram



Author: hans
Date: Fri Apr 25 13:04:32 2008
New Revision: 3953
URL: http://svn.gnome.org/viewvc/dia?rev=3953&view=rev

Log:
2008-04-25  Hans Breuer  <hans breuer org>

	* lib/propdialogs.c(property_signal_handler) : get rid of 
	signed/unsigned warning
	(prop_dialog_add_properties) : better guess on the required size 
	of the scrollable area. Never make it bigger than the full content.
	
	* lib/properties.h : remove defintions for PROP_STD_MULTICOL_*, these
	format helpers need to be unique in case of being combined in the
	group properties dialog across such objects
	* objects/chronogram/chronoref.c objects/Database/reference.c
	  objects/Database/table.c objects/UML/class.c : updated accordingly



Modified:
   trunk/ChangeLog
   trunk/lib/propdialogs.c
   trunk/lib/properties.h
   trunk/objects/Database/reference.c
   trunk/objects/Database/table.c
   trunk/objects/UML/class.c
   trunk/objects/chronogram/chronoref.c

Modified: trunk/lib/propdialogs.c
==============================================================================
--- trunk/lib/propdialogs.c	(original)
+++ trunk/lib/propdialogs.c	Fri Apr 25 13:04:32 2008
@@ -176,7 +176,7 @@
     PropDialog *dialog = ped->dialog;
     Property *prop = ped->self;
     DiaObject *obj = dialog->obj_copy;
-    int j;
+    guint j;
 
     g_assert(obj);
     g_assert(object_complies_with_stdprop(obj));
@@ -277,16 +277,15 @@
 prop_dialog_add_properties(PropDialog *dialog, GPtrArray *props)
 {
   guint i;
-  gboolean scrollable = (props->len > 12);
+  gboolean scrollable = (props->len > 16);
 
   if (scrollable) {
     GtkWidget *swin = gtk_scrolled_window_new (NULL, NULL); 
-    GtkWidget *vbox = gtk_vbox_new(FALSE,0);
+    GtkWidget *vbox = gtk_vbox_new(FALSE,2);
     gtk_box_pack_start(GTK_BOX (dialog->widget), swin, TRUE, TRUE, 0);
     gtk_widget_show (swin);
     gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (swin), vbox);
-    /* I'd say default size calculation for scrollable is quite broken */
-    gtk_widget_set_size_request (swin, -1, 400);
+    gtk_viewport_set_shadow_type(GTK_VIEWPORT(GTK_BIN(swin)->child), GTK_SHADOW_NONE);
     gtk_widget_show (vbox);
     gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
     prop_dialog_container_push (dialog, swin);
@@ -300,6 +299,13 @@
   }
 
   if (scrollable) {
+    GtkRequisition requisition;
+    GtkWidget *vbox = prop_dialog_container_pop(dialog);
+    GtkWidget *swin = prop_dialog_container_pop(dialog);
+    
+    gtk_widget_size_request (vbox, &requisition);
+    /* I'd say default size calculation for scrollable is quite broken */
+    gtk_widget_set_size_request (swin, -1, requisition.height > 400 ? 400 : requisition.height);    
   }
 }
 

Modified: trunk/lib/properties.h
==============================================================================
--- trunk/lib/properties.h	(original)
+++ trunk/lib/properties.h	Fri Apr 25 13:04:32 2008
@@ -576,18 +576,14 @@
 #define PROP_MULTICOL_BEGIN(name) \
   { "mcol_" name, PROP_TYPE_MULTICOL_BEGIN, \
               PROP_FLAG_VISIBLE|PROP_FLAG_DONT_SAVE|PROP_FLAG_WIDGET_ONLY, NULL, NULL}
-#define PROP_STD_MULTICOL_BEGIN PROP_MULTICOL_BEGIN("std")
 #define PROP_OFFSET_MULTICOL_BEGIN(name) \
   { "mcol_" name, PROP_TYPE_NOTEBOOK_BEGIN, 0}
-#define PROP_OFFSET_STD_MULTICOL_BEGIN PROP_OFFSET_MULTICOL_BEGIN("std")
 
 #define PROP_MULTICOL_END(name) \
   { "mcol_" name "_end", PROP_TYPE_MULTICOL_END, \
       PROP_FLAG_VISIBLE|PROP_FLAG_DONT_SAVE|PROP_FLAG_WIDGET_ONLY, NULL, NULL}
-#define PROP_STD_MULTICOL_END PROP_MULTICOL_END("std")
 #define PROP_OFFSET_MULTICOL_END(name) \
   { "mcol_" name "_end", PROP_TYPE_MULTICOL_END, 0}
-#define PROP_OFFSET_STD_MULTICOL_END PROP_OFFSET_MULTICOL_END("std")
 
 #define PROP_MULTICOL_COLUMN(name) \
   { "mcol_col_" name, PROP_TYPE_MULTICOL_COLUMN, \

Modified: trunk/objects/Database/reference.c
==============================================================================
--- trunk/objects/Database/reference.c	(original)
+++ trunk/objects/Database/reference.c	Fri Apr 25 13:04:32 2008
@@ -111,14 +111,14 @@
       N_("Start description"), NULL, NULL },
     { "end_point_desc", PROP_TYPE_STRING, PROP_FLAG_VISIBLE,
       N_("End description"), NULL, NULL },
-    PROP_STD_MULTICOL_BEGIN,
+    PROP_MULTICOL_BEGIN("reference"),
     PROP_MULTICOL_COLUMN("font"),
     { "normal_font", PROP_TYPE_FONT, PROP_FLAG_VISIBLE | PROP_FLAG_OPTIONAL,
       N_("Font"), NULL, NULL },
     PROP_MULTICOL_COLUMN("height"),
     { "normal_font_height", PROP_TYPE_REAL, PROP_FLAG_VISIBLE | PROP_FLAG_OPTIONAL,
       N_(" "), NULL, NULL },
-    PROP_STD_MULTICOL_END,
+    PROP_MULTICOL_END("reference"),
     PROP_DESC_END
   };
 

Modified: trunk/objects/Database/table.c
==============================================================================
--- trunk/objects/Database/table.c	(original)
+++ trunk/objects/Database/table.c	Fri Apr 25 13:04:32 2008
@@ -188,7 +188,7 @@
     { "bold_primary_keys", PROP_TYPE_BOOL, PROP_FLAG_VISIBLE | PROP_FLAG_OPTIONAL,
       N_("Use bold font for primary keys"), NULL, NULL },
 
-    PROP_STD_MULTICOL_BEGIN,
+    PROP_MULTICOL_BEGIN("table"),
     PROP_MULTICOL_COLUMN("font"),
     { "normal_font", PROP_TYPE_FONT, PROP_FLAG_VISIBLE | PROP_FLAG_OPTIONAL,
       N_("Normal"), NULL, NULL },
@@ -203,7 +203,7 @@
       N_(" "), NULL, NULL },
     { "comment_font_height", PROP_TYPE_REAL, PROP_FLAG_VISIBLE | PROP_FLAG_OPTIONAL,
       N_(" "), NULL, NULL },
-    PROP_STD_MULTICOL_END,
+    PROP_MULTICOL_END("table"),
 
     { "attributes", PROP_TYPE_DARRAY, PROP_FLAG_VISIBLE | PROP_FLAG_OPTIONAL | PROP_FLAG_DONT_MERGE | PROP_FLAG_NO_DEFAULTS,
       N_("Attributes"), NULL, &table_attribute_extra },
@@ -225,7 +225,7 @@
   { "underline_primary_key", PROP_TYPE_BOOL, offsetof(Table, underline_primary_key) },
   { "bold_primary_keys", PROP_TYPE_BOOL, offsetof(Table, bold_primary_key) },
 
-  PROP_OFFSET_STD_MULTICOL_BEGIN,
+  PROP_OFFSET_MULTICOL_BEGIN("table"),
   PROP_OFFSET_MULTICOL_COLUMN("font"),
   { "normal_font", PROP_TYPE_FONT, offsetof(Table, normal_font) },
   { "name_font", PROP_TYPE_FONT, offsetof(Table, name_font) },
@@ -235,7 +235,7 @@
   { "normal_font_height", PROP_TYPE_REAL, offsetof(Table, normal_font_height) },
   { "name_font_height", PROP_TYPE_REAL, offsetof(Table, name_font_height) },
   { "comment_font_height", PROP_TYPE_REAL, offsetof(Table, comment_font_height) },
-  PROP_OFFSET_STD_MULTICOL_END,
+  PROP_OFFSET_MULTICOL_END("table"),
 
   { "attributes", PROP_TYPE_DARRAY, offsetof(Table, attributes) },
 

Modified: trunk/objects/UML/class.c
==============================================================================
--- trunk/objects/UML/class.c	(original)
+++ trunk/objects/UML/class.c	Fri Apr 25 13:04:32 2008
@@ -169,7 +169,7 @@
 
   /* all this just to make the defaults selectable ... */
   PROP_NOTEBOOK_PAGE("font", PROP_FLAG_DONT_MERGE, N_("Font")),
-  PROP_STD_MULTICOL_BEGIN,
+  PROP_MULTICOL_BEGIN("class"),
   PROP_MULTICOL_COLUMN("font"),
   /* FIXME: apparently multicol does not work correctly, this should be FIRST column */
   { "normal_font", PROP_TYPE_FONT, PROP_FLAG_VISIBLE | PROP_FLAG_OPTIONAL,
@@ -198,7 +198,7 @@
   N_(" "), NULL, NULL },
   { "comment_font_height", PROP_TYPE_REAL, PROP_FLAG_VISIBLE | PROP_FLAG_OPTIONAL,
   N_(" "), NULL, NULL },
-  PROP_STD_MULTICOL_END,
+  PROP_MULTICOL_END("class"),
   PROP_STD_NOTEBOOK_END,
 
   /* these are used during load, but currently not during save */
@@ -269,7 +269,7 @@
   { "comment_tagging", PROP_TYPE_BOOL, offsetof(UMLClass, comment_tagging) },
   
   /* all this just to make the defaults selectable ... */
-  PROP_OFFSET_STD_MULTICOL_BEGIN,
+  PROP_OFFSET_MULTICOL_BEGIN("class"),
   PROP_OFFSET_MULTICOL_COLUMN("font"),
   { "normal_font", PROP_TYPE_FONT, offsetof(UMLClass, normal_font) },
   { "abstract_font", PROP_TYPE_FONT, offsetof(UMLClass, abstract_font) },
@@ -285,7 +285,7 @@
   { "classname_font_height", PROP_TYPE_REAL, offsetof(UMLClass, classname_font_height) },
   { "abstract_classname_font_height", PROP_TYPE_REAL, offsetof(UMLClass, abstract_classname_font_height) },
   { "comment_font_height", PROP_TYPE_REAL, offsetof(UMLClass, comment_font_height) },
-  PROP_OFFSET_STD_MULTICOL_END,
+  PROP_OFFSET_MULTICOL_END("class"),
 
   { "operations", PROP_TYPE_DARRAY, offsetof(UMLClass , operations) },
   { "attributes", PROP_TYPE_DARRAY, offsetof(UMLClass , attributes) } ,

Modified: trunk/objects/chronogram/chronoref.c
==============================================================================
--- trunk/objects/chronogram/chronoref.c	(original)
+++ trunk/objects/chronogram/chronoref.c	Fri Apr 25 13:04:32 2008
@@ -140,7 +140,7 @@
 
 static PropDescription chronoref_props[] = {
   ELEMENT_COMMON_PROPERTIES,
-  PROP_STD_MULTICOL_BEGIN,
+  PROP_MULTICOL_BEGIN("chronoref"),
 
   PROP_MULTICOL_COLUMN("time"),
   PROP_FRAME_BEGIN("time",0,N_("Time data")),
@@ -170,7 +170,7 @@
     N_("Text color"), NULL, NULL },
   PROP_FRAME_END("aspect",0),
 
-  PROP_STD_MULTICOL_END,
+  PROP_MULTICOL_END("chronoref"),
   {NULL}
 };
 
@@ -185,7 +185,7 @@
 
 static PropOffset chronoref_offsets[] = {
   ELEMENT_COMMON_PROPERTIES_OFFSETS,
-  PROP_OFFSET_STD_MULTICOL_BEGIN,
+  PROP_OFFSET_MULTICOL_BEGIN("chronref"),
 
   PROP_OFFSET_MULTICOL_COLUMN("time"),
   PROP_OFFSET_FRAME_BEGIN("time"),
@@ -205,7 +205,7 @@
   { "font_color", PROP_TYPE_COLOUR, offsetof(Chronoref,font_color)},
   PROP_OFFSET_FRAME_END("aspect"),
 
-  PROP_OFFSET_STD_MULTICOL_END,
+  PROP_OFFSET_MULTICOL_END("chronref"),
   {NULL}
 };
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]