UI - Symbian C++ - Code examples

Areas of interest

20 March 2012
FileList 1.1

FileList 1.1

FileList is a simple example application for browsing multimedia files on a Symbian device. This application, which is ported from a Symbian C++ version, is developed with Qt Quick components and is based on the Symbian design guidelines. The example also features a fast-loading, efficient splash screen, implemented completely with QML code.

29 November 2011
Drumkit

Drumkit

Drumkit is a virtual drumkit that lets you play percussion sounds by tapping sound pads, recording the beats, and playing them back. This example is hosted in Nokia Developer Projects, where you can find implementation notes, discover recent revisions, and contribute to the project.

02 March 2009

S60 5th Edition: Solitaire Game Example v1.1

This updated C++ example application demonstrates a fully touch-optimised application using various touch UI features of S60 5th Edition with direct manipulation. Besides tapping the cards, the user can drag and drop them using a finger or the stylus. The application demonstrates handling pointer events of custom made UI controls. Also, tactile feedback using the Touch Feedback API is received. Double buffering is used to draw on the screen to avoid flickering. By default, the cards are implemented as Scalable Vector Graphics (SVG) icons, but the example also provides an option to draw them using methods of the graphics context class CWindowGc. In the updated version, major drawing optimisation has been done. The example application was developed for S60 5th Edition and touch UI. Important classes: CCoeControl, MTouchFeedback, CFbsBitmap, CWindowGc.

18 February 2009

S60 Platform: Rich Text Editor Example

This updated C++ code example demonstrates the usage of Rich Text Editor. Most of the features are handled automatically when the dialog framework creates the editor. However, some steps, such as inserting an image, setting the text input type, and showing the scroll bar, require the use of methods or classes. The updated example has been modified to support S60 5th Edition and touch UI. Main classes: CEikRichTextEditor, CFbsBitmap, TPictureHeader, CPicture.

21 January 2009

Open C++: Memory Game Example v1.1

This updated Open C++ example application demonstrates a simple memory game. The game engine part was written in Open C++ and the UI part was written in Symbian C++. The application supports S60 3rd Edition and S60 5th Edition devices. Keypad and touch UI are supported depending on the device. In this updated version, the UIDs of the help files and the package file have been changed for improved compatibility. Important classes: RTimer, CMdaAudioPlayerUtility, CAknQueryDialog, CAknMessageQueryDialog, CAknRadioButtonSettingPage, CEikTextListBox, CFbsBitmap, CAknIndicatorContainer, MTouchFeedback.

14 January 2009

S60 Platform: Sudoku Game Example

This C++ example demonstrates how to implement a simple custom UI game that handles different layouts and multiple screen resolutions, and supports several input methods (keyboard and touch UI). Classes: CCoeControl, CFont, AknUtils, CFbsBitmap, CFbsBitGc, CFbsBitmapDevice

10 October 2008

S60 Platform: Image Converter Example v3.0

This example demonstrates how to use the image conversion APIs available in the S60 platform (Image Conversion Library, ICL). These APIs include important classes, such as CBitmapRotator and CBitmapScaler to be used for rotating and scaling images, respectively. CImageEncoder and CImageDecoder classes are used to access image encoders and decoders available in the ICL. Images can be opened, rotated, scaled, and saved in the same or a different format. The UI of the updated application has been optimised for touch using, for example, long taps and tactile feedback. The example project supports building for both S60 5th Edition with touch UI and S60 3rd Edition with a traditional keypad. Important classes: CAknLongTapDetector, MTouchFeedback, CBitmapRotator, CBitmapScaler, CImageEncoder, CImageDecoder, CFbsBitmap, CAknQueryDialog.

02 October 2008

S60 Platform: Scalable UI Example v2.2

This C++ example application (Noughts and Crosses) demonstrates the scalable UI and SVG-T icons. The example has been updated to support touch UI. It has been designed to work on all devices from S60 3rd Edition onwards and it supports different screen sizes, orientations, and both the touch UI and a traditional keypad. Important classes: AknLayoutUtils::LayoutMetricsRect() method (UI Metrics API).

02 October 2008

S60 Platform: Settings Screen Example v2.1

This C++ code example explains the basic construction of settings screens, including setting item lists, setting items, and setting pages. The application consists of a single view - a Setting List that has a variety of different types of settings that can be manipulated. The application has been updated to be compatible with S60 5th Edition and touch UI. The usage of settings screens is discussed in the document S60 Platform: Implementing Settings Screens published at www.forum.nokia.com. Important classes: CAknView, CAknSettingItem, CAknSettingItemList, CAknEnumeratedTextSettingItem, CSelectionItemList.

02 October 2008

S60 Platform: Dynamic Setting List Example v1.1

This example demonstrates how to load CAknSettingItemList dynamically at run time instead of defining the list structure into a resource file. In the example, the lists are loaded during application startup. The example can be used as the basis for many different applications where a list has to be loaded dynamically (for instance, based on external feed from a server). Note that CAknSettingItemList itself is not ideal for dynamic loading, but it is possible by using dummy resource IDs and defining all the required list item types in the source code. At run time it is then possible to load multiple instances of each list item type (with any label and value). The application has been updated to be compatible with S60 5th Edition and touch UI. Important classes: CAknSettingItemList.

02 October 2008

S60 Platform: Scalable Screen-Drawing Example v1.4

This C++ application demonstrates scalable screen drawing with Direct Screen Access and custom drawing routines using SVG-T icons and bitmaps. The application scales to multiple display resolutions in portrait and landscape orientations supported by the S60 platform. This example is targeted especially at games and multimedia developers who prefer developing a custom UI instead of using an automatically scaling UI, such as S60 Avkon components. Labeling for the middle softkey has been added in the updated version. The application supports middle-softkey labeling and it has been updated to be compatible with S60 5th Edition and touch UI. Important classes: CIconFileProvider, MDirectScreenAccess, MAknIconFileProvider, CCoeControl (HandleResourceChange() method and KEikDynamicLayoutVariantSwitch), CEikAppUi (ApplicationRect(), Orientation(), and SetOrientationL() methods), AknLayoutUtils (PenEnabled() method).

Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved