[dia] UML - Object: more text properties and dual focus



commit 49f193f68835767cc5a767405335a587ab06db26
Author: Hans Breuer <hans breuer org>
Date:   Sun Aug 22 16:37:49 2010 +0200

    UML - Object: more text properties and dual focus
    
    Finally allow to change objects text properties (to make it match
    the other std-props-test.dia layout ;)) and activation of the
    dual focus in one object (use <tab> to switch between them).

 objects/UML/object.c       |   83 +++++++++++-------
 samples/std-props-test.dia |  204 ++++++++++++++++++++++++++++++++++++--------
 2 files changed, 218 insertions(+), 69 deletions(-)
---
diff --git a/objects/UML/object.c b/objects/UML/object.c
index df551c5..0079083 100644
--- a/objects/UML/object.c
+++ b/objects/UML/object.c
@@ -52,8 +52,8 @@ struct _Objet {
   char *exstate;  /* used for explicit state */
   Text *attributes;
 
+  TextAttributes text_attrs; /* for both text objects */
   real line_width;
-  Color text_color;
   Color line_color;
   Color fill_color;
 
@@ -69,10 +69,10 @@ struct _Objet {
 
 #define OBJET_BORDERWIDTH 0.1
 #define OBJET_ACTIVEBORDERWIDTH 0.2
-#define OBJET_MARGIN_X 0.5
-#define OBJET_MARGIN_Y 0.5
-#define OBJET_MARGIN_M 0.4
-#define OBJET_FONTHEIGHT 0.8
+#define OBJET_MARGIN_X(o) (o->text_attrs.height*(0.5/0.8))
+#define OBJET_MARGIN_Y(o) (o->text_attrs.height*(0.5/0.8))
+#define OBJET_MARGIN_M(o) (o->text_attrs.height*(0.4/0.8))
+#define OBJET_FONTHEIGHT(o)  (o->text_attrs.height)
 
 static real objet_distance_from(Objet *ob, Point *point);
 static void objet_select(Objet *ob, Point *clicked_point,
@@ -146,8 +146,10 @@ static PropDescription objet_props[] = {
   PROP_STD_LINE_WIDTH_OPTIONAL,
   /* can't use PROP_STD_TEXT_COLOUR_OPTIONAL cause it has PROP_FLAG_DONT_SAVE. It is designed to fill the Text object - not some subset */
   PROP_STD_TEXT_COLOUR_OPTIONS(PROP_FLAG_VISIBLE|PROP_FLAG_STANDARD|PROP_FLAG_OPTIONAL),
+  PROP_STD_TEXT_FONT_OPTIONS(PROP_FLAG_VISIBLE|PROP_FLAG_STANDARD|PROP_FLAG_OPTIONAL),
+  PROP_STD_TEXT_HEIGHT_OPTIONS(PROP_FLAG_VISIBLE|PROP_FLAG_STANDARD|PROP_FLAG_OPTIONAL),
   PROP_STD_LINE_COLOUR_OPTIONAL, 
-  PROP_STD_FILL_COLOUR_OPTIONAL, 
+  PROP_STD_FILL_COLOUR_OPTIONAL,
   { "text", PROP_TYPE_TEXT, 0, N_("Text"), NULL, NULL },
   { "stereotype", PROP_TYPE_STRING, PROP_FLAG_VISIBLE,
     N_("Stereotype"), NULL, NULL },
@@ -177,7 +179,9 @@ objet_describe_props(Objet *ob)
 static PropOffset objet_offsets[] = {
   ELEMENT_COMMON_PROPERTIES_OFFSETS,
   { PROP_STDNAME_LINE_WIDTH, PROP_STDTYPE_LINE_WIDTH, offsetof(Objet, line_width) },
-  { "text_colour",PROP_TYPE_COLOUR,offsetof(Objet, text_color) },
+  { "text_font",PROP_TYPE_FONT,offsetof(Objet, text_attrs.font) },
+  { PROP_STDNAME_TEXT_HEIGHT,PROP_STDTYPE_TEXT_HEIGHT,offsetof(Objet, text_attrs.height) },
+  { "text_colour",PROP_TYPE_COLOUR,offsetof(Objet, text_attrs.color) },
   { "line_colour",PROP_TYPE_COLOUR,offsetof(Objet, line_color) },
   { "fill_colour",PROP_TYPE_COLOUR,offsetof(Objet, fill_color) },
   { "name", PROP_TYPE_STRING, offsetof(Objet, exstate) },
@@ -195,6 +199,9 @@ static PropOffset objet_offsets[] = {
 static void
 objet_get_props(Objet * objet, GPtrArray *props)
 {
+  text_get_attributes(objet->text,&objet->text_attrs);
+  /* the aligement is _not_ part of the deal */
+  objet->text_attrs.alignment = ALIGN_CENTER;
   if (objet->attrib) g_free(objet->attrib);
   objet->attrib = text_get_string_copy(objet->attributes);
 
@@ -208,8 +215,13 @@ objet_set_props(Objet *objet, GPtrArray *props)
   object_set_props_from_offsets(&objet->element.object,
                                 objet_offsets,props);
   apply_textstr_properties(props,objet->attributes,"attrib",objet->attrib);
-  /* also update our text object with the new color */
-  text_set_color(objet->text, &objet->text_color);
+  /* also update our text object with the new color (font + height) */
+  /* the aligement is _not_ part of the deal */
+  objet->text_attrs.alignment = ALIGN_CENTER;
+  apply_textattr_properties(props,objet->text,"text",&objet->text_attrs);
+  objet->text_attrs.alignment = ALIGN_LEFT;
+  apply_textattr_properties(props,objet->attributes,"attrib",&objet->text_attrs);
+  objet->text_attrs.alignment = ALIGN_CENTER;
   g_free(objet->st_stereotype);
   objet->st_stereotype = NULL;
   objet_update_data(objet);
@@ -228,6 +240,8 @@ objet_select(Objet *ob, Point *clicked_point,
 {
   text_set_cursor(ob->text, clicked_point, interactive_renderer);
   text_grab_focus(ob->text, &ob->element.object);
+  if (ob->show_attributes) /* second focus: allows to <tab> between them */
+    text_grab_focus(ob->attributes, &ob->element.object);
   element_update_handles(&ob->element);
 }
 
@@ -284,19 +298,19 @@ objet_draw(Objet *ob, DiaRenderer *renderer)
   p2.x = x+w; p2.y = y+h;
 
   if (ob->is_multiple) {
-    p1.x += OBJET_MARGIN_M;
-    p2.y -= OBJET_MARGIN_M;
+    p1.x += OBJET_MARGIN_M(ob);
+    p2.y -= OBJET_MARGIN_M(ob);
     renderer_ops->fill_rect(renderer, 
 			     &p1, &p2,
 			     &ob->fill_color);
     renderer_ops->draw_rect(renderer, 
 			     &p1, &p2,
 			     &ob->line_color);
-    p1.x -= OBJET_MARGIN_M;
-    p1.y += OBJET_MARGIN_M;
-    p2.x -= OBJET_MARGIN_M;
-    p2.y += OBJET_MARGIN_M;
-    y += OBJET_MARGIN_M;
+    p1.x -= OBJET_MARGIN_M(ob);
+    p1.y += OBJET_MARGIN_M(ob);
+    p2.x -= OBJET_MARGIN_M(ob);
+    p2.y += OBJET_MARGIN_M(ob);
+    y += OBJET_MARGIN_M(ob);
   }
     
   renderer_ops->fill_rect(renderer, 
@@ -315,14 +329,14 @@ objet_draw(Objet *ob, DiaRenderer *renderer)
       renderer_ops->draw_string(renderer,
 				 ob->st_stereotype,
 				 &ob->st_pos, ALIGN_CENTER,
-				 &ob->text_color);
+				 &ob->text_attrs.color);
   }
 
   if ((ob->exstate != NULL) && (ob->exstate[0] != '\0')) {
       renderer_ops->draw_string(renderer,
 				 ob->exstate,
 				 &ob->ex_pos, ALIGN_CENTER,
-				 &ob->text_color);
+				 &ob->text_attrs.color);
   }
 
   /* Is there a better way to underline? */
@@ -338,13 +352,13 @@ objet_draw(Objet *ob, DiaRenderer *renderer)
     p2.x = p1.x + text_get_line_width(ob->text, i);
     renderer_ops->draw_line(renderer,
 			     &p1, &p2,
-			     &ob->text_color);
+			     &ob->text_attrs.color);
     p1.y = p2.y += ob->text->height;
   }
 
   if (ob->show_attributes) {
       p1.x = x; p2.x = x + w;
-      p1.y = p2.y = ob->attributes->position.y - ob->attributes->ascent - OBJET_MARGIN_Y;
+      p1.y = p2.y = ob->attributes->position.y - ob->attributes->ascent - OBJET_MARGIN_Y(ob);
       
       renderer_ops->set_linewidth(renderer, bw);
       renderer_ops->draw_line(renderer,
@@ -371,17 +385,17 @@ objet_update_data(Objet *ob)
   }
 
   font = ob->text->font;
-  h = elem->corner.y + OBJET_MARGIN_Y;
+  h = elem->corner.y + OBJET_MARGIN_Y(ob);
 
   if (ob->is_multiple) {
-    h += OBJET_MARGIN_M;
+    h += OBJET_MARGIN_M(ob);
   }
     
   if ((ob->stereotype != NULL) && (ob->stereotype[0] != '\0')) {
-      w = dia_font_string_width(ob->st_stereotype, font, OBJET_FONTHEIGHT);
-      h += OBJET_FONTHEIGHT;
+      w = dia_font_string_width(ob->st_stereotype, font, OBJET_FONTHEIGHT(ob));
+      h += OBJET_FONTHEIGHT(ob);
       ob->st_pos.y = h;
-      h += OBJET_MARGIN_Y/2.0;
+      h += OBJET_MARGIN_Y(ob)/2.0;
   }
 
   w = MAX(w, ob->text->max_width);
@@ -390,16 +404,16 @@ objet_update_data(Objet *ob)
   h += ob->text->height*ob->text->numlines;
 
   if ((ob->exstate != NULL) && (ob->exstate[0] != '\0')) {
-      w = MAX(w, dia_font_string_width(ob->exstate, font, OBJET_FONTHEIGHT));
-      h += OBJET_FONTHEIGHT;
+      w = MAX(w, dia_font_string_width(ob->exstate, font, OBJET_FONTHEIGHT(ob)));
+      h += OBJET_FONTHEIGHT(ob);
       ob->ex_pos.y = h;
   }
   
-  h += OBJET_MARGIN_Y;
+  h += OBJET_MARGIN_Y(ob);
 
   if (ob->show_attributes) {
-      h += OBJET_MARGIN_Y + ob->attributes->ascent;
-      p2.x = elem->corner.x + OBJET_MARGIN_X;
+      h += OBJET_MARGIN_Y(ob) + ob->attributes->ascent;
+      p2.x = elem->corner.x + OBJET_MARGIN_X(ob);
       p2.y = h;      
       text_set_position(ob->attributes, &p2);
 
@@ -409,7 +423,7 @@ objet_update_data(Objet *ob)
       w = MAX(w, ob->attributes->max_width);
   }
 
-  w += 2*OBJET_MARGIN_X; 
+  w += 2*OBJET_MARGIN_X(ob); 
 
   p1.x = elem->corner.x + w/2.0;
   text_set_position(ob->text, &p1);
@@ -418,7 +432,7 @@ objet_update_data(Objet *ob)
 
   
   if (ob->is_multiple) {
-    w += OBJET_MARGIN_M;
+    w += OBJET_MARGIN_M(ob);
   }
     
   elem->width = w;
@@ -455,12 +469,12 @@ objet_create(Point *startpoint,
 
   elem->corner = *startpoint;
 
-  ob->text_color = color_black;
+  ob->text_attrs.color = color_black;
   ob->line_width = attributes_get_default_linewidth();
   ob->line_color = attributes_get_foreground();
   ob->fill_color = attributes_get_background();
 
-  font = dia_font_new_from_style(DIA_FONT_SANS, OBJET_FONTHEIGHT);
+  font = dia_font_new_from_style(DIA_FONT_SANS, 0.8);
   
   ob->show_attributes = FALSE;
   ob->is_active = FALSE;
@@ -476,6 +490,7 @@ objet_create(Point *startpoint,
   ob->attributes = new_text("", font, 0.8, &p, &color_black, ALIGN_LEFT);
   ob->attrib = NULL;
   ob->text = new_text("", font, 0.8, &p, &color_black, ALIGN_CENTER);
+  text_get_attributes(ob->text,&ob->text_attrs);
 
   dia_font_unref(font);
   
diff --git a/samples/std-props-test.dia b/samples/std-props-test.dia
index 94b871e..60d1043 100644
--- a/samples/std-props-test.dia
+++ b/samples/std-props-test.dia
@@ -71,7 +71,7 @@
         <dia:point val="2,2"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="2,0.8975;12.2925,2.28"/>
+        <dia:rectangle val="2,0.9;12.52,2.28"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -104,7 +104,7 @@
         <dia:point val="2,3"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="2,2.475;21.2425,3.84056"/>
+        <dia:rectangle val="2,2.475;21.2675,3.83806"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -177,7 +177,7 @@ when messing with the std-props implementation.#</dia:string>
         <dia:point val="7,26"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="7,25.475;11.8975,26.8406"/>
+        <dia:rectangle val="7,25.475;11.9075,26.8381"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -241,7 +241,7 @@ when messing with the std-props implementation.#</dia:string>
         <dia:point val="7,6"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="7,5.475;11.96,7.54611"/>
+        <dia:rectangle val="7,5.475;11.97,7.54361"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -313,7 +313,7 @@ when messing with the std-props implementation.#</dia:string>
         <dia:point val="7,11"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="7,10.475;11.3075,12.5461"/>
+        <dia:rectangle val="7,10.475;11.3175,12.5436"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -348,7 +348,7 @@ when messing with the std-props implementation.#</dia:string>
         <dia:point val="2,22"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="2,20.8975;4.5425,22.28"/>
+        <dia:rectangle val="2,20.9;4.635,22.28"/>
       </dia:attribute>
       <dia:attribute name="meta">
         <dia:composite type="dict">
@@ -388,7 +388,7 @@ when messing with the std-props implementation.#</dia:string>
         <dia:point val="7,21"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="7,20.475;11.275,22.5461"/>
+        <dia:rectangle val="7,20.475;11.39,22.5436"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -471,7 +471,7 @@ when messing with the std-props implementation.#</dia:string>
         <dia:point val="7,16"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="7,15.475;12.465,16.8406"/>
+        <dia:rectangle val="7,15.475;12.495,16.8381"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -698,7 +698,7 @@ when messing with the std-props implementation.#</dia:string>
         <dia:point val="35,11"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="35,10.475;39.545,12.5461"/>
+        <dia:rectangle val="35,10.475;39.545,12.5436"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -730,10 +730,10 @@ when messing with the std-props implementation.#</dia:string>
     </dia:object>
     <dia:object type="chronogram - line" version="0" id="O14">
       <dia:attribute name="obj_pos">
-        <dia:point val="30,15"/>
+        <dia:point val="30,20"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="29.46,14.95;33.05,18.15"/>
+        <dia:rectangle val="29.46,19.95;33.05,23.15"/>
       </dia:attribute>
       <dia:attribute name="meta">
         <dia:composite type="dict">
@@ -749,7 +749,7 @@ when messing with the std-props implementation.#</dia:string>
         </dia:composite>
       </dia:attribute>
       <dia:attribute name="elem_corner">
-        <dia:point val="30,15"/>
+        <dia:point val="30,20"/>
       </dia:attribute>
       <dia:attribute name="elem_width">
         <dia:real val="3"/>
@@ -761,7 +761,7 @@ when messing with the std-props implementation.#</dia:string>
         <dia:string>#a#</dia:string>
       </dia:attribute>
       <dia:attribute name="events">
-        <dia:string># 1 0 (3.0) 3.0 (4.0) #</dia:string>
+        <dia:string># 1,0 (3,0) 3,0 (4,0) #</dia:string>
       </dia:attribute>
       <dia:attribute name="start_time">
         <dia:real val="0"/>
@@ -802,10 +802,10 @@ when messing with the std-props implementation.#</dia:string>
     </dia:object>
     <dia:object type="Standard - Text" version="1" id="O15">
       <dia:attribute name="obj_pos">
-        <dia:point val="35,16"/>
+        <dia:point val="35,21"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="35,15.475;41.6775,17.5461"/>
+        <dia:rectangle val="35,20.475;41.6775,22.5436"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -821,7 +821,7 @@ when messing with the std-props implementation.#</dia:string>
             <dia:real val="0.70555555966754013"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="35,16"/>
+            <dia:point val="35,21"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -840,7 +840,7 @@ when messing with the std-props implementation.#</dia:string>
         <dia:point val="15,10"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="15,9.34708;19.0447,13.5277"/>
+        <dia:rectangle val="15,9.52685;18.091,13.3793"/>
       </dia:attribute>
       <dia:attribute name="meta">
         <dia:composite type="dict">
@@ -882,7 +882,7 @@ when messing with the std-props implementation.#</dia:string>
         <dia:point val="20,11"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="20,10.475;25.45,11.8406"/>
+        <dia:rectangle val="20,10.475;25.4625,11.8381"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -913,19 +913,19 @@ when messing with the std-props implementation.#</dia:string>
     </dia:object>
     <dia:object type="Database - Table" version="0" id="O18">
       <dia:attribute name="obj_pos">
-        <dia:point val="30,20"/>
+        <dia:point val="30,25"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="30,20;32.16,22.7"/>
+        <dia:rectangle val="30,25;32.2325,27.7"/>
       </dia:attribute>
       <dia:attribute name="meta">
         <dia:composite type="dict"/>
       </dia:attribute>
       <dia:attribute name="elem_corner">
-        <dia:point val="30,20"/>
+        <dia:point val="30,25"/>
       </dia:attribute>
       <dia:attribute name="elem_width">
-        <dia:real val="2.1600000000000001"/>
+        <dia:real val="2.2324999999999999"/>
       </dia:attribute>
       <dia:attribute name="elem_height">
         <dia:real val="2.7000000000000002"/>
@@ -1029,10 +1029,10 @@ when messing with the std-props implementation.#</dia:string>
     </dia:object>
     <dia:object type="Standard - Text" version="1" id="O19">
       <dia:attribute name="obj_pos">
-        <dia:point val="35,21"/>
+        <dia:point val="35,26"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="35,20.475;41.9325,21.8406"/>
+        <dia:rectangle val="35,25.475;41.9325,26.8381"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -1047,7 +1047,7 @@ when messing with the std-props implementation.#</dia:string>
             <dia:real val="0.70555555966754013"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="35,21"/>
+            <dia:point val="35,26"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -1066,7 +1066,7 @@ when messing with the std-props implementation.#</dia:string>
         <dia:point val="15,15.0106"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="15,15.0106;19,18.2131"/>
+        <dia:rectangle val="15,15.0106;19,18.2457"/>
       </dia:attribute>
       <dia:attribute name="meta">
         <dia:composite type="dict">
@@ -1091,10 +1091,10 @@ when messing with the std-props implementation.#</dia:string>
         <dia:real val="4"/>
       </dia:attribute>
       <dia:attribute name="elem_height">
-        <dia:real val="3.2024613210611483"/>
+        <dia:real val="3.2351416468891081"/>
       </dia:attribute>
       <dia:attribute name="line_width">
-        <dia:real val="1.1754943508222875e-38"/>
+        <dia:real val="1.1754943508222875e-038"/>
       </dia:attribute>
       <dia:attribute name="line_colour">
         <dia:color val="#000000"/>
@@ -1114,7 +1114,7 @@ when messing with the std-props implementation.#</dia:string>
         <dia:point val="20,16"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="20,15.475;24.2375,16.8406"/>
+        <dia:rectangle val="20,15.475;24.2375,16.8381"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -1145,10 +1145,10 @@ when messing with the std-props implementation.#</dia:string>
     </dia:object>
     <dia:object type="Misc - Diagram" version="0" id="O22">
       <dia:attribute name="obj_pos">
-        <dia:point val="15.2,20.2"/>
+        <dia:point val="15.2,20.5393"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="15.2,20.2;25,26.8518"/>
+        <dia:rectangle val="15.2,20.5393;25,27.1906"/>
       </dia:attribute>
       <dia:attribute name="meta">
         <dia:composite type="dict">
@@ -1167,16 +1167,16 @@ when messing with the std-props implementation.#</dia:string>
         </dia:composite>
       </dia:attribute>
       <dia:attribute name="elem_corner">
-        <dia:point val="15.2,20.2"/>
+        <dia:point val="15.2,20.5393"/>
       </dia:attribute>
       <dia:attribute name="elem_width">
         <dia:real val="9.8000000000000007"/>
       </dia:attribute>
       <dia:attribute name="elem_height">
-        <dia:real val="6.6518285779883923"/>
+        <dia:real val="6.651216127147956"/>
       </dia:attribute>
       <dia:attribute name="line_width">
-        <dia:real val="1.1754943508222875e-38"/>
+        <dia:real val="1.1754943508222875e-038"/>
       </dia:attribute>
       <dia:attribute name="line_colour">
         <dia:color val="#000000"/>
@@ -1196,7 +1196,7 @@ when messing with the std-props implementation.#</dia:string>
         <dia:point val="20,20.9894"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="20,20.4644;24.2375,21.83"/>
+        <dia:rectangle val="20,20.4644;24.2375,21.8275"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -1225,5 +1225,139 @@ when messing with the std-props implementation.#</dia:string>
         <dia:enum val="3"/>
       </dia:attribute>
     </dia:object>
+    <dia:object type="UML - Object" version="0" id="O24">
+      <dia:attribute name="obj_pos">
+        <dia:point val="30,15"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="29.95,14.95;33.54,18.5162"/>
+      </dia:attribute>
+      <dia:attribute name="meta">
+        <dia:composite type="dict"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="30,15"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="3.4899999999999998"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="3.4662499999999987"/>
+      </dia:attribute>
+      <dia:attribute name="line_width">
+        <dia:real val="0.10000000000000001"/>
+      </dia:attribute>
+      <dia:attribute name="text_colour">
+        <dia:color val="#000000"/>
+      </dia:attribute>
+      <dia:attribute name="text_font">
+        <dia:font family="sans" style="0" name="Helvetica"/>
+      </dia:attribute>
+      <dia:attribute name="text_height">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="line_colour">
+        <dia:color val="#000000"/>
+      </dia:attribute>
+      <dia:attribute name="fill_colour">
+        <dia:color val="#aeffae"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Object#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.5"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="31.745,16.3412"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="1"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+      <dia:attribute name="stereotype">
+        <dia:string>#tab-me#</dia:string>
+      </dia:attribute>
+      <dia:attribute name="exstate">
+        <dia:string>##</dia:string>
+      </dia:attribute>
+      <dia:attribute name="attrib">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Second focus,
+same object ;)#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.5"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="30.3125,17.4662"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+      <dia:attribute name="is_active">
+        <dia:boolean val="false"/>
+      </dia:attribute>
+      <dia:attribute name="show_attribs">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="multiple">
+        <dia:boolean val="false"/>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Text" version="1" id="O25">
+      <dia:attribute name="obj_pos">
+        <dia:point val="35,16"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="35,15.4586;39.5589,18.282"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#UML - Object
+ - multi-line text
+ - double focus
+ - see left#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.70555555966754013"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="35,16"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+      <dia:attribute name="valign">
+        <dia:enum val="3"/>
+      </dia:attribute>
+    </dia:object>
   </dia:layer>
 </dia:diagram>



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