1  /*
     2   Copyright aswing.org, see the LICENCE.txt.
     3  */
     4   
     5  import org.aswing.Container;
     6  import org.aswing.FlowLayout;
     7  import org.aswing.geom.Dimension;
     8  import org.aswing.LayoutManager;
     9  
    10  /**
    11   * @author iiley
    12   */
    13  class org.aswing.plaf.basic.frame.TitleBarLayout extends FlowLayout {
    14  	
    15  	private static var ICON_TITLE_WIDTH:Number = 60;
    16  	private static var ICON_TITLE_HEIGHT:Number = 20;
    17  	
    18  	//shared instance
    19  	private static var instance:LayoutManager;
    20  	public static function createInstance():LayoutManager{
    21  		if(instance == null){
    22  			instance = new TitleBarLayout();
    23  		}
    24  		return instance;
    25  	}
    26  	
    27  	public function TitleBarLayout() {
    28  		super(FlowLayout.RIGHT, 4, 4);
    29  	}
    30  	
    31  	public function getHorizontalGap():Number{
    32  		return getHgap();
    33  	}
    34  	
    35  	private function fitSize(size:Dimension):Dimension{
    36      	size.change(ICON_TITLE_WIDTH, 0);
    37      	size.height = Math.max(size.height, ICON_TITLE_HEIGHT);
    38      	return size;
    39  	}
    40  
    41      public function preferredLayoutSize(target:Container):Dimension{
    42      	return fitSize(super.preferredLayoutSize(target));
    43      }
    44  
    45      public function minimumLayoutSize(target:Container):Dimension{
    46      	return fitSize(super.preferredLayoutSize(target));
    47      }
    48  }
    49