1
4
5 import org.aswing.Container;
6 import org.aswing.FlowLayout;
7 import org.aswing.geom.Dimension;
8 import org.aswing.LayoutManager;
9
10
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
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