/**
* 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)
* @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;
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++) {
}
}
- 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; //
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] = [];
}
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>
-
},
/**
* @param {Number} width image height
*
*/
-
-
writeImage : function (row, col, data, width, height, type)
{
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;
},