litesoft
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
package org.litesoft.GWT.client.widgets.nonpublic;
import org.litesoft.GWT.client.widgets.nonpublic.external.*;
public abstract class AbstractSplitterDragger
extends AbstractDragger
{
private AbstractSizeableOneDimensionalPanel mSplitPanel;
protected final int mIndex;
public AbstractSplitterDragger( AbstractSizeableOneDimensionalPanel pSplitPanel, int pIndex )
{
mSplitPanel = pSplitPanel;
mIndex = pIndex;
}
public void start( MouseEvent e )
{
if ( mSplitPanel.getWidgetCount() > (mIndex + 1) )
{
super.start( e );
}
}
protected ISizeableWidget getSizeableAt( int pIndex )
{
return (ISizeableWidget) mSplitPanel.getWidget( pIndex );
}
/**
* @return false to prevent additional dragging
*/
protected boolean adjustSizesBy( ISizeableDimensionHelper pPrevHelper, ISizeableDimensionHelper pNextHelper, int pDelta )
{
return (pDelta == 0) || ((pDelta < 0) ? //
shrinkExpandSizesBy( pPrevHelper, pNextHelper, -pDelta ) : //
shrinkExpandSizesBy( pNextHelper, pPrevHelper, pDelta ));
}
private boolean shrinkExpandSizesBy( ISizeableDimensionHelper pShrinkingHelper, ISizeableDimensionHelper pExpandingHelper,
int pDelta )
{
int maxShrinkability = pShrinkingHelper.getDimensionMaxShrinkability();
if ( maxShrinkability <= 1 )
{
return false;
}
if ( pDelta >= maxShrinkability )
{
pDelta = maxShrinkability - 1;
}
int shrinkingCurSize = pShrinkingHelper.getDimension();
int expandingCurSize = pExpandingHelper.getDimension();
//System.out.println( "Split Pair Panel:shrink (" + shrinkingCurSize + ") Expand (" +
// expandingCurSize + ") SizesBy: " + pDelta );
int shrinkingNewSize = shrinkingCurSize - pDelta;
pShrinkingHelper.setDimension( shrinkingNewSize );
if ( pShrinkingHelper.getDimension() != shrinkingNewSize )
{
return false;
}
int expandingNewSize = expandingCurSize + pDelta;
pExpandingHelper.setDimension( expandingNewSize );
return true;
}
}
|
Revision |
Author |
Commited |
Message |
2
|
GeorgeS
|
Sun 07 Feb, 2010 12:50:58 +0000 |
|