物理布局:
显示布局:
- 从tag点读取出来
- 解析tag点的值,得到每个物理屏幕的信息
- 每个物理屏幕会给出分割信息(1*1,2*2,4*4),根据这个内容显示每个物理屏幕的样式,还要显示每个格子的信号源。信号源显示通过关联tag实现
- 一个分割tag点名:
- 读取当前的分割模式tag点:TV0Splitstyle,
- 读到的类型会有:1:1分割,4:4分割,16:16分割:2000:自由分割
- 如果处于自由分割,再读窗口数tag点:TV0WindowNum,得到当前窗口数量
- 如果处于1,4,16等固定分割,窗口数就是分割数;
- 一个分割tag点值:
- 每一个窗口都有两个点存布局:
- tag点:TV0Window0Source存的是信号源,string类型,直接显示出来
- tag点:TV0Window0Rect 存的是窗口的大小,json格式,例如:{"bottom":8192,"left":0,"right":8192,"top":0}
- 每一个窗口都有两个点存布局:
- 每个分割单元是一个tag点,数量:16*16*4=112个
- tag点名规则:
- tag点样例:
设置物理屏分割模式:
- 点击分割按钮,选择分割模式设置物理屏为几分割还是自由分割
- 一个tag点名字:dwcontrol
- tag点内容格式:{"type":7,"nTVID":241,"splitnum":4}
- json格式:控制类型(1-7),控制0号屏的通道号(通过tag点TV0ID查出),分割方式(1,4,16,2000)
物理屏处于固定分割下设置某个显示单元到信号源:
- 显示一个显示单元(物理屏的某个分割单元)
- 再单击树上的信号源
- 写入tag点的值给大屏幕
- 一个tag点,tag点名:dwcontrol
- tag点值:{"type":3,"nTVID":241,"nWindow":1,"ip":"172.16.3.67","channelID":0,"channelmax":1}
- json格式:控制类型,控制0号屏的通道号(通过tag点TV0ID查出),现在在哪个窗口,信号源ip,信号源通道号(默认0),信号源通道数(默认1)(以后需要通过信号源类型是ipc还是nvr来传通道号通道数)
物理屏处于自由分割下才可以开窗:
- 一个tag点名字:dwcontrol
- tag点内容格式:{"type":1,"nTVID":241,"x1":0,"y1":0,"x2":8192,"y2":8192,"ip":"172.16.3.67","channelID":0,"channelmax":1}
- json格式:控制类型,控制0号屏的通道号(通过tag点TV0ID查出),窗口大小坐标和设置信号源ip,信号源通道号(默认0),信号源通道数(默认1)(以后需要通过信号源类型是ipc还是nvr来传通道号通道数)
可用预案
- 从驱动的tag点,解析得到预案名称列表
- 显示到下拉框中读取的预案名称列表。
- 一个tag点存储所有预案
- tag点名称:
- tag点:planName存放所以预案名称,名称按照英文:分割
- tag点实际数据示例:“预案1:预案2:预案3”
应用预案
- 选择已有预案中的某个预案
- 将tag点写入选中的预案名称
- 一个tag点名:dwcontrol
- tag写入的值的示例:{"type":4,"name":"预案二"}
保存预案
- 点击保存预案,输入名称
- 点击保存,将内容写入tag点
- 一个tag点名字:dwcontrol
- tag点内容格式:{"type":5,"name":"预案二"}
重命名预案
- 选择某个预案,选择重命名,输入名称
- 点击保存,将内容写入tag点
- 一个tag点名字:dwcontrol
- tag点内容格式:{"type":6,"newname":"预案一","oldname":"预案二"}
显示布局: