How to make a component persistant?


#1

Hi,
can someone please have a look at this and tell me what I’m doing is right or wrong?
Let’s say I want to have the Juce Demo Examples such that a demo is persistent, in a way that e.g. the slider in the Widgets demo keep their position when switching back and forth between the demos.

So instead of

Component* createWidgetsDemo() { return new WidgetsDemo(); }

I create an instance of WidgetsDemo in the ContentComp class, and addAndMakeVisible()
and modify void ContentComp::showDemo (Component* demoComp)

to this

void ContentComp::showDemo_test (Component* demoComp) { currentDemo = demoComp; currentDemo->toFront (true); resized(); }

And, instead of declaring

I can use this?

It works but I’m not sure if this the right way.
Some comments are highly appreciated
chris


#2

Erm… No, sounds like you’re floundering a bit there. Maybe do some reading about model-view-controller architecture. You need to understand that your UI and your data model are very different and must be separated.


#3

This first step was already wrong?

Or, how do you do it?
chris


#4

I don’t really know how to answer… Obviously instead of deleting/re-creating a component, you could just keep a pointer to it somewhere. Just like any other kind of object…?