Development/Tutorials/Plasma4/ApplicationShell
This page looks at the steps it takes to embed a Plasma shell inside of your application as a dashboard or summary page.
The Shell
The core of the dashboard's logic is in a KPart in kdebase-runtime, plasma-kpart. This KPart is loaded like any other ReadOnly KPart:
// this routine will find and load our Part. it finds the Part by // name which is a bad idea usually.. but it's alright in this // case since our Part is made for this Shell KService::Ptr service = KService::serviceByDesktopPath( "plasma-kpart.desktop" ); if (service) { // now that the Part is loaded, we cast it to a Part to get // our hands on it m_part = service->createInstance<KParts::ReadOnlyPart>(0, args); if (m_part) { // tell the KParts::MainWindow that this is indeed the main widget // If you have something better to do with the widget, this is where // you would do it. setCentralWidget(m_part->widget()); // and integrate the part's GUI with the shell's createGUI(m_part); } else { // For whatever reason the part didn't load KMessageBox::error(this, i18n("Could not instantiate our Part!")); qApp->quit(); } } else { // if we couldn't find our Part, we exit since the Shell by // itself can't do anything useful KMessageBox::error(this, i18n("Could not find our Part!")); qApp->quit(); // we return here, cause qApp->quit() only means "exit the // next time we enter the event loop... return; }