KDE gears

KDevelop Designer Integration Support Library API Documentation

The KDevelop Designer Integration Support Library

Version CVS

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.
KDE Logo
This file is part of the documentation for KDevelop Designer Integration Support Library Version CVS.
Documentation copyright © 1998-2005 the KDevelop developers.
Generated on Sun Aug 28 00:31:33 2005 by doxygen 1.4.4-20050808 written by Dimitri van Heesch, © 1997-2005