1 / 27

Qt/Embedded/Qtopia Platform

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

cody
Download Presentation

Qt/Embedded/Qtopia Platform

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Qt/Embedded/Qtopia Platform By Martin Jones Senior Software Engineer

  2. Qt/EmbeddedProvides • Windowing System • Device Input • Graphics • General Purpose Widgets • Utility Classes • Containers • Networking • IPC (QCop)

  3. Qt/EmbeddedWhat’s Missing? • Application/system configuration • Shared data access • Application launching • Syncing • High-level APIs • Specialized widgets • Hardware abstraction • Document handling

  4. Qtopia Platform • Basic Features • Application Behaviour • Utility Functions • High Level Widgets • PIM Data Access • Services • Data Linking • Hardware Abstraction • Launching • Syncing • Developers Application Qtopia Platform Qt/Embedded Linux Hardware

  5. 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.

  6. 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

  7. Qtopia PlatformApplication Behaviour • QPEApplication • Appearance • Widget Style • Colors • Window Borders • Fonts • Window management • Language translations • System-wide notifications • Time change, volume change, etc.

  8. 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

  9. Qtopia PlatformHigh Level Widgets • Date/time selection • QPETimeEdit, QPEDateEdit, QPEDateTimeEdit • Category selection/editing • CategorySelect, CategoryDialog • Document selection/properties • FileSelector • DocPropertiesDialog • Image selection • ImageSelector

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. Qtopia Phone Platform • Qt/Embedded Keypad Mode • Button Mapping • Widgets • Phone API • Home Screen • Dialer

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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.

  23. 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

  24. Qtopia Phone PlatformDialer • Basic dialing • Searching address book • Recent calls • Missed calls • Hold • Call information

  25. 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

  26. 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

  27. 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

More Related