require({cache:{ 'url:dojox/layout/resources/FloatingPane.html':"
\n\t
\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t
\n\t\t
\n\t\t\n\t
\n
\n"}}); define("dojox/layout/Dock", ["dojo/_base/kernel","dojo/_base/lang","dojo/_base/window","dojo/_base/declare", "dojo/_base/fx","dojo/_base/connect","dojo/_base/array","dojo/_base/sniff", "dojo/window","dojo/dom","dojo/dom-class","dojo/dom-geometry","dojo/dom-construct", "dijit/_TemplatedMixin","dijit/_Widget","dijit/BackgroundIframe","dojo/dnd/Moveable", "./ContentPane","./ResizeHandle","dojo/text!./resources/FloatingPane.html"], function( kernel, lang, winUtil, declare, baseFx, connectUtil, arrayUtil, has, windowLib, dom, domClass, domGeom, domConstruct, TemplatedMixin, Widget, BackgroundIframe, Moveable, ContentPane, ResizeHandle, template){ kernel.experimental("dojox.layout.Dock"); var Dock = declare("dojox.layout.Dock",[Widget, TemplatedMixin],{ // summary: // A widget that attaches to a node and keeps track of incoming / outgoing FloatingPanes // and handles layout templateString: '
', // _docked: [private] Array // array of panes currently in our dock _docked: [], _inPositioning: false, autoPosition: false, addNode: function(refNode){ // summary: // Insert a dockNode reference into the dock var div = domConstruct.create('li', null, this.containerNode), node = new DockNode({ title: refNode.title, paneRef: refNode }, div) ; node.startup(); return node; }, startup: function(){ if (this.id == "dojoxGlobalFloatingDock" || this.isFixedDock) { // attach window.onScroll, and a position like in presentation/dialog this.connect(window, 'onresize', "_positionDock"); this.connect(window, 'onscroll', "_positionDock"); if(has("ie")){ this.connect(this.domNode, "onresize", "_positionDock"); } } this._positionDock(null); this.inherited(arguments); }, _positionDock: function(/* Event? */e){ if(!this._inPositioning){ if(this.autoPosition == "south"){ // Give some time for scrollbars to appear/disappear setTimeout(lang.hitch(this, function() { this._inPositiononing = true; var viewport = windowLib.getBox(); var s = this.domNode.style; s.left = viewport.l + "px"; s.width = (viewport.w-2) + "px"; s.top = (viewport.h + viewport.t) - this.domNode.offsetHeight + "px"; this._inPositioning = false; }), 125); } } } }); var DockNode = declare("dojox.layout._DockNode",[Widget, TemplatedMixin],{ // summary: // dojox.layout._DockNode is a private widget used to keep track of // which pane is docked. // title: String // Shown in dock icon. should read parent iconSrc? title: "", // paneRef: Widget // reference to the FloatingPane we reprasent in any given dock paneRef: null, templateString: '
  • '+ ''+ '${title}'+ '
  • ', restore: function(){ // summary: // remove this dock item from parent dock, and call show() on reffed floatingpane this.paneRef.show(); this.paneRef.bringToTop(); this.destroy(); } }); return Dock; });