The TDevelop Designer Integration Support Library
This library contains base classes to implement GUI designer integration in language support plugins.Link with: -ldesignerintegration
Include path: -I$(kde_includes)/languages/designer_integration
Using designer integration support library
Each language support which wants to use integrated designer, must reimplement
virtual KDevDesignerIntegration *KDevLanguageSupport::designer(KInterfaceDesigner::DesignerType type)
method and return designer integration object (KDevLanguageSupport base class returns 0).
Qt designer integration can be easily implemented by reusing QtDesignerIntegration base class.
For example, designer method of a language support could look like:
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;
In the code above m_designers is a designer cache declared as:
QMap<KInterfaceDesigner::DesignerType, KDevDesignerIntegration*> m_designers;
MyLanguageImplementationWidget and MyLanguageQtDesignerIntegration classes are subclasses of QtDesignerIntegration and ImplementationWidget base classes.