diff options
Diffstat (limited to 'languages/cpp/app_templates/kofficepart/kopart_part.cpp')
-rw-r--r-- | languages/cpp/app_templates/kofficepart/kopart_part.cpp | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/languages/cpp/app_templates/kofficepart/kopart_part.cpp b/languages/cpp/app_templates/kofficepart/kopart_part.cpp new file mode 100644 index 00000000..500179f3 --- /dev/null +++ b/languages/cpp/app_templates/kofficepart/kopart_part.cpp @@ -0,0 +1,69 @@ + +/* This template is based off of the KOffice example written by Torben Weis <[email protected] + It was converted to a KDevelop template by Ian Reinhart Geiser <[email protected]> +*/ + +#include "%{APPNAMELC}_part.h" +#include "%{APPNAMELC}_view.h" + +#include <qpainter.h> + +%{APPNAME}Part::%{APPNAME}Part( QWidget *parentWidget, const char *widgetName, QObject* parent, const char* name, bool singleViewMode ) + : KoDocument( parentWidget, widgetName, parent, name, singleViewMode ) +{ +} + +bool %{APPNAME}Part::initDoc( InitDocFlags flags, QWidget* parentWidget ) +{ + // If nothing is loaded, do initialize here + return TRUE; +} + +KoView* %{APPNAME}Part::createViewInstance( QWidget* parent, const char* name ) +{ + return new %{APPNAME}View( this, parent, name ); +} + +bool %{APPNAME}Part::loadOasis( const QDomDocument & doc, KoOasisStyles& oasisStyles, const QDomDocument & settings, KoStore* store ) +{ + /// @todo load the document using the OASIS format + return true; +} + +bool %{APPNAME}Part::loadXML( QIODevice *, const QDomDocument & ) +{ + /// @todo load the document from the QDomDocument + return true; +} + +QDomDocument %{APPNAME}Part::saveXML() +{ + /// @todo save the document into a QDomDocument + return QDomDocument(); +} + +bool %{APPNAME}Part::saveOasis( KoStore* store, KoXmlWriter* manifestWriter ) +{ + /// @todo save the document using the OASIS format + return true; +} + + +void %{APPNAME}Part::paintContent( QPainter& painter, const QRect& rect, bool /*transparent*/, + double /*zoomX*/, double /*zoomY*/ ) +{ + // ####### handle transparency + + // Need to draw only the document rectangle described in the parameter rect. + int left = rect.left() / 20; + int right = rect.right() / 20 + 1; + int top = rect.top() / 20; + int bottom = rect.bottom() / 20 + 1; + + for( int x = left; x < right; ++x ) + painter.drawLine( x * 20, top * 20, x * 20, bottom * 20 ); + for( int y = left; y < right; ++y ) + painter.drawLine( left * 20, y * 20, right * 20, y * 20 ); +} + +#include "%{APPNAMELC}_part.moc" |