[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    koffice/filters/kspread/gnumeric
From:       Laurent Montel <montel () kde ! org>
Date:       2005-02-01 20:19:02
Message-ID: 20050201201902.892E21CFF8 () office ! kde ! org
[Download RAW message or body]

CVS commit by mlaurent: 

Export area name
TODO import area name


  M +64 -1     gnumericexport.cc   1.36
  M +1 -0      status.html   1.10


--- koffice/filters/kspread/gnumeric/gnumericexport.cc  #1.35:1.36
@@ -721,5 +721,5 @@ KoFilter::ConversionStatus GNUMERICExpor
     }
 
-    const KSpreadDoc* const ksdoc = (const KSpreadDoc* const)document;
+    KSpreadDoc* ksdoc = (KSpreadDoc*)document;
 
     if (ksdoc->mimeType() != "application/x-kspread")
@@ -791,4 +791,45 @@ KoFilter::ConversionStatus GNUMERICExpor
 
     /*
+     * Area Names
+     */
+    /*
+    <gmr:Names>
+    <gmr:Name>
+      <gmr:name>test</gmr:name>
+      <gmr:value>Sheet2!$A$2:$D$10</gmr:value>
+      <gmr:position>A1</gmr:position>
+    </gmr:Name>
+    <gmr:Name>
+      <gmr:name>voiture</gmr:name>
+      <gmr:value>Sheet2!$A$2:$D$8</gmr:value>
+      <gmr:position>A1</gmr:position>
+    </gmr:Name>
+  </gmr:Names>
+    */
+    if ( ksdoc->listArea().count()>0 )
+    {
+        QDomElement areaNames = gnumeric_doc.createElement("gmr:Names");
+        QValueList<Reference>::Iterator it;
+        QValueList<Reference>::Iterator itbegin;
+        QValueList<Reference> area =ksdoc->listArea();
+        itbegin=area.begin();
+        QValueList<Reference>::Iterator itend( area.end() );
+        for ( it = itbegin; it != itend; ++it )
+        {
+            QDomElement areaName = gnumeric_doc.createElement("gmr:Name");
+            QDomElement areaNameElement = gnumeric_doc.createElement("gmr:name");
+            areaNameElement.appendChild(gnumeric_doc.createTextNode(( *it \
).ref_name) ); +            areaName.appendChild( areaNameElement );
+            QDomElement areaNameValue = gnumeric_doc.createElement("gmr:value");
+            areaNameValue.appendChild(gnumeric_doc.createTextNode( \
convertRefToRange( ( *it ).table_name, ( *it ).rect )  ) ); +            \
areaName.appendChild( areaNameValue ); +            areaNames.appendChild( areaName \
); +            //TODO <gmr:position>A1</gmr:position> I don't know what is it.
+        }
+        workbook.appendChild(areaNames);
+    }
+
+
+    /*
      * Sheets
      */
@@ -1181,3 +1222,25 @@ KoFilter::ConversionStatus GNUMERICExpor
 
 
+QString convertRefToRange( const QString & table, const QRect & rect )
+{
+  QPoint topLeft( rect.topLeft() );
+  QPoint bottomRight( rect.bottomRight() );
+#if 0
+  if ( topLeft == bottomRight )
+    return convertRefToBase( table, rect );
+#endif
+  QString s;
+  s += table;
+  s += "!$";
+  s += KSpreadCell::columnName( topLeft.x() );
+  s += '$';
+  s += QString::number( topLeft.y() );
+  s += ":$";
+  s += KSpreadCell::columnName( bottomRight.x() );
+  s += '$';
+  s += QString::number( bottomRight.y() );
+
+  return s;
+}
+
 #include <gnumericexport.moc>

--- koffice/filters/kspread/gnumeric/status.html  #1.9:1.10
@@ -207,4 +207,5 @@
 <br>Selected Tab
 <br>Paper layout
+<br>area name
 <br>Document Information
 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Author


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic