CN102662553B - 核电站超声波检测软件视图动态切分及布局方法 - Google Patents
核电站超声波检测软件视图动态切分及布局方法 Download PDFInfo
- Publication number
- CN102662553B CN102662553B CN201110459001.9A CN201110459001A CN102662553B CN 102662553 B CN102662553 B CN 102662553B CN 201110459001 A CN201110459001 A CN 201110459001A CN 102662553 B CN102662553 B CN 102662553B
- Authority
- CN
- China
- Prior art keywords
- container
- window
- cutting
- sub
- data structure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Ultra Sonic Daignosis Equipment (AREA)
- Digital Computer Display Output (AREA)
Abstract
本发明属于核工业超声波无损检测领域,用于多通道超声信号数据采集与处理软件,具体涉及一种核电站超声波检测软件视图动态切分及布局方法。目的是进行更方便的操作和数据分析。该方法包括建立窗口切分控件结构的步骤,切分控件包括用于超声声学成像的动态和静态A、B、C、D型成像8个子模块,窗口横向排列型子模块,窗口纵向排列型子模块及窗口布局数据结构子模块;还包括窗口动态切分建立与窗口动态删除的步骤。该方法简单、快捷的实现了软件界面视图的任意切分、自定义视图内容和视图布局等功能。
Description
技术领域
本发明属于核工业超声波无损检测领域,用于多通道超声信号数据采集与处理软件,具体涉及一种核电站超声波检测软件视图动态切分及布局方法。
背景技术
核工业超声波无损检测中,利用多组超声探头探测工件内部是否有缺陷,确定缺陷长度。用户通过操作多通道数据采集与处理软件和超声探伤仪对缺陷进行分析和判定,缺陷分析和判定的工具是声波形成的A型、B型、C型、D型超声成像图。
在扫查或信号分析过程中,用户往往需要同时观察和监视许多信号或数据,而众多的数据又不可能同时在软件的一个窗口中显示,需要分门别类,按照一定的规则或类型进行显示,诸如一个超声检测通道能够形成动态和静态A、B、C、D型超声成像图,因此则可以形成1*8种图像信息,如果有16个通道,则可以形成16*8=128种图像信息,假如一个硬通道包含n个软通道则会有更多,理论上为n*16*8种图像信息。另一方面,在某些情况,用户不需要观察全部信息,重点观察某些通道的某一类型超声成像图,如B型成像。
如果采用传统的软件界面元素固定的方式,不能完成该任务。因此,本发明公开了一种能够使用户对超声波检测软件视图动态切分及自定义布局的软件界面方法,能够给用户提供更多的视野,通过各个窗口中的数据和状态,使用户能够全方位观察、监视和操作关心的任务。
发明内容
本发明的目的是提供一种核电站超声波检测软件视图动态切分及布局方法,为用户提供随心所欲定义的软件视图界面,能够更方便的操作和数据分析。
本发明所采用的技术方案是:
核电站超声波检测软件视图动态切分及布局方法,包括建立窗口切分控件结构的步骤:切分控件包括窗口横向排列型子模块,窗口纵向排列型子模块及窗口布局数据结构子模块;
还包括窗口动态切分建立的步骤,切分时判断是横向切分还是纵向切分:如果是横向切分,在切分控件容器中加入两个横向排列的子容器,如果是纵向切分,在切分控件容器中加入两个纵向排列的子容器,再将新建的子容器地址加入窗口布局数据结构中;
还包括窗口动态删除步骤:根据要删除的窗口,找到其对应窗口布局数据结构中的容器地址,删除该容器;并且在窗口布局数据结构中,查找与被删除容器同时新建的容器;查找被删除容器的兄弟容器是否包含了子容器,如果未包含子容器,删除该兄弟容器;若如果包含子容器,将子容器复制至被删除容器的父容器中。
如上所述的核电站超声波检测软件视图动态切分及布局方法,其中:所述切分控件还包括用于超声声学成像的动态和静态A、B、C、D型成像8个子模块,所述动态和静态A、B、C、D型成像子模块、窗口横向排列型子模块、窗口纵向排列型子模块都封装为自定义控件,这些自定义控件和窗口布局数据结构子模块再封装成大的切分控件;窗口布局数据结构子模块采用链表的形式,存储在计算机内存中;窗口横向排列型子模块,用于同时新建两个子容器,并将其横向排列;窗口纵向排列型子模块,用于同时新建两个子容器,并将其纵向排列。
如上所述的核电站超声波检测软件视图动态切分及布局方法,其中:所述窗口动态切分建立的步骤,具体如下:
(2.1)建立切分控件容器W,并建立窗口布局数据结构W’,W’包含切分控件容器W的类对象,将容器W设定为活动状态;
(2.2)当用户输入切分时,遍历窗口布局数据结构W’,找到活动状态的容器对象W;
(2.3)判断用户指令是横向切分还是纵向切分;如果是横向切分,在活动状态的容器W中加入两个横向排列的容器A和容器B,容器之间采用分隔条隔开,两个新建的子容器,即容器A和容器B,及分隔条将活动状态的容器W完全占满;同时,将新建的子容器加入窗口布局数据结构,形成地址A’和B’,设置左边容器A和地址A’为活动状态;
如果用户指令是纵向切分,则在活动状态的容器W中加入两个纵向排列的容器C和容器D,容器之间采用分隔条隔开,两个新建的子容器,即容器C和容器D,及分隔条将活动状态的容器W完全占满;同时,将新建的子容器加入窗口布局数据结构,形成地址C’和D’,并设置上边容器C和地址C’为活动状态;
(2.4)用户通过鼠标点击切分好的容器,当某个容器获得焦点后,则更新窗口布局数据结构,设定该容器地址为活动状态;
(2.5)等待用户指令,当用户有切分操作时,重复步骤2.3~2.5;
(2.6)等待用户指定窗口显示内容,当用户指定窗口加载内容后,则查找窗口布局数据结构,找到活动状态的窗口的容器地址,加载动态或静态A、B、C、D型成像子模块,进行数据显示。
如上所述的核电站超声波检测软件视图动态切分及布局方法,其中:所述窗口动态删除步骤,具体如下:
(3.1)当用户输入删除某窗口的指令时,查找窗口布局数据结构中活动的容器地址;
(3.2)删除该容器,同时删除窗口布局数据结构中的该容器地址;
(3.3)在窗口布局数据结构中,查找与被删除容器同时新建的容器地址;若为横向排列,则与被删除容器的同时新建的容器为左容器或右容器;若为纵向排列,则与被删除容器的同时新建的容器为上容器或下容器;
(3.4)计算被删除容器的兄弟容器是否包含了子容器,如果未包含子容器,则跳转步骤3.5,如果包含子容器,则跳转步骤3.6;
(3.5)删除该兄弟容器,同时删除数据结构中的该兄弟容器指针,跳转步骤3.8;
(3.6)在窗口布局数据结构中,复制该兄弟容器下的所有子容器,并删除该兄弟容器下的所有子容器和控件;
(3.7)根据复制的兄弟容器的子容器,在被删除容器的父容器中,按照动态切分建立的步骤重新建立子容器;
(3.8)删除步骤结束,加载动态或静态A、B、C、D子模块,进行数据显示。
本发明的有益效果是:
该方法实现了软件界面视图的任意切分、自定义视图内容和视图布局等功能。利用链表管理窗口布局数据结构,对内存实施动态分配和管理,最大限度的提高内存使用率,提高了查找速度。CPU使用率峰值不超过26%,内存使用率不超过1%。
附图说明
图1为本发明提供的核电站超声波检测软件视图动态切分及布局方法的切分控件结构;
图2为容器活动状态示意图;
图3为横向切分示意图;
图4为纵向切分示意图;
图5为多重横向切分示意图;
图6为多重纵向切分示意图;
图7为窗口E删除示意图;
图8为窗口B删除示意图;
图9为窗口动态删除流程图。
具体实施方式
下面结合附图和实施例对本发明提供的一种核电站超声波检测软件视图动态切分及布局方法进行介绍:
核电站超声波检测软件视图动态切分及布局方法,包括如下步骤:
(1)建立窗口切分控件结构
如图1所示,切分控件由若干个小的自定义控件、窗口布局数据结构等组成,主要分为几个子模块:动态和静态A、B、C、D型成像8个子模块(该成像子模块为超声声学意义的成像类型),窗口横向排列型子模块,窗口纵向排列型子模块及窗口布局数据结构子模块。其中动态和静态A、B、C、D型成像子模块、窗口横向排列型子模块、窗口纵向排列型子模块都封装为自定义控件,这些自定义控件和窗口布局数据结构子模块再封装成大的切分控件。
动态和静态A、B、C、D型成像子模块为用户将视图划分为若干个窗口后,窗口可以显示内容。窗口布局数据结构子模块采用链表的形式,存储在计算机内存中。其中:
动态和静态A、B、C、D型成像8个子模块,主要功能为显示超声波成像,将其加载到切分好容器中,就实现了容器内容的加载,用户就可以观察各种类型的超声波成像。
窗口横向排列型子模块,主要功能为同时新建两个子容器,并将其横向排列。窗口纵向排列型子模块,主要功能为同时新建两个子容器,并将其纵向排列。
窗口布局数据结构驻留在计算机内存中,用来描述容器间相互交错关系,与子容器控件对应,并存储各个子容器的地址,通过它能够方便的查找子容器的位置、类对象和层次关系。
(2)窗口动态切分建立步骤
切分窗口加入到视图窗口,并占满视图控件后,对窗口视图的切分就是切分控件内部的切分。
(2.1)如图2所示,建立切分控件容器W,并建立窗口布局数据结构W’,该数据结构只包含切分控件容器W的类对象,并将该容器W设定为活动状态,此时W’与W形成对应关系,通过W’可找到W的类对象。
(2.2)当用户输入切分时,遍历窗口布局数据结构W’,找到活动状态的容器对象W。
(2.3)判断用户指令是横向切分还是纵向切分。如果是横向切分,在活动状态的容器W中加入两个横向排列的容器A和容器B,容器之间采用分隔条隔开,使其能够自由移动两个容器的大小。两个新建的子容器(即容器A和容器B,两者互为兄弟容器;容器W是容器A、B的父容器)及分隔条将活动状态的容器W完全占满,使用户鼠标激活容器时,不能激活已覆盖的父容器W。同时,将新建的子容器加入窗口布局数据结构,形成地址A’和B’,并设置左边容器A和地址A’为活动状态,如图3所示。
如果用户指令是纵向切分,则在活动状态的容器W中加入两个纵向排列的容器C和容器D,容器之间采用分隔条隔开,使其能够自由移动两个容器的大小。两个新建的子容器(即容器C和容器D)及分隔条将活动状态的容器W完全占满,使用户鼠标激活容器时,不能激活已覆盖的父容器W。同时,将新建的子容器加入窗口布局数据结构,形成地址C’和D’,并设置上边容器C和地址C’为活动状态,如图4所示。
(2.4)用户可通过鼠标点击切分好的容器,当某个容器获得焦点后,则更新窗口布局数据结构,设定该容器地址为活动状态。
(2.5)等待用户指令,当用户有切分操作时,重复步骤2.3~2.5。即可将一个窗口动态切分为若干个小窗口。例如,要将容器A进行横向切分,重复步骤2.3~2.5,结果如图5所示;要将容器D进行横向切分,重复步骤2.3~2.5,结果如图6所示。
(2.6)等待用户指定窗口显示内容,当用户指定窗口加载内容后,则查找窗口布局数据结构,找到活动状态的窗口的容器地址,加载动态或静态A、B、C、D子模块,进行相应数据显示。
(3)窗口动态删除步骤,如图9所示。
(3.1)当用户输入删除某窗口的指令时(对于图6可删除窗口为B、E、F),查找窗口布局数据结构中活动的容器地址。
(3.2)删除该容器,同时删除窗口布局数据结构中的该容器地址。
(3.3)在窗口布局数据结构中,查找与被删除容器同时新建的容器(兄弟容器)地址;若为横向排列,则与被删除容器的同时新建的容器为左容器或右容器;若为纵向排列,则与被删除容器的同时新建的容器为上容器或下容器。
(3.4)计算被删除容器的兄弟容器是否包含了子容器,如果未包含子容器,则跳转步骤3.5,如果包含子容器,则跳转步骤3.6。
(3.5)删除该兄弟容器,同时删除数据结构中的该兄弟容器指针,跳转步骤3.8。
(3.6)在窗口布局数据结构中,复制该兄弟容器下的所有子容器,并删除该兄弟容器下的所有子容器和控件。
(3.7)根据复制的兄弟容器的子容器,在被删除容器的父容器中,按照动态切分建立的步骤重新建立子容器,还原以前的容器结构。
(3.8)删除步骤结束,加载动态或静态A、B、C、D子模块,进行相应数据显示。
如要删除图5中的E,则删除后效果如图7所示。如果要删除图5中的B,则删除后效果如图8所示。
Claims (3)
1.核电站超声波检测软件视图动态切分及布局方法,其特征在于:
包括建立窗口切分控件结构的步骤:切分控件包括窗口横向排列型子模块,窗口纵向排列型子模块及窗口布局数据结构子模块;
还包括窗口动态切分建立的步骤,切分时判断是横向切分还是纵向切分:如果是横向切分,在切分控件容器中加入两个横向排列的子容器,如果是纵向切分,在切分控件容器中加入两个纵向排列的子容器,再将新建的子容器地址加入窗口布局数据结构中;具体步骤如下:
(2.1)建立切分控件容器W,并建立窗口布局数据结构W’,W’包含切分控件容器W的类对象,将容器W设定为活动状态;
(2.2)当用户输入切分时,遍历窗口布局数据结构W’,找到活动状态的容器对象W;
(2.3)判断用户指令是横向切分还是纵向切分;如果是横向切分,在活动状态的容器W中加入两个横向排列的容器A和容器B,容器之间采用分隔条隔开,两个新建的子容器,即容器A和容器B,及分隔条将活动状态的容器W完全占满;同时,将新建的子容器加入窗口布局数据结构,形成地址A’和B’,设置左边容器A和地址A’为活动状态;
如果用户指令是纵向切分,则在活动状态的容器W中加入两个纵向排列的容器C和容器D,容器之间采用分隔条隔开,两个新建的子容器,即容器C和容器D,及分隔条将活动状态的容器W完全占满;同时,将新建的子容器加入窗口布局数据结构,形成地址C’和D’,并设置上边容器C和地址C’为活动状态;
(2.4)用户通过鼠标点击切分好的容器,当某个容器获得焦点后,则更新窗口布局数据结构,设定该容器地址为活动状态;
(2.5)等待用户指令,当用户有切分操作时,重复步骤2.3~2.5;
(2.6)等待用户指定窗口显示内容,当用户指定窗口加载内容后,则查找窗口布局数据结构,找到活动状态的窗口的容器地址,加载动态或静态A、B、C、D型成像子模块,进行数据显示;
还包括窗口动态删除步骤:根据要删除的窗口,找到其对应窗口布局数据结构中的容器地址,删除该容器;并且在窗口布局数据结构中,查找与被删除容器同时新建的容器;查找被删除容器的兄弟容器是否包含了子容器,如果未包含子容器,删除该兄弟容器;若如果包含子容器,将子容器复制至被删除容器的父容器中。
2.如权利要求1所述的核电站超声波检测软件视图动态切分及布局方法,其特征在于:所述切分控件还包括用于超声声学成像的动态和静态A、B、C、D型成像8个子模块,所述动态和静态A、B、C、D型成像子模块、窗口横向排列型子模块、窗口纵向排列型子模块都封装为自定义控件,这些自定义控件和窗口布局数据结构子模块再封装成大的切分控件;窗口布局数据结构子模块采用链表的形式,存储在计算机内存中;窗口横向排列型子模块,用于同时新建两个子容器,并将其横向排列;窗口纵向排列型子模块,用于同时新建两个子容器,并将其纵向排列。
3.如权利要求1或2所述的核电站超声波检测软件视图动态切分及布局方法,其特征在于:所述窗口动态删除步骤,具体如下:
(3.1)当用户输入删除某窗口的指令时,查找窗口布局数据结构中活动的容器地址;
(3.2)删除该容器,同时删除窗口布局数据结构中的该容器地址;
(3.3)在窗口布局数据结构中,查找与被删除容器同时新建的容器地址;若为横向排列,则与被删除容器的同时新建的容器为左容器或右容器;若为纵向排列,则与被删除容器的同时新建的容器为上容器或下容器;
(3.4)计算被删除容器的兄弟容器是否包含了子容器,如果未包含子容器,则跳转步骤3.5,如果包含子容器,则跳转步骤3.6;
(3.5)删除该兄弟容器,同时删除数据结构中的该兄弟容器指针,跳转步骤3.8;
(3.6)在窗口布局数据结构中,复制该兄弟容器下的所有子容器,并删除该兄弟容器下的所有子容器和控件;
(3.7)根据复制的兄弟容器的子容器,在被删除容器的父容器中,按照动态切分建立的步骤重新建立子容器;
(3.8)删除步骤结束,加载动态或静态A、B、C、D子模块,进行数据显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110459001.9A CN102662553B (zh) | 2011-12-31 | 2011-12-31 | 核电站超声波检测软件视图动态切分及布局方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110459001.9A CN102662553B (zh) | 2011-12-31 | 2011-12-31 | 核电站超声波检测软件视图动态切分及布局方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102662553A CN102662553A (zh) | 2012-09-12 |
CN102662553B true CN102662553B (zh) | 2014-06-18 |
Family
ID=46772056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110459001.9A Active CN102662553B (zh) | 2011-12-31 | 2011-12-31 | 核电站超声波检测软件视图动态切分及布局方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102662553B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109781841B (zh) * | 2017-11-10 | 2021-09-17 | 国核电站运行服务技术有限公司 | 主/辅通道超声波检测系统及电子设备 |
CN109781861B (zh) * | 2017-11-10 | 2021-11-23 | 国核电站运行服务技术有限公司 | 电子开关式主/辅多通道超声波采集系统及电子设备 |
CN108279826A (zh) * | 2018-03-07 | 2018-07-13 | 北京布卡互动科技有限公司 | 一种多视频和多文档窗口排列布局方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1802691A (zh) * | 2003-04-08 | 2006-07-12 | 费弗里特系统公司 | 包括计算机设备的开窗口及其控制系统 |
EP1758019A1 (en) * | 2004-05-06 | 2007-02-28 | Takatoshi Yanase | Window display system, window display method, program development support device, and server device |
CN1979412A (zh) * | 2005-12-08 | 2007-06-13 | 凌群电脑股份有限公司 | 图形用户界面的组态方法 |
CN101156141A (zh) * | 2005-04-20 | 2008-04-02 | 松下电器产业株式会社 | 利用窗口框构成信息的因特网终端装置、框服务器、信息系统以及浏览器的执行方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3588038B2 (ja) * | 2000-06-28 | 2004-11-10 | シャープ株式会社 | 印刷出力ユーザインタフェース制御方法およびその方法をプログラムとして格納した記録媒体ならびにそのプログラムを実行する印刷データ供給装置と情報処理システム |
-
2011
- 2011-12-31 CN CN201110459001.9A patent/CN102662553B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1802691A (zh) * | 2003-04-08 | 2006-07-12 | 费弗里特系统公司 | 包括计算机设备的开窗口及其控制系统 |
EP1758019A1 (en) * | 2004-05-06 | 2007-02-28 | Takatoshi Yanase | Window display system, window display method, program development support device, and server device |
CN101156141A (zh) * | 2005-04-20 | 2008-04-02 | 松下电器产业株式会社 | 利用窗口框构成信息的因特网终端装置、框服务器、信息系统以及浏览器的执行方法 |
CN1979412A (zh) * | 2005-12-08 | 2007-06-13 | 凌群电脑股份有限公司 | 图形用户界面的组态方法 |
Non-Patent Citations (1)
Title |
---|
JP特开2002-14788A 2002.01.18 |
Also Published As
Publication number | Publication date |
---|---|
CN102662553A (zh) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108810616B (zh) | 目标定位方法、视频显示方法、装置、设备和存储介质 | |
Paulovich et al. | Semantic wordification of document collections | |
KR101812380B1 (ko) | 공식 검출 엔진 | |
CN102662553B (zh) | 核电站超声波检测软件视图动态切分及布局方法 | |
US20070226718A1 (en) | Method and apparatus for supporting software tuning for multi-core processor, and computer product | |
Schmideder et al. | An X‐ray microtomography‐based method for detailed analysis of the three‐dimensional morphology of fungal pellets | |
CN104077232B (zh) | 一种基于用例与源码双向追溯的测试装置及方法 | |
US20180081862A1 (en) | Techniques for mixed-initiative visualization of data | |
JP2009169557A (ja) | 多目的最適化設計支援装置、方法、及びプログラム | |
US10534522B2 (en) | Pinning portions of data visualizations | |
WO2017166688A1 (zh) | 道路名称显示方法、装置和存储介质 | |
Möller et al. | rhizoTrak: a flexible open source Fiji plugin for user-friendly manual annotation of time-series images from minirhizotrons | |
US20110078635A1 (en) | Relationship map generator | |
CN105093283B (zh) | 一种三维观测系统面元属性多线程快速显示方法 | |
CN113850917A (zh) | 三维模型体素化方法、装置、电子设备及存储介质 | |
US20150269767A1 (en) | Configuring resources used by a graphics processing unit | |
Raschke et al. | Annotation of graphical elements in visualizations for an efficient analysis of visual tasks | |
US10575723B2 (en) | Mapping of internal features on en face imagery | |
Zhang et al. | Exploring eye tracking data on source code via dual space analysis | |
Feickert et al. | pyhf: pure-Python implementation of HistFactory with tensors and automatic differentiation | |
US20120144352A1 (en) | Circuit design approximation | |
Berger et al. | Crash simulation of wound composite tubes based on multi-level modelling | |
Jin et al. | Usability Evaluation and Improvement of Mission Planner UAV Ground Control System's Interface | |
KR101513056B1 (ko) | 요구사항 추적 관리 시스템 및 방법 | |
CN102194202A (zh) | 图像处理设备和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |