diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 114a878c64ce6f8223cfd22d76a20eb16d177e5e (patch) | |
tree | acaf47eb0fa12142d3896416a69e74cbf5a72242 /languages/lib/designer_integration/Mainpage.dox | |
download | tdevelop-114a878c64ce6f8223cfd22d76a20eb16d177e5e.tar.gz tdevelop-114a878c64ce6f8223cfd22d76a20eb16d177e5e.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdevelop@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'languages/lib/designer_integration/Mainpage.dox')
-rw-r--r-- | languages/lib/designer_integration/Mainpage.dox | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/languages/lib/designer_integration/Mainpage.dox b/languages/lib/designer_integration/Mainpage.dox new file mode 100644 index 00000000..1f2db949 --- /dev/null +++ b/languages/lib/designer_integration/Mainpage.dox @@ -0,0 +1,48 @@ +/** +@mainpage The KDevelop Designer Integration Support Library + +This library contains base classes to implement GUI designer integration in language support plugins. + +<b>Link with</b>: -ldesignerintegration + +<b>Include path</b>: -I\$(kde_includes)/languages/designer_integration + +\section usingintegration Using designer integration support library +Each language support which wants to use integrated designer, must reimplement +@code +virtual KDevDesignerIntegration *KDevLanguageSupport::designer(KInterfaceDesigner::DesignerType type) +@endcode +method and return designer integration object (@ref KDevLanguageSupport base class returns 0). + +Qt designer integration can be easily implemented by reusing @ref QtDesignerIntegration +base class. + +For example, designer method of a language support could look like: +@code +KDevDesignerIntegration * MyLanguageSupportPart::designer(KInterfaceDesigner::DesignerType type) +{ + KDevDesignerIntegration *des = 0; + switch (type) + { + case KInterfaceDesigner::QtDesigner: + des = m_designers[type]; + if (des == 0) + { + MyLanguageImplementationWidget *impl = new MyLanguageImplementationWidget(this); + des = new MyLanguageQtDesignerIntegration(this, impl); + m_designers[type] = des; + } + break; + } + return des; +} +return des; +@endcode +In the code above m_designers is a designer cache declared as: +@code +QMap<KInterfaceDesigner::DesignerType, KDevDesignerIntegration*> m_designers; +@endcode +MyLanguageImplementationWidget and MyLanguageQtDesignerIntegration classes are subclasses +of @ref QtDesignerIntegration and @ref ImplementationWidget base classes. +*/ + |