Storing prefs

Hi to all,

 

Does anybody has implemented a PrefComponent (or has a way to store preferences).

I've tried, following closely the documentation in ISHPrefsComponent (see below), but with no success (I have a crash when I do a get/set parameter on this component):

/// IShPrefsComponent is a component used to store the preferences of another component./// It can also store user defined key bindings/// Those preferences are stored on a per user basis. /// So far there is no "explicit" UI in Carrara to change the component's preferences, /// but this mechanism can be used for example to save the position of a component's toolbar (eg motion path in Carrara).////// To implement a prefs component:/// - derive a class from TBasicPrefsComponent (and make a pmap for it)/// - declare its 'COMP' resource (use kRID_PreferencesFamilyID for its family), and give it an ID (eg 'path')./// - declare its 'GUID' resource (use R_IID_IExPrefsComponent for its parent interface)/// - declare its 'PMap' resource.////// Now for the component that wants to store its preferences, declare a 'CINF' resource /// and put the ID of the prefs component in its fPrefsCompID field. Example:/// \verbatim/// resource 'CINF' (R_PathAnimationMethod, "Motion Path")/// {///     'path',///     kAnyPlatform,///     kAnyAppKind,///     kAnyAppMode, /// };/// \endverbatim////// Now in the code of component that wants to access its preferences, you can call GetMyPrefsComponent /// (implemented by TBasicDataExchanger). Example:/// \code/// IShParameterComponent* myPrefsComp= GetMyPrefsComponent();///	if (MCVerify(myPrefsComp))///	{///		TMCPoint tbPos= kDefaultMPToolbarPos;///		myPrefsComp->GetParameter(kToolBarParamID, &tbPos);///		//...///	}/// \endcode

 

 

Comments

Sign In or Register to comment.