Create a scrollable table, with components

Hello,
For my plug-in I have an interface in mind but I have no idea how to do it. The interface is a table with 2 fix rows, and the others can be a variable amount of rows (so a scroll would be good). Each cell can have different component and can be changed by the user. It can be an image (type), a value (freq, Q, A) or a toogle button (Bypass, link). The attached image show what I am expecting. Any help would be welcome.
Thanks in advance !

In JUCE, that would be a Table List Box with custom components as cells:

https://docs.juce.com/master/classTableListBox.html
https://docs.juce.com/master/classTableListBoxModel.html
https://docs.juce.com/master/tutorial_table_list_box.html

You’ll need to look at the tutorial code, read the docs and create custom components for the columns, but you can do it!

ok thanks, I was wondering if it was appropriate for this interface actually. Thanks for confirming ! I started reading the tutorial and I can’t find if they do it on another file or if it is embeded in the editor files. Do you have any idea ?

I think the tutorial is mostly in a header file. You can just search for TableListBox and find the class which inherits it.

For your own code, I would recommend writing your class in a separate file, though, since it looks like you’ll need a lot of customizations.

alright thanks a lot I will try that !

Normally there would be a Value Tree in your TableListBoxModel, holding the data:

https://docs.juce.com/master/tutorial_value_tree.html

It would be an interesting twist, though, if the controls in your table are mapped to parameters…

Also there’s always the option of just laying your table out as a grid manually if you find the Table classes are making things more complicated and you’re not really using the features.