X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Pman.Gnumeric.js;h=b7d9387eb026581ac7206163dff746274fe268c5;hb=b64caf38087d75a51e47c9e3fbeb302682a830cb;hp=75b30bf046351a4104f63099305ce0034d883162;hpb=e809a6d5f38cce8b7771c63b5b2877204bd7f41f;p=Pman.Core diff --git a/Pman.Gnumeric.js b/Pman.Gnumeric.js index 75b30bf0..b7d9387e 100644 --- a/Pman.Gnumeric.js +++ b/Pman.Gnumeric.js @@ -1121,8 +1121,6 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, { }, - - /** * writeImage: * write an image (needs base64 data to write it) @@ -1197,7 +1195,7 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, { var hh2 = 0.99; var offset_str = ww + ' ' + hh + ' ' + ww2 + ' '+hh2; - //console.log(offset_str ); + //alert(offset_str); soi.setAttribute('ObjectOffset', offset_str); soi.setAttribute('ObjectAnchorType','16 16 16 16'); @@ -1227,12 +1225,91 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, { godoc.appendChild(goimage); + if (typeof(this.grid[row]) == 'undefined') { + this.grid[row] = []; + } + if (typeof(this.grid[row][col]) == 'undefined') { + this.createCell(row,col); + } + + this.grid[row][col].value= data; + this.grid[row][col].valueFormat = 'image'; + this.grid[row][col].imageType = type; + this.grid[row][col].width = width; + this.grid[row][col].height = height; + return true; //< /gnm:SheetObjectImage> // < /gnm:Objects> }, + /** + * writeFixedImageOld: + * write an image in old gnumberic format (needs base64 data to write it) + */ + writeFixedImageOld : function (startCol, startRow, endCol, endRow, type, data, width, height, size) + { + if (!data) { + throw "write Image called with missing data"; + } + + startCol = startCol * 1; + startRow = startRow * 1; + endCol = endCol * 1; + endRow = endRow * 1; + width = width * 1; + height = height * 1; + + var objs = this.sheet.getElementsByTagNameNS('*','Objects')[0]; + var soi = this.doc.createElementNS('http://www.gnumeric.org/v10.dtd', 'gnm:SheetObjectImage'); + + soi.setAttribute('ObjectBound',this.RCtoCell(startRow, startCol) + ':' + this.RCtoCell(endRow, endCol)); + + soi.setAttribute('ObjectOffset', '0 0 0 0'); + soi.setAttribute('ObjectAnchorType','16 16 16 16'); + soi.setAttribute('Direction','17'); + soi.setAttribute('crop-top','0.000000'); + soi.setAttribute('crop-bottom','0.000000'); + soi.setAttribute('crop-left','0.000000'); + soi.setAttribute('crop-right','0.000000'); + +// 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); + 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[startRow]) == 'undefined') { + this.grid[startRow] = []; + } + if (typeof(this.grid[startRow][startCol]) == 'undefined') { + this.createCell(startRow,startCol); + } + + this.grid[startRow][startCol].value= data; + this.grid[startRow][startCol].valueFormat = 'image'; + this.grid[startRow][startCol].imageType = type; + this.grid[startRow][startCol].width = width; + this.grid[startRow][startCol].height = height; + + return true; + }, + writeFixedImage : function (startCol, startRow, endCol, endRow, type, data, width, height) { if (!data) { @@ -1266,8 +1343,6 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, { soi.appendChild(content); objs.appendChild(soi); - Roo.log(name); - var godoc = this.doc.getElementsByTagNameNS('*','GODoc')[0]; var goimage = this.doc.createElement('GOImage'); @@ -1280,6 +1355,19 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, { godoc.appendChild(goimage); + if (typeof(this.grid[startRow]) == 'undefined') { + this.grid[startRow] = []; + } + if (typeof(this.grid[startRow][startCol]) == 'undefined') { + this.createCell(startRow,startCol); + } + + this.grid[startRow][startCol].value= data; + this.grid[startRow][startCol].valueFormat = 'image'; + this.grid[startRow][startCol].imageType = type; + this.grid[startRow][startCol].width = width; + this.grid[startRow][startCol].height = height; + return true; }, @@ -1471,6 +1559,23 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, { } + if(g.valueFormat == 'image') { + + out+=String.format('
', + g.colspan, g.rowspan, g.cls.join(' '), + 'overflow:hidden;' + + 'width:'+g.width+'px;' + + + 'text-overflow:ellipsis;' + + 'white-space:nowrap;', + g.imageType, + value, g.width, g.height + + ); + c+=(g.colspan-1); + continue; + } + out+=String.format('
{2}
', g.colspan, g.rowspan, value, 'overflow:hidden;' +