EdgeLine v0.3 feedback and feature requests

I’m testing EdLine v0.3 under Win10. The application installed correctly under Win10 Pro.

  • Not all the widgets supported by LVGL seems to be available in the palette (I suppose full widgets is reserved for paid pro version, am I right?).

  • I don’t know which LVGL version does this EdgeLine executable generate code for. I saw on some other posts that targeted version is v7 and that latest version would support v8. I think that for a professional version, user must be able to select thet LVGL version he wants to target. While this seems a lot of work, in professionnal environment when I work with customers, if I deliver a code for customerA using LVGL7 and then get update of EdgeLine, even if for new customers I’ll generate code for v8 I still need to be able to reload project done for CustomerA and generate new updates for him for LVGL_v7. I can’t just ask a customer to upgrade his project. I don’t even know any serious company changing or upgrading a lib version while in almost final stage of production.

  • The widgets editor must handle ESC key to select the parent. I mean, when I select a label for example that belongs to a button, if I press ESC key, selection must leave the label and select the parent Button. This makes it easy to navigate through the hierarchy (most of the time when we click the button label we usually want to select the button, or the tab …).

  • Add the possibility to right click a widget (panels mainly) and ask EdgeLine to make them as big as their parent (useful to just drag a panel or image on a screen and make it fit all the screen size)

  • Add the possibility to change (resize) an image to make it fit a certain dimension.

  • In the properties panel (at right), properties are grouped by categories (Text, Background, Border, …). When user changes any subproperty (font name, font size, outline, …) make the property title to bold, this makes it easy to see that we changed something in it (without having to visit all properties to check if we changed something there or not).

  • In C code generator, do not generate code for default properties values. For now, in generated code e usually find code like :slight_smile: lblHome = lv_label_create(btnHome, NULL);
    lv_label_set_long_mode(lblHome, LV_LABEL_LONG_EXPAND);
    lv_label_set_align(lblHome, LV_LABEL_ALIGN_CENTER);
    lv_label_set_text(lblHome, “Home”);
    lv_obj_set_size(lblHome, 44, 16); // force: 1
    lv_obj_set_click(lblHome, false);
    lv_obj_set_hidden(lblHome, false);
    lv_obj_clear_state(lblHome, LV_STATE_DISABLED);
    lv_obj_set_drag(lblHome, false);
    almost all those properties (click, hidden, state, drag,…) are default values, so no need to generate code for them.

-add a Style Editor.
Maybe to have more ideas about how styles editor and other gui goodies should work to make them very user friendly and more productive, maybe you have to hae a deep look at Pinegrow Web Editor.

Those are my first suggestions to make EdgeLine top edge product. It’s really an awesome tool and it makes LVGL really a professional option for most GUI embedded applications.
Excellent work! congrat.

1 Like

Hi,

Thanks for the valuable feedback.

Even in v1.0 we will start with a smaller widget set and gradually add new ones in the new version. Probably the PRO version will support more widgets.

v1.0 will support the latest LVGL v8 but we really need to make it possible to select LVGL’s version in the new EdgeLine versions.

Good idea, we are considering it. FYI, if you right-click a widget you can select the objects (layers) on that pixel.

There will be px and % size units too in v1.0 (as it’s supported in LVGL v8). So setting 100% width will make the object parent-sized.

How do you mean in?

Also a good idea, we are thinking about it.

True, it’ll be solved in v1.0.

Nice work, there’s a lot of potential here.

I agree with the above ideas, especially not generating code for default values and supporting multiple LVGL versions (especially in a “Pro” environment)

I also can elaborate a bit on a Style Editor. What I see useful is having “Styles” be entities of their own. LVGL already has the ability to create a style and apply it to multiple objects. If there was a way to create a style in Edgeline, give it a name, and then apply it to multiple objects, that would give a lot of flexibility.
The generated code would apply the style instead of the individual style properties. This has a lot of benefits:

  • If something needs to change, we only need to update the style, not every element using it.
  • Dynamically generated objects can reference the named style and not need the firmware engineer to copy-paste the style info from generated code (and keep updating the copy/pasted code every time the graphic designers change the style)
  • Since Edgeline doesn’t support all widgets, being able to set the style in Edgeline will make it much easier to hand-code an unsupported widget.
  • Easier to support multiple display sizes/resolutions, and user-settable “skins”, just by having different sets of styles

In any case, good work and we look forward to the next release!

1 Like

Thanks for the feedback. A full-featured style system will be definitely part of an upcoming version. We needed to limit the feature also we never released it :slight_smile: