mdi

Multi Document Interface  

(C) 2008-2017 Officina Turinil  

All Rights Reserved  

 

Introduction

 

What is mdi? Or maybe it's better ask why mdi! Who wrote applications knows that the effort for their drawing up involves a cost of time that is only partly determined by the implementation of' application itself, but there is a cost often very high for a variety of complementary functions necessary for maximum use of same. Just think of the need that may occur to integrate in the application capabilities of scripting, text editing, help and general interfacing just to mention a few of them.

 

mdi is container of applications that becomes the application itself when you run it! Even more: it can contemporaneously be two, three and more applications, just running them in mdi ambient! But also offers us an excellent support to the development of an application by focusing only on what we need and actually calling from mdi support functions we need.

 

Besides, if we realize our plugin making visible the methods that constitute it then our application also becomes library for other applications / libraries.

 

This is was one of the main objectives: to write applications that could be "viewed" as libraries from other applications.

Very simply: if I write a word processing application for mdi it can offer all its functions to another application ever written for mdi that requires some or all functions available.

mdi based on Qt 4, in fact all applications are written using this framework. It is however possible to the detriment of performance, write applications on javascript by the use of Jasper application always present within mdi.

 

If you want to try to  realize a plugin for mdi it must have the Qt ver> = 4.8.7 and Visual C 2010.

 

Within the collection of scripts there is one called projectBuild.js. If executed, it creates a project file and related source files.


1. Up till now mdi offers a complete management of system of windowing, with certification / desabling / automatic creation of specific toolbars for the application
2. Automatic management of the application's properties.
3. Automatic generation of the intrinsic help.
4. Capability of automatic scripting for every application created.
5. Possibility of date interchange between applications within mdi.
6. Viewing and printing of help (HTML).

 

How it works

 

mdi and the present applications communicate as follows:


mdi send commands to applications through the class ApplicationInterface and applications communicate with mdi and other applications using the class MdiInterface.

 

mdi

 

MdiInterface

 

ApplicationInterface

 

 

PLUGIN

 

 

PLUGIN

 

 

PLUGIN

 

 

PLUGIN

 

 

PLUGIN

 

 

PLUGIN

 

 

PLUGIN

 

 

When mdi starts, it goes to look for all libraries having the prefix mdiApp in the LIBS directory. Through the function ApplicationInit it creates the ApplicationInterface class  that it will use to dialogue with the application itself. The latter will instead gain access to the functions of mdi through MdiInterface class.
To get an idea of how the ApplicationInterface is implemented in an application see the TextEditor.

 

Detailed informations on mdi classes.

 

Aspect

Picture 1

On the picture above, it is shown how mdi appears when you download it from our website. Take into account this is is not the only way it can appear. In fact, the appearance changes a lot because it is strongly depending on the applications themselves.

Let describe it:

 

Picture 2