mdi |
Multi Document Interface |
|
(C) 2008-2017 Officina Turinil |
||
All Rights Reserved |
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).
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 |
||||
|
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.
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
Undo: undo the last applied operation
Redo: Apply last cancelled operation
Cut: cut the selected text or image
Copy: it copies the selected text or image
Paste: it allows you to paste that you have copied
Properties: it shows the properties of the application
Close: close the selected window
Close all: close all the present windows
Tile: it arranges the present windows as mosaic tiles
Tile Horizontally: it arranges horizontally the present windows
Tile Vertically: it arranges vertically the present windows
Index: When desktop is empty it opens the index of the applications contained in mdi, else open the application related help
These menus recall specific functions of the applications or the management system of windows or help. The applications can add new pull-down menus and their documentation is on charge of who create them.