modify controller

This commit is contained in:
kekee000 2016-01-26 16:13:35 +08:00
parent 6aa43f8c74
commit d5da375fc9

View File

@ -15,13 +15,15 @@ define(
var Sorption = require('./widget/Sorption'); var Sorption = require('./widget/Sorption');
var getFontHash = require('./util/getFontHash'); var getFontHash = require('./util/getFontHash');
// editor 的控制器 // 默认editor的初始化函数列表这里应该是按照特定顺序执行的函数集合
var initLayer = require('./controller/initLayer'); var DEFAULT_INITERS = [
var initRender = require('./controller/initRender'); require('./controller/initSetting'),
var initBinder = require('./controller/initBinder'); require('./controller/initFont'),
var initAxis = require('./controller/initAxis'); require('./controller/initRender'),
var initFont = require('./controller/initFont'); require('./controller/initLayer'),
var initSetting = require('./controller/initSetting'); require('./controller/initAxis'),
require('./controller/initBinder')
];
/** /**
* Render控制器 * Render控制器
@ -35,6 +37,7 @@ define(
this.contextMenu = new ContextMenu(main, this.options.contextMenu); this.contextMenu = new ContextMenu(main, this.options.contextMenu);
this.sorption = new Sorption(this.options.sorption); this.sorption = new Sorption(this.options.sorption);
this.history = new History(); this.history = new History();
this.initers = DEFAULT_INITERS.concat(options.initers || []);
} }
/** /**
@ -44,20 +47,16 @@ define(
* @return {this} * @return {this}
*/ */
Editor.prototype.setRender = function (render) { Editor.prototype.setRender = function (render) {
this.render = render; this.render = render;
initSetting.call(this);
initFont.call(this); // 按顺序执行editor的控制器
initRender.call(this); for (var i = 0, l = this.initers.length; i < l; i++) {
initLayer.call(this); this.initers[i].call(this);
initAxis.call(this); }
initBinder.call(this);
this.axisLayer.refresh(); this.axisLayer.refresh();
this.graduationLayer.refresh(); this.graduationLayer.refresh();
this.setMode(); this.setMode();
return this; return this;
}; };