[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/kexi/shapes/relationdesign
From: Adam Pigg <adam () piggz ! co ! uk>
Date: 2009-08-10 21:04:28
Message-ID: 1249938268.213517.17079.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1009791 by piggz:
Added saving
M +1 -1 CMakeLists.txt
M +48 -0 kexirelationdesignshape.cpp
--- trunk/koffice/kexi/shapes/relationdesign/CMakeLists.txt #1009790:1009791
@@ -1,5 +1,5 @@
-include_directories( ${KOMAIN_INCLUDES} ${FLAKE_INCLUDES} )
+include_directories( ${KOMAIN_INCLUDES} ${FLAKE_INCLUDES} \
${CMAKE_SOURCE_DIR}/kexi/core ${CMAKE_SOURCE_DIR}/kexi/main \
${CMAKE_SOURCE_DIR}/kexi/kexidb)
set(kexirelationdesignshape_PART_SRCS
kexirelationdesignshape.cpp
--- trunk/koffice/kexi/shapes/relationdesign/kexirelationdesignshape.cpp \
#1009790:1009791 @@ -22,6 +22,8 @@
#include <kexidb/utils.h>
#include <kdebug.h>
#include <kexidb/queryschema.h>
+#include <KoXmlWriter.h>
+#include <KoShapeSavingContext.h>
KexiRelationDesignShape::KexiRelationDesignShape() {
m_connection = 0;
@@ -38,7 +40,53 @@
}
void KexiRelationDesignShape::saveOdf ( KoShapeSavingContext& context ) const {
+ KoXmlWriter& writer = context.xmlWriter();
+ writer.startElement("draw:frame");
+ saveOdfAttributes(context, OdfAllAttributes);
+
+ writer.startElement("kexirelation:shape");
+ writer.addAttribute("xmlns:kexirelation", "http://www.koffice.org/kexi");
+ writer.startElement("relation");
+ writer.addAttribute("database", m_database);
+ writer.addAttribute("relation", m_relation);
+ foreach(SimpleField* column, m_fieldData) {
+ writer.startElement("relation:column");
+ writer.addAttribute("name", column->name);
+ writer.addAttribute("type", column->type);
+ writer.addAttribute("primarykey", column->pkey);
+ writer.addAttribute("notnull", column->notnull);
+ writer.endElement();
+ }
+ writer.endElement(); //relation
+ writer.endElement(); //kexirelation:shape
+#if 0
+ // Save a preview image
+ qreal previewDPI = 150;
+ QSizeF imgSize = size(); // in points
+ imgSize *= previewDPI / 72;
+ QImage img(imgSize.toSize(), QImage::Format_ARGB32);
+ QPainter painter(&img);
+ painter.setRenderHint(QPainter::Antialiasing);
+ painter.setRenderHint(QPainter::TextAntialiasing);
+ KoZoomHandler converter;
+ converter.setZoomAndResolution(100, previewDPI, previewDPI);
+ constPaint(painter, converter);
+ writer.startElement("draw:image");
+ // In the spec, only the xlink:href attribute is marked as mandatory, cool :)
+ QString name = context.imageHref(img);
+ writer.addAttribute("xlink:type", "simple" );
+ writer.addAttribute("xlink:show", "embed" );
+ writer.addAttribute("xlink:actuate", "onLoad");
+ writer.addAttribute("xlink:href", name);
+ writer.endElement(); // draw:image
+
+ // TODO: Save a preview svg
+
+#endif
+ saveOdfCommonChildElements(context);
+ writer.endElement(); // draw:frame
+
}
bool KexiRelationDesignShape::loadOdf ( const KoXmlElement& element, \
KoShapeLoadingContext& context ) {
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic