Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Settings Framework API

From Wiki
Jump to: navigation, search
Article Metadata
Code ExampleArticle
Created: ltomuta (17 Jun 2007)
Last edited: hamishwillee (30 May 2013)

Note.pngNote: :This API is not part of the public SDK. It can be found in the SDK API Plug-in.

Settings Framework is an application used for viewing dynamic plug-ins. This will load the plug-ins dynamically using ECom Architecture. It is designed to handle the minimum amount of plug-in related logic. All the plug-ins are implemented based on the ECom Plug-in Architecture.


Creation of a General Setting Plug-in can be done directly by implementing CGSPluginInterface, or indirectly from the CGSBaseView. The Plug-in View class can be inherited from above classes based on the requirement. Create a container level class that implements the visualization of the plug-in view. Container level classes should be created when the view is activated

and destroyed when the view is deactivated.


This class provides the common functionality in CAknView and CGSPluginInterface classes. One can inherit this class and implement the common functionality.

The responsibilities of the view level classes are:

  • Implementing the view functionality defined by CGSBaseView:
TUid Id() const; // from CAknView

This returns the current view id.

  • Creating and adding a container to the view stack when the view is activated.
void DoActivateL( 
const TVwsViewId& aPrevViewId,
TUid /* aCustomMessageId */,
const TDesC8& /* aCustomMessage */); // from CAknView, incase of multiple views

This function should call the NewContainerL() where a new instance of the container is created and add the container to the control stack.

  • Removing the container from the view stack and destroying it when the view is deactivated.
void DoDeactivate(); // from CAknView, incase of multiple views

This function should remove container from the control stack and delete it.

void ConstructL();
void NewContainerL();

Create an instance of Container here.

void HandleListBoxSelectionL(); // from MEikListBoxObserver
  • Implementing the plug-in functionality defined by CGSPluginInterface.
void GetCaptionL( TDes& aCaption ); //from CGSPluginInterface

This function is used in getting caption of this plugin.


This class provides the common functionality for the CCoeControl classes. So a container level class can derive from this to implement the common functionality.

The container level class responsibilities are:

  • Implementing the view functionality defined by CGSBaseContainer:
void ConstructL();
  • Call this API which will initialize the ListBox:
BaseConstructL( const TRect& aRect, TInt aResTitleId, TInt aResLbxId );

This API internally calls ConstructListBoxL() which constructs the ListBox.

  • Call this API which will update the changes in the contents in the ListBox:
void UpdateListBoxL();

Example project

The following is the link to the Example Project:

Known issues

This page was last modified on 30 May 2013, at 04:40.
44 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.


Thank you!

We appreciate your feedback.