Hello everybody, I'm looking for tips about managing configuration parameters of a window / sub-application.

I need to manage customizable relations between those parameters, which should be customizable themselves,
and before trying to solve the problem by myself, I'm looking around.

Let's have an example.

Let's say that my application can start several different dialog windows, each managing a independent set of
parameters:

1) a window let change value "amplitude A" and "frequency F", and I have to implement a given
function A(F) (A decreases as F grows, for example);

2) a window let the user set the values for "hardware working mode H", "hardware timing T", "trigger mode M":
let's say that T and M are function of H => changing H should set T and H to different values than those get from GUI
and set by user;

3) in a way as the previous points, a window let the user set the value for other parameter p1, p2 and p3,
but now p2 is p2(p1) and p3 is p3(p2,p1).

I'd like to have a CSetup object to be used in the following way:
let's have:
Code:
     CSetup m_setup;//
     CText GUIObjectA;//graphical object which represents the A variable.
For the cases before, I'd like to use CSetup in a way similar to this:

1) for each GUI change of F, do something as:
Code:
        m_setup.UpdateParam( F ); //send new parameter value to CSetup, which will apply the rules to compute the other parameters
        GUIObjectA.SetParam( m_setup.GetParam( A )); //update GUI with computed value
2) for each GUI change of H, do something as:
Code:
        m_setup.UpdateParam( H );//send new parameter value to CSetup, which will apply the rules to compute the other parameters
        GUIObjectT.SetParam( m_setup.GetParam( T )); //update GUI with computed value
        GUIObjectM.SetParam( m_setup.GetParam( M )); //update GUI with computed value
3) for each gui change of p1, do something as:
Code:
        m_setup.UpdateParam( p1 );//send new parameter value to CSetup, which will apply the rules to compute the other parameters
        GUIObjectP2.SetParam( m_setup.GetParam( p2 )); //update GUI with computed value
        GUIObjectP3.SetParam( m_setup.GetParam( p3 )); //update GUI with computed value
I hope to be clear, I apologize about being so unspecific, I'd like to use a more "formally correct" description, or to
use more specific words but I really don't know where to start from....any kind of help will be appreciated, thank you all.


BrownB