App-SocialCalc-Multiplayer
view release on metacpan or search on metacpan
socialcalc/ssctrltest1.html view on Meta::CPAN
else {
spreadsheet.ExecuteCommand('recalc', '');
}
}
function doresize() {
spreadsheet.DoOnResize();
}
function doattribs() {
var attribs = spreadsheet.sheet.EncodeCellAttributes(spreadsheet.editor.ecell.coord);
var str = "";
for (var attrib in attribs) {
str += attrib + ":" + " def="+attribs[attrib].def+", val='"+attribs[attrib].val+"'\n";
}
str+="=====\n";
attribs = spreadsheet.sheet.EncodeSheetAttributes();
for (var attrib in attribs) {
str += attrib + ":" + " def="+attribs[attrib].def+", val='"+attribs[attrib].val+"'\n";
}
alert(str);
}
var fromrange = "A1:A1";
function newcopy() {
var ta, cell, position, sel, parseobj;
var spreadsheet = SocialCalc.GetSpreadsheetControlObject();
var editor = spreadsheet.editor;
ta = editor.pasteTextarea;
ta.value = "";
cell=SocialCalc.GetEditorCellElement(editor, editor.ecell.row, editor.ecell.col);
if (cell) {
position = SocialCalc.GetElementPosition(cell.element);
ta.style.left = (position.left-1)+"px";
ta.style.top = (position.top-1)+"px";
}
if (editor.range.hasrange) {
sel = SocialCalc.crToCoord(editor.range.left, editor.range.top)+
":"+SocialCalc.crToCoord(editor.range.right, editor.range.bottom);
}
else {
sel = editor.ecell.coord;
}
parseobj = new SocialCalc.Parse("copy "+sel+" all");
SocialCalc.ExecuteSheetCommand(editor.context.sheetobj, parseobj, true); // note: not queued!!!??!!
SocialCalc.Clipboard.clipboard.loadedByCtrlC = true; // remember this clipboard data was from ctrl-c
ta.value = SocialCalc.ConvertSaveToOtherFormat(SocialCalc.Clipboard.clipboard, "tab");
ta.style.display = "block";
ta.focus();
ta.select();
// var range = document.selection.createRange();
var range = window.getSelection().getRangeAt(0);
range.execCommand("copy");
window.setTimeout(function() {
var s = SocialCalc.GetSpreadsheetControlObject();
var editor = s.editor;
var ta = editor.pasteTextarea;
ta.style.display = "none";
}, 200);
return;
}
function dosum() {
var cmd, cell, row, col, sel, cr, foundvalue;
var spreadsheet = SocialCalc.GetSpreadsheetControlObject();
var editor = spreadsheet.editor;
var sheet = editor.context.sheetobj;
if (editor.range.hasrange) {
sel = SocialCalc.crToCoord(editor.range.left, editor.range.top)+
":"+SocialCalc.crToCoord(editor.range.right, editor.range.bottom);
cmd = "set "+SocialCalc.crToCoord(editor.range.right, editor.range.bottom+1)+
" formula sum("+sel+")";
}
else {
row = editor.ecell.row - 1;
col = editor.ecell.col;
if (row<=1) {
cmd = "set "+editor.ecell.coord+" constant e#REF! 0 #REF!";
}
else {
foundvalue = false;
while (row>0) {
cr = SocialCalc.crToCoord(col, row);
cell = sheet.GetAssuredCell(cr);
if (!cell.datatype || cell.datatype=="t") {
if (foundvalue) {
row++;
break;
}
}
else {
foundvalue = true;
}
row--;
}
cmd = "set "+editor.ecell.coord+" formula sum("+
SocialCalc.crToCoord(col,row)+":"+SocialCalc.crToCoord(col, editor.ecell.row-1)+")";
}
}
editor.EditorScheduleSheetCommands(cmd);
}
function dosum2() {
var cmd, cell, row, col, sel, cr, foundvalue;
var spreadsheet = SocialCalc.GetSpreadsheetControlObject();
var editor = spreadsheet.editor;
var sheet = editor.context.sheetobj;
( run in 1.939 second using v1.01-cache-2.11-cpan-39bf76dae61 )