经过几日阅读CD插件开发的文档,总结CellDesigner插件开发中的layout困境:
1,没有直接调用layout方法及其参数的类或者方法。
2,Plugin.notifySBaseAdded方法如果仅传递Species,不传递位置参数,软件将会把节点默认放置在左上方,造成节点重叠。此时节点类型正常。
3,Plugin.notifySBaseAdded方法如果传递model对象(model对象中已经包含节点类型和名称信息)——软件将会新建一个canvas,然后将模型添加上去——但是图标全部都是PROTEIN;不过此时系统倒会自动调用layout算法。
3-2,一个解决方案:在model对象构建时调用setListOfGene等方法;但是这种有用的方法太少:开发接口的开发者并没有考虑到Receptor、ion等其他节点类型的需求:(
如此这般受制于人,看来开发一个自己的平台还是非常重要的。至少可以开发一个适合自己的CD/SBML 文档解析器(写入XML)。
1,没有直接调用layout方法及其参数的类或者方法。
2,Plugin.notifySBaseAdded方法如果仅传递Species,不传递位置参数,软件将会把节点默认放置在左上方,造成节点重叠。此时节点类型正常。
3,Plugin.notifySBaseAdded方法如果传递model对象(model对象中已经包含节点类型和名称信息)——软件将会新建一个canvas,然后将模型添加上去——但是图标全部都是PROTEIN;不过此时系统倒会自动调用layout算法。
3-2,一个解决方案:在model对象构建时调用setListOfGene等方法;但是这种有用的方法太少:开发接口的开发者并没有考虑到Receptor、ion等其他节点类型的需求:(
如此这般受制于人,看来开发一个自己的平台还是非常重要的。至少可以开发一个适合自己的CD/SBML 文档解析器(写入XML)。