[Logo] TCC discussion forum
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Top Downloads] Top Downloads   [Groups] Back to home page 
[Register] Register /  [Login] Login 


This forum is read only and new users cannot register, please ask all new questions either using GitHub discussions, or in Arduino forum tagging @davetcc.

How can I catch menuItem selection change events? RSS feed
Forum Index » tcMenu Arduinio library
Author Message
Frank


Joined: Sep 11, 2020
Messages: 1
Location: Germany
Offline
Good evening Dave,

great library family, love it very much!

Is there a simple way to catch more user activity in the menu selection process?
I.e. callbacks for "MenuItem changed" or "MenuItem opend for Edit" etc ....

Use case: depending on the selected menu you might want to switch on/off an led ... just an example


Thank you for your help, much appreciated
davetcc


Joined: Jan 19, 2019
Messages: 686
Offline
Hi there,

Thanks for using the library, and the compliment.

There's a couple of callbacks that you can use to determine when things have changed. But at the moment we don't have one for edit started. However, I think that would be easy to add, please add an issue in tcMenuLib https://github.com/davetcc/tcMenuLib and I'll try and do it in a patch release, as it shouldn't be much work.

What you can do now:

Every menu item supports a callback, you can set these in the designer, and the function gets called with each an every change, for an integer edit this could be a lot of times.

You can in addition to this, add a commit handler in menuMgr, this gets called once when editing stops:

void setItemCommittedHook([](int id) {
  // do your commit code here.
});



I guess we could do something along the lines of:

void setItemEditStarting([](int id) {
  // do your edit start code here.
});


 
Forum Index » tcMenu Arduinio library
Go to:   
Mobile view
Powered by JForum 2.7.0 © 2020 JForum Team • Maintained by Andowson Chang and Ulf Dittmer

This site uses cookies to analyse traffic, serve ads by Google AdSense (non-personalized in EEA/UK), and to record consent. We also embed Twitter, Youtube and Disqus content on some pages, these companies have their own privacy policies.

Our privacy policy applies to all pages on our site

Should you need further guidance on how to proceed: External link for information about cookie management.