QHelloWorld

The Hello World application presents the basics of developing for UIQ. It displays a text message and a menu bar. A single view that displays the text "Hello World" is drawn using the default title font supplied by UIQ.
Note: The HelloWorld application does not fully follow UIQ look and feel guidelines. For an example that does follow the UIQ look and feel guidelines, see the My Directory example found in UIQExamples\QMyDirectory.
This project explains some key ideas including:
- Application resources, which define all text displayed in applications, softkeys, dialogs, and other customizable screen furniture. Application resources are managed outside of the application source code in separate resource files that can be independently compiled. In this project the separate resource file is HelloWorld.rss.
- Commands being interpreted by an application which are likewise defined outside of the main source in .hrh files, in this case HelloWorld.hrh. This file is included in the application source and the resource files.
- Applications being divided into engine, UI, and view components, which are interdependent but logically separate from each other.
- All applications having UID, unique identifier, which uniquely identifies it to the system.
- The files needed to build an application successfully,
- The basic build process,
- Some of the commands used to invoke tools, and the functions performed by the tools,
- Main architecture of a UIQ application.
Class summary
The framework requires that an application defines four objects: an application, a document, an application UI, and one or more application views.
CHelloWorldApplication: is the entry point to the application. The application class defines the properties of the application, such as its UID and caption, and creates a new document.
CHelloWorldDocument: represents the document in the Hello World application. The document class is used to represent the data model for the application. Minimally, the purpose of the document class is to create an application UI object to handle editing the document. Additionally, the document class handles storing and restoring the application's data.
CHelloWorldAppUi: represents the application UI in the Hello World application. It is responsible for creating the view.
CHelloWorldView: is a very simple view that displays the text "Hello World", drawn using the default title font supplied by UIQ. It also consists of three commands that will bring up infoprints.
Usage
First, run bldmake from the projects group directory where the bld.inf file is located:
This creates a batch file, called abld.bat, which you use in the next step. To build the project, you call abld build which will build the project for all default targets in both release and debug variants. To build for a particular target and variant, use abld build target-name variant, for example,
builds the project for the debug variant of WINSCW only. To run it, choose the application name from the Launcher.
Changes in this version
Version 0.3 2006/04/19
Small updates have been made in the code and comments so all UIQ examples are consistent with each other. The most common change has been include order in header and cpp-files, system includes shall be included before the user includes.
Reverted change to include header file for UID3 in the mmp file. This due to Carbide.VS (plugin that enable Symbian OS C++ application development using the Microsoft Visual Studio .NET 2003 IDE) doesn't support to include header files in mmp file.
Version 0.2 2006/01/23
Added a header file that defines the UID3 value. The UID3 is needed in three files (HelloWorld.mmp, HelloWorldExternalInterface.h and HelloWorld_reg.rss). Instead of define the UID3 value three times, each file only includes the UID header file and uses the define. This makes it easier to change the UID3, when there is only one place to update.
Version 0.1 2005/12/01
First release.
Download:
QHelloWorld
You need to be a registered member of the UIQ Developer Community and logged in to be able to download this file.