~ubuntu-branches/debian/sid/kdevelop/sid

« back to all changes in this revision

Viewing changes to lib/interfaces/external/Mainpage.dox

  • Committer: Bazaar Package Importer
  • Author(s): Jeremy Lainé
  • Date: 2010-05-05 07:21:55 UTC
  • mfrom: (1.2.3 upstream) (5.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20100505072155-h78lx19pu04sbhtn
Tags: 4:4.0.0-2
* Upload to unstable (Closes: #579947, #481832).
* Acknowledge obsolete NMU fixes (Closes: #562410, #546961).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/**
2
 
@mainpage The %KInterfaceDesigner Library
3
 
 
4
 
This library contains all %KInterfaceDesigner classes and interfaces which form the core of 
5
 
GUI Designer integration framework.
6
 
 
7
 
<b>Link with</b>: -lkinterfacedesigner
8
 
 
9
 
<b>Include path</b>: -I\$(kde_includes)/kinterfacedesigner
10
 
 
11
 
\section designerintegration Overview of GUI designer integration process
12
 
Each KPart that wants to act as a GUI Designer must implement @ref KInterfaceDesigner::Designer
13
 
interface. It defines necessary signals to communicate with an IDE and abstract virtual
14
 
functions to determine designer type.
15
 
 
16
 
If a part which can "design" user interface files of a certain mimetype
17
 
implements this interface and sets itself as a default handler for that 
18
 
mimetype then it becomes automatically integrated into KDevelop IDE.
19
 
 
20
 
When a part is embedded into KDevelop shell, its signals (defined in @ref
21
 
KInterfaceDesigner::Designer interface):
22
 
@code
23
 
    void addedFunction(DesignerType type, const QString &formName, Function function)
24
 
    void removedFunction(DesignerType type, const QString &formName, Function function)
25
 
    void editedFunction(DesignerType type, const QString &formName, Function oldFunction, Function function)
26
 
    void editFunction(DesignerType type, const QString &formName, const QString &functionName)
27
 
    void editSource(DesignerType type, const QString &formName);
28
 
@endcode
29
 
are connected to corresponding slots of KDevelop designer integration engine which can be implemented in KDevelop language support plugin.
30
 
 
31
 
Each language support which wants to use integrated designer, must reimplement 
32
 
@code
33
 
virtual KDevDesignerIntegration *KDevLanguageSupport::designer(KInterfaceDesigner::DesignerType type)
34
 
@endcode
35
 
method and return designer integration object.
36
 
 
37
 
Convenience designer integration support library is available for programming language support
38
 
developers. With the convenience library writing %Qt designer integration for the language is a
39
 
trivial task.
40
 
 
41
 
 
42
 
\section kdevdesigner KDevelop Designer technical overview
43
 
KDevelop version >= 3.1 comes with a customized version (fork ;)) of %Qt Designer. It is called KDevelop Designer (KDevDesigner, kdevdesigner from the command line). KDevDesigner has some important differences:
44
 
- KDevDesigner provides a read/write KPart which can be embedded into any application which wants to edit .ui files. KDevelop IDE embeds KDevDesigner this way.
45
 
- KDevDesigner uses %KDE icons and dialogs and thus provides better integration with a system.
46
 
.
47
 
 
48
 
It is safe to preview forms with some %KDE widgets from kdeui and kio libraries - KDevDesigner part is linked to those libraries so it will not crash under some circumstances.
49
 
 
50
 
KDevDesigner will not create .ui.h files - this feature is completely disabled. Integrated KDevDesigner will use subclassing approach, standalone does not allow to enter code.
51
 
 
52
 
\section other Other information
53
 
 
54
 
@note It is technically possible to integrate not only %Qt Designer, but also, for example, Glade. Glade-3 can be compiled as a library and probably be embedded via XParts technology.
55
 
 
56
 
*/
57