[dia] UML - Object: more text properties and dual focus
- From: Hans Breuer <hans src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [dia] UML - Object: more text properties and dual focus
- Date: Sun, 22 Aug 2010 18:47:52 +0000 (UTC)
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]