In this chapter we'll take a look at KTiny architecture show the developer how to add plugins, views, widgets in forms and lists and how to develop new applications using the KTiny components. So yes, we want KTiny to become, more than an application, an extensible development platform.
We're trying to add more comments to the source code, mainly in widgets and view interfaces and abstract classes, but also in other places. As always the source code is the most up to date documentation, and if you have any doubts you're encouraged to subscribe to the hackets mailing list at http://sf.net/projects/ktiny
First of all we'll introduce you the directory tree so you know where to look for things in the KTiny distribution.
doc. This directory contains the documentation in docbook format and the corresponding compiled html files.
man. Contains the man pages source files for KTiny
bin. Here is where the application code resides. Look a the next subsection for an in-depth explanation.
bin/options.py. Handles command line parameters and information stored on user .terprc file.
bin/rpc/rpc.py. Responsible for rpc communication.
bin/service.py. Base class and functions for providing local services.
bin/ktiny.py. Main application. This is where the program starts. Tryies to start up the DBUS sservice and shows the first dialogs.
bin/common. Contains utility classes and functions used in many places in the application.
bin/plugins. Contains the plugin mechanism and plugins are stored in subdirectories.
bin/l10n. Translation files.
bin/printer. Handles all printing related code, including opening the appropiate PDF viewers for each platform, etc.
bin/ui. Contains all (.ui files) used in the application and the common resource (common.rcc) file.
bin/ui/images. Contains all images that are included in the resource file.
bin/modules. Each subdirectory handles a different local service: action, gui and spool.
bin/modules/action. Handles the action local service. An action can be show a report, wizard or opening a new model screen (tab).