Qt/Embedded/Qtopia Platform

27
Qt/ Embedded/ Qtopia Platform By Martin Jones Senior Software Engineer

description

Qt/Embedded/Qtopia Platform. By Martin Jones Senior Software Engineer. Qt/Embedded Provides. Windowing System Device Input Graphics General Purpose Widgets Utility Classes Containers Networking IPC (QCop). Qt/Embedded What’s Missing?. Application/system configuration - PowerPoint PPT Presentation

Transcript of Qt/Embedded/Qtopia Platform

Page 1: Qt/Embedded/Qtopia Platform

Qt/Embedded/

Qtopia Platform

By Martin Jones

Senior Software Engineer

Page 2: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qt/EmbeddedProvides

Windowing System Device Input Graphics General Purpose Widgets Utility Classes

• Containers• Networking• IPC (QCop)

Page 3: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qt/EmbeddedWhat’s Missing?

Application/system configuration Shared data access Application launching Syncing High-level APIs

• Specialized widgets• Hardware abstraction• Document handling

Page 4: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia Platform

Basic Features Application Behaviour Utility Functions High Level Widgets PIM Data Access Services Data Linking Hardware Abstraction Launching Syncing Developers

Hardware

Linux

Qt/Embedded

QtopiaPlatform

Application

Page 5: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia PlatformBasic Features

Standard directory structure• Documents, settings, application data• 3rd party application installation• Shared resources

Plugin system• Widget styles• Font renderers• Image formats, text codecs• Input methods• Application – media formats, applets, etc.

Page 6: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia PlatformBasic Features (cont)

Categories• Items are placed in categories rather than using

hierarchies• An item can belong to multiple categories

Document based model• Documents associated with applications via mimetypes• Selecting document launches appropriate application

Page 7: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia PlatformApplication Behaviour

QPEApplication• Appearance

– Widget Style

– Colors

– Window Borders

– Fonts

• Window management• Language translations• System-wide notifications

– Time change, volume change, etc.

Page 8: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia PlatformUtility Functions

Configuration (Config class) XML Reader (XmlHandler class) Resource loading (Resource class)

• Pixmaps, Icons, Sounds

Applications/Documents• Mimetypes (MimeType class)• Properties (AppLnk, DocLnk classes)

Time management• Locale aware time strings (TimeString class)• Time zone management (TimeZone class)

IR sending and receiving

Page 9: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia PlatformHigh Level Widgets

Date/time selection• QPETimeEdit, QPEDateEdit, QPEDateTimeEdit

Category selection/editing• CategorySelect, CategoryDialog

Document selection/properties• FileSelector• DocPropertiesDialog

Image selection• ImageSelector

Page 10: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia PlatformPIM Data Access

Safe APIs for accessing Qtopia PIM data• Contacts, Tasks, Events• Hides underlying data format• Allows safe access to data by multiple processes• Helper functions, e.g. find the next event• Stays in sync with PIM applications• Data will be synced with Qtopia Desktop

Page 11: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia PlatformServices

Allows applications to invoke functions of other applications• User can specify which application provides each

service• Allows 3rd party applications to replace shipped

application• Trolltech defines standard services

– Opening/Viewing documents– Write Email– Browse Web– Play media– Add/Edit/Show contacts, events, tasks

Page 12: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia PlatformData Linking

Allows applications to link to other applications’ data• Data is not copied - only links are maintained• Selecting linked data in a view launches source application to

display• New in Qtopia 2.0• Example: Linking to contacts in an appointment

Page 13: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia PlatformHardware Abstraction

Button mapping• Mapping soft buttons or Yes/No buttons to message boxes• Allow user to specify role of programmable buttons

Sound• Button click• Alarms

Screen lighting• Setting brightness• Dim after inactivity

Storage• External storage devices – SD cards

Page 14: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia PlatformLaunching

QCopEnvelope• QPE/Application/application channel will start application if

necessary to deliver QCop message (guaranteed delivery)

Quicklaunching• Applications built as plugins• Maintains a running Stub application ready for next invocation• Stub links with qtopia libraries – less relocations• Stub initializes qtopia data structures

Fast Load• Leaves applications running in background• Costs memory

Page 15: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia PlatformSyncing

Qtopia syncs with Qtopia Desktop• Syncs contacts, events, tasks• Allows document transfer• Data backup• Application installation• Interfaces with Outlook• Plugins for other PIMs can be written

Qtopia Desktop platforms• Windows• MacOSX• Linux

Page 16: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia PlatformDevelopers

Qtopia SDK• Develop on the desktop using the virtual framebuffer• Recompile for target devices• Creates packages in standard ipgk format for

distribution

Java• Based on Qt/AWT• Several Java Virtual Machines available for Qtopia

– Jeode– IBM

Page 17: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia Phone Platform

Qt/Embedded Keypad Mode Button Mapping Widgets Phone API Home Screen Dialer

Page 18: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia Phone PlatformQt/Embedded Keypad

Qt widget navigation• Minimal set of buttons

– Arrow buttons

– Select button

– Back/No button

• Modal Editing– Up/Down to shift focus

– Select to modify or begin editing

• Compatible with touch screen

Page 19: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia Phone PlatformButton Mapping

Two phone types supported• Soft Buttons

– Displays a context bar– Requires a Menu button– Soft key may be mapped to

Menu

• Hard Buttons– No context bar– Requires Menu button, Yes

button, No button

Keypad input methods• T9

• Multitap

Page 20: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia Phone PlatformWidgets

Supports the same widgets as Qtopia PDA Edition Suitable for small screens

• 176x208• 176x220• 240x320

ContextBar class• Provides API for setting the soft button labels.

ContextMenu class• Provides a convenient popup menu bound to the menu

button

Page 21: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia Phone PlatformPhone API

Internally• AT commands interface with GSM phone module• API hides low level implementation

Voice call management• Outgoing calls• Incoming calls• On hold• Conferencing• DTMF tones• Recent/missed calls

Page 22: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia Phone PlatformPhone API (cont)

SMS sending and receiving• Low level handling• High level handling by Messaging Client

– Composing– Inbox, drafts, etc.

SIM card storage Phone configuration

• Signal strength• Preferred network operator• Vibrate mode, etc.

Page 23: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia Phone PlatformHome Screen

Displays• Missed calls• New messages• Cell info• Phone settings

– Call divert

– Vibration, Quiet mode (profiles)

Provides simple application launching menus

Documents list Dialer hotkeys

Page 24: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia Phone PlatformDialer

Basic dialing Searching address book Recent calls Missed calls Hold Call information

Page 25: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia PlatformFuture

SQL Backend for PIMs• Faster application startup• Lower memory requirements• Faster queries

Sandboxing• Run applications as a different user• Restricted file access• Restricted QCop• Watchdog

Page 26: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia PlatformSummary

Provides a high-level API for application developers

Provides a consistent environment and user interface

Provides data abstraction Provides a syncing framework Provides hardware abstraction Provides development environment for 3rd party

applications

Page 27: Qt/Embedded/Qtopia Platform

November 2003 http://www.trolltech.com/[email protected]

Qtopia Phone PlatformSummary

Provides simple button navigation, with optional touch screen

Provides an abstraction of the low level GSM details

Provides a home screen with status information and quick access to dialer

Provides phone dialing/answering Provides management of recent/missed calls