Pman.Gnumeric.js
[Pman.Core] / Pman.Gnumeric.js
index fa28155..2574bd2 100644 (file)
@@ -1123,7 +1123,7 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
     
     /**
      * writeImageOld:
-     * write an image (needs base64 data to write it)
+     * write an image in old gnumberic format (needs base64 data to write it)
      * 
      * 
      * @param {Number} row  row to put it in (rows start at 0)
@@ -1133,17 +1133,13 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
      * @param {Number} width image height
      * 
      */
-    
-    
-    writeImageOld : function (row, col, data, width, height, type) 
+    writeImageOld : function (row, col, data, width, height, type, size) 
     {
         
         if (!data) {
             throw "write Image called with missing data";
         }
-        // our default height width is 50/50 ?!
-        //console.log('w='+width+',height='+height);
-                //        <gmr:Objects>
+        
         row*=1;
         col*=1;
         height*=1;
@@ -1151,27 +1147,6 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
         var objs = this.sheet.getElementsByTagNameNS('*','Objects')[0];
         var soi = this.doc.createElementNS('http://www.gnumeric.org/v10.dtd', 'gnm:SheetObjectImage');
         
-        //<gmr:SheetObjectImage 
-        //      ObjectBound="A3:J8" 
-        //      ObjectOffset="0.375 0.882 0.391 0.294" 
-        //      ObjectAnchorType="16 16 16 16" 
-        //      Direction="17" 
-        //      crop-top="0.000000" 
-        //      crop-bottom="0.000000" 
-        //      crop-left="0.000000" 
-        //      crop-right="0.000000">
-                
-                
-        //alert(gnumeric_colRowToName(row,col));
-               
-        // this is where we really have fun!!!... 
-        // since our design currently assumes the height is enough to fit
-        // stuff in, we only really need to work out how wide it has to be..
-        
-        // note we should probably use centralized calcs if it fits in the first cell!
-        
-        // step 1 - work out how many columns it will span..
-        // lets hope the spreadsheet is big enought..
         var colwidth = 0;
         var endcol=col;
         for ( endcol=col;endcol <100; endcol++) {
@@ -1184,9 +1159,7 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
             }
         }
         
-        soi.setAttribute('ObjectBound',
-            //gnumeric_colRowToName(row,col) + ':' + gnumeric_colRowToName(row+1,col+1));
-            this.RCtoCell(row,col) + ':' + this.RCtoCell(row,endcol));
+        soi.setAttribute('ObjectBound', this.RCtoCell(row,col) + ':' + this.RCtoCell(row,endcol));
      
         var ww = 0.01; // offset a bit...
         var hh = 0.01; //
@@ -1204,27 +1177,13 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
         soi.setAttribute('crop-bottom','0.000000');
         soi.setAttribute('crop-left','0.000000');
         soi.setAttribute('crop-right','0.000000');
-                // <Content image-type="jpeg" size-bytes="3900">......  < / Content>
-                
-        var name = 'Image' + Math.random().toString(36).substring(2);
+        
         var content = this.doc.createElement('Content');
         content.setAttribute('image-type', type ? type : 'jpeg');
-        content.setAttribute('name', name);
+        content.setAttribute('size-bytes', size);
         soi.appendChild(content);
         objs.appendChild(soi);
         
-        var godoc = this.doc.getElementsByTagNameNS('*','GODoc')[0];
-        
-        var goimage = this.doc.createElement('GOImage');
-        goimage.setAttribute('image-type', type ? type : 'jpeg');
-        goimage.setAttribute('name', name);
-        goimage.setAttribute('type', 'GOPixbuf');
-        goimage.setAttribute('width', width);
-        goimage.setAttribute('height', height);
-        goimage.textContent = data;
-        
-        godoc.appendChild(goimage);
-        
         if (typeof(this.grid[row]) == 'undefined') {
             this.grid[row] = [];
         }
@@ -1238,10 +1197,13 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
         this.grid[row][col].width = width;
         this.grid[row][col].height = height;
         
+        var godoc = this.doc.getElementsByTagNameNS('*','GODoc')[0];
+        
+        if(godoc && godoc.parentNode) {
+            godoc.parentNode.removeChild(godoc);
+        }
+        
         return true;
-                //< /gnm:SheetObjectImage>
-                // < /gnm:Objects>
-
     },
     
     /**
@@ -1256,8 +1218,6 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
      * @param {Number} width image height
      * 
      */
-    
-    
     writeImage : function (row, col, data, width, height, type) 
     {
         
@@ -1417,6 +1377,12 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
         this.grid[startRow][startCol].width = width;
         this.grid[startRow][startCol].height = height;
         
+        var godoc = this.doc.getElementsByTagNameNS('*','GODoc')[0];
+        
+        if(godoc && godoc.parentNode) {
+            godoc.parentNode.removeChild(godoc);
+        }
+        
         return true;
     },