void NaviframeWrapper::addButtonToBottomBar(std::string text, Evas_Smart_Cb callback, void *data)
{
if (!m_bottom_box)
- createBottomBox();
+ createBottomBar();
Evas_Object* button = elm_button_add(m_bottom_box);
elm_object_style_set(button, "bottom");
evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
void NaviframeWrapper::setVisibilityBottomBar(bool visible)
{
if (!m_bottom_box)
- createBottomBox();
+ createBottomBar();
if (visible) {
evas_object_show(m_bottom_box);
elm_object_signal_emit(m_layout, "elm,state,toolbar,show", "elm");
}
}
-void NaviframeWrapper::createBottomBox()
+void NaviframeWrapper::createBottomBar(Evas_Object* layout, std::string swallow_name)
{
m_bottom_box = elm_box_add(m_layout);
elm_box_horizontal_set(m_bottom_box, EINA_TRUE);
elm_box_padding_set(m_bottom_box, 32, 0);
evas_object_size_hint_weight_set(m_bottom_box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(m_bottom_box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_part_content_set(m_layout, "toolbar", m_bottom_box);
+
+ if (layout) {
+ elm_object_part_content_set(m_layout, "toolbar", layout);
+ elm_object_part_content_set(layout, swallow_name.c_str(), m_bottom_box);
+ } else {
+ elm_object_part_content_set(m_layout, "toolbar", m_bottom_box);
+ }
}
void addPrevButton(Evas_Smart_Cb callback, void* data);
void setVisibilityPrevButton(bool visible);
+ void createBottomBar(Evas_Object* layout = nullptr,
+ std::string swallow_name = "elm.swallow.content");
void addButtonToBottomBar(std::string text, Evas_Smart_Cb callback, void* data);
void setEnableButtonInBottomBar(std::string text, bool enabled);
void setVisibilityBottomBar(bool visible);
protected:
- void createBottomBox();
-
Evas_Object *m_parent;
Evas_Object *m_layout;
Evas_Object *m_bottom_box;
void TabUI::createBottomContent()
{
+ Evas_Object *layout = elm_layout_add(m_naviframe->getLayout());
+ elm_layout_file_set(layout, m_edjFilePath.c_str(), "bottom_bar_with_margins");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(layout);
+
+ m_naviframe->createBottomBar(layout);
m_naviframe->setVisibilityBottomBar(true);
//TODO: Missing translation
m_naviframe->addButtonToBottomBar("Enable Secret", _enable_secret_clicked, this);
#define ON_OTHER_DEVICE 0
collections { base_scale: 2.6;
+
+ group { name: "bottom_bar_with_margins";
+ parts {
+ rect { "top_left_content_spacer"; scale;
+ description { "default";
+ min: 32 0;
+ max: 32 0;
+ align: 0 0;
+ fixed: 1 1;
+ visible: 0;
+ }
+ }
+ rect { "bottom_right_content_spacer"; scale;
+ description { "default";
+ min: 32 0;
+ max: 32 0;
+ align: 1 1;
+ fixed: 1 1;
+ visible: 0;
+ }
+ }
+ swallow { "elm.swallow.content"; scale;
+ description { "default";
+ rel1 {
+ relative: 1 1;
+ to: "top_left_content_spacer";
+ }
+ rel2 {
+ relative: 0 0;
+ to: "bottom_right_content_spacer";
+ }
+ }
+ }
+ }
+ }
+
group { name: "naviframe_content";
parts {
rect { "content_top_left_spacer"; scale;