qt/embedded/qtopia platform
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 PresentationTRANSCRIPT
Qt/Embedded/
Qtopia Platform
By Martin Jones
Senior Software Engineer
November 2003 http://www.trolltech.com/[email protected]
Qt/EmbeddedProvides
Windowing System Device Input Graphics General Purpose Widgets Utility Classes
• Containers• Networking• IPC (QCop)
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
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
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.
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
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.
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
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
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
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
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
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
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
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
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
November 2003 http://www.trolltech.com/[email protected]
Qtopia Phone Platform
Qt/Embedded Keypad Mode Button Mapping Widgets Phone API Home Screen Dialer
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
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
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
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
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.
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
November 2003 http://www.trolltech.com/[email protected]
Qtopia Phone PlatformDialer
Basic dialing Searching address book Recent calls Missed calls Hold Call information
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
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
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