| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- define(function(require, exports, module) {
- var kity = require('../core/kity');
- var Layout = require('../core/layout');
- var Minder = require('../core/minder');
- Layout.register('mind', kity.createClass({
- base: Layout,
- doLayout: function(node, children) {
- var layout = this;
- var half = Math.ceil(node.children.length / 2);
- var right = [];
- var left = [];
- children.forEach(function(child) {
- if (child.getIndex() < half) right.push(child);
- else left.push(child);
- });
- var leftLayout = Minder.getLayoutInstance('left');
- var rightLayout = Minder.getLayoutInstance('right');
- leftLayout.doLayout(node, left);
- rightLayout.doLayout(node, right);
- var box = node.getContentBox();
- node.setVertexOut(new kity.Point(box.cx, box.cy));
- node.setLayoutVectorOut(new kity.Vector(0, 0));
- },
- getOrderHint: function(node) {
- var hint = [];
- var box = node.getLayoutBox();
- var offset = 5;
- hint.push({
- type: 'up',
- node: node,
- area: new kity.Box({
- x: box.x,
- y: box.top - node.getStyle('margin-top') - offset,
- width: box.width,
- height: node.getStyle('margin-top')
- }),
- path: ['M', box.x, box.top - offset, 'L', box.right, box.top - offset]
- });
- hint.push({
- type: 'down',
- node: node,
- area: new kity.Box({
- x: box.x,
- y: box.bottom + offset,
- width: box.width,
- height: node.getStyle('margin-bottom')
- }),
- path: ['M', box.x, box.bottom + offset, 'L', box.right, box.bottom + offset]
- });
- return hint;
- }
- }));
- });
|