• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • KDevelop Generic Shell
 

KDevelop Generic Shell

The TDevelop Generic Shell

This library contains the Shell - a profile-based implementation of TDevelop plugin architecture.Link with: -lkdevshell

Include path: -I$(kde_includes)/tdevelop/shell

Creating an application using generic shell

TDevelop platform applications can use generic shell as a ready to use implementation of TDevelop plugin architecture.

This is done by creating application main.cpp file and ShellExtension subclass. Example:

  • main.cpp for "myapp" application:
    #include <config.h>
    #include <tdeaboutdata.h>
    #include <tdeapplication.h>
    #include <tdecmdlineargs.h>
    #include <tdelocale.h>
    #include <dcopclient.h>
    #include <splashscreen.h>
    #include <toplevel.h>
    #include <plugincontroller.h>
    #include <partcontroller.h>
    #include <core.h>
    #include <projectmanager.h>
    #include <newmainwindow.h>
    #include "myappextension.h"
    static TDECmdLineOptions options[] =
    {
    { "profile <profile>", I18N_NOOP("Profile to load"), 0 },
    { 0,0,0 }
    };
    int main(int argc, char *argv[])
    {
    static const char description[] = I18N_NOOP("My Application");
    TDEAboutData aboutData("myapp", I18N_NOOP("My Application"),
    VERSION, description, TDEAboutData::License_GPL,
    I18N_NOOP("(c) 1999-2004, MyApp developers"),
    "", "http://www.myapp.org");
    aboutData.addAuthor("Me", I18N_NOOP("Creator"), "me@myapp.org");
    TDECmdLineArgs::init(argc, argv, &aboutData);
    TDECmdLineArgs::addCmdLineOptions( options );
    TDEApplication app;
    MyAppExtension::init();
    QPixmap pm;
    pm.load(locate("data", "myapp/pics/myapp-splash.png"));
    SplashScreen * splash = new SplashScreen( pm );
    splash->show();
    app.processEvents();
    QObject::connect(PluginController::getInstance(), SIGNAL(loadingPlugin(const QString &)),
    splash, SLOT(showMessage(const QString &)));
    splash->message( i18n( "Loading Settings" ) );
    TopLevel::getInstance()->loadSettings();
    PluginController::getInstance()->loadInitialPlugins();
    splash->message( i18n( "Starting GUI" ) );
    NewMainWindow *mw = dynamic_cast<NewMainWindow*>(TopLevel::getInstance()->main());
    if (mw)
    mw->enableShow();
    TopLevel::getInstance()->main()->show();
    Core::getInstance()->doEmitCoreInitialized();
    delete splash;
    kapp->dcopClient()->registerAs("myapp");
    return app.exec();
    }
  • Shell extension for "myapp" application:
    class MyAppExtension: public ShellExtension {
    public:
    static void init()
    {
    s_instance = new MyAppExtension();
    }
    virtual void createGlobalSettingsPage(KDialogBase */*dlg*/) {};
    virtual void acceptGlobalSettingsPage(KDialogBase */*dlg*/) {};
    virtual QString xmlFile()
    {
    return "myappui.rc";
    }
    virtual QString defaultProfile()
    {
    return "MyApp";
    }
    protected:
    KDevAssistantExtension();
    };

KDevelop Generic Shell

Skip menu "KDevelop Generic Shell"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

KDevelop Generic Shell

Skip menu "KDevelop Generic Shell"
  • buildtools
  •   lib
  •     base
  •     parsers
  •       autotools
  •       qmake
  •     widgets
  •   api
  • languages
  •   lib
  •     debugger
  •     designer_integration
  •     interfaces
  • lib
  •   catalog
  •   interfaces
  •     extensions
  •     external
  •     extras
  •   util
  •   widgets
  •     propeditor
  • parts
  •   documentation
  •     interfaces
  • src
  •   profileengine
  •     lib
Generated for KDevelop Generic Shell by doxygen 1.8.13
This website is maintained by Timothy Pearson.