diff options
Diffstat (limited to 'languages/cpp/app_templates/kscons_kmdi/appkmdiView.cpp')
-rw-r--r-- | languages/cpp/app_templates/kscons_kmdi/appkmdiView.cpp | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/languages/cpp/app_templates/kscons_kmdi/appkmdiView.cpp b/languages/cpp/app_templates/kscons_kmdi/appkmdiView.cpp new file mode 100644 index 00000000..c4cfbf65 --- /dev/null +++ b/languages/cpp/app_templates/kscons_kmdi/appkmdiView.cpp @@ -0,0 +1,63 @@ +%{CPP_TEMPLATE} + +#include <qpixmap.h> +#include <qlayout.h> + +#include <kiconloader.h> +#include <klocale.h> +#include <kmdichildview.h> +#include <kdebug.h> +#include <klibloader.h> +#include <kmessagebox.h> + +#include "%{APPNAMELC}kmdiView.h" + + + %{APPNAMELC}kmdiView::%{APPNAMELC}kmdiView( QWidget *parentWidget, const char *name ) +: KMdiChildView( parentWidget, name ) +{ + m_part = NULL; + + // 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 + KLibFactory *factory = KLibLoader::self()->factory("lib%{APPNAMELC}part"); + //KLibFactory *factory = KLibLoader::self()->factory("libkatepart"); + if (factory) + { + // now that the Part is loaded, we cast it to a Part to get + // our hands on it + m_part = static_cast<KParts::ReadWritePart *>(factory->create( + this, "katepart", "KParts::ReadWritePart" )); + + if (m_part) + { + part()->widget()->setFocus(); + setFocusProxy(part()->widget()); + + QBoxLayout* layout = new QHBoxLayout(this, 0, -1, "kdissertviewlayout" ); + part()->widget()->reparent( this, QPoint(0, 0) ); + layout->addWidget( part()->widget() ); + + // connect( m_part, SIGNAL(stateChanged()), this, SLOT(updateCaption()) ); + } + else + { + KMessageBox::error(this, i18n("Could not find our part.")); + } + } + 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.")); + return; + } +} + +%{APPNAMELC}kmdiView::~%{APPNAMELC}kmdiView() +{ + delete m_part->widget(); +} + +#include "%{APPNAMELC}kmdiView.moc" |