void label_linebreak_modes_cb(void *data, Evas_Object *obj, void *event_info) { Evas_Object *scroller, *layout_inner, *layout; Evas_Object *nf = data; scroller = create_scroller(nf); layout = elm_layout_add(scroller); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_layout_file_set(layout, ELM_DEMO_EDJ, "white_bg_layout"); layout_inner = create_labels(nf); elm_object_part_content_set(layout, "elm.swallow.content", layout_inner); elm_object_content_set(scroller, layout); elm_naviframe_item_push(nf, "Linebreakmodes", NULL, NULL, scroller, NULL); }
ControllerPtr Manager::create_controller(const Pathname& filename) { ControllerPtr controller(new Controller(desc)); ReaderObject reader_object = Reader::parse(filename); if (reader_object.get_name() != "pingus-controller") { raise_exception(std::runtime_error, "Controller: invalid config file '" << filename.str() << "'"); } else { ReaderMapping reader = reader_object.get_mapping(); ReaderMapping controls_mapping; if (!reader.read_mapping("controls", controls_mapping)) { log_warn("%1%: 'controls' section missing", filename); } else { for (const auto& key : controls_mapping.get_keys()) { ReaderCollection collection; if (!controls_mapping.read_collection(key.c_str(), collection)) { log_error("%1%: mapping must contain object at %2%", filename, key); } else { if (StringUtil::has_suffix(key, "pointer")) { int id = desc.get_definition(key).id; ControllerPointer* ctrl_pointer = controller->get_pointer(id); for(const auto& object : collection.get_objects()) { auto pointer = create_pointer(object, ctrl_pointer); if (pointer) { ctrl_pointer->add_pointer(std::move(pointer)); } else { log_error("Manager: pointer: Couldn't create pointer %1%", object.get_name()); } } } else if (StringUtil::has_suffix(key, "scroller")) { int id = desc.get_definition(key).id; ControllerScroller* ctrl_scroller = controller->get_scroller(id); for(const auto& object : collection.get_objects()) { auto scroller = create_scroller(object, ctrl_scroller); if (scroller) { ctrl_scroller->add_scroller(std::move(scroller)); } else { log_error("Manager: scroller: Couldn't create scroller %1%", object.get_name()); } } } else if (StringUtil::has_suffix(key, "button")) { int id = desc.get_definition(key).id; ControllerButton* ctrl_button = controller->get_button(id); for(const auto& object : collection.get_objects()) { auto button = create_button(object, ctrl_button); if (button) { ctrl_button->add_button(std::move(button)); } else { log_error("Manager: button: Couldn't create button %1%", object.get_name()); } } } else if (StringUtil::has_suffix(key, "axis")) { int id = desc.get_definition(key).id; ControllerAxis* ctrl_axis = controller->get_axis(id); for(const auto& object : collection.get_objects()) { auto axis = create_axis(object, ctrl_axis); if (axis) { ctrl_axis->add_axis(std::move(axis)); } else { log_error("Manager: axis: Couldn't create axis %1%", object.get_name()); } } } else if (StringUtil::has_suffix(key, "keyboard")) { int id = desc.get_definition(key).id; ControllerKeyboard* ctrl_keyboard = controller->get_keyboard(id); for(const auto& object : collection.get_objects()) { std::unique_ptr<Keyboard> keyboard = create_keyboard(object, ctrl_keyboard); if (keyboard) { ctrl_keyboard->add_keyboard(std::move(keyboard)); } else { log_error("Manager: keyboard: Couldn't create keyboard %1%", object.get_name()); } } } else { raise_exception(std::runtime_error, "Manager: Unkown Element in Controller Config: " << key); } } } } } controllers.push_back(controller); return controller; }
void shelm_about_dialog() { Evas_Object *window, *background, *frame, *box, *icon, *label, *sublabel, *scroller, *textinfo, *buttonbar, *button_close; char buf[PATH_MAX]; window = create_window("shellementary-about", _("About Shellementary"), destroy); background = create_background(window, NULL, EINA_TRUE); elm_win_resize_object_add(window, background); evas_object_show(background); frame = create_frame(window, EINA_FALSE); elm_win_resize_object_add(window, frame); evas_object_show(frame); box = create_box(window, EINA_FALSE); elm_object_content_set(frame, box); evas_object_show(box); snprintf(buf, sizeof(buf), "%s/logo.png", PACKAGE_DATA_DIR); icon = create_icon(window, buf); elm_box_pack_start(box, icon); evas_object_show(icon); snprintf(buf, sizeof(buf), "<b>Shellementary %s</>", PACKAGE_VERSION); label = create_label(window, buf); elm_object_scale_set(label, 1.6); elm_box_pack_end(box, label); evas_object_show(label); sublabel = create_label(window, _("<b>Display dialogs from shell scripts</><br>Written as a zenity replacement, supports the same arguments<br><b>http://svn.enlightenment.org/svn/e/trunk/PROTO/shellementary</><br>Based on great Elementary toolkit by <b>raster</> and C programming language.<br><b>License:</> MIT")); elm_box_pack_end(box, sublabel); evas_object_show(sublabel); scroller = create_scroller(window, EINA_TRUE); elm_box_pack_end(box, scroller); evas_object_show(scroller); textinfo = create_entry(window, EINA_TRUE, NULL, EINA_FALSE, EINA_FALSE, EINA_FALSE); elm_entry_entry_set(textinfo, _("<b>Author:</> quaker ([email protected])<br>" "<br>" "<b>Credits:</><br>" "<b>Carsten Haitzler (raster)</> " "for Enlightenment DR17, great Elementary toolkit and help with developenment<br>" "<b>Christopher Michael (devilhorns)</> " "for help with developenment<br>")); elm_object_content_set(scroller, textinfo); evas_object_show(textinfo); buttonbar = create_box(window, EINA_TRUE); elm_box_pack_end(box, buttonbar); evas_object_show(buttonbar); snprintf(buf, sizeof(buf), "%s/icon-cancel.png", PACKAGE_DATA_DIR); button_close = create_button(window, buf, _("Close")); evas_object_smart_callback_add(button_close, "clicked", destroy, NULL); elm_box_pack_end(buttonbar, button_close); evas_object_show(button_close); evas_object_show(window); }
void shelm_entry_dialog(const char *window_title, const char *window_text, int window_width, int window_height, const char *window_background, const char *entry_text, Eina_Bool entry_hide_text) { Evas_Object *window, *background, *frame, *box, *scroller, *entry, *buttonbar, *button_cancel, *button_ok; char buf[PATH_MAX]; if (window_title) window = create_window("shellementary-entrydialog", window_title, cancel_callback); else window = create_window("shellementary-entrydialog", _("Enter something here"), cancel_callback); background = create_background(window, window_background, EINA_TRUE); elm_win_resize_object_add(window, background); evas_object_show(background); frame = create_frame(window, EINA_TRUE); elm_win_resize_object_add(window, frame); evas_object_show(frame); box = create_box(window, EINA_FALSE); elm_object_content_set(frame, box); evas_object_show(box); if (window_text) { Evas_Object *label; label = create_label(window, window_text); elm_box_pack_end(box, label); evas_object_show(label); } scroller = create_scroller(window, EINA_TRUE); elm_box_pack_end(box, scroller); evas_object_show(scroller); entry = create_entry(window, EINA_TRUE, entry_text, entry_hide_text, EINA_FALSE, EINA_TRUE); elm_object_content_set(scroller, entry); evas_object_show(entry); buttonbar = create_box(window, EINA_TRUE); elm_box_pack_end(box, buttonbar); evas_object_show(buttonbar); snprintf(buf, sizeof(buf), "%s/icon-cancel.png", PACKAGE_DATA_DIR); button_cancel = create_button(window, buf, _("Cancel")); evas_object_smart_callback_add(button_cancel, "clicked", cancel_callback, NULL); elm_box_pack_start(buttonbar, button_cancel); evas_object_show(button_cancel); snprintf(buf, sizeof(buf), "%s/icon-ok.png", PACKAGE_DATA_DIR); button_ok = create_button(window, buf, _("OK")); evas_object_smart_callback_add(button_ok, "clicked", entry_callback, entry); elm_box_pack_end(buttonbar, button_ok); evas_object_show(button_ok); if (!window_width) evas_object_geometry_get(window, NULL, NULL, &window_width, NULL); if (!window_height) evas_object_geometry_get(window, NULL, NULL, NULL, &window_height); evas_object_resize(window, window_width, window_height); evas_object_show(window); }
Controller* Manager::create_controller(const Pathname& filename) { std::unique_ptr<Controller> controller(new Controller(desc)); FileReader reader = FileReader::parse(filename); if (reader.get_name() != "pingus-controller") { throw std::runtime_error("Controller: invalid config file '" + filename.str() + "'"); } else { const std::vector<FileReader>& sections = reader.get_sections(); for (std::vector<FileReader>::const_iterator i = sections.begin(); i != sections.end(); ++i) { if (StringUtil::has_suffix(i->get_name(), "pointer")) { const std::vector<FileReader>& pointers = i->get_sections(); for(std::vector<FileReader>::const_iterator j = pointers.begin(); j != pointers.end(); ++j) { int id = desc.get_definition(i->get_name()).id; ControllerPointer* ctrl_pointer = controller->get_pointer(id); Pointer* pointer = create_pointer(*j, ctrl_pointer); if (pointer) ctrl_pointer->add_pointer(pointer); else std::cout << "Manager: pointer: Couldn't create pointer " << j->get_name() << std::endl; } } else if (StringUtil::has_suffix(i->get_name(), "scroller")) { const std::vector<FileReader>& scrollers = i->get_sections(); for(std::vector<FileReader>::const_iterator j = scrollers.begin(); j != scrollers.end(); ++j) { int id = desc.get_definition(i->get_name()).id; ControllerScroller* ctrl_scroller = controller->get_scroller(id); Scroller* scroller = create_scroller(*j, ctrl_scroller); if (scroller) ctrl_scroller->add_scroller(scroller); else std::cout << "Manager: scroller: Couldn't create scroller " << j->get_name() << std::endl; } } else if (StringUtil::has_suffix(i->get_name(), "button")) { const std::vector<FileReader>& buttons = i->get_sections(); for(std::vector<FileReader>::const_iterator j = buttons.begin(); j != buttons.end(); ++j) { int id = desc.get_definition(i->get_name()).id; ControllerButton* ctrl_button = controller->get_button(id); Button* button = create_button(*j, ctrl_button); if (button) ctrl_button->add_button(button); else std::cout << "Manager: button: Couldn't create button " << j->get_name() << std::endl; } } else if (StringUtil::has_suffix(i->get_name(), "axis")) { const std::vector<FileReader>& axes = i->get_sections(); for(std::vector<FileReader>::const_iterator j = axes.begin(); j != axes.end(); ++j) { int id = desc.get_definition(i->get_name()).id; ControllerAxis* ctrl_axis = controller->get_axis(id); Axis* axis = create_axis(*j, ctrl_axis); if (axis) ctrl_axis->add_axis(axis); else std::cout << "Manager: axis: Couldn't create axis " << j->get_name() << std::endl; } } else if (StringUtil::has_suffix(i->get_name(), "keyboard")) { const std::vector<FileReader>& keyboards = i->get_sections(); for(std::vector<FileReader>::const_iterator j = keyboards.begin(); j != keyboards.end(); ++j) { int id = desc.get_definition(i->get_name()).id; ControllerKeyboard* ctrl_keyboard = controller->get_keyboard(id); Keyboard* keyboard = create_keyboard(*j, ctrl_keyboard); if (keyboard) ctrl_keyboard->add_keyboard(keyboard); else std::cout << "Manager: keyboard: Couldn't create keyboard " << j->get_name() << std::endl; } } else { throw std::runtime_error(std::string("Manager: Unkown Element in Controller Config: ") + i->get_name()); } } } Controller* ctrl = controller.release(); controllers.push_back(ctrl); return ctrl; }