摘要:
当前可以对模块聚类,可以显示各个类的关键字选中一个模块时,相关的模块会突出显示当前问题、以及可以做的工作有几个:(1)边形状太怪异,像血管一样(2)应该允许钉住节点和边,令其始终突出显示(3)筛选出重要的边。条件:1.边的两节点能被用户看到,2.边本身比较重要(4)分析出数据流发现qgraphicsitem的paint函数的一点特性,利用它可以从item获取当前进行绘制的view:void QGr... 阅读全文
摘要:
今天发现QFontMetric的一个问题QFontMetrics可以输入一个字体和一个字符串,计算出字符串在这种字体下的显示尺寸。这种计算比较耗时间,因此Qt内部应该是缓存了计算结果。具体方法是在第一次调用时,把QFontMetrics绑定的字体内部每个字的尺寸都计算出来,以后对相同字体求大小的时候便可以直接查询每个字的尺寸,最后累加出大小返回给用户。问题在于QFont允许通过setPointSi... 阅读全文
摘要:
1. 一开始,显示整个工程的状况 这一步具体有很多工作要做,最终目标是能够让用户快速分辨出工程由几个模块组成,哪些模块属于高层模块,哪些属于底层模块,分辨出每个模块中比较重要的类。还有每个类在程序里面的实际影响范围。 具体的设想在下一步进行,当前重点考虑类内部的设计。 2. 用户选出感兴趣的模块,进而挑选感兴趣的类。 假设挑选了下面这个类。 ... 阅读全文
摘要:
试图让系统支持多视图。如图所示。现在两个视图显示的东西完全一样,下一步要使得每个视图可以独立筛选要显示的内容。发现Qt的一个优点是可以自动在各个视图中同步。有一点要注意,就是各个视图在绘制的过程中不能修改QGraphicsItem的属性,否则在修改之后,qgraphicsscene又会重新要求绘制,如此反复,程序陷入死循环。加入筛选开关之后,情况如图左边是变量,右边是函数。选中一个变量之后,相应的... 阅读全文
摘要:
现时仅仅利用圆点表示函数和变量同样一个类,当前效果与先前效果对比。当前对类内部元素布局的进一步思考:(1)类内部必须能够看到所有元素。但可以提供某种筛选策略,例如只显示函数、只显示变量。(2)函数调用、变量依赖这两种边是有用的。但必须有有效的筛选。简单的筛选可以只显示函数调用或者变量依赖。复杂的筛选可以基于各种关系逐步显示。(3)当前下图的布局与之前相比,好处是视觉元素已经比较单一,只有节点和边,... 阅读全文