Re-add menu sidebar drawing and come up with new implementation structure
Open, NormalPublic

Description

What would be a good structure/way to deal with the sidebar (the icons on the left side, linked to Buttons P7, P8, P9: HOME, BACK) in the SettingsMenu?

sebastian triaged this task as Normal priority.
sebastian updated the task description. (Show Details)
BAndiT1983 updated the task description. (Show Details)Apr 13 2020, 3:25 PM
BAndiT1983 added subscribers: metal_dent, Ashok.

sidebar as in the back and the home buttons?

sebastian updated the task description. (Show Details)Apr 13 2020, 3:33 PM

sidebar as in the back and the home buttons?

exactly!

okay, and what do you mean by dealing? like to improve the look of the bar?

BAndiT1983 added a comment.EditedApr 13 2020, 3:54 PM

No, add implementation, by porting from old firmware version and re-using the DrawIcon() code to reduce image size.
The base class needs some additional love to be able to set this buttons from the child class comfortably.

sebastian renamed this task from Menu Sidebar rendering Structure to Re-add menu sidebar drawing and come up with new implementation structure.Apr 13 2020, 4:02 PM

Sorry if the title was confusing, just updated it.

Here is the reference for how this was done in the old firmware: https://github.com/apertus-open-source-cinema/AXIOM-Remote/blob/master/AXIOM_Remote_Prototype_V01.X/menu.c#L548

But the idea would be to handle the sidebar in a more general way if possible.

So it could also easily contain different icons for different pages/menus, like deleting a preset here with the symbol of a waste bin:

Structure is added, next step is side bar implementation. Here the ButtonBar can be used, like the example which is already added, just in combination with the ImageButton.

BAndiT1983 added a subscriber: BAndiT1983.
metal_dent added a comment.EditedMon, May 4, 1:22 PM

The ImageButton is working but I've fixed the implementation so need to make it more flexible.

  1. Next step is to make the dimensions dynamic, which are set here -> https://github.com/MetalDent/AXIOM-Remote/blob/454803c76023e0a7d2fabe62ddd10549c6675913/Firmware/UI/Widgets/ImageButton.h#L39
  2. After that we need to add an implementation for having a button with an image and text

The ImageButton is working but I've fixed the implementation so need to make it more flexible.

  1. Next step is to make the dimensions dynamic, which are set here -> https://github.com/MetalDent/AXIOM-Remote/blob/454803c76023e0a7d2fabe62ddd10549c6675913/Firmware/UI/Widgets/ImageButton.h#L39
  2. After that we need to add an implementation for having a button with an image and text

The 1st step is done

The ImageButton is working but I've fixed the implementation so need to make it more flexible.

  1. Next step is to make the dimensions dynamic, which are set here -> https://github.com/MetalDent/AXIOM-Remote/blob/454803c76023e0a7d2fabe62ddd10549c6675913/Firmware/UI/Widgets/ImageButton.h#L39
  2. After that we need to add an implementation for having a button with an image and text

Step 2 also done