1 #ifndef _JDISP_GUI_FLOATING_JSH
\r
2 #define _JDISP_GUI_FLOATING_JSH
\r
4 OOP_CLASS(Floating) = function()
\r
9 var f = function () {
\r
10 me.adjustComponents();
\r
12 PROJECT_PREFIX.domUtils.setScrollHandler(f);
\r
13 PROJECT_PREFIX.domUtils.setResizeHandler(f);
\r
16 OOP_FIELD(Floating, nodes) = null;
\r
18 OOP_METHOD(Floating, add) = function (node)
\r
20 var n = PROJECT_PREFIX.domUtils.getNode(node);
\r
21 if (IS_NON_NULL_OBJECT(n)) {
\r
23 this.adjustComponent(n);
\r
26 OOP_METHOD(Floating, remove) = function (node)
\r
28 var n = PROJECT_PREFIX.domUtils.getNode(node);
\r
30 for (var i in this.nodes) {
\r
31 if (n === this.nodes[i]) {
\r
32 delete this.nodes[i];
\r
37 OOP_METHOD(Floating, adjustComponents) = function ()
\r
39 for (var i in this.nodes) {
\r
40 var n = this.nodes[i];
\r
41 this.adjustComponent(n);
\r
45 OOP_METHOD(Floating, adjustComponent) = function (node)
\r
47 var util = PROJECT_PREFIX.domUtils;
\r
48 var n = util.getNode(node);
\r
49 if (!IS_NON_NULL_OBJECT(n)) return;
\r
50 n.style.position = 'absolute';
\r
51 var es = util.getElementSize(n);
\r
52 var pos = util.getScrollPosition();
\r
53 var cs = util.getClientSize();
\r
54 var ss = util.getScrollSize();
\r
55 var x = cs.width + pos.x - n.offsetWidth;
\r
56 var y = cs.height + pos.y - n.offsetHeight;
\r
58 ( 'adjustComponent: '
\r
59 + ' es=' + PROJECT_PREFIX.stringUtils.formatDimension(es)
\r
60 + ' es=' + PROJECT_PREFIX.global.dumpVar(es)
\r
61 + ',pos=' + PROJECT_PREFIX.stringUtils.formatPoint(pos)
\r
62 + ',cs(b)=' + PROJECT_PREFIX.stringUtils.formatDimension(util.getClientSizeByBody())
\r
63 + ',cs(de)=' + PROJECT_PREFIX.stringUtils.formatDimension(util.getClientSizeByDocument())
\r
64 + ',cs=' + PROJECT_PREFIX.stringUtils.formatDimension(cs)
\r
65 + ',ss(b)=' + PROJECT_PREFIX.stringUtils.formatDimension(util.getScrollSizeByBody())
\r
66 + ',ss(de)=' + PROJECT_PREFIX.stringUtils.formatDimension(util.getScrollSizeByDocument())
\r
67 + ',ss=' + PROJECT_PREFIX.stringUtils.formatDimension(ss)
\r
68 + ',in=' + PROJECT_PREFIX.stringUtils.formatDimension(util.getInnerSize())
\r
69 + ',out=' + PROJECT_PREFIX.stringUtils.formatDimension(util.getOuterSize())
\r
70 + ',avail=' + PROJECT_PREFIX.stringUtils.formatDimension(util.getAvailableSize())
\r
71 + ',screen=' + PROJECT_PREFIX.stringUtils.formatDimension(util.getScreenSize())
\r
72 + ',new=' + PROJECT_PREFIX.stringUtils.formatPoint({x:x,y:y})
\r
74 util.setElementPosition(n, x, y);
\r
77 #endif /* _JDISP_GUI_FLOATING_JSH */
\r