summaryrefslogtreecommitdiff
path: root/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/ui/listview/Header.js
diff options
context:
space:
mode:
Diffstat (limited to 'webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/ui/listview/Header.js')
-rw-r--r--webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/ui/listview/Header.js294
1 files changed, 0 insertions, 294 deletions
diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/ui/listview/Header.js b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/ui/listview/Header.js
deleted file mode 100644
index 5d11d5bdc0..0000000000
--- a/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/ui/listview/Header.js
+++ /dev/null
@@ -1,294 +0,0 @@
-/* ************************************************************************
-
- qooxdoo - the new era of web development
-
- http://qooxdoo.org
-
- Copyright:
- 2004-2006 by 1&1 Internet AG, Germany, http://www.1and1.org
-
- License:
- LGPL 2.1: http://www.gnu.org/licenses/lgpl.html
-
- Authors:
- * Sebastian Werner (wpbasti)
- * Andreas Ecker (ecker)
-
-************************************************************************ */
-
-/* ************************************************************************
-
-#module(ui_listview)
-
-************************************************************************ */
-
-qx.OO.defineClass("qx.ui.listview.Header", qx.ui.layout.HorizontalBoxLayout,
-function(vColumns)
-{
- qx.ui.layout.HorizontalBoxLayout.call(this);
-
- // This fixes the innerWidth calculation difference between the grid(pane) and the head.
- this.setPaddingRight(qx.ui.core.Widget.SCROLLBAR_SIZE);
-
-
- // ************************************************************************
- // STORE REFERENCE TO CONFIG ENTRY
- // ************************************************************************
- this._columns = vColumns;
-
-
- // ************************************************************************
- // CREATE HEADER CELLS
- // ************************************************************************
- var vHeadCell, vHeadSeparator;
-
- for (var vCol in vColumns)
- {
- vHeadCell = new qx.ui.listview.HeaderCell(vColumns[vCol], vCol);
- vHeadSeparator = new qx.ui.listview.HeaderSeparator;
-
- this.add(vHeadCell, vHeadSeparator);
-
- if (vColumns[vCol].align) {
- vHeadCell.setHorizontalChildrenAlign(vColumns[vCol].align);
-
- if (vColumns[vCol].align == "right") {
- vHeadCell.setReverseChildrenOrder(true);
- }
- }
-
- // store some additional data
- vColumns[vCol].contentClass = qx.OO.classes["qx.ui.listview.ContentCell" + qx.lang.String.toFirstUp(vColumns[vCol].type || "text")];
- vColumns[vCol].headerCell = vHeadCell;
- }
-
-
- // ************************************************************************
- // ADD EVENT LISTENERS
- // ************************************************************************
- this.addEventListener("mousemove", this._onmousemove);
- this.addEventListener("mousedown", this._onmousedown);
- this.addEventListener("mouseup", this._onmouseup);
- this.addEventListener("mouseout", this._onmouseout);
-});
-
-qx.OO.changeProperty({ name : "appearance", type : "string", defaultValue : "list-view-header" });
-
-
-
-/*
----------------------------------------------------------------------------
- RESIZE SYNC
----------------------------------------------------------------------------
-*/
-
-qx.Proto._syncColumnWidth = function(vWidth)
-{
- var vChildren = this.getChildren();
- var vColumn = Math.ceil(vChildren.indexOf(this._resizeCell) / 2);
-
- this.getParent().getPane().setColumnWidth(vColumn, vWidth);
-}
-
-qx.Proto._syncResizeLine = function()
-{
- qx.ui.core.Widget.flushGlobalQueues();
-
- var vParent = this.getParent();
- var vLine = vParent.getResizeLine();
- var vLeft = qx.dom.Location.getPageBoxLeft(this._resizeSeparator.getElement()) - qx.dom.Location.getPageInnerLeft(this.getElement());
- var vTop = qx.dom.Dimension.getBoxHeight(vParent.getHeader().getElement());
- var vHeight = qx.dom.Dimension.getBoxHeight(vParent.getElement()) - vTop;
-
- vLine._applyRuntimeTop(vTop);
- vLine._applyRuntimeHeight(vHeight);
- vLine._applyRuntimeLeft(vLeft);
-
- vLine.removeStyleProperty("visibility");
-}
-
-
-
-
-/*
----------------------------------------------------------------------------
- EVENT HANDLER
----------------------------------------------------------------------------
-*/
-
-qx.Proto._mshtml = qx.sys.Client.getInstance().isMshtml();
-
-qx.Proto._onmousemove = function(e)
-{
- if (!this.getParent().getResizable()) {
- return;
- }
-
- if (this._resizingActive)
- {
- // Slow down mshtml a bit
- if (this._mshtml)
- {
- if ((new Date).valueOf() - this._last < 50) {
- return;
- }
-
- this._last = (new Date).valueOf();
- }
-
- var vNewLeft = e.getPageX();
- var vSizeDiff = vNewLeft - this._resizeStart;
- var vCell = this._resizeCell;
-
- vCell.setWidth(Math.max(4, vCell.getWidth() + vSizeDiff));
- this._resizeStart = vNewLeft;
-
- if (this.getParent().getLiveResize())
- {
- this._syncColumnWidth(vCell._computeBoxWidth());
- }
- else
- {
- this._syncResizeLine();
- }
- }
- else
- {
- var vTarget = e.getTarget();
- var vEventPos = e.getPageX();
- var vTargetPosLeft = qx.dom.Location.getPageBoxLeft(vTarget.getElement());
- var vTargetPosRight = vTargetPosLeft + qx.dom.Dimension.getBoxWidth(vTarget.getElement());
-
- var vResizeCursor = false;
- var vResizeSeparator = null;
-
- if (vTarget instanceof qx.ui.listview.HeaderSeparator)
- {
- vResizeCursor = true;
- vResizeSeparator = vTarget;
- }
- else if ((vEventPos - vTargetPosLeft) <= 10)
- {
- // Ignore first column
- if (!vTarget.isFirstChild())
- {
- vResizeCursor = true;
- vResizeSeparator = vTarget.getPreviousSibling();
- }
- }
- else if ((vTargetPosRight - vEventPos) <= 10)
- {
- vResizeCursor = true;
- vResizeSeparator = vTarget.getNextSibling();
- }
-
- if (!(vResizeSeparator instanceof qx.ui.listview.HeaderSeparator))
- {
- vResizeSeparator = vTarget = vResizeCursor = null;
- }
-
- // Check if child is marked as resizable
- else if (vResizeSeparator)
- {
- var vResizeCell = vResizeSeparator.getPreviousSibling();
-
- if (vResizeCell && (vResizeCell._computedWidthTypePercent || vResizeCell._config.resizable == false)) {
- vResizeSeparator = vTarget = vResizeCursor = null;
- }
- }
-
- // Apply global cursor
- this.getTopLevelWidget().setGlobalCursor(vResizeCursor ? "e-resize" : null);
-
- // Store data for mousedown
- this._resizeSeparator = vResizeSeparator;
- this._resizeTarget = vTarget;
- }
-}
-
-qx.Proto._onmousedown = function(e)
-{
- if (!this._resizeSeparator) {
- return;
- }
-
- this._resizingActive = true;
- this._resizeStart = e.getPageX();
- this._resizeCell = this._resizeSeparator.getPreviousSibling();
-
- if (!this.getParent().getLiveResize()) {
- this._syncResizeLine();
- }
-
- this.setCapture(true);
-}
-
-qx.Proto._onmouseup = function(e)
-{
- if (!this._resizingActive) {
- return;
- }
-
- this._syncColumnWidth(this._resizeCell.getBoxWidth());
-
- this.setCapture(false);
- this.getTopLevelWidget().setGlobalCursor(null);
-
- // Remove hover effect
- this._resizeTarget.removeState("over");
-
- // Hide resize line
- this.getParent().getResizeLine().setStyleProperty("visibility", "hidden");
-
- this._cleanupResizing();
-}
-
-qx.Proto._onmouseout = function(e)
-{
- if (!this.getCapture()) {
- this.getTopLevelWidget().setGlobalCursor(null);
- }
-}
-
-qx.Proto._cleanupResizing = function()
-{
- delete this._resizingActive;
-
- delete this._resizeSeparator;
- delete this._resizeTarget;
- delete this._resizeStart;
- delete this._resizeCell;
-}
-
-
-
-
-
-
-
-
-
-
-/*
----------------------------------------------------------------------------
- DISPOSER
----------------------------------------------------------------------------
-*/
-
-qx.Proto.dispose = function()
-{
- if (this.getDisposed()) {
- return;
- }
-
- this._cleanupResizing();
-
- this.removeEventListener("mousemove", this._onmousemove);
- this.removeEventListener("mousedown", this._onmousedown);
- this.removeEventListener("mouseup", this._onmouseup);
- this.removeEventListener("mouseout", this._onmouseout);
-
- this._columns = null;
-
- return qx.ui.layout.HorizontalBoxLayout.prototype.dispose.call(this);
-}