Changeset 118 for trunk/buddypub
- Timestamp:
- 04/29/08 17:03:53 (8 months ago)
- Location:
- trunk/buddypub/cnflexlib/src
- Files:
-
- 3 modified
-
assets/style.css (modified) (1 diff)
-
com/river/view/AutoLayoutPanelCanvas.as (modified) (7 diffs)
-
com/river/view/ResizeableAndClosePanel.as (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/buddypub/cnflexlib/src/assets/style.css
r115 r118 37 37 padding-top: 10px; 38 38 header-height: 22px; 39 /*rounded-bottom-corners: false;40 border-thickness: 1px;41 42 padding-top: 31px;43 border-color: #999999;44 border-style: solid;45 header-colors: #cccccc, #999999;46 background-color: #ffffff;47 highlight-alphas: .9, 0;48 corner-radius: 6px;49 shadow-direction: right;50 drop-shadow-color: #999999;*/51 39 } 52 40 DragHighlight -
trunk/buddypub/cnflexlib/src/com/river/view/AutoLayoutPanelCanvas.as
r115 r118 19 19 import flash.geom.Point; 20 20 import mx.events.ResizeEvent; 21 public class AutoLayoutPanelCanvas extends Canvas 22 {21 public class AutoLayoutPanelCanvas extends Canvas{ 22 23 23 private var _items:ArrayCollection = new ArrayCollection();//存放所有显示的Panel 24 24 private var _dragItems:ArrayCollection = new ArrayCollection();//放置拖动的Panel … … 39 39 private var itemHeight:Number;//每个Panel的高度 40 40 41 42 43 41 private static const PANEL_GAP:Number = 10; // 两个Panel之间的距离 44 private static const TASKBAR_HEIGHT:Number = 25; // 最小化时Panel的高度45 private static const TASKBAR_HORIZONTAL_GAP:Number = 5; // 最小化时Panel之间的间距46 private static const TASKBAR_ITEM_WIDTH:Number = 150; // 在有足够大的空间时,最小化Panel最佳的宽度42 private static const TASKBAR_HEIGHT:Number = 35; // 最小化时Panel的高度 43 private static const TASKBAR_HORIZONTAL_GAP:Number = 1; // 最小化时Panel之间的间距 44 private static const TASKBAR_ITEM_WIDTH:Number = 200; // 在有足够大的空间时,最小化Panel最佳的宽度 47 45 private static const TASKBAR_PADDING_TOP:Number = 10; // 最后一行Panel与底下最小化Panel之间的间距 48 46 private static const PADDING_RIGHT:Number = 5; //右边边界距离 49 50 51 52 47 private var currentDropIndex:Number;// 当前拖动Panel放置的位置 53 54 //public var isShowTa:Boolean = true; 55 //private var image:DropImage = new DropImage(); 56 57 48 58 49 public function AutoLayoutPanelCanvas() 59 50 { 60 super(); 61 width=400; 62 height=300; 51 super(); 63 52 addEventListener(ResizeEvent.RESIZE, updateLayout); 64 }65 66 public function get dragItems():ArrayCollection67 {53 54 } 55 56 public function get dragItems():ArrayCollection{ 68 57 return _dragItems; 69 58 } 70 public function set items(value:ArrayCollection):void71 {59 60 public function set items(value:ArrayCollection):void{ 72 61 _items = value; 73 62 } 74 public function get items():ArrayCollection75 {63 64 public function get items():ArrayCollection{ 76 65 return _items; 77 66 } 78 public function set displayItem(obj:ResizeableAndClosePanel):void79 {67 68 public function set displayItem(obj:ResizeableAndClosePanel):void{ 80 69 if (obj == null) 81 70 { … … 91 80 addChild(obj); 92 81 addChild(dragHighlight); 93 94 82 updateLayout(false); 95 83 } 84 96 85 public function set displayItems(obj:Array):void 97 86 { … … 126 115 var row:Number = 0;//定义行 127 116 var panel:ResizeableAndClosePanel; 117 128 118 //计算出item的宽和高 129 119 itemWidth = Math.round(availablePanelWidth / numCols - ((PANEL_GAP * (numCols - 1)) / numCols)); 130 120 itemHeight = Math.round(availablePanelHeight / numRows - ((PANEL_GAP * (numRows - 1)) / numRows)); 121 131 122 if (parallel && parallel.isPlaying) 132 123 { … … 147 138 col++; 148 139 } 140 149 141 var targetX:Number = col * itemWidth;//得到x 150 var targetY:Number = row * itemHeight; //得到y 142 var targetY:Number = row * itemHeight + TASKBAR_HEIGHT; //得到y 143 151 144 if(col > 0) 152 145 targetX += PANEL_GAP * col;//加上间距 … … 317 310 //调用动画细节配置方法 318 311 addResizeAndMoveToParallel(panel,maximizeParallel,availablePanelWidth, 319 availablePanelHeight,0, 0);312 availablePanelHeight,0, TASKBAR_HEIGHT); 320 313 maximizeParallel.play(); 321 314 //设置该Panel状态为最大化 … … 544 537 return this.height; 545 538 } 539 546 540 private function get minimizedPanelY():Number{ 547 return height - TASKBAR_HEIGHT; 548 } 541 //return height - TASKBAR_HEIGHT; 542 return 0; 543 } 544 549 545 private function addResizeAndMoveToParallel(target:ResizeableAndClosePanel, 550 546 parallel:Parallel, widthTo:Number, heightTo:Number, -
trunk/buddypub/cnflexlib/src/com/river/view/ResizeableAndClosePanel.as
r115 r118 21 21 [Event(name="dragComplete",type="mx.events.DragEvent")]//拖动结束 22 22 [Event(name="dataChange",type="mx.events.DragEvent")] 23 23 24 public class ResizeableAndClosePanel extends Panel 24 25 { … … 57 58 doubleClickEnabled = true;//设置可双击 58 59 //设置本身的样式 59 setStyle("paddingRight",10); 60 setStyle("paddingLeft",10); 61 setStyle("paddingBottom",10); 62 setStyle("paddingTop",10); 63 setStyle("headerHeight",22);//一定要设置headerHeight,如果不设置的话,最小化时会不显示header 60 setStyle("paddingRight",0); 61 setStyle("paddingLeft",0); 62 setStyle("paddingBottom",0); 63 setStyle("paddingTop",0); 64 65 minHeight = 400; 66 minWidth = 400; 67 68 //一定要设置headerHeight(只能是22或更小的数值?!),如果不设置的话,最小化时会不显示header 69 setStyle("headerHeight",22); 64 70 65 71 } … … 89 95 90 96 //设置放置按钮容器的样式 91 controlsHolder.setStyle("paddingRight", getStyle("paddingRight"));92 controlsHolder.setStyle("paddingLeft", getStyle("paddingLeft"));97 controlsHolder.setStyle("paddingRight", 5); 98 controlsHolder.setStyle("paddingLeft", 5); 93 99 controlsHolder.setStyle("horizontalAlign", "right"); 94 100 controlsHolder.setStyle("verticalAlign", "middle"); 95 101 controlsHolder.setStyle("horizontalGap", 3); 102 96 103 controlsHolder.addChild(minimizeButton);//添加到按钮容器中 97 104 controlsHolder.addChild(maximizeRestoreButton);//添加到按钮容器中
