statusbar: improve layout.

improve structure to be customizable.
also, this removes the annoying padding at the end of the group name.
This commit is contained in:
ChunEon Park 2014-08-08 17:32:46 +09:00
parent 072a088a73
commit 5944f3d4c1
2 changed files with 540 additions and 76 deletions

View File

@ -8,12 +8,6 @@ images {
image: "bub_over_bot.png" COMP;
}
styles {
style { name: "entry_statusbar_style";
base: "font="FN" font_size=11 text_class=entry color=#ffffff style=shadow,bottom shadow_color=#00000080 glow_color=#3399ff18 valign=1 ellipsis=1.0 wrap=none";
}
}
group { name: "about_layout";
parts {
part { name: "clipper";
@ -1414,63 +1408,117 @@ group { name: "statusbar_layout";
color: 0 0 0 0;
}
}
part { name: "elm.text.view_size";
type: TEXTBLOCK;
part { name: "size_spacer";
type: SPACER;
scale: 1;
clip_to: "base_clip";
description {
rel1.to: "base_clip";
rel2.to: "base_clip";
rel2.relative: 0.0 1.0;
align: 0 0.5;
min: 120 14;
description { state: "default" 0.0;
rel1.relative: 0 0;
rel2.relative: 0 1;
min: 250 0;
fixed: 1 0;
rel1.offset: 0 -2;
rel2.offset: -1 -3;
text.style: "entry_statusbar_style";
}
}
part { name: "elm.text.cur_pos";
type: TEXTBLOCK;
scale: 1;
clip_to: "base_clip";
description {
rel1.to: "elm.text.view_size";
rel1.relative: 1 0.0;
rel2.to: "elm.text.view_size";
rel2.relative: 1 1.0;
min: 200 14;
fixed: 1 0;
align: 0 0.5;
text.style: "entry_statusbar_style";
}
}
part { name: "elm.text.group_name";
type: TEXTBLOCK;
scale: 1;
clip_to: "base_clip";
description {
rel1.to: "elm.text.cur_pos";
rel1.relative: 1 0.0;
rel2.to: "elm.text.line";
rel2.relative: 0 1.0;
min: 180 14;
align: 1 0.5;
fixed: 1 0;
text.style: "entry_statusbar_style";
}
}
part { name: "elm.text.group_name_bracket";
part { name: "elm.text.size[";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: SHADOW BOTTOM;
description { state: "default" 0.0;
rel2.relative: 0.0 1.0;
align: 0 0.5;
rel1.offset: 0 -2;
rel2.offset: -1 -3;
fixed: 1 0;
color: 255 255 255 255;
color3: 0 0 0 128;
text {
text: "Size [";
size: 11;
align: 0 0;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.size_w";
type: TEXT;
clip_to: "base_clip";
description {
rel1.to_x: "elm.text.group_name";
rel1.relative: 1 0.0;
rel2.to_x: "elm.text.group_name";
rel2.relative: 1 1.0;
min: 6 14;
scale: 1;
effect: GLOW;
description { state: "default" 0.0;
rel1.to_x: "elm.text.size[";
rel2.to_x: "elm.text.size[";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 1.0;
align: 0 0.5;
fixed: 1 0;
color: 51 153 255 255;
color2: 51 153 255 24;
color3: 51 153 255 18;
text {
size: 11;
align: 0 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.size_x";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: SHADOW BOTTOM;
description { state: "default" 0.0;
rel1.to_x: "elm.text.size_w";
rel2.to_x: "elm.text.size_w";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 1.0;
align: 0 0.5;
fixed: 1 0;
color: 255 255 255 255;
color3: 0 0 0 128;
text {
text: "x";
size: 11;
align: 0 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.size_h";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: GLOW;
description { state: "default" 0.0;
rel1.to_x: "elm.text.size_x";
rel2.to_x: "elm.text.size_x";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 1.0;
align: 0 0.5;
fixed: 1 0;
color: 51 153 255 255;
color2: 51 153 255 24;
color3: 51 153 255 18;
text {
size: 11;
align: 0 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.size]";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: SHADOW BOTTOM;
description { state: "default" 0.0;
rel1.to_x: "elm.text.size_h";
rel2.to_x: "elm.text.size_h";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 1.0;
align: 0 0.5;
fixed: 1 0;
color: 255 255 255 255;
@ -1479,21 +1527,432 @@ group { name: "statusbar_layout";
text: "]";
size: 11;
align: 0 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.line";
type: TEXTBLOCK;
part { name: "elm.text.cursor_px[";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: SHADOW BOTTOM;
description { state: "default" 0.0;
rel1.to: "size_spacer";
rel1.relative: 1 0.0;
rel2.to: "size_spacer";
rel2.relative: 1 1.0;
align: 0 0.5;
fixed: 1 0;
color: 255 255 255 255;
color3: 0 0 0 128;
text {
text: "Cursor [";
size: 11;
align: 0 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.cursor_pxx";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: GLOW;
description { state: "default" 0.0;
rel1.to_x: "elm.text.cursor_px[";
rel2.to_x: "elm.text.cursor_px[";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 1.0;
align: 0 0.5;
fixed: 1 0;
color: 51 153 255 255;
color2: 51 153 255 24;
color3: 51 153 255 18;
text {
size: 11;
align: 0 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.cursor_px.";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: SHADOW BOTTOM;
description { state: "default" 0.0;
rel1.to_x: "elm.text.cursor_pxx";
rel2.to_x: "elm.text.cursor_pxx";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 1.0;
align: 0 0.5;
fixed: 1 0;
color: 255 255 255 255;
color3: 0 0 0 128;
text {
text: ",";
size: 11;
align: 0 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.cursor_pxy";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: GLOW;
description { state: "default" 0.0;
rel1.to_x: "elm.text.cursor_px.";
rel2.to_x: "elm.text.cursor_px.";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 1.0;
align: 0 0.5;
fixed: 1 0;
color: 51 153 255 255;
color2: 51 153 255 24;
color3: 51 153 255 18;
text {
size: 11;
align: 0 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.cursor_px][";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: SHADOW BOTTOM;
description { state: "default" 0.0;
rel1.to_x: "elm.text.cursor_pxy";
rel2.to_x: "elm.text.cursor_pxy";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 1.0;
align: 0 0.5;
fixed: 1 0;
color: 255 255 255 255;
color3: 0 0 0 128;
text {
text: "][";
size: 11;
align: 0 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.cursor_relx";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: GLOW;
description { state: "default" 0.0;
rel1.to_x: "elm.text.cursor_px][";
rel2.to_x: "elm.text.cursor_px][";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 1.0;
align: 0 0.5;
fixed: 1 0;
color: 51 153 255 255;
color2: 51 153 255 24;
color3: 51 153 255 18;
text {
size: 11;
align: 0 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.cursor_rel.";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: SHADOW BOTTOM;
description { state: "default" 0.0;
rel1.to_x: "elm.text.cursor_relx";
rel2.to_x: "elm.text.cursor_relx";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 1.0;
align: 0 0.5;
fixed: 1 0;
color: 255 255 255 255;
color3: 0 0 0 128;
text {
text: ",";
size: 11;
align: 0 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.cursor_rely";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: GLOW;
description { state: "default" 0.0;
rel1.to_x: "elm.text.cursor_rel.";
rel2.to_x: "elm.text.cursor_rel.";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 1.0;
align: 0 0.5;
fixed: 1 0;
color: 51 153 255 255;
color2: 51 153 255 24;
color3: 51 153 255 18;
text {
size: 11;
align: 0 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.cursor_rel]";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: SHADOW BOTTOM;
description { state: "default" 0.0;
rel1.to_x: "elm.text.cursor_rely";
rel2.to_x: "elm.text.cursor_rely";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 1.0;
align: 0 0.5;
fixed: 1 0;
color: 255 255 255 255;
color3: 0 0 0 128;
text {
text: "]";
size: 11;
align: 0 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "cursor_spacer";
type: SPACER;
scale: 1;
description {
rel1.to: "size_spacer";
rel1.relative: 1.0 0.0;
rel2.to: "size_spacer";
rel2.relative: 1.0 1.0;
min: 200 0;
fixed: 1 0;
align: 0 0.5;
}
}
part { name: "group_spacer";
type: SPACER;
scale: 1;
description {
rel1.to: "line_spacer";
rel1.relative: 0.0 0.0;
rel2.to: "line_spacer";
rel2.relative: 0.0 1.0;
min: 200 0;
fixed: 1 0;
align: 1 0.5;
}
}
part { name: "elm.text.group[";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: SHADOW BOTTOM;
description { state: "default" 0.0;
rel1.to_x: "cursor_spacer";
rel2.to_x: "elm.text.group_name";
rel1.relative: 1.0 0.0;
rel2.relative: 0.0 1.0;
align: 1 0.5;
color: 255 255 255 255;
color3: 0 0 0 128;
text {
text: "Group [";
size: 11;
align: 1 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.group_name";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: GLOW;
description { state: "default" 0.0;
rel1.to_x: "group_spacer";
rel2.to_x: "elm.text.group]";
rel1.relative: 0.0 0.0;
rel2.relative: 0.0 1.0;
align: 1 0.5;
fixed: 1 0;
color: 51 153 255 255;
color2: 51 153 255 24;
color3: 51 153 255 18;
text {
size: 11;
align: 1 0.5;
min: 0 0;
max: 1 0;
}
}
}
part { name: "elm.text.group]";
type: TEXT;
scale: 1;
effect: SHADOW BOTTOM;
clip_to: "base_clip";
description {
rel1.to_x: "line_spacer";
rel1.relative: 0 0.0;
rel2.to_x: "line_spacer";
rel2.relative: 0 1.0;
align: 1 0.5;
fixed: 1 0;
color: 255 255 255 255;
color3: 0 0 0 128;
text {
text: "]";
size: 11;
align: 1 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "line_spacer";
type: SPACER;
scale: 1;
description {
rel1.relative: 1 0;
align: 1 0.5;
min: 100 0;
fixed: 1 0;
}
}
part { name: "elm.text.line_[";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: SHADOW BOTTOM;
description { state: "default" 0.0;
rel1.to: "elm.text.line_cur";
rel2.to: "elm.text.line_cur";
rel2.relative: 0 1.0;
align: 1 0.5;
fixed: 1 0;
color: 255 255 255 255;
color3: 0 0 0 128;
text {
text: "Line [";
size: 11;
align: 1 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.line_cur";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: GLOW;
description { state: "default" 0.0;
rel1.to: "elm.text.line_c";
rel2.to: "elm.text.line_c";
rel1.relative: 0.0 0.0;
rel2.relative: 0.0 1.0;
align: 1 0.5;
fixed: 1 0;
color: 51 153 255 255;
color2: 51 153 255 24;
color3: 51 153 255 18;
text {
size: 11;
align: 1 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.line_c";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: SHADOW BOTTOM;
description { state: "default" 0.0;
rel1.to: "elm.text.line_max";
rel2.to: "elm.text.line_max";
rel2.relative: 0 1.0;
align: 1 0.5;
fixed: 1 0;
color: 255 255 255 255;
color3: 0 0 0 128;
text {
text: ":";
size: 11;
align: 1 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.line_max";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: GLOW;
description { state: "default" 0.0;
rel1.to_x: "elm.text.line]";
rel2.to_x: "elm.text.line]";
rel1.relative: 0.0 0.0;
rel2.relative: 0.0 1.0;
align: 1 0.5;
fixed: 1 0;
color: 51 153 255 255;
color2: 51 153 255 24;
color3: 51 153 255 18;
text {
size: 11;
align: 1 0.5;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.line]";
type: TEXT;
clip_to: "base_clip";
scale: 1;
effect: SHADOW BOTTOM;
description { state: "default" 0.0;
rel1.relative: 1 0;
rel1.offset: 0 -2;
rel2.offset: -1 -3;
align: 1 0.5;
min: 100 14;
fixed: 1 0;
text.style: "entry_statusbar_style";
color: 255 255 255 255;
color3: 0 0 0 128;
text {
text: "]";
size: 11;
align: 1 0;
min: 1 0;
ellipsis: -1;
}
}
}
part { name: "elm.text.info_msg";

View File

@ -16,10 +16,12 @@ stats_line_num_update(int cur_line, int max_line)
{
stats_data *sd = g_sd;
char buf[128];
snprintf(buf, sizeof(buf),
"<align=right>Line [<style=glow><color=#3399ff>%d</color></style>:<style=glow><color=#3399ff>%d</color></style>]</align>", cur_line, max_line);
elm_object_part_text_set(sd->layout, "elm.text.line", buf);
char buf[20];
snprintf(buf, sizeof(buf), "%d", cur_line);
elm_object_part_text_set(sd->layout, "elm.text.line_cur", buf);
snprintf(buf, sizeof(buf), "%d", max_line);
elm_object_part_text_set(sd->layout, "elm.text.line_max", buf);
sd->cur_line = cur_line;
sd->max_line = max_line;
}
@ -28,10 +30,7 @@ void
stats_edc_group_update(Eina_Stringshare *group_name)
{
stats_data *sd = g_sd;
char buf[1028];
snprintf(buf, sizeof(buf), "<align=right>Group [<style=glow><color=#3399ff>%s</color></style></align>", group_name);
elm_object_part_text_set(sd->layout, "elm.text.group_name", buf);
elm_object_part_text_set(sd->layout, "elm.text.group_name", group_name);
sd->group_name = eina_stringshare_add(group_name);
}
@ -89,20 +88,26 @@ stats_view_size_update(void)
Evas_Coord w, h;
config_view_size_get(&w, &h);
char buf[128];
snprintf(buf, sizeof(buf),
"Size [<style=glow><color=#3399ff>%d</color></style>x<style=glow><color=#3399ff>%d</color></style>]", w, h);
elm_object_part_text_set(sd->layout, "elm.text.view_size", buf);
char buf[10];
snprintf(buf, sizeof(buf), "%d", w);
elm_object_part_text_set(sd->layout, "elm.text.size_w", buf);
snprintf(buf, sizeof(buf), "%d", h);
elm_object_part_text_set(sd->layout, "elm.text.size_h", buf);
}
void
stats_cursor_pos_update(Evas_Coord x, Evas_Coord y, float rel_x, float rel_y)
{
stats_data *sd = g_sd;
char buf[250];
snprintf(buf, sizeof(buf),
"Cursor [<style=glow><color=#3399ff>%d</color></style>,<style=glow><color=#3399ff>%d</color></style>] [<style=glow><color=#3399ff>%0.2f</color></style>,<style=glow><color=#3399ff>%0.2f</color></style>]", x, y, rel_x, rel_y);
elm_object_part_text_set(sd->layout, "elm.text.cur_pos", buf);
char buf[10];
snprintf(buf, sizeof(buf), "%d", x);
elm_object_part_text_set(sd->layout, "elm.text.cursor_pxx", buf);
snprintf(buf, sizeof(buf), "%d", y);
elm_object_part_text_set(sd->layout, "elm.text.cursor_pxy", buf);
snprintf(buf, sizeof(buf), "%0.2f", rel_x);
elm_object_part_text_set(sd->layout, "elm.text.cursor_relx", buf);
snprintf(buf, sizeof(buf), "%0.2f", rel_y);
elm_object_part_text_set(sd->layout, "elm.text.cursor_rely", buf);
}