All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Examples and Plugins

Overview

Qtilities comes with a set of examples which demonstrates some of the features of the different modules. Alongside the set of examples, there is also a set of ready to use plugins. These plugins can be used in any application which uses the Qtilities Extension System. This page will give an overview of the available examples and plugins.

Table of contents:

examples_screenshots.jpg

First Steps

Overviews

Examples Overview

Qtilities provides the following examples which can all be built using the /src/Examples/QtilitiesExamples.pro project. Once you built the examples, you can run them directly. They are placed under the /bin/Examples output folder. Examples which demonstrate and use plugins (Object Management Example and Main Window Example) uses the multiple plugin paths feature of the Extension System module, thus they will automatically load the plugins from the /bin/Plugins folder which is the default output path of the src/Plugins/QtilitiesPlugins.pro project.

Examples:
Console Logging Example:

An example which demonstrates basic logging operations using the Logging Module. The example logs messages to different logger engines and demonstrates the output formats of the available formatting engines in the module.

The following modules are used:

Building Tree Structures Example:

An example which demonstrates basic tree building operations using the classes available in the Qtilities::CoreGui module. The example builds a simple tree structure and shows it in an Qtilities::CoreGui::ObserverWidget. The Building Trees page provides more details on the tree building classes available in Qtilities.

The following modules are used:

Object Management Example:

An example which allows the user to create new objects and build up a tree visually using a Qtilities::CoreGui::ObserverWidget widget as the front-end to a Qtilities::Core::Observer class.

The example uses all the Qtilities libraries and showcases many of the concepts and features found in the different modules, more specifically:

  • Uses the Qtilities main window architecture and shows how to add custom modes to the main window.
  • Uses different plugins alongside the Extension System module.
  • Demonstrates project management where the project item is the top level observer which the user can build a tree structure under.
  • Demonstrates logging capabilities of the Logging module, including priority logging.
  • Demonstrates action management and the configuration widget.
  • Demonstrates the full use of observer hints and using an observer widget to manage an observer context.
  • Loads the Qtilities debugging plugin which provides an overview of the internals of the Qtilities managers during runtime.

This example uses the following modules and plugins:

Clipboard Example:

The clipboard example demonstrates some of the more advanced features of the Qtilities::CoreGui::ObserverWidget class:

  • Demonstrates drag & drop operations between different observer widgets.
  • Demonstrates copy, cut & paste operations between different observer widgets using the Qtilities::CoreGui::ClipboardManager.
  • Demonstrates the use of global meta objects (see Global object activity management for more details).
  • Demonstrates saving and loading of individual observer widget settings.
  • Demonstrates the use of the navigation stack in observer widgets.
  • Demonstrates observer widget updating and activity tracking.

The following modules are used:

Main Window Example:

An example which allows the user to browse the file system and open files in the file system. The main goal of this example is to demonstrate the dynamic side widget concept of the Qtilities main window architecture. The example is almost the same as the Object Management Example in terms of action management, plugin management etc. The main difference is that a mode was added to the main window which demonstrates the use of dynamic side widgets. One thing that this plugin does as well is to show a splash window at startup providing progress messages from the extension system.

This example uses the following modules and plugins:

Observer Widget Example:

This example demonstrates how Qtilities::CoreGui::ObserverWidget widgets interact with observer hints and contains the code uses to generate the screenshots in the Observer Widgets article.

The following modules are used:

Exporting Example:

This example demonstrates how to use the Qtilities::Core::Interfaces::IExportable interface.

The following modules are used:

The Basics Example:

This example is discussed in the The Basics: A Simple Qtilities Application article.

The following modules are used:

Tasking Example:

This example demonstrates how to use the tasking funcationlity provided by Qtilities.

The following modules are used:

Plugins Overview

Qtilities provides the following plugins which can all be build using the /src/Plugins/QtilitiesPlugins.pro project. All these plugins uses a feature of the Qtilities Extension System which allows the plugins to be independent of the application they are used in. Thus they can be used in any Qtilities application if the following requirements are met:

Plugins:
Plugin Template:

A skeleton of plugins in the Extension System. Use this plugin as a starting point (template) when creating new plugins to be used with the Qtilities Extension System module.

Project Management Plugin:

The project management plugin can be used to add project management functionality to any application which contains objects implementing the Qtilities::ProjectManagement::IProjectItem interface which are registered in the global object pool.

The plugin will do the following when loaded:

  • Automatically register all project items found in the global object pool with the project manager.
  • The project management configuration page will be added to the global object pool.
  • Add project management actions to the application's File menu (see image below).
  • The name of the current project and its modification state will be added to your application's main window (see image below).
project_menu_items.jpg
Project Management Plugin Menu Items

Session Log Plugin:

The session log plugin can be used to add a ready to use session log mode to your application when you use the Qtilities main window architecture and the extension system module.

The plugin will do the following when loaded:

  • Add a logging mode to your application if you use the Qtilities::CoreGui::QtilitiesMainWindow widget as your main window.
  • Create three log dock widgets (see Qtilities::CoreGui::LoggerGui) for warnings, errors and all messages. These docks will be accessible through the logging mode in your application.
  • Add the logger configuration page to the global object pool.
  • Register the context of the session log mode.

Help Plugin:

The help plugin will add a mode to your application which allows you to view the qch files registered in the HELP_MANAGER (See Qtilities::CoreGui::QtilitiesApplication::helpManager() for more information). In addition, it will add a configuration page to the global object pool which will allow users to manage registered documentation.

Debug Plugin:

The debug plugin adds a debug mode to your application which provides debugging information at runtime. For more information see the Debugging Qtilities Applications article.



Qtilities : Reference Documentation Back to top Copyright © 2009-2013, Jaco Naudé