Clone wiki

tide / Home

Welcome

tide is a light-weight application framework based on the plugin framework Hydra from RemObjects and the WinForms controls from DevExpress (not to be confused with DevExpress’s own XAF, which is a full blown application scaffolding and ORM framework).

Goals

  • The framework should make it very easy to expose the features of the DevExpress controls – runtime grid customization, runtime layout customization, theme and skin changes
  • The framework should be very loose, allowing pretty much any type of application to be built (adhering to a few UI guidelines and paradigms)
  • The framework should still allow for a high degree of integration between the plugins themselves and between the plugins and host
  • The plugins and host should be capable of being designed using the native designers (eg. using the DevExpress designers to design toolbars, ribbons, etc. rather than some other “description” that gets passed to the host and merged into the UI)
  • The framework should be very light – as little code and as well written as possible to get things done

Usage

The project currently of a host executable and a couple of assemblies. The host doesn’t really do much of anything except display a form. Using Hydra visual and non-visual plugins, the host can be expanded with plugins for branding (company name, application name, etc.), plugins for displaying individual pages of options within the host’s settings dialog, plugins for displaying browse screens and details screens, generic dockable windows, and more.

Features

tide.Northwind.medium.png

  • The Ribbon control from DevExpress – design Ribbon control in the plugins and have them merged automatically into a single ribbon at runtime in the host
  • The NavBar control from DevExpress – as with the Ribbon, design the NavBar controls and groups within the plugins at design-time and they are merged automatically into the host’s NavBar at runtime
  • The DX Ribbon StatusBar – design the StatusBar right on the plugin’s design surface and the StatusBar items are merged into the host’s StatusBar at runtime
  • XtraPrinting – return a printable object from your plugin and the host automatically supports printing that object, along with exporting to HTML, PDF, XLS, and more (available from the Ribbon application menu)
  • XtraBars Docking – visual plugins can be automatically hosted in the application as dockable windows (with customized position, caption, image, etc)
  • XtraGrid support – grid layouts are automatically saved to, and restored from, XML at runtime
  • Support for XtraLayout – layout controls parents on visual plugins automatically have their layouts saved to, and restored from, XML
  • Automatic spell checking with XtraSpellChecker – edit controls within plugins automatically get spell-checking support
  • Capable of loading Delphi plugins – by using Hydra, the host application is able to host both visual and non-visual plugins written in Delphi as well (and the DevExpress VCL components are there to give a matching look and feel)

Example

The source ships with example plugins based on the Northwind database, which can be downloaded from various sources online.

There are articles available online that walk through the steps of creating the Northwind example: 1, 2, 3, 4

Updated