DataObjects/Core_notify.php
[Pman.Core] / Pman.Gnumeric.js
index f8ff725..953d66a 100644 (file)
@@ -532,7 +532,7 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
         //Roo.log( cs.r+ ',' + cs.c + ' = '+ v);
         // need to generate clell if it doe
         if (typeof(this.grid[cs.r]) == 'undefined') {
-            Roo.log('no row:' + cell);
+            //Roo.log('no row:' + cell);
             this.grid[cs.r] = []; // create a row..
             //return;
         }
@@ -712,26 +712,37 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
     {
         // read the first row.
         var tds = Roo.get(table).select('tr').item(0).select('td');
-        var nc = 0;
-        tds.each(function(td) {
-            var cs = td.dom.getAttribute('colspan');
-            cs = cs ? cs * 1 : 1;
-            nc += cs;
+        var maxnc = 0
+        
+        Roo.get(table).select('tr').each(function(trs) {
+            var nc = 0;
+           
+            trs.select('td').each(function(td) {
+                var cs = td.dom.getAttribute('colspan');
+                cs = cs ? cs * 1 : 1;
+                nc += cs;
+            });
+            maxnc = Math.max(nc, maxnc);
         });
+        
         var tr = document.createElement('tr');
         table.appendChild(tr);
         var ar = {}
-        for (i =0; i < nc; i++) {
+        for (i =0; i < maxnc; i++) {
             ar[i] = document.createElement('td');
             tr.appendChild(ar[i]);
         }
         // find the left.
-        var ret = { cols : nc, pos : {} };
-        for (i =0; i < nc; i++) {
+        var ret = { cols : maxnc, pos : {} };
+        for (i =0; i < maxnc; i++) {
             ret.pos[ Roo.get(ar[i]).getLeft()] =i;
         }
         ret.near = function(p) {
             // which one is nearest..
+            
+            if (this.pos[p]) {
+                return this.pos[p];
+            }
             var prox = 100000;
             var match = 0;
             for(var i in this.pos) {
@@ -818,7 +829,7 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
                 var rowspan = cols[col].getAttribute('rowspan');
                 rowspan = rowspan ? rowspan * 1 : 1;
                 
-                var realcol = table_data.pos[ Roo.get(cols[col]).getLeft() ];
+                var realcol = table_data.near( Roo.get(cols[col]).getLeft() );
                 
                 
                 
@@ -929,7 +940,7 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
             var rcs = [];
             ar = ar.slice(0,3);
             Roo.each(ar, function(c) { 
-                rcs.push((c*256).toString(16)) ; 
+                rcs.push((c*c).toString(16)) ;   
             });
             return rcs.join(':');
             
@@ -946,14 +957,15 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
             
             'color': function(ent,v) { 
                 ent['Fore'] = toCol(v);
-            },
-            'background-color' : function(ent,v) { 
-                ent['Back'] = toCol(v);
-                if (ent['Back'] != '0:0:0') {
+                // this is a bit dumb.. we assume that if it's not black text, then it's shaded..
+                if (ent['Fore'] != '0:0:0') {
                     ent['Shade'] = 1;
                 }
                 
-                
+            },
+            'background-color' : function(ent,v) { 
+                ent['Back'] = toCol(v);
+                 
             }
             
         }
@@ -1212,7 +1224,7 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
             this.sheet.insertBefore(merges,sl);
         } else {
             merges = merges[0];
-           }
+        }
         merges.appendChild(cell);
     
     },