1 /*
  2  * Copyright (C) 2008 WaveMaker Software, Inc.
  3  *
  4  * This file is part of WaveMaker Studio.
  5  *
  6  * WaveMaker Studio is free software: you can redistribute it and/or modify
  7  * it under the terms of the GNU Affero General Public License as published by
  8  * the Free Software Foundation, version 3 of the License, only.
  9  *
 10  * WaveMaker Studio is distributed in the hope that it will be useful,
 11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 13  * GNU Affero General Public License for more details.
 14  *
 15  * You should have received a copy of the GNU Affero General Public License
 16  * along with WaveMaker Studio.  If not, see <http://www.gnu.org/licenses/>.
 17  */ 
 18 dojo.provide("wm.base.widget.Box");
 19 dojo.require("wm.base.Widget");
 20 
 21 /**
 22 	Adds box layout features to Widget.
 23 	@name wm.Box
 24 	@class
 25 	@extends wm.Widget
 26 */
 27 dojo.declare("wm.Box", wm.Widget, {
 28 	/** @lends wm.Widget.prototype */
 29 	width: "96px", 
 30 	height: "48px",
 31 	autoSize: false,
 32 	setDomNode: function(inDomNode) {
 33 		var n = inDomNode;
 34 		if (!n) return;
 35 		if (this.autoSize)
 36 			this.width = this.height = "";
 37 		// the domNode might already have box and flex ...
 38 		this.box && (n.box = this.box);
 39 		this.flex && (n.flex = this.flex);
 40 		this.boxPosition && (n.boxPosition = this.boxPosition);
 41 		this.inherited(arguments);
 42 		dojo.addClass(this.domNode, "wmbox");
 43 	},
 44 	setBox: function(inBox) {
 45 		this.domNode.box = this.box = inBox;
 46 		this.reflowParent();
 47 	},
 48 	setBoxPosition: function(inPosition) {
 49 		this.boxPosition = this.domNode.boxPosition = inPosition;
 50 		this.reflowParent();
 51 	}
 52 });
 53