Hi All-
It appears that a standard Elementary entry widget has a minimum
height that it refuses to size beneath, regardless of the font size
being used, as demonstrated by the entry.c and entry.edc files below.
Is there any way around this? How can I get a "short" Elm entry that
actually obeys the size of the swallow - do I need to fully grok and
recreate the default Elm theme for an entry in order to reduce the min
height of it's visual components, or is there a (much) easier way? :)
Thanks!
-James
/****************************************************************************/
/*Begin entry.c */
#include <stdio.h>
#include <Elementary.h>
#include <Edje.h>
//UI signal callbacks
static Evas_Object *ly;
void main_quit_cb(void *data, Evas_Object *obj,
const char *emission, const char *source)
{
int x, y, h, w;
edje_object_part_geometry_get(elm_layout_edje_get(ly),
"input_bg", &x, &y, &w, &h);
printf("after ibg geo: %i/%i, %i/%i\n", x, y, w, h);
edje_object_part_geometry_get(elm_layout_edje_get(ly),
"input_swallow", &x, &y, &w, &h);
printf("after is geo: %i/%i, %i/%i\n", x, y, w, h);
elm_exit();
}
static Evas_Object* load_edj(Evas_Object *parent, const char *file,
const char *group)
{
Evas_Object *eo;
int r;
eo = elm_layout_add(parent);
if (eo) {
r = elm_layout_file_set(eo, file, group);
if (!r) {
evas_object_del(eo);
return NULL;
}
evas_object_size_hint_weight_set(eo,
EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
}
return eo;
}
int elm_main(int argc, char *argv[])
{
Evas_Object *win = NULL;
Evas_Object *tb;
int nw, nh;
/* create window */
win = elm_win_add(NULL, "entry", ELM_WIN_BASIC);
if (win) {
elm_win_title_set(win, "entry");
ecore_x_window_size_get(ecore_x_window_root_first_get(),
&nw, &nh);
evas_object_resize(win, nw, nh);
} else {
printf("couldn't create win!\n");
return -1;
}
/* load edje */
ly = load_edj(win, "entry.edj", "ui");
if (ly == NULL) {
printf("Couldn't create layout!\n");
return -1;
}
elm_win_resize_object_add(win, ly);
edje_object_signal_callback_add(elm_layout_edje_get(ly),
"DONE_EXIT", "*", main_quit_cb, NULL);
tb = elm_entry_add(ly);
if (tb) {
elm_entry_entry_set(tb, "<font size='4' color='white'>");
elm_entry_single_line_set(tb, EINA_TRUE);
elm_layout_content_set(ly, "input_swallow", tb);
} else {
printf("Got null TB!\n");
return -1;
}
evas_object_show(ly);
evas_object_show(win);
elm_run();
elm_shutdown();
return 0;
}
ELM_MAIN();
/* End entry.c */
/****************************************************************************/
/****************************************************************************/
/* Begin entry.edc */
collections {
group {
name: "ui";
parts {
part {
name: "background";
type: RECT;
description {
state: "default" 0.0;
color: 0 0 0 100;
}
program {
name: "background_clicked";
source: "background";
signal: "mouse,clicked,*";
action: SIGNAL_EMIT "DONE_EXIT" "UI";
}
}
part {
name: "input_bg";
type: RECT;
description {
state: "default" 0.0;
rel1 { relative: 0.37773 0.04375; }
rel2 { relative: 0.62227 0.06; }
color: 100 100 100 255;
fixed: 1 1;
}
}
part {
name: "temp_tb_bg";
type: RECT;
description {
state: "default" 0.0;
rel1 { to: "input_swallow"; }
rel2 { to: "input_swallow"; }
color: 255 0 0 255;
visible: 1;
}
}
part {
name: "input_swallow";
type: SWALLOW;
description {
state: "default" 0.0;
rel1 { relative: 0.12 0.15;
to: "input_bg"; }
rel2 { relative: 0.96 0.9; to:
"input_bg"; }
fixed: 1 1;
}
}
}
} //group
}
/* End entry.edc */
/****************************************************************************/
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2dcopy2
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel