Changeset 118 for trunk/buddypub

Show
Ignore:
Timestamp:
04/29/08 17:03:53 (8 months ago)
Author:
silver
Message:
 
Location:
trunk/buddypub/cnflexlib/src
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/buddypub/cnflexlib/src/assets/style.css

    r115 r118  
    3737        padding-top: 10px; 
    3838        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;*/ 
    5139} 
    5240DragHighlight 
  • trunk/buddypub/cnflexlib/src/com/river/view/AutoLayoutPanelCanvas.as

    r115 r118  
    1919        import flash.geom.Point; 
    2020        import mx.events.ResizeEvent; 
    21         public class AutoLayoutPanelCanvas extends Canvas 
    22         { 
     21        public class AutoLayoutPanelCanvas extends Canvas{ 
     22                 
    2323                private var _items:ArrayCollection = new ArrayCollection();//存放所有显示的Panel 
    2424                private var _dragItems:ArrayCollection  =  new ArrayCollection();//放置拖动的Panel 
     
    3939                private var itemHeight:Number;//每个Panel的高度 
    4040                 
    41                  
    42                  
    4341                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最佳的宽度 
    4745                private static const TASKBAR_PADDING_TOP:Number = 10;   // 最后一行Panel与底下最小化Panel之间的间距 
    4846                private static const PADDING_RIGHT:Number = 5;  //右边边界距离 
    49                  
    50                  
    51                  
    5247                private var currentDropIndex:Number;// 当前拖动Panel放置的位置    
    53          
    54                 //public var isShowTa:Boolean = true; 
    55                 //private var image:DropImage = new DropImage(); 
    56  
    57                  
     48                         
    5849                public function AutoLayoutPanelCanvas() 
    5950                { 
    60                         super(); 
    61                          width=400; 
    62                          height=300; 
     51                         super();                         
    6352                         addEventListener(ResizeEvent.RESIZE, updateLayout); 
    64                 } 
    65                  
    66                 public function get dragItems():ArrayCollection 
    67                 { 
     53                          
     54                } 
     55                 
     56                public function get dragItems():ArrayCollection{ 
    6857                        return _dragItems; 
    6958                } 
    70                 public function set items(value:ArrayCollection):void 
    71                 { 
     59                 
     60                public function set items(value:ArrayCollection):void{ 
    7261                        _items = value; 
    7362                } 
    74                 public function get items():ArrayCollection 
    75                 { 
     63                 
     64                public function get items():ArrayCollection{ 
    7665                        return _items; 
    7766                } 
    78                 public function set displayItem(obj:ResizeableAndClosePanel):void 
    79                 { 
     67                 
     68                public function set displayItem(obj:ResizeableAndClosePanel):void{ 
    8069                        if (obj == null) 
    8170                        { 
     
    9180                        addChild(obj); 
    9281                        addChild(dragHighlight); 
    93                          
    9482                        updateLayout(false); 
    9583                } 
     84                 
    9685                public function set displayItems(obj:Array):void 
    9786                { 
     
    126115                        var row:Number = 0;//定义行 
    127116                        var panel:ResizeableAndClosePanel; 
     117                         
    128118                        //计算出item的宽和高 
    129119                        itemWidth = Math.round(availablePanelWidth / numCols - ((PANEL_GAP * (numCols - 1)) / numCols)); 
    130120                        itemHeight = Math.round(availablePanelHeight / numRows - ((PANEL_GAP * (numRows - 1)) / numRows)); 
     121                         
    131122                        if (parallel && parallel.isPlaying) 
    132123                        { 
     
    147138                                        col++; 
    148139                                } 
     140                                 
    149141                                var targetX:Number = col * itemWidth;//得到x 
    150                                 var targetY:Number = row * itemHeight;  //得到y 
     142                                var targetY:Number = row * itemHeight + TASKBAR_HEIGHT; //得到y 
     143                                 
    151144                                if(col > 0)  
    152145                                        targetX += PANEL_GAP * col;//加上间距 
     
    317310                        //调用动画细节配置方法 
    318311                        addResizeAndMoveToParallel(panel,maximizeParallel,availablePanelWidth, 
    319                                                                         availablePanelHeight,0,0); 
     312                                                                        availablePanelHeight,0, TASKBAR_HEIGHT); 
    320313                        maximizeParallel.play(); 
    321314                        //设置该Panel状态为最大化 
     
    544537                        return this.height; 
    545538                } 
     539                 
    546540                private function get minimizedPanelY():Number{ 
    547                         return height - TASKBAR_HEIGHT; 
    548                 } 
     541                        //return height - TASKBAR_HEIGHT; 
     542                        return 0; 
     543                } 
     544                 
    549545                private function addResizeAndMoveToParallel(target:ResizeableAndClosePanel,  
    550546                                                                parallel:Parallel, widthTo:Number, heightTo:Number,  
  • trunk/buddypub/cnflexlib/src/com/river/view/ResizeableAndClosePanel.as

    r115 r118  
    2121        [Event(name="dragComplete",type="mx.events.DragEvent")]//拖动结束 
    2222        [Event(name="dataChange",type="mx.events.DragEvent")] 
     23                 
    2324        public class ResizeableAndClosePanel extends Panel 
    2425        { 
     
    5758                        doubleClickEnabled =  true;//设置可双击 
    5859                        //设置本身的样式 
    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); 
    6470         
    6571                } 
     
    8995                         
    9096                        //设置放置按钮容器的样式 
    91                         controlsHolder.setStyle("paddingRight", getStyle("paddingRight")); 
    92                         controlsHolder.setStyle("paddingLeft", getStyle("paddingLeft")); 
     97                        controlsHolder.setStyle("paddingRight", 5); 
     98                        controlsHolder.setStyle("paddingLeft", 5); 
    9399                        controlsHolder.setStyle("horizontalAlign", "right"); 
    94100                        controlsHolder.setStyle("verticalAlign", "middle"); 
    95101                        controlsHolder.setStyle("horizontalGap", 3); 
     102                         
    96103                        controlsHolder.addChild(minimizeButton);//添加到按钮容器中 
    97104                        controlsHolder.addChild(maximizeRestoreButton);//添加到按钮容器中