Design Pattern for stereo/dual mono GUI

Hi all,

i have a question regarding the design pattern of my plugin. I am controlling hardware and have only one set of knobs for linked or dual mono modes. The dual mono modes is waht bugs me a bit. With only one knob in the GUI it doesn´t seem appropriate to make a slider attachment to the valueTreeState. So my idea was to handle all the parameters in the valueTreestate. If the valueTreeState changes the sliders would get their update through the valueTreestate Listener and when the slider changes the slider Listener could update the valueTreeState.

How would you guys handle this situation? I should maybe mentio that i am controlling external hardware so the realtime audio process block is not involved.

And another question about how to implement member access in the editor. I have a class which represents a display with text labels. They show the values of the sliders. The sliders are in a seperate class and both of them are in the editor. I would like to update the slider value when the labels are edited. Whats the correct way to update the values. This is waht i thought would do the job but i don´t know if there is a better option.

class Editor
{
public:
	Editor() {}
	Editor() { display = new Display(this); knobs = new Knobs(this); }
	~Editor() {}

	int value;
	Knobs knobs;
private:
	Display display;
};

class Display
{
public:
	Display(){}
	Display(Editor* ed) : editor(ed) {}
	~Display(){}
	Display& operator=(Display* d) { this->editor = d->editor; }
	
	void test() { editor->value = 10; editor->knobs.value = 20; }

private:
	Editor *editor;
};

class Knobs
{
public:
	Knobs(){}
	Knobs(Editor* ed) : editor(ed) {}
	~Knobs(){}
	Knobs& operator=(Knobs* k) { this->editor = k->editor; }

	int value;

private:
	Editor *editor;
};

Could anybody give me a hint on these questions?