UIQ 3.0 SDK - release notes
15 June 2007
The final version of the UIQ 3 SDK was released on May 11, 2006. This release mainly contains updates of the legal information related to the SDK and some added libraries.
CONTENTS
- Introduction
- Reasons for a new release of the 3.0 SDK in June 2007
- Platform requirements
- What's new
- Download and installation
- Known issues and trouble shooting
- Files - Added and removed
Introduction
This SDK is based on UIQ 3.0 and Symbian OS v9.1. It provides you with the code and information you need to develop applications for the phones running UIQ 3.0.
Reasons for a new release of the 3.0 SDK in June 2007
The main reason for this re-release of the UIQ 3.0 SDK is to update the license agreement and the copyright statement in the SDK after the acquisition of UIQ Technology AB by Sony Ericsson in February 2007.
In this release we have added some missing libraries and updated the makesis application.
- Added Libraries:
\epoc32\release\armv5\lib\random.lib \epoc32\release\armv5\lib\hash.lib \epoc32\release\armv5\urel\ecrt0.lib \epoc32\release\armv5\urel\mcrt0.lib \epoc32\release\armv5\urel\wecrt0.lib \epoc32\release\armv5\urel\wmcrt0.lib \epoc32\release\winscw\udeb\random.lib \epoc32\release\winscw\udeb\hash.lib
- Makesis file:
This version supports the -d option for language dependent files as well.
Platform requirements
We have successfully tested this SDK on Windows XP and Windows 2000.
It can be used with carbide.c++, CodeWarrior 3.0 and 3.1. It can also be used with Visual Studio .NET 2003.
There is also a plug-in to Visual Studio called Carbide.vs and a UIQ support package to this available at http://developer.uiq.com/.
What's new
- Breaks since the Beta 3 release of the SDK
- Illegal use of default values in Qikon resource structs:
In Qikon.rh, QikListBox.rh and QikCommand.rh most STRUCTs created for UIQ 3 use KErrNotFound (-1) as default value for LLINKs. Unfortunately, Symbian's resource compiler generates resource-IDs as TUints, which means that KErrNotFound is a legal value that might be generated. Hence 0 is the only valid LLINK default value that can be used for a resource STRUCT definition to indicate the absence of a resource. Making these changes is a BC-break as all binaries compiled with the default -1 will be treated as a valid resource and therefore cause a Panic or Leave when the resource is not found. After updating struct definitions in rh-files, all resources including any of the 3 mentioned rh-files needs to be recompiled.
- Added a virtual member to the MQikCommandOperator interface and make it future proof:
A new virtual member has been added to the MQikCommandOperator interface.
That will break Binary Compatibility in following interfaces:class MQikSoftkeys : public MQikCommandOperator, public MQikScreenFurniture class MQikButtonBar : public MQikCommandOperator, public MQikScreenFurniture class MQikToolbar : public MQikScreenFurniture class MQikAppTitlebar : public MQikCommandOperator, public MQikScreenFurniture
The change is to add the following members in class MQikCommandOperator:virtual void PrepareForNewCommands() {} virtual void MQikCommandOperator_Resered_1() {} virtual void MQikCommandOperator_Reserved_2() {} virtual void MQikCommandOperator_Reserved_3() {}
- Illegal use of default values in Qikon resource structs:
- Documentation updates in the UIQ Developer Library
- Updated Application Development Tutorial/Starter's Guide
- Addition to the Style Guide:
5.1 NAVIGATION TO AND FROM THE START SCREEN
- Updated Controls How-To Guides:
All of them
- New Miscellaneous How-To Guides:
How to Work with View Classes
Commands in the User Interface
New Heap Allocator in UIQ 3
UI configuration compatibility
How to work with themes and skins
- New Example application:
QDialogs
- Additions to Tools and Utilities section:
Building a project in UIQ 3
- Additions to the UIQ Migration Quick Guide:
2.3.2 New keywords for mapping media files
6.3.1 Certificates for Emulator Testing
8 Appendix: Deprecated members
- Updated Application Development Tutorial/Starter's Guide
- New example application
A new example application, QDialogs, has been added. It shows how the new dialog framework in UIQ 3 works and you will find it in \\Examples\UIQ\QDialogs. Read more about it in the Developer Library under UIQ 3 SDK -> UIQ Developer Library -> UIQ Examples -> QDialogs
Download and Installation
- Download
The SDK can be downloaded at http://developer.uiq.com/devtools_uiqsdk.html.
- Install
Space required on your disk is 800 MB.
Run UIQ3SDK.exe to install the SDK.
We recommend you to select an empty or non-existing directory as install location.
There are four different components to install:
- Emulator: Files and tools needed to run the emulator. - C++ Developer: Files and tools needed to compile and debug C++ applications on target and emulator using an IDE. - Java Developer: Files and tools needed to compile and debug J2ME applications on target and emulator using an IDE. - Documentation: UIQ 3 SDK Documentation. All sub-components you select will be installed at the end of the SDK installation.
In the end of the installation the ethernet settings will be preconfigured using your computer's dhcp settings.
- Uninstall
Make sure to move all files you wish to save from the following directories before uninstalling the SDK:
\Documentation
\epoc32
\Examples
\ExtensionsAll contents in the above directories will be deleted by the uninstaller.
Also make sure to uninstall all extension packages before uninstalling the SDK.
Known issues and trouble shooting
- Help integration
The UIQ 3 SDK help collection can easily be integrated into both Microsoft Visual Studio .NET 2003 and CodeWarrior 3.0 and 3.1. See the Developer Library under: UIQ 3 SDK -> UIQ Developer Library -> UIQ Tools and Utilities -> Building a project in UIQ 3,section 5.1 and 5.4.2.
When the UIQ 3 SDK help collection is installed for Microsoft Visual Studio .NET 2003 it is not automatically selected to be included in the default collection.
After registering the help, open the following link in your browser: ms-help://MS.VSCC.2003/VSCCCommon/cm/CollectionManager.htm Select the check box next to UIQ3SDK, press "Update VSCC" and restart Visual Studio.
- Compiler
If you selected to install the GCC-E compiler while installing the SDK, the path variable has to be updated manually since the GCC-E installation does not do that for you.
Building for GCC-E target is not possible in Codewarrior 3.0 due to a defect in the IDE.
- Emulator
The built-in UIQ applications only work in the reference phone styles which are Pen style and Softkey style. The SDK example applications however work in all the supported phone styles.
If you have installed the SDK on a Windows XP machine as an administrator, the SDK emulator will not run for unprivileged users.
- Java
JRE 1.3.1 is needed by some of the Symbian tools. The installer is located in the /epoc32/tools/distrib folder and it is called j2re-1_3_1_01-win-i.exe.
- Paths
In rare cases installing the SDK causes a loss of paths. To help you restore your paths check <installdir>/path.log.
- Platform Security
All required platform security capabilities are not yet documented in the API reference. When an API call returns with the error KErrPermissionDenied this can indicate that the application is running with insufficient capabilities and trying to access a restricted API. See the enum TCapability in the developer library (or e32capability.h) for a complete list of capabilities. Also, an API list with required capabilities can be found in the Developer library under: UIQ 3 SDK -> Symbian OS v9.1 -> Symbian OS guide -> Platform Security -> Capability report.
Files - Added and removed
The following directories have been added this SDK:
\epoc32\release\armv5\udeb
The following files have been added this SDK:
\epoc32\include\AgnSharedUIDiskChangeNotifier.h
\epoc32\include\apn_loc.RSG
\epoc32\include\apn_reg.RSG
\epoc32\include\domainPolicy.h
\epoc32\include\hal.h
\epoc32\include\hal_data.h
\epoc32\include\MTMUIDS.H
\epoc32\include\securityerr.h
\epoc32\include\smsuaddr.h
\epoc32\include\usberrors.h
\epoc32\include\usbman.h
\epoc32\include\usbstates.h
\epoc32\include\web.rsg
\epoc32\include\internal\QBeaming\MQPropertyObserver.h
\epoc32\include\internal\QBeaming\QBondingMonitor.h
\epoc32\include\remcon\messagetype.h
\epoc32\release\armv5\lib\dfpaeabi.lib
\epoc32\release\armv5\lib\dfpaeabi{000a0000}.lib
\epoc32\release\armv5\lib\dfprvct2_2.lib
\epoc32\release\armv5\lib\dfprvct2_2{000a0000}.lib
\epoc32\release\armv5\lib\drtaeabi.lib
\epoc32\release\armv5\lib\drtaeabi{000a0000}.lib
\epoc32\release\armv5\lib\drtrvct2_2.lib
\epoc32\release\armv5\lib\drtrvct2_2{000a0000}.lib
\epoc32\release\armv5\lib\opecomplugin.lib
\epoc32\release\armv5\lib\flogger.lib
\epoc32\release\armv5\lib\flogger{000a0000}.lib
\epoc32\release\winscw\udeb\flogger.lib
\epoc32\tools\cert\AllCaps.cert
\epoc32\tools\cert\AllCaps.key
\epoc32\tools\cert\AllUserCaps.cert
\epoc32\tools\cert\AllUserCaps.key
\epoc32\tools\cert\NoCaps.cert
\epoc32\tools\cert\NoCaps.key
The following directories have been removed from this SDK and onward:
\epoc\tools\java\sei\winscw\urel
The following header files have been removed from this SDK and onward:
none