Tiitoo App Widgets

Tiitoo App Widgets are developed using the WeTab SDK, which consists of a set of Qt based C++ headers. All Tiitoo App Widgets have to implement a minimum common set of functionality in order to be recognized as a widget by the pinboard. This is done by using the header files of the WeTab SDK.

Development Environment

Download and install the Virtual Machine. Check out the Downloads and HowTos Page for the installation guide.

Required RPM Packages

The following packages has to be installed and in an up-to-date state.

tiitoo-widgetsdk
tiitoo-widgetsdk-devel
tiitoo-widgetsdk-utils
tiitoo-widgetsdk-utils-devel
tiitoo-qtcreator-wizard
tiitoo-pinnwandev

Installing Qt Creator 2.0

You need to make sure that QtCreator 2.0 or a newer Version is installed on the development virtual machine. If not, it can be downloaded from http://repo.meego.com/MeeGo/releases/1.1/core/repos/ia32/packages/i586/qt-creator-2.0.1-1.30.i586.rpm.

Testing

The RPM package “tiitoo-pinnwandev” installs a quite basic pinboard emulator on your virtual machine, which you can use to test your widgets. Once you built your widget project and generated the plugin shared object file (e.g. libwikipedia.so), you need to run the emulator and provide the shared object path as program argument.

# tiitoo-pinnwandev /usr/lib/tiitoo/apps/4tiitoo-wikipedia/libwikipedia.so

API Overview

Tiitoo App Widgets are implemented as Qt Plugins and the WeTab API provides a public interface for plugin developers.

You can download the WeTab API Documentation as Doxygen output here.

TTWidgetPlugin

The WeTab pinboard uses Qt”™s plugin mechnanism to integrate widget applications, thus every Tiitoo App Widget has to implement a TTWidgetPlugin instance. A TTWidgetPlugin is the main entry point for the application and is responsible for creating the main widget (TTMainWidget).

TTWidget

TTWidget is an abstract class representing a graphical item to be placed on the pinboard. It is a QGraphicsWidget clipped according to its actual size and embedded into the pinboard. A TTWidget has one active size, which defines the number of grid cells to be allocated on the pinboard, however each Ttwidget might have different available sizes and it can switch between them in runtime. Size changes are of course controlled by the pinboard and only allowed if there is enough space to allocate according to widget”™s actual position and grid allocation matrix. A TTWidget has furthermore a direct reference to the TTWidgetSpace which is a proxy for the pinboard for accessing certain properties and notifying the pinboard of certain application events.

TTMainWidget

Every Tiitoo App Widget must have one and only one TTMainWidget. It will be initialized and returned by the TTWidgetPlugin”™s createMainWidget method. A TTMainWidget may produce children of type TTChildWidget type to be placed on the pinboard as well.

TTChildWidget

A TTChildWidget is produced by a main widget and is a graphical item on the pinboard. In ideal case, child widgets should not implement complex business logic and should be responsible for displaying information to the user.

TTWidgetSpace

TTWidgetSpace is the proxy for the pinboard.