}
BodyView::BodyView(Evas_Object *parent, int maxCharCount)
- : m_pRootBox(nullptr)
- , m_pContentBox(nullptr)
+ : m_pGrid(nullptr)
, m_pEntry(nullptr)
{
- // Root box:
- m_pRootBox = elm_box_add(parent);
- elm_box_horizontal_set(m_pRootBox, false);
- setEo(m_pRootBox);
+ // Root grid :
+ m_pGrid = elm_grid_add(parent);
+ setEo(m_pGrid);
// Scroller:
Evas_Object *scroller = elm_scroller_add(getEo());
- expand(scroller);
evas_object_show(scroller);
- elm_box_pack_end(m_pRootBox, scroller);
- // Content box:
- Evas_Object *contentBox = createContentBox(scroller);
- elm_object_content_set(scroller, contentBox);
-
- // Create entry:
- elm_box_pack_end(contentBox, createEntry(contentBox, maxCharCount));
+ elm_grid_pack(m_pGrid, scroller, 0, 0, 100, 100);
+ elm_object_content_set(scroller, createEntry(scroller, maxCharCount));
}
BodyView::~BodyView()
{
}
-Evas_Object *BodyView::createContentBox(Evas_Object *parent)
-{
- m_pContentBox = elm_box_add(parent);
- elm_box_horizontal_set(m_pContentBox, false);
- evas_object_show(m_pContentBox);
- evas_object_size_hint_weight_set(m_pContentBox, EVAS_HINT_EXPAND, 0);
- evas_object_size_hint_align_set(m_pContentBox, EVAS_HINT_FILL, 0);
-
- evas_object_event_callback_add(m_pContentBox, EVAS_CALLBACK_RESIZE, EVAS_EVENT_CALLBACK(BodyView, onContentBoxGeometryChanged), this);
- evas_object_event_callback_add(m_pContentBox, EVAS_CALLBACK_CHANGED_SIZE_HINTS, EVAS_EVENT_CALLBACK(BodyView, onContentBoxGeometryChanged), this);
-
- return m_pContentBox;
-}
-
bool BodyView::isEmpty() const
{
const char *text = elm_entry_entry_get(m_pEntry);
elm_entry_autocapital_type_set(m_pEntry, ELM_AUTOCAPITAL_TYPE_SENTENCE);
elm_entry_input_panel_return_key_type_set(m_pEntry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT);
elm_object_focus_allow_set(m_pEntry, true);
- // elm_entry_input_panel_enabled_set(m_pEntry, false); // Keypad is manually controlled
eext_entry_selection_back_event_allow_set(m_pEntry, true);
evas_object_size_hint_weight_set(m_pEntry, EVAS_HINT_EXPAND, 0);
evas_object_size_hint_align_set(m_pEntry, EVAS_HINT_FILL, 0);
- // Preset max width to avoid blink
- const int maxWidth = ELM_SCALE_SIZE(720);
- evas_object_resize(m_pEntry, maxWidth, 0);
-
View::setText(m_pEntry, msgt("IDS_MSG_TMBODY_TEXT_MESSAGES"), "elm.guide");
Elm_Entry_Filter_Limit_Size limitFilter = {};
((BodyView*)data)->onMaxLengthReached();
}, this);
+ evas_object_event_callback_add(m_pEntry, EVAS_CALLBACK_RESIZE, EVAS_EVENT_CALLBACK(BodyView, onContentBoxGeometryChanged), this);
+ evas_object_event_callback_add(m_pEntry, EVAS_CALLBACK_CHANGED_SIZE_HINTS, EVAS_EVENT_CALLBACK(BodyView, onContentBoxGeometryChanged), this);
return m_pEntry;
}
int w = 0;
int h = 0;
- evas_object_geometry_get(m_pContentBox, nullptr, nullptr, &w, &h);
+ evas_object_geometry_get(m_pEntry, nullptr, nullptr, &w, &h);
if(h > maxBodyHeight)
h = maxBodyHeight;
- evas_object_size_hint_min_set(m_pRootBox, w, h);
- evas_object_size_hint_max_set(m_pRootBox, w, h);
+ evas_object_size_hint_min_set(m_pGrid, 0, h);
+ evas_object_size_hint_max_set(m_pGrid, -1, h);
}