格式化显示流程图完成
经过最近几天的努力,终于基本实现了通过dot的帮助,格式化显示流程图的功能。还记得当天晚上因为发现dot的功能,兴奋地睡不着觉。前天完成了把XML格式的数据转换成dot文件,再用dot生成PNG和SVG功能,昨天又换回GDI+,把PNG图片显示出来,今天则是把SVG自行解析了一把。dot生成的SVG文件确实是用UTF-8保存的,但是一开始发现用MSXML死活加载不上,后来慢慢定位发现是最开头位置有一句DOCTYPE,把这句删了就能好好地加载了。我估计是我没用好MSXML,不然也太扯了吧。不过这里我也懒得去追究了,直接处理了一把文本,把那句删掉了。然后装入,果然所有需要的信息都解析出来了。中途还遇到个小麻烦,发现识别鼠标位置总是有时行有时不行,还单步跟踪了好久,后来一狠心先把所有节点的坐标打印出来,再对应点击的坐标来看,到底是实现逻辑还是哪里有问题。发现原来就是一个单位转换的错误,一时疏忽了,SVG里都是用磅表示的,而这里我要的是像素,乘上这个比值就可以了。
离最后期限发布还剩下的一个大问题是权限。权限系统当时考虑地太过简单了,不过也归结于当时的需求或者设计都没有想到现在会变得这么复杂。当时确实只想到了某个组织下属某些组织或个人,而根本没考虑某个人会需要作些特别的操作。现在的一大问题是,某个人可能同时分属于几个不同的组织,另一大问题是某个人需要有一种角色,管理员角色,这样可以拥有一些特殊操作的能力,还有一大问题是,在客户端对组织结构及角色进行修改后,该修改要让所有客户端知道。现在的做法很明显很难适应这些需求了,因为我把组织结构保存在一个配置文件中,而该配置文件是放在各个客户端中的,所以修改只在本地进行,不影响其他客户端。没头绪啊!
下午的时候,算是阶段成果汇报,中途我溜了出来透透气。老大说我做这个程序,很有些想法。让我不禁有点得意,同时也特别悲哀,原来我这么容易满足,只是别人这么一句普普通通都算不上夸奖的话,就让我觉得高兴了。