ski架构
ski 架构
gui
更新 gui的操作:
// 方式一
skiCmdUtil::getMainWnd()->viewRedraw();
// 方式二
skiLayoutView* lv = (skiLayoutView*) m_action->master;
if (lv)
lv->update();
layerview 有 fit() 函数
skipper gui 的 select 是如何实现的?
skipper 是如何实现调节亮度、置灰的?
相关类
获取 mainWindow:
skiMainWnd* mw = skiCmdUtil::getMainWnd();
guObjGroup
guCanvus
guSnap
Action 里 addCartoon, canvas 里画 cartoon
lpp 相关的信息 存在 abtech 里
置灰功能的实现,其实是重绘,guPainter 设为灰色
ruler 的实现
鼠标 move 的动画,guCartoon 的 draw 函数实现
静态图形,drawruler 实现
继承关系
->: 表示派生出
QWidget -> guCanvus -> skiLayoutView
QWidget -> skiLayoutFrame
guEventService -> skiAction
guViewObject -> guCartoon
包含关系
skiLayoutView:
skiLayoutFrame
tcl
新增 tcl 命令步骤:
skixxxx_tcl 定义函数
commands_ski1.xml 里定义函数参数和返回值
cmdSKILSW::execute()
c++ 函数 注册为 tcl 函数的相关内容在 cmd 包下
cmdApp.h
cmdTclUtil.h
tcl 命令参数
约束用法
[reset] # 可以写,也可以不写
{ av | nv } ; # 必须写其中一个
editIndex ; # 必须出现
[emphasizeLayer | unEmphasizeLayer] #表示可选项,但不可以同时出现
bool 参数
<emphasizeLayer>
<desc> Emphasize Layer. </desc>
<type> bool </type>
<default>false</default> <!--默认值 可不写-->
</emphasizeLayer>
使用:
if (args.m_emphasizelayer) {
}
tech and display
tech file 定义layer 和 purpose 的名字和样式
tcl 或 dsp file 定义颜色名对应的颜色,样式名具体的样式
Fillstyle(填充样式)
fillstyle 是一个全局属性,用于定义图形(如多边形、矩形等)的整体填充模式,例如实心填充、空心轮廓或预定义的简单图案。
常见取值:
solid:实心填充。
outline:仅显示轮廓,无填充。
outlineStipple: 显示 outline + stipple
cross:交叉斜线。
stipple: 只显示stipple
特点:
直接控制图形的填充行为,无需额外定义图案。
适用于快速切换简单填充模式,通常用于区分不同图层或显示层级。
Fillstipple(填充点画)
fillstipple 是一个局部属性,允许用户通过自定义的点画图案(位图)来填充图形。图案通常由二进制矩阵定义(如 0x1F1F 表示交替的黑白像素)。
常见用法:
用户需提前定义点画图案(如 stipple1 = 0b0101)。
将图案名称或ID赋值给 fillstipple 属性。
特点:
提供更灵活的填充效果(如自定义纹理、密集点阵等)。
适用于需要高精度区分图形或复杂填充的场景(如特殊工艺层标记)。
LVL
调用的别的小组的工具
浙公网安备 33010602011771号