forked from enlightenment/efl
cxx: Fix a few examples
- Calendar: Some examples can't be ported. Not good. - Toolbar: Needs the new API to be completed. - Clock: Crashes at runtime. Ping @felipealmeida
This commit is contained in:
parent
03b22c4d7b
commit
9c9278cd45
|
@ -5,27 +5,20 @@
|
|||
|
||||
#include <Elementary.hh>
|
||||
|
||||
EAPI_MAIN int
|
||||
elm_main (int argc EINA_UNUSED, char **argv EINA_UNUSED)
|
||||
using efl::eo::instantiate;
|
||||
|
||||
static void
|
||||
efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
|
||||
{
|
||||
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN);
|
||||
|
||||
using efl::eo::instantiate;
|
||||
|
||||
efl::ui::Win win(instantiate);
|
||||
//win.title_set("Calendar Creation Example");
|
||||
auto win = efl::ui::Win(instantiate);
|
||||
win.text_set("Calendar Creation Example");
|
||||
win.autohide_set(true);
|
||||
|
||||
::elm::Calendar cal(instantiate, win);
|
||||
//cal.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
cal.eo_cxx::efl::Gfx::size_set({134,134});
|
||||
//win.resize_object_add(cal);
|
||||
cal.visible_set(true);
|
||||
auto cal = efl::ui::Calendar(instantiate, win);
|
||||
win.content_set(cal);
|
||||
|
||||
win.eo_cxx::efl::Gfx::size_set({134,134});
|
||||
win.visible_set(true);
|
||||
|
||||
elm_run();
|
||||
return 0;
|
||||
win.size_set({320,320});
|
||||
}
|
||||
ELM_MAIN()
|
||||
EFL_MAIN()
|
||||
|
|
|
@ -6,38 +6,41 @@
|
|||
#include <Efl.hh>
|
||||
#include <Elementary.hh>
|
||||
|
||||
static char *
|
||||
_format_month_year(struct tm *format_time)
|
||||
using efl::eo::instantiate;
|
||||
|
||||
// FIXME: Function callbacks need a lot of love in C++
|
||||
static void
|
||||
_format_cb(void *data EINA_UNUSED, Eina_Strbuf *str, const Eina_Value value)
|
||||
{
|
||||
char buf[32];
|
||||
if (!strftime(buf, sizeof(buf), "%b %y", format_time)) return NULL;
|
||||
return strdup(buf);
|
||||
if (::eina_value_type_get(&value) != ::EINA_VALUE_TYPE_TM)
|
||||
{
|
||||
// FIXME: val.to_string()
|
||||
char *convert = ::eina_value_to_string(&value);
|
||||
eina_strbuf_append(str, convert);
|
||||
free(convert);
|
||||
}
|
||||
else
|
||||
{
|
||||
struct tm time;
|
||||
eina_value_get(&value, &time);
|
||||
eina_strbuf_append_strftime(str, "%b. %y", &time);
|
||||
}
|
||||
}
|
||||
|
||||
EAPI_MAIN int
|
||||
elm_main (int argc EINA_UNUSED, char **argv EINA_UNUSED)
|
||||
static void
|
||||
efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
|
||||
{
|
||||
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN);
|
||||
|
||||
using efl::eo::instantiate;
|
||||
|
||||
efl::ui::Win win(instantiate);
|
||||
//win.title_set("Calendar Layout Formatting Example");
|
||||
win.text_set("Calendar Layout Formatting Example");
|
||||
win.autohide_set(true);
|
||||
|
||||
::elm::Calendar cal(instantiate, win);
|
||||
//cal.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
//win.resize_object_add(cal);
|
||||
auto cal = efl::ui::Calendar(instantiate, win);
|
||||
win.content_set(cal);
|
||||
|
||||
cal.format_function_set(_format_month_year);
|
||||
// cal.weekdays_names_set(weekdays);
|
||||
|
||||
cal.eo_cxx::efl::Gfx::size_set({125,134});
|
||||
win.eo_cxx::efl::Gfx::size_set({125,134});
|
||||
cal.visible_set(true);
|
||||
win.visible_set(true);
|
||||
|
||||
elm_run();
|
||||
return 0;
|
||||
// FIXME: Function cb doesn't work (C++ variant)
|
||||
cal.format_cb_set(_format_cb);
|
||||
::efl_ui_format_cb_set(cal._eo_ptr(), NULL, _format_cb, NULL);
|
||||
}
|
||||
ELM_MAIN()
|
||||
EFL_MAIN()
|
||||
|
|
|
@ -5,35 +5,27 @@
|
|||
|
||||
#include <Elementary.hh>
|
||||
|
||||
EAPI_MAIN int
|
||||
elm_main (int argc EINA_UNUSED, char **argv EINA_UNUSED)
|
||||
using efl::eo::instantiate;
|
||||
|
||||
static void
|
||||
efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
|
||||
{
|
||||
Efl_Time min, max;
|
||||
Efl_Time min = {}, max = {};
|
||||
|
||||
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN);
|
||||
|
||||
using efl::eo::instantiate;
|
||||
|
||||
efl::ui::Win win(instantiate);
|
||||
//win.title_set("Calendar Min/Max Year Example");
|
||||
win.autohide_set(true);
|
||||
|
||||
elm::Calendar cal(instantiate, win);
|
||||
|
||||
min.tm_year = 2020 - 1900;
|
||||
max.tm_year = 2022 - 1900;
|
||||
|
||||
//cal.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
//win.resize_object_add(cal);
|
||||
auto win = efl::ui::Win(instantiate);
|
||||
win.text_set("Calendar Min/Max Year Example");
|
||||
win.autohide_set(true);
|
||||
|
||||
auto cal = efl::ui::Calendar(instantiate, win);
|
||||
win.content_set(cal);
|
||||
cal.date_min_set(min);
|
||||
cal.date_max_set(max);
|
||||
cal.visible_set(true);
|
||||
|
||||
cal.eo_cxx::efl::Gfx::size_set({140,140});
|
||||
win.eo_cxx::efl::Gfx::size_set({140,140});
|
||||
win.visible_set(true);
|
||||
|
||||
elm_run();
|
||||
return 0;
|
||||
win.size_set({320,320});
|
||||
}
|
||||
ELM_MAIN()
|
||||
EFL_MAIN()
|
||||
|
|
|
@ -3,36 +3,34 @@
|
|||
#include "elementary_config.h"
|
||||
#endif
|
||||
|
||||
#warning This example can't be implemented with EO APIs... FIXME
|
||||
|
||||
#include <Elementary.hh>
|
||||
|
||||
using efl::eo::instantiate;
|
||||
|
||||
#define SECS_DAY 86400
|
||||
|
||||
EAPI_MAIN int
|
||||
elm_main (int argc EINA_UNUSED, char **argv EINA_UNUSED)
|
||||
static void
|
||||
efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
|
||||
{
|
||||
struct tm selected_time;
|
||||
time_t current_time;
|
||||
|
||||
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN);
|
||||
|
||||
using efl::eo::instantiate;
|
||||
|
||||
efl::ui::Win win(instantiate);
|
||||
//win.title_set("Calendar Day Selection Example");
|
||||
win.text_set("Calendar Day Selection Example");
|
||||
win.autohide_set(true);
|
||||
|
||||
::efl::ui::Box bx(instantiate, win);
|
||||
//bx.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
//win.resize_object_add(bx);
|
||||
bx.eo_cxx::efl::Gfx::size_set({700,700});
|
||||
bx.visible_set(true);
|
||||
win.content_set(bx);
|
||||
|
||||
::elm::Calendar cal(instantiate, win);
|
||||
// cal.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
// cal.size_hint_align_set(EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
#if 0
|
||||
|
||||
::efl::ui::Calendar cal(instantiate, win);
|
||||
cal.select_mode_set(ELM_CALENDAR_SELECT_MODE_NONE);
|
||||
cal.eo_cxx::efl::Gfx::size_set({125,135});
|
||||
cal.visible_set(true);
|
||||
//bx.pack_end(cal); no matching function for call to ‘efl::ui::Box::pack_end(elm::Calendar&)’
|
||||
//candidate: bool eo_cxx::efl::pack::Linear::pack_end(Efl_Gfx*) const
|
||||
// inline bool eo_cxx::efl::pack::Linear::pack_end(Efl_Gfx * subobj_) const
|
||||
|
@ -44,13 +42,10 @@ elm_main (int argc EINA_UNUSED, char **argv EINA_UNUSED)
|
|||
localtime_r(¤t_time, &selected_time);
|
||||
// cal2.selected_time_set(&selected_time);
|
||||
cal2.eo_cxx::efl::Gfx::size_set({125,135});
|
||||
cal2.visible_set(true);
|
||||
//bx.pack_end(cal2);
|
||||
|
||||
win.eo_cxx::efl::Gfx::size_set({500,560});
|
||||
win.visible_set(true);
|
||||
#endif
|
||||
|
||||
elm_run();
|
||||
return 0;
|
||||
win.size_set({500,560});
|
||||
}
|
||||
ELM_MAIN()
|
||||
EFL_MAIN()
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
#include "elementary_config.h"
|
||||
#endif
|
||||
|
||||
#warning This example can't be implemented with EO APIs... FIXME
|
||||
|
||||
#include <Elementary.hh>
|
||||
|
||||
EAPI_MAIN int
|
||||
|
@ -13,13 +15,12 @@ elm_main (int argc EINA_UNUSED, char **argv EINA_UNUSED)
|
|||
using efl::eo::instantiate;
|
||||
|
||||
efl::ui::Win win(instantiate);
|
||||
//win.title_set("Calendar Getters Example");
|
||||
win.text_set("Calendar Getters Example");
|
||||
win.autohide_set(true);
|
||||
|
||||
elm::Calendar cal(instantiate, win);
|
||||
//cal.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
//win.resize_object_add(cal);
|
||||
cal.eo_cxx::efl::Gfx::size_set({135,135});
|
||||
efl::ui::Calendar cal(instantiate, win);
|
||||
win.content_set(cal);
|
||||
cal.size_set({135,135});
|
||||
|
||||
// auto print_cal_info = std::bind([] (::elm::Calendar obj)
|
||||
// {
|
||||
|
@ -48,10 +49,8 @@ elm_main (int argc EINA_UNUSED, char **argv EINA_UNUSED)
|
|||
// } , std::placeholders::_1 );
|
||||
|
||||
// cal.callback_changed_add(print_cal_info);
|
||||
cal.visible_set(true);
|
||||
|
||||
win.eo_cxx::efl::Gfx::size_set({135,135});
|
||||
win.visible_set(true);
|
||||
win.size_set({135,135});
|
||||
|
||||
elm_run();
|
||||
return 0;
|
||||
|
|
|
@ -5,58 +5,37 @@
|
|||
|
||||
#include <Elementary.hh>
|
||||
|
||||
EAPI_MAIN int
|
||||
elm_main (int argc EINA_UNUSED, char **argv EINA_UNUSED)
|
||||
using efl::eo::instantiate;
|
||||
|
||||
static void
|
||||
efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
|
||||
{
|
||||
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN);
|
||||
|
||||
using efl::eo::instantiate;
|
||||
|
||||
efl::ui::Win win(instantiate);
|
||||
//win.title_set("Clock Example");
|
||||
win.text_set("Clock Example");
|
||||
win.autohide_set(true);
|
||||
|
||||
efl::ui::Box bx(instantiate, win);
|
||||
//bx.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
//win.resize_object_add(bx);
|
||||
bx.eo_cxx::efl::Gfx::size_set({300,300});
|
||||
bx.visible_set(true);
|
||||
win.content_set(bx);
|
||||
|
||||
::elm::Clock ck(instantiate, win);
|
||||
efl::ui::Clock ck(instantiate, win);
|
||||
bx.pack_end(ck);
|
||||
ck.visible_set(true);
|
||||
|
||||
::elm::Clock ck2(instantiate, win);
|
||||
ck2.show_am_pm_set(true);
|
||||
efl::ui::Clock ck2(instantiate, win);
|
||||
ck2.format_set("%I:%M %p");
|
||||
bx.pack_end(ck2);
|
||||
ck2.visible_set(true);
|
||||
|
||||
::elm::Clock ck3(instantiate, win);
|
||||
ck3.show_seconds_set(true);
|
||||
ck3.time_set(10, 11, 12);
|
||||
efl::ui::Clock ck3(instantiate, win);
|
||||
ck2.format_set("%H:%M:%S");
|
||||
ck3.time_set(Efl_Time({.tm_hour = 12, .tm_min = 42, .tm_sec = 59}));
|
||||
bx.pack_end(ck3);
|
||||
ck3.visible_set(true);
|
||||
|
||||
::elm::Clock ck4(instantiate, win);
|
||||
ck4.edit_set(true);
|
||||
ck4.show_seconds_set(true);
|
||||
ck4.show_am_pm_set(true);
|
||||
ck4.time_set(10, 11, 12);
|
||||
bx.pack_end(ck4);
|
||||
ck4.visible_set(true);
|
||||
|
||||
::elm::Clock ck5(instantiate, win);
|
||||
ck5.show_seconds_set(true);
|
||||
ck5.edit_set(true);
|
||||
efl::ui::Clock ck5(instantiate, win);
|
||||
int digedit = ELM_CLOCK_EDIT_HOUR_UNIT | ELM_CLOCK_EDIT_MIN_UNIT | ELM_CLOCK_EDIT_SEC_UNIT;
|
||||
ck5.edit_mode_set(static_cast<Elm_Clock_Edit_Mode>(digedit));
|
||||
bx.pack_end(ck5);
|
||||
ck5.visible_set(true);
|
||||
|
||||
win.eo_cxx::efl::Gfx::size_set({500,500});
|
||||
win.visible_set(true);
|
||||
|
||||
elm_run();
|
||||
return 0;
|
||||
win.size_set({500,500});
|
||||
}
|
||||
ELM_MAIN()
|
||||
EFL_MAIN()
|
||||
|
|
|
@ -5,8 +5,9 @@
|
|||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#warning This example requires yet unfinished EO APIs
|
||||
|
||||
#include <Elementary.hh>
|
||||
#include <Evas.hh>
|
||||
|
||||
EAPI int
|
||||
elm_main(int argc, char* argv[])
|
||||
|
@ -25,6 +26,8 @@ elm_main(int argc, char* argv[])
|
|||
});
|
||||
|
||||
win_1.autodel_set(true);
|
||||
|
||||
#if 0
|
||||
win_1.eo_cxx::efl::Gfx::size_set({320, 300});
|
||||
|
||||
efl::ui::Box box_1(instantiate, win_1);
|
||||
|
@ -129,6 +132,8 @@ elm_main(int argc, char* argv[])
|
|||
|
||||
efl::eolian::event_add(efl::ui::Selectable::selected_event, item_5, _item_5_selected_cb);
|
||||
|
||||
#endif
|
||||
|
||||
elm_run();
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
import efl_types;
|
||||
|
||||
type Efl_Ui_Calendar_Format_Cb: __undefined_type; [[Elementary calendar format callback type]]
|
||||
|
||||
enum Efl.Ui.Calendar.Weekday
|
||||
{
|
||||
[[A weekday
|
||||
|
|
Loading…
Reference in New Issue