@qooxdoo/framework
Version:
The JS Framework for Coders
81 lines (64 loc) • 1.94 kB
JavaScript
/* ************************************************************************
qooxdoo - the new era of web development
http://qooxdoo.org
Copyright:
2004-2009 1&1 Internet AG, Germany, http://www.1und1.de
License:
MIT: https://opensource.org/licenses/MIT
See the LICENSE file in the project's top-level directory for details.
Authors:
* Fabian Jakobs (fjakobs)
* Jonathan Weiß (jonathan_rass)
************************************************************************ */
/**
* EXPERIMENTAL!
*
* Cell selection manager
*/
qx.Class.define("qx.ui.virtual.selection.CellLines",
{
extend : qx.ui.virtual.selection.CellRectangle,
/*
*****************************************************************************
MEMBERS
*****************************************************************************
*/
members :
{
/*
---------------------------------------------------------------------------
IMPLEMENT ABSTRACT METHODS
---------------------------------------------------------------------------
*/
// overridden
_getSelectableRange : function(item1, item2)
{
var selectables = [];
var columnCount = this._pane.getColumnConfig().getItemCount();
if (
item1.row < item2.row ||
item1.row == item2.row && item1.column < item2.column
)
{
var start = item1.row * columnCount + item1.column;
var end = item2.row * columnCount + item2.column;
}
else
{
var start = item2.row * columnCount + item2.column;
var end = item1.row * columnCount + item1.column;
}
for (var i=start; i<=end; i++)
{
var cell = {
row: Math.floor(i/columnCount),
column: i % columnCount
};
if (this._isSelectable(cell)) {
selectables.push(cell);
}
}
return selectables;
}
}
});