以下代码是是altair二次开发案例的第一节代码
## 练习:将第三页的第三个窗口客户端设置成曲线图;
set t [clock clicks ]
#返回当前的处理器时间,以秒表示
hwi OpenStack
#开启堆栈,自动侦测下面代码创建的句柄,与closestack配合使用
hwi GetSessionHandle sess$t
#获取session句柄
sess$t GetProjectHandle proj$t
#获取project句柄
proj$t GetPageHandle pg3_$t 3
#获取第三个page句柄,
pg3_$t GetWindowHandle win3_$t 3
#获取第三个窗口句柄
win3_$t SetClientType Plot
#设置当前客户端类型为plot即hypergraph,animation为hyperview
hwi CloseStack
#关闭堆栈,释放open到close之间所创建的handle
hwi CloseStack仿佛并不会将所以handle全部释放,还是需要用到ReleaseHandle。可以在session层级获取到所有handle的list,然后通过foreach循环释放所有handle
下方这张图片是数据层级,如图所示,需要获取到client层级,需要依次从hwi session project page window client。
这里有个比较重要的概念是,例如修改client层级,相关API并不是在client类里面,而是在它的上一层级,和上面讲的一样,它自己所在的那个层级只能修改上一级所获取到句柄的对象的属性。
以下是MotionView,MediaView,and TextView数据层级结构和HyperGraph中数据的层级结构以及HyperView中数据的组织的层级结构。