color: 255 255 255 255;
}
}
- swallow { "sw.counter"; scale;
+ swallow { "sw.content"; scale;
desc { "default";
fixed: 1 1;
- min: 620 227;
- max: 620 227;
+ min: 620 204;
+ max: 620 204;
rel1 { relative: 1.0 0.0; to_x: "pd.left"; }
rel2 { relative: 0.0 0.0; to_x: "pd.right"; to_y: "pd.btn.bg"; }
- hid;
}
- desc { "hidden";
- inherit: "default";
+ }
+ spacer { "pd.content.top"; scale;
+ desc { "default";
+ min: 0 4;
+ max: -1 4;
+ fixed: 0 1;
+ align: 0.5 1.0;
+ rel2 { relative: 1.0 0.0; to_y: "sw.content"; }
}
- desc { "visible";
- inherit: "default";
- vis;
+ }
+ spacer { "pd.content.bottom"; scale;
+ desc { "default";
+ min: 0 4;
+ max: -1 4;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "sw.content"; }
}
}
spacer { "pd.left"; scale;
rel2 { relative: 1.0 0.0; to: "btn.bg"; }
}
}
- swallow { "sw.time.selector"; scale;
- source: "Time_selector";
- desc { "default";
- max: 620 -1;
- rel1 { relative: 1.0 0.0; to_x: "pd.left"; }
- rel2 { relative: 0.0 0.0; to_x: "pd.right"; to_y: "pd.btn.bg"; }
- }
- desc { "hidden";
- inherit: "default";
- hid;
- }
- desc { "visible";
- inherit: "default";
- }
- }
swallow { "sw.btn.start"; scale;
desc { "default";
align: 0.5 0.5;
vis;
}
}
- program {
- signal: "menu.startup.show";
- source: "timer";
- action: STATE_SET "default";
- target: "sw.btn.start";
- target: "sw.btn.reset";
- target: "sw.btn.pause";
- target: "sw.btn.resume";
- target: "sw.btn.cancel";
- target: "sw.counter";
- target: "sw.time.selector";
- }
- program {
- signal: "menu.running.show";
- source: "timer";
- script {
- set_state(PART:"sw.btn.start", "hidden", 0.0);
- set_state(PART:"sw.btn.reset", "hidden", 0.0);
- set_state(PART:"sw.btn.resume", "hidden", 0.0);
- set_state(PART:"sw.btn.pause", "visible", 0.0);
- set_state(PART:"sw.btn.cancel", "visible", 0.0);
- set_state(PART:"sw.counter", "visible", 0.0);
- set_state(PART:"sw.time.selector", "hidden", 0.0);
- }
- }
- program {
- signal: "menu.editing.show";
- source: "timer";
- script {
- set_state(PART:"sw.btn.start", "contracted", 0.0);
- set_state(PART:"sw.btn.reset", "visible", 0.0);
- set_state(PART:"sw.btn.pause", "hidden", 0.0);
- set_state(PART:"sw.btn.resume", "hidden", 0.0);
- set_state(PART:"sw.btn.cancel", "hidden", 0.0);
- set_state(PART:"sw.counter", "hidden", 0.0);
- set_state(PART:"sw.time.selector", "visible", 0.0);
- }
- }
- program {
- signal: "menu.paused.show";
- source: "timer";
- script {
- set_state(PART:"sw.btn.start", "hidden", 0.0);
- set_state(PART:"sw.btn.reset", "hidden", 0.0);
- set_state(PART:"sw.btn.pause", "hidden", 0.0);
- set_state(PART:"sw.btn.resume", "visible", 0.0);
- set_state(PART:"sw.btn.cancel", "visible", 0.0);
- set_state(PART:"sw.counter", "visible", 0.0);
- set_state(PART:"sw.time.selector", "hidden", 0.0);
- }
- }
- }
- }
-
- group { "Time_selector";
- parts {
- spacer { "pd.left"; scale;
+ spacer { "pd.selector.left"; scale;
desc {
fixed: 1 0;
- min: 46 0;
- max: 46 -1;
+ min: 18 0; //TODO value from guide does not fit
+ max: 18 -1;
align: 0.0 0.5;
+ rel1 { to_x: "sw.content"; }
}
}
- spacer { "pd.right"; scale;
+ spacer { "pd.selector.right"; scale;
desc {
fixed: 1 0;
- min: 46 0;
- max: 46 -1;
- align: 1.0 0.5;
- }
- }
- swallow { "sw.entry.hour"; scale;
- desc {
- max: -1 204;
- align: 0.5 0.5;
- rel1.relative: 0.0 0.0;
- rel2.relative: 0.3 1.0;
- }
- }
- textblock { scale;
- desc {
- text.style: "ATO010";
- text.text: ":";
- rel1 { relative: 1.0 0.0; to: "sw.entry.hour"; }
- rel2 { relative: 0.0 1.0; to: "sw.entry.minute"; }
- }
- }
- swallow { "sw.entry.minute"; scale;
- desc {
- max: -1 204;
- align: 0.5 0.5;
- rel1.relative: 0.35 0.0;
- rel2.relative: 0.65 1.0;
- }
- }
- textblock { scale;
- desc {
- text.style: "ATO010";
- text.text: ":";
- rel1 { relative: 1.0 0.0; to: "sw.entry.minute"; }
- rel2 { relative: 0.0 1.0; to: "sw.entry.second"; }
- }
- }
- swallow { "sw.entry.second"; scale;
- desc {
- max: -1 204;
+ min: 18 0;
+ max: 18 -1;
align: 1.0 0.5;
- rel1.relative: 0.70 0.0;
- rel2.relative: 1.0 1.0;
+ rel2 { to_x: "sw.content"; }
}
}
group { "btn.hour.inc"; scale;
min: 146 76;
max: 146 76;
align: 0.0 1.0;
- rel1 { relative: 1.0 0.0; to_x: "pd.left"; }
- rel2 { relative: 1.0 0.0; to_y: "sw.entry.hour"; }
+ rel1 { relative: 1.0 0.0; to_x: "pd.selector.left"; }
+ rel2 { relative: 1.0 0.0; to_y: "pd.content.top"; }
}
}
group { "btn.minute.inc"; scale;
max: 146 76;
align: 0.5 1.0;
rel1 { relative: 1.0 0.0; to_x: "btn.hour.inc"; }
- rel2 { relative: 0.0 0.0; to_x: "btn.second.inc"; to_y: "sw.entry.minute"; }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "btn.second.inc";
+ to_y: "pd.content.top";
+ }
}
}
group { "btn.second.inc"; scale;
min: 146 76;
max: 146 76;
align: 1.0 1.0;
- rel2 { relative: 0.0 0.0; to_x: "pd.right"; to_y: "sw.entry.second"; }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "pd.selector.right";
+ to_y: "pd.content.top";
+ }
}
}
group { "btn.hour.dec"; scale;
min: 146 76;
max: 146 76;
align: 0.0 0.0;
- rel1 { relative: 1.0 1.0; to_x: "pd.left"; to_y: "sw.entry.hour"; }
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pd.selector.left";
+ to_y: "pd.content.bottom";
+ }
}
}
group { "btn.minute.dec"; scale;
min: 146 76;
max: 146 76;
align: 0.5 0.0;
- rel1 { relative: 1.0 1.0; to_x: "btn.hour.dec"; to_y: "sw.entry.minute"; }
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "btn.hour.dec";
+ to_y: "pd.content.bottom";
+ }
rel2 { relative: 0.0 1.0; to_x: "btn.second.dec"; }
}
}
min: 146 76;
max: 146 76;
align: 1.0 0.0;
- rel1 { relative: 0.0 1.0; to_y: "sw.entry.second"; }
- rel2 { relative: 0.0 1.0; to_x: "pd.right"; }
+ rel1 { relative: 0.0 1.0; to_y: "pd.content.bottom"; }
+ rel2 { relative: 0.0 1.0; to_x: "pd.selector.right"; }
+ }
+ }
+ spacer { "pd.time.desc"; scale;
+ desc { "default";
+ min: 0 20+76;
+ max: -1 20+76;
+ fixed: 0 1;
+ align: 0.5 1.0;
+ rel2 { relative: 1.0 0.0; to: "pd.content.top"; }
}
}
textblock { "txt.hours"; scale;
max: 146 42;
align: 0.5 1.0;
rel1.to_x: "btn.hour.inc";
- rel2 { relative: 1.0 0.0; to: "btn.hour.inc";}
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "btn.hour.inc";
+ to_y: "pd.time.desc";
+ }
text {
style: "ATO009";
text: "Hours";
}
}
+ desc { "contracted";
+ inherit: "default";
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "btn.hour.inc";
+ to_y: "pd.content.top";
+ }
+ }
}
textblock { "txt.minutes"; scale;
desc { "default";
max: 146 42;
align: 0.5 1.0;
rel1.to_x: "btn.minute.inc";
- rel2 { relative: 1.0 0.0; to: "btn.minute.inc";}
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "btn.minute.inc";
+ to_y: "pd.time.desc";
+ }
text {
style: "ATO009";
text: "Minutes";
}
}
+ desc { "contracted";
+ inherit: "default";
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "btn.minute.inc";
+ to_y: "pd.content.top";
+ }
+ }
}
textblock { "txt.seconds"; scale;
desc { "default";
max: 146 42;
align: 0.5 1.0;
rel1.to_x: "btn.second.inc";
- rel2 { relative: 1.0 0.0; to: "btn.second.inc";}
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "btn.second.inc";
+ to_y: "pd.time.desc";
+ }
text {
style: "ATO009";
text: "Seconds";
}
}
+ desc { "contracted";
+ inherit: "default";
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "btn.second.inc";
+ to_y: "pd.content.top";
+ }
+ }
+ }
+ program {
+ signal: "menu.startup.show";
+ source: "timer";
+ action: STATE_SET "default";
+ target: "sw.btn.start";
+ target: "sw.btn.reset";
+ target: "sw.btn.pause";
+ target: "sw.btn.resume";
+ target: "sw.btn.cancel";
+ target: "txt.hours";
+ target: "txt.minutes";
+ target: "txt.seconds";
+ }
+ program {
+ signal: "menu.running.show";
+ source: "timer";
+ script {
+ set_state(PART:"sw.btn.start", "hidden", 0.0);
+ set_state(PART:"sw.btn.reset", "hidden", 0.0);
+ set_state(PART:"sw.btn.resume", "hidden", 0.0);
+ set_state(PART:"sw.btn.pause", "visible", 0.0);
+ set_state(PART:"sw.btn.cancel", "visible", 0.0);
+ set_state(PART:"txt.hours", "contracted", 0.0);
+ set_state(PART:"txt.minutes", "contracted", 0.0);
+ set_state(PART:"txt.seconds", "contracted", 0.0);
+ }
+ }
+ program {
+ signal: "menu.editing.show";
+ source: "timer";
+ script {
+ set_state(PART:"sw.btn.start", "contracted", 0.0);
+ set_state(PART:"sw.btn.reset", "visible", 0.0);
+ set_state(PART:"sw.btn.pause", "hidden", 0.0);
+ set_state(PART:"sw.btn.resume", "hidden", 0.0);
+ set_state(PART:"sw.btn.cancel", "hidden", 0.0);
+ set_state(PART:"txt.hours", "default", 0.0);
+ set_state(PART:"txt.minutes", "default", 0.0);
+ set_state(PART:"txt.seconds", "default", 0.0);
+ }
+ }
+ program {
+ signal: "menu.paused.show";
+ source: "timer";
+ script {
+ set_state(PART:"sw.btn.start", "hidden", 0.0);
+ set_state(PART:"sw.btn.reset", "hidden", 0.0);
+ set_state(PART:"sw.btn.pause", "hidden", 0.0);
+ set_state(PART:"sw.btn.resume", "visible", 0.0);
+ set_state(PART:"sw.btn.cancel", "visible", 0.0);
+ }
+ }
+ }
+ }
+
+ group { "Time_selector";
+ parts {
+ swallow { "sw.entry.hour"; scale;
+ desc {
+ max: -1 204;
+ align: 0.5 0.5;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.3 1.0;
+ }
+ }
+ textblock { scale;
+ desc {
+ text.style: "ATO010";
+ text.text: ":";
+ rel1 { relative: 1.0 0.0; to: "sw.entry.hour"; }
+ rel2 { relative: 0.0 1.0; to: "sw.entry.minute"; }
+ }
+ }
+ swallow { "sw.entry.minute"; scale;
+ desc {
+ max: -1 204;
+ align: 0.5 0.5;
+ rel1.relative: 0.35 0.0;
+ rel2.relative: 0.65 1.0;
+ }
+ }
+ textblock { scale;
+ desc {
+ text.style: "ATO010";
+ text.text: ":";
+ rel1 { relative: 1.0 0.0; to: "sw.entry.minute"; }
+ rel2 { relative: 0.0 1.0; to: "sw.entry.second"; }
+ }
+ }
+ swallow { "sw.entry.second"; scale;
+ desc {
+ max: -1 204;
+ align: 1.0 0.5;
+ rel1.relative: 0.70 0.0;
+ rel2.relative: 1.0 1.0;
+ }
}
}
}
image.normal: "alarm_picker_arrow_up.png";
color: 250 250 250 60;
}
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
}
image { "btn.bg"; scale;
desc { "default";
desc { "contracted";
inherit: "pressed";
}
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
}
program {
signal: "mouse,clicked,*";
action: STATE_SET "default";
target: "btn.bg";
}
+ program {
+ name: "arrow.btn.hide";
+ signal: "arrow.btn.hide";
+ source: "timer";
+ action: STATE_SET "hidden";
+ target: "btn.bg";
+ target: "btn.arrow.up";
+ }
+ program {
+ name: "arrow.btn.show";
+ signal: "arrow.btn.show";
+ source: "timer";
+ action: STATE_SET "default";
+ target: "btn.bg";
+ target: "btn.arrow.up";
+ }
}
}
image.normal: "alarm_picker_arrow_down.png";
color: 250 250 250 60;
}
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
}
image { "btn.bg"; scale;
desc { "default";
desc { "contracted";
inherit: "pressed";
}
+ desc { "hidden";
+ inherit: "default";
+ hid;
+ }
}
program {
signal: "mouse,clicked,*";
action: STATE_SET "default";
target: "btn.bg";
}
+ program {
+ name: "arrow.btn.hide";
+ signal: "arrow.btn.hide";
+ source: "timer";
+ action: STATE_SET "hidden";
+ target: "btn.bg";
+ target: "btn.arrow.down";
+ }
+ program {
+ name: "arrow.btn.show";
+ signal: "arrow.btn.show";
+ source: "timer";
+ action: STATE_SET "default";
+ target: "btn.bg";
+ target: "btn.arrow.down";
+ }
}
}
}
evas_object_size_hint_align_set(layout_, EVAS_HINT_FILL, EVAS_HINT_FILL);
CreateMenuButtons();
+ counter_ = new CounterView(*this, CounterType::COUNTER_TYPE_TIMER);
+
CreateSelector();
- counter_ = new CounterView(*this, CounterType::COUNTER_TYPE_TIMER);
+ ShowStartupMenu();
}
TimerView::~TimerView()
if (!elm_layout_file_set(selector_, GetEdjeFilePath(), "Time_selector"))
return;
- elm_object_part_content_set(layout_, "sw.time.selector", selector_);
-
CreateEntries(selector_);
- elm_object_signal_callback_add(selector_, "btn,clicked", "btn.hour.inc:", ButtonClickedCb, this);
- elm_object_signal_callback_add(selector_, "btn,clicked", "btn.minute.inc:", ButtonClickedCb, this);
- elm_object_signal_callback_add(selector_, "btn,clicked", "btn.second.inc:", ButtonClickedCb, this);
-
- elm_object_signal_callback_add(selector_, "btn,clicked", "btn.hour.dec:", ButtonClickedCb, this);
- elm_object_signal_callback_add(selector_, "btn,clicked", "btn.minute.dec:", ButtonClickedCb, this);
- elm_object_signal_callback_add(selector_, "btn,clicked", "btn.second.dec:", ButtonClickedCb, this);
+ elm_object_signal_callback_add(layout_, "btn,clicked", "btn.hour.inc:", ButtonClickedCb, this);
+ elm_object_signal_callback_add(layout_, "btn,clicked", "btn.minute.inc:", ButtonClickedCb, this);
+ elm_object_signal_callback_add(layout_, "btn,clicked", "btn.second.inc:", ButtonClickedCb, this);
+ elm_object_signal_callback_add(layout_, "btn,clicked", "btn.hour.dec:", ButtonClickedCb, this);
+ elm_object_signal_callback_add(layout_, "btn,clicked", "btn.minute.dec:", ButtonClickedCb, this);
+ elm_object_signal_callback_add(layout_, "btn,clicked", "btn.second.dec:", ButtonClickedCb, this);
}
void TimerView::CreateEntries(Evas_Object *parent)
if (!layout_)
return;
- counter_->DisplayTime(set_time_.Hour, set_time_.Min, set_time_.Sec);
+ Evas_Object *content = elm_object_part_content_unset(layout_, "sw.content");
+ if (content)
+ evas_object_hide(content);
+ if (selector_)
+ elm_object_part_content_set(layout_, "sw.content", selector_);
elm_object_signal_emit(layout_, "menu.startup.show", "timer");
+ elm_object_signal_emit(layout_, "arrow.btn.show", "timer");
}
void TimerView::ShowRunningMenu(void)
if (!layout_)
return;
+ Evas_Object *content = elm_object_part_content_unset(layout_, "sw.content");
+ if (content)
+ evas_object_hide(content);
+
+ if (counter_->GetEvasObject())
+ elm_object_part_content_set(layout_, "sw.content", counter_->GetEvasObject());
+
+ elm_object_signal_emit(layout_, "arrow.btn.hide", "timer");
elm_object_signal_emit(layout_, "menu.running.show", "timer");
}
TimerView *object = static_cast<TimerView *>(data);
object->EmitSignal(TimerSignal::BUTTON_START_CLICKED);
-
- elm_object_signal_emit(object->layout_, "menu.running.show", "timer");
}
void TimerView::PauseButtonClicked(void *data, Evas_Object *obj, void *event_info)
TimerView *object = static_cast<TimerView *>(data);
object->EmitSignal(TimerSignal::BUTTON_PAUSE_CLICKED);
-
- elm_object_signal_emit(object->layout_, "menu.paused.show", "timer");
}
void TimerView::CancelButtonClicked(void *data, Evas_Object *obj, void *event_info)
TimerView *object = static_cast<TimerView *>(data);
object->EmitSignal(TimerSignal::BUTTON_CANCEL_CLICKED);
-
- elm_object_signal_emit(object->layout_, "menu.startup.show", "timer");
}
void TimerView::ResumeButtonClicked(void *data, Evas_Object *obj, void *event_info)
TimerView *object = static_cast<TimerView *>(data);
object->EmitSignal(TimerSignal::BUTTON_RESUME_CLICKED);
-
- elm_object_signal_emit(object->layout_, "menu.running.show", "timer");
}
void TimerView::ResetButtonClicked(void *data, Evas_Object *obj, void *event_info)