twaver.layout
Class AutoLayouter

java.lang.Object
  extended by twaver.layout.AutoLayouter
All Implemented Interfaces:
ILayouter

public class AutoLayouter
extends java.lang.Object
implements ILayouter

自动布局,twaver默认实现了几种布局算法,支持树形布局,圆形布局,星形布局,层次布局


Constructor Summary
AutoLayouter(Network network, int layoutType)
          构造函数,自动布局,twaver默认实现了几种布局算法,支持树形布局,圆形布局,星形布局,层次布局
AutoLayouter(Network network, int layoutType, java.lang.Runnable callback, int xOffset, int yOffset, Generator<Node,Size> elementSizeGenerator)
          构造函数,自动布局,twaver默认实现了几种布局算法,支持树形布局,圆形布局,星形布局,层次布局
 
Method Summary
 void doLayout()
          布局
 void doLayout(java.util.Iterator<Element> elements)
          对指定网元进行布局
protected  int getGroupLayoutType(Group group)
          获取分组布局类型
 void setCallback(java.lang.Runnable callback)
          设置回调函数,布局完成后回调此函数
 void setElementSizeGenerator(Generator<Node,Size> elementSizeGenerator)
          设置网元大小生成器,默认取网元UI大小,网元UI不存在时,取网元的计算大小 Node.getCalculateSize()
 void setLayoutType(int layoutType)
          设置布局类型 Consts#LAYOUT_***
 void setNetwork(Network network)
          设置拓扑图对象
 void setXOffset(int xOffset)
          设置x偏移量
 void setYOffset(int yOffset)
          设置y方向偏移量
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AutoLayouter

public AutoLayouter(Network network,
                    int layoutType)
构造函数,自动布局,twaver默认实现了几种布局算法,支持树形布局,圆形布局,星形布局,层次布局

Parameters:
network - 拓扑图
layoutType - 布局类型

AutoLayouter

public AutoLayouter(Network network,
                    int layoutType,
                    java.lang.Runnable callback,
                    int xOffset,
                    int yOffset,
                    Generator<Node,Size> elementSizeGenerator)
构造函数,自动布局,twaver默认实现了几种布局算法,支持树形布局,圆形布局,星形布局,层次布局

Parameters:
network - 拓扑图
layoutType - 布局类型
callback - 布局完成后回调此函数
xOffset - x方向偏移量
yOffset - y方向偏移量
elementSizeGenerator - 网元大小生成器,默认取网元UI大小,网元UI不存在时,取网元的计算大小 Node.getCalculateSize()
Method Detail

getGroupLayoutType

protected int getGroupLayoutType(Group group)
获取分组布局类型

Parameters:
group - 分组
Returns:
分组布局类型
See Also:
Consts#LAYOUT_***

setLayoutType

public void setLayoutType(int layoutType)
设置布局类型 Consts#LAYOUT_***

Parameters:
layoutType - 布局类型
See Also:
Consts

setNetwork

public void setNetwork(Network network)
设置拓扑图对象

Parameters:
network -

setXOffset

public void setXOffset(int xOffset)
设置x偏移量

Parameters:
xOffset - 偏移量

setYOffset

public void setYOffset(int yOffset)
设置y方向偏移量

Parameters:
yOffset -

setElementSizeGenerator

public void setElementSizeGenerator(Generator<Node,Size> elementSizeGenerator)
设置网元大小生成器,默认取网元UI大小,网元UI不存在时,取网元的计算大小 Node.getCalculateSize()

Parameters:
elementSizeGenerator - 网元大小生成器

setCallback

public void setCallback(java.lang.Runnable callback)
设置回调函数,布局完成后回调此函数

Parameters:
callback - 布局完成后回调此函数

doLayout

public void doLayout()
Description copied from interface: ILayouter
布局

Specified by:
doLayout in interface ILayouter

doLayout

public void doLayout(java.util.Iterator<Element> elements)
对指定网元进行布局

Parameters:
elements - 网元集合