CN114706521A - 在eda软件界面中管理窗口的方法及相关设备 - Google Patents
在eda软件界面中管理窗口的方法及相关设备 Download PDFInfo
- Publication number
- CN114706521A CN114706521A CN202210631955.1A CN202210631955A CN114706521A CN 114706521 A CN114706521 A CN 114706521A CN 202210631955 A CN202210631955 A CN 202210631955A CN 114706521 A CN114706521 A CN 114706521A
- Authority
- CN
- China
- Prior art keywords
- window
- display area
- area
- sub
- display
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种在EDA软件界面中管理窗口的方法及相关设备,其中,所述界面包括展示区域,所述展示区域划定有至少一个热区,且所述展示区域中包括第一窗口和被所述第一窗口覆盖的第二窗口,所述方法包括:响应于针对所述第一窗口或所述第二窗口的拖拽操作,确定所述拖拽操作的释放位置;以及响应于所述释放位置处于所述热区,根据所述热区在所述展示区域中的位置,将所述展示区域拆分为两个子展示区域,并将所述第一窗口和所述第二窗口分别展示在所述两个子展示区域中。
Description
技术领域
本申请涉及芯片技术领域,尤其涉及一种在EDA软件界面中管理窗口的方法及相关设备。
背景技术
电子设计自动化(Electronic Design Automation,简称EDA),是指利用计算机辅助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。
一般地,EDA软件会向用户提供一个界面,用于实现与用户的交互。
但是,本申请的发明人发现,相关技术中的EDA软件界面中的窗口通常位置固定,使用不便。
发明内容
鉴于此,本申请提出一种在EDA软件界面中管理窗口的方法及相关设备,以解决或部分解决上述问题。
本申请第一方面,提供了一种在EDA软件界面中管理窗口的方法,其中,所述界面包括展示区域,所述展示区域划定有至少一个热区,且所述展示区域中包括第一窗口和被所述第一窗口覆盖的第二窗口,所述方法包括:
响应于针对所述第一窗口或所述第二窗口的拖拽操作,确定所述拖拽操作的释放位置;以及
响应于所述释放位置处于所述热区,根据所述热区在所述展示区域中的位置,将所述展示区域拆分为两个子展示区域,并将所述第一窗口和所述第二窗口分别展示在所述两个子展示区域中。
本申请第二方面,提供了一种计算机设备,包括一个或者多个处理器、存储器;和一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据第一方面所述的方法的指令。
本申请第三方面,提供了一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行第一方面所述的方法。
本申请第四方面,提供了一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行第一方面所述的方法。
本申请提供的在EDA软件界面中管理窗口的方法及相关设备,通过在展示区域划分出热区,使得当用户将窗口拖拽到热区并释放时,可以将展示区域进行拆分,进而可以在展示区域中同时展示两个窗口,方便了用户的使用。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例所提供的示例性计算机设备的硬件结构示意图。
图2A示出了根据本申请实施例的EDA工具的基本结构示意图。
图2B示出了根据本申请实施例的EDA工具的一个计算命令的基本执行流程的示意图。
图3A示出了根据本申请实施例的示例性界面的示意图。
图3B示出了根据本申请实施例的另一示例性界面的示意图。
图3C示出了根据本申请实施例的另一示例性界面的示意图。
图3D示出了根据本申请实施例的另一示例性界面的示意图。
图3E示出了根据本申请实施例的另一示例性界面的示意图。
图3F示出了根据本申请实施例的另一示例性界面的示意图。
图3G示出了根据本申请实施例的另一示例性界面的示意图。
图3H示出了根据本申请实施例的另一示例性界面的示意图。
图3I示出了根据本申请实施例的另一示例性界面的示意图。
图4示出了根据本申请实施例的示例性管理控件的示意图。
图5示出了本申请实施例所提供的示例性方法的流程示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
图1示出了本申请实施例所提供的一种计算机设备100的结构示意图。该计算机设备100可以包括:处理器102、存储器104、网络接口106、外围接口108和总线110。其中处理器102、存储器104、网络接口106和外围接口108通过总线110实现彼此之间在设备内部的通信连接。
处理器102可以是中央处理器(Central Processing Unit,CPU)、图像处理器、神经网络处理器(NPU)、微控制器(MCU)、可编程逻辑器件、数字信号处理器(DSP)、应用专用集成电路(Application Specific Integrated Circuit,ASIC)或者一个或多个集成电路。处理器102可以用于执行与本申请描述的技术相关的功能。在一些实施例中,处理器102还可以包括集成为单一逻辑组件的多个处理器。如图1所示,处理器102可以包括多个处理器102a、102b和102c。
存储器104可以配置为存储数据(例如,指令集、计算机代码、中间数据等)。例如,如图1所示,存储的数据可以包括程序指令(例如,用于实现本申请的技术方案的程序指令)以及待处理的数据。处理器102也可以访问存储的程序指令和数据,并且执行程序指令以对要处理的数据进行操作。存储器104可以包括易失性存储装置或非易失性存储装置。在一些实施例中,存储器104可以包括随机访问存储器(RAM)、只读存储器(ROM)、光盘、磁盘、硬盘、固态硬盘(SSD)、闪存、存储棒等。
网络接口106可以配置为经由网络向计算机设备100提供与其他外部设备的通信。该网络可以是能够传输和接收数据的任何有线或无线的网络。例如,该网络可以是有线网络、本地无线网络(例如,蓝牙、WiFi、近场通信(NFC)等)、蜂窝网络、因特网、或上述的组合。可以理解的是,网络的类型不限于上述具体示例。在一些实施例中,网络接口106可以包括任意数量的网络接口控制器(NIC)、射频模块、接收发器、调制解调器、路由器、网关、适配器、蜂窝网络芯片等的任意组合。
外围接口108可以配置为将计算机设备100与一个或多个外围装置连接,以实现信息输入及输出。例如,外围装置可以包括键盘、鼠标、触摸板、触摸屏、麦克风、各类传感器等输入设备以及显示器、扬声器、振动器、指示灯等输出设备。
总线110可以被配置为在计算机设备100的各个组件(例如处理器102、存储器104、网络接口106和外围接口108)之间传输信息,诸如内部总线(例如,处理器-存储器总线)、外部总线(USB端口、PCI-E总线)等。
需要说明的是,尽管上述设备仅示出了处理器102、存储器104、网络接口106、外围接口108和总线110,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请实施例方案所必需的组件,而不必包含图中所示的全部组件。
图2A示出了根据本申请实施例的EDA工具200的基本结构示意图。
如图2A所示,虚线以上为用户部分;虚线以下为EDA工具200,EDA工具200可以由图1所示的设备100实现。在一些实施例中,该EDA工具200可以实现为EDA软件。更具体地,该EDA工具200可以是基于芯片设计进行布局(Placement)和布线(Routing)的软件。仿真工具200可以包括Tcl命令(或者图形/窗口界面)模块204、各计算模块(例如,Place计算模块206、Route计算模块208、Optimization计算模块210等)以及数据库系统212。用户202可以通过在Tcl命令(或者图形/窗口界面)模块204中输入相关命令来操作该EDA工具200。
Tcl命令模块204,主要起着消息传递或命令传递的功能。Tcl命令模块204可以读取用户202向仿真工具200输入的指令,并可以根据指令的具体内容,分配并传递给相应的计算模块去执行具体任务。
根据计算任务的不同,各计算模块可以分为,例如,Place计算模块206、Route计算模块208、Optimization计算模块210等。Place计算模块206可以用于为所有元器件计算出一个合理的摆放位置,Route计算模块208可以用于计算出各个元器件之间合理的导线连接方式,Optimization计算模块210则可以用于将各个元器件之间的摆放位置和导线连接方式进行优化。这些计算模块的计算过程可以在,例如,图1的处理器102中进行。
数据库系统212可以用于完整全面地记录、存储被仿真或者被设计的芯片的所有信息(如位置、方向、尺寸、结构、导线连接方式等等)。这些信息,例如,可以存储在图1的存储器104中。
图2B示出了根据本申请实施例的EDA工具200的一个计算命令的基本执行流程220。如图2B所示,在步骤2202,用户202可以通过Tcl命令模块204提供的命令界面或者图形用户界面(GUI)向该EDA工具200下达一个命令(例如, do_place命令)。然后,在步骤2204,Tcl命令模块204解析这一命令并将其分发到相应的计算模块(例如,Place计算模块206)。在步骤2206,各计算模块执行各自所需进行的具体计算。在这期间,如步骤2208所示,各计算模块需要(高频、反复)调取数据库系统212中的数据来进行计算。计算完成后,如步骤2210所示,各计算模块可以将计算结果写入数据库系统212,并将计算结果返回给Tcl命令模块204。在步骤2212,Tcl命令模块204通过命令界面或者图形用户界面(GUI)将计算结果返回给用户202,该EDA工具200对一个计算命令的处理过程结束。在步骤2214,用户可以根据计算结果进行评估,然后确定下一步计划。
可以看出,在EDA工具200对一个计算命令进行处理的过程中,用户需要借助Tcl命令模块204来向EDA工具200下达命令,而Tcl命令模块204可以通过提供图形用户界面(GUI)的方式向用户反馈计算结果。
但是,在相关技术中,EDA软件的窗口管理往往存在窗口配置与画布(canvas)逻辑不一致,从而导致窗口行为不一致的问题。例如,在软件界面中,有些窗口可以放入展示(View)区域,有些窗口可以放入侧边(Dock)区域,有些窗口放入展示区域后就不再能拖拽(drag)为独立窗体,有些窗口则只可以弹出为独立窗体,等等。这些操作和控制行为,在EDA相关技术中,尚没有一个统一的技术方案解决这个问题。
有鉴于此,本申请实施例提供了一种在EDA软件界面中管理窗口的方法及相关设备,通过在展示区域划分出热区,使得当用户将窗口拖拽到热区并释放时,可以将展示区域进行拆分,进而可以在展示区域中同时展示两个窗口,方便了用户的使用。
图3A示出了根据本申请实施例的示例性界面300的示意图。
如图3A所示,界面300可以是一种EDA软件的操作界面,该界面300可以具体包括标题栏302、菜单栏304、位于界面300中心的展示(View)区域306、位于展示区域306一侧的侧边(Dock)区域308。其中,展示区域306可以用于展示信息或编辑信息,例如,用于展示芯片的布图设计。侧边区域308被设置在界面300的一侧并可以被限制在一定区域中,如图3A所示。
在该界面300中,展示区域306和侧边区域308均可以展示相应的窗口。但在相关技术中,特定的窗口只能对应放入展示区域306或侧边区域308,且不能调换。并且,展示在展示区域306中的窗口只能重叠放置,需要展示位于当前窗口下方的窗口时,只能通过切换窗口的方式来实现。
鉴于此,在一些实施例中,该EDA工具200可以在创建窗口时,为该窗口赋予相应的属性,包括但不限于:
类型属性(Type),用于表示该窗口的类型,分别展示类型和侧边类型,当属于展示类型时,该窗口可以放置于展示区域306,当属于侧边类型时,该窗口可以放置于侧边区域308;
图标属性(Icon),用于表示该窗口的标签地址,在生成窗口时用于指示该窗口对应的标签的绘制位置。
在一些实施例中,当该窗口为展示类型时,还可以进一步包括以下属性:
弹出属性(Pop),用于表示该窗口是否可以被弹出为独立窗口;
嵌入属性(Inter),用于表示该窗口是否可以被放入展示区域306。
基于上述属性,针对窗口操作可以遵循以下规则:
如果窗口的类型属性标记为展示类型,且当窗口的嵌入属性为假(false),则该窗口可以直接弹出为独立窗体,并且不可放置在展示区域306;
如果窗口的类型属性标记为展示类型,且当窗口的嵌入属性为真(true),则窗口可以显示在展示区域306,在一些实施例中,为了窗口展示的方便和用户使用的方便,该窗口可以默认显示在展示区域306中。此时,如果窗口的弹出属性为假(false),表示该窗口只可以在展示区域306内活动或与展示区域306内的其他窗口进行组合,不可以弹出为独立窗口。如果窗口的弹出属性为真(true),则该窗口还可以拖拽为独立窗口。
这样,通过设置上述属性,在对窗口进行相应操作(例如,在展示区域306中拖拽形成新窗口、拖拽为独立窗口)时,通过识别该窗口的属性,可以确定是否可以对该窗口执行该操作。
在一些实施例中,为了对用户进行提示以方便用户操作,基于上述属性,该EDA工具200还可以在窗口的标签中生成相应的按键来提示用户可以对该窗口进行何种操作。
例如,如图3A所示,窗口的标签中可以形成有一个方形的按键作为弹出按键,从而提示用户可以通过点击该按键来将对应的窗口弹出为独立窗口。若该标签中没有该方形按键而只有关闭按键,则说明该窗口不能弹出为独立窗口。
为了便利用户的操作,在一些实施例中,还可以在展示区域306中划定热区,用于判定当前需要执行的操作。
图3B示出了根据本申请实施例的另一示例性界面300的示意图。
如图3B所示,展示区域306可以被划定有多个热区,当针对窗口的拖拽操作的释放位置位于相应热区时,可以执行与该热区对应的操作。
作为一个可选实施例,热区可以包括两种类型,分别为第一热区306A和第二热区306B,其中,第一热区306A用于将展示区域306进行拆分,第二热区306B用于将展示区域306进行合并。在一些实施例中,如图3B所示,展示区域306可以包括四个第一热区306A,第二热区306B位于展示区域306的中心位置,四个第一热区306A分别位于第二热区306B的第一侧、第二侧、第三侧和第四侧(例如,上、下、左、右),其中,第一侧与第三侧相对设置,第二侧与第四侧相对设置。这样,通过将窗口拖拽到展示区域306的上下左右任意一个位置,都可以实现拆分,并且将窗口拖拽到展示区域306的中间区域则可以实现合并,操作十分方便。
图3C示出了根据本申请实施例的另一示例性界面300的示意图。
以图3A~图3C为例,如图3A所示,在展示区域306中可以包括第一窗口Layout01和第二窗口Layout02,其中,第一窗口Layout01覆盖在第二窗口Layout02之上,使得展示区域306中仅展示第一窗口Layout01的内容。在一些实施例中,第一窗口Layout01对应有第一标签3066,第二窗口Layout02对应有第二标签3068,其中,由于第二窗口Layout02隐藏在第一窗口Layout01之下,因此,第二标签3068可以相应地进行灰暗处理,从而提示用户该标签3068对应的窗口处于未展示状态。
接着,用户可以通过点击第一窗口Layout01对应的第一标签3066,然后进行拖拽(drag),并在展示区域306右侧的第一热区306A中释放(drop),EDA工具200识别到第一窗口Layout01在该位置释放,则根据所述热区在展示区域306中的位置(例如,位于展示区域306的右侧),将展示区域306拆分为第一子展示区域3062和第二子展示区域3064,并将第二窗口Layout02和第一窗口Layout01分别展示在第一子展示区域3062和第二子展示区域3064中,如图3C所示。
基于前面所述,第一热区306A可以有多个,并且可以分布在展示区域306的不同位置,因此,在一些实施例中,可以根据第一热区306A在展示区域306中的位置来确定展示区域306的拆分方向。
例如,当拖拽操作的释放位置处于位于展示区域306的第一侧(例如,左侧)或第三侧(例如,右侧)的第一热区306A中时,则EDA工具200可以沿第一方向(例如,横向)拆分该展示区域306,如图3C所示。
又例如,当拖拽操作的释放位置处于位于展示区域306的第二侧(例如,上侧)或第四侧(例如,下侧)的第一热区306A中时,则EDA工具200可以沿第二方向(例如,纵向)拆分该展示区域306,如图3D所示。
这样,根据拖拽操作的释放位置对应的第一热区306A的位置来拆分展示区域306,可以更好地适配用户的意图,提升用户体验。
在一些实施例中,在拆分展示区域306之后,还可以根据用户所选择的被拖拽的窗口来确定相应的子展示区域3062或3064中的展示内容。
作为一个可选实施例,可以将被拖拽的窗口展示在与所述释放位置对应的子展示区域中;以及将另一窗口展示在另一子展示区域中。
例如,如图3C所示,假设拖拽操作是针对第一窗口Layout01,且释放位置是右侧的第一热区306A,则将第一窗口Layout01显示在右侧的子展示区域3064中,将第二窗口Layout02显示在左侧的子展示区域3062中。
又例如,如图3D所示,假设拖拽操作是针对第二窗口Layout02,且释放位置是下侧的第一热区306A,则将第二窗口Layout02显示在下侧的子展示区域3064中,将第一窗口Layout01显示在上侧的子展示区域3062中。
这样,根据拖拽操作针对的窗口及其释放位置来在相应子展示区域中展示相应窗口,可以更好地适配用户的意图,提升用户体验。
在一些实施例中,子展示区域还可以进一步拆分。图3E示出了根据本申请实施例的另一示例性界面300的示意图。如图3E所示,该界面300的展示区域306中可以包括三个窗口。假设用户将第二窗口Layout02拖拽到下侧的第一热区306A并将展示区域306拆分为上下两个子展示区域,如图3F所示,此时,第三窗口Layout03因为与第一窗口Layout01处于同一子展示区域而继续被覆盖。进一步地,当用户继续拖拽第三窗口Layout03并在右侧的第一热区306A释放,则EDA工具200可以进一步将子展示区域3062拆分出第三子展示区域3070,并将第三窗口Layout03展示在其中,如图3G所示。
由此可见,通过这样的拖拽操作,可以将展示区域306持续拆分并在各子展示区域中展示相应的窗口的内容,从而方便用户的使用,充分利用了展示区域306的空间。
回到图3A~图3C,在一些实施例中,除了可以将展示区域进行拆分之外,对于已经被拆分为子展示区域的展示区域,还可以将子展示区域合并为展示区域。
如图3C所示,当用户针对图3C中的第一窗口Layout01或第二窗口Layout02进行拖拽并在第二热区306B的位置进行释放,可以将两个子展示区域3062、3064合并为展示区域306,并将未被拖拽的窗口(例如,第一窗口Layout01)展示在所述展示区域中且将被拖拽的窗口(例如,第二窗口Layout02)隐藏在该未被拖拽的窗口下方,如图3A所示。
类似地,当展示区域306被拆分为更多的子展示区域时,采用上述方法可以对展示区域306进行逐步合并,并最终得到完整的展示区域306,在此不再赘述。
除了对展示区域306进行拆分、合并之外,基于前面所述,窗口还可以具有弹出属性(Pop),从而可以弹出为独立窗口。
图3H示出了根据本申请实施例的另一示例性界面300的示意图。如图3H所示,该界面300已经将展示区域306拆分为子展示区域3062和3064,在子展示区域3062和3064中分别展示有第一窗口Report和第二窗口Layout02,当这两个窗口具有弹出属性时,窗口对应的标签中可以分别具有弹出按键。其中,第一窗口Report显示的是对应的芯片设计的时序报告(Timing Report),并具体展示了相应的时序信息。其标签3068可以具有弹出按键30682,当用户点击该按键30682,EDA工具200响应于针对该弹出按键30682的触发操作,可以将该窗口弹出展示区域306并生成对应的独立窗口310,如图3I所示。这样,由于窗口被弹出为独立窗口,使得该窗口可以更大,展示更多细节信息,方便了用户的使用。并且,如图3I所示,该窗口的标题栏3102中还可以具有最大化按键3108,通过点击该按键3108,可以将该独立窗口310最大化,进而展示更多的信息。
在一些实施例中,在将窗口弹出展示区域并生成对应的独立窗口之后,EDA工具200还可以将两个子展示区域合并为展示区域306,并将第二窗口Layout02展示在展示区域中并删除第一窗口Report的第一标签3066,如图3I所示。这样,因为第一窗口Report已经弹出为独立窗口,则展示区域306则不需要再展示第一窗口Report及其标签,从而对展示区域306进行了精简,符合用户使用习惯
在一些实施例中,如图3I所示,该独立窗口310的标题栏3102还可以标签按键3106,EDA工具200响应于针对该标签按键3106的触发操作,可以将第一窗口Report隐藏在第二窗口Layout02下方,然后为第一窗口Report生成第一标签3066并显示在第二标签3068一侧,类似于图3A所示。这样,界面300就恢复到了最初的状态。
如图3I所示,在一些实施例中,该独立窗口310的标题栏3102还可以包括拖拽按键3104,用户可以通过点击该按键3104来对窗口310进行拖拽,从而可以对窗口310的位置进行调整。
在一些实施例中,EDA工具200响应于针对拖拽按键3104的拖拽操作的释放位置处于任一第一热区306A,则可以根据所述第一热区306A在所述展示区域306中的位置,将所述展示区域306再次拆分为两个子展示区域,并将所述第一窗口Report和所述第二窗口Layout02分别展示在所述两个子展示区域中,例如,恢复到图3H所示的状态。这样,就利用拖拽操作再次实现了在展示区域306中拆分展示两个窗口的功能,进一步丰富了产品的交互功能和窗口管理功能,方便了用户使用。
为了适配界面300的前述操作,本申请实施例相应地从技术层面对上述实施例进行了实现。
以该技术实现在Linux系统下为例,在初始状态下,计算机设备100可以为展示区域306分配一个管理控件(ViewSplitter),该管理控件用于对容器进行集中管理,并可以进一步分割为子控件(Splitter)或将子控件进行组合。同时,计算机设备100还设置一个管理器(Manager),当窗口提交到该管理器之后,管理器判断该窗口放入展示区域306或侧边区域308,并可以判断该窗口是否可以被弹出为独立窗口。
图4示出了根据本申请实施例的示例性管理控件400的示意图。
如图4所示,管理控件ViewSplitter内部通过子控件Splitter组织多个容器(Container),容器Container带有热区功能。同时每一个窗口在Container中,都被包含的一个标签控件(Tab Widget)下,当窗口在展示区域306中进行切换时(选择哪个窗口进行显示),由该标签控件来实现相应的标签的切换或绘制。
热区功能由释放(drop)事件实现。根据图3B所示,可以将展示区域分为3×3,共计9个子区域,其中上下左右+中间为热区(第一热区306A、第二热区306B)。
若按住窗口的标签,然后拖动,则计算机设备100可以侦测阈值(例如,拖拽轨迹的长度阈值),当阈值超过界限,则可以生成一个拖拽事件。当释放时,则会相应生成释放事件。
若释放事件落在热区中,则可以视为某个窗口发生拖动。其中,若释放事件在任一第一热区306A中,则在被拖拽的窗口的原容器Container中去除该被拖拽的窗口,并且在该热区所在的容器Container中加入该被拖拽的窗口。若释放事件在第二热区306B,则直接在该热区所在的容器Container中加入该被拖拽的窗口。
如果窗口的弹出属性(Pop)为true,则点击窗口的标题栏的弹出按键时,可以生成一个对话(Dialog)容器,并将被弹出的窗口嵌入该对话容器,同时弹出相应的对话(Dialog)窗口。如果释放事件不在任何一个热区,并且窗口的弹出属性(Pop)为true,则也会生成对话(Dialog)容器。并且该窗口原先对应的tab和splitter均被移除。
针对已经弹出的独立窗口,若点击该窗口的标题栏的标签按键,则ViewSplitter会根据算法计算一个标签控件(Tab Widget),并且将此窗口放入该标签控件(Tab Widget)中,对话(Dialog)容器将会被销毁。
若是点击该窗口的标题栏的拖拽按键,则可以基于前述逻辑生成一个拖拽事件,并可以按照上述逻辑,将窗体重新放回Container和Tab Widget中,同时对话(Dialog)容器也将被销毁。
这样,结合图4所示,Splitter可以嵌套,同时一个Tab Widget可以包含多个窗口,再加上拖拽、弹出逻辑,共同完成了可以自由组合容器的窗口系统。
本申请实施例提供的EDA工具,界面中的窗口可以自由组合、嵌套和弹出,方便了对窗口的管理,丰富了窗口的交互操作,解决了相关技术不能灵活调整窗口的问题。
本申请实施例还提供了一种在EDA软件界面中管理窗口的方法。图5示出了本申请实施例所提供的示例性方法500的流程示意图。该方法500可以由图1的计算机设备100实现,并可以实现为图2A的EDA工具200的一部分功能。如图5所示,该方法可以进一步包括以下步骤。
在步骤502,响应于针对所述第一窗口(例如,图3A的第一窗口Layout01)或所述第二窗口(例如,图3A的第二窗口Layout02)的拖拽操作,确定所述拖拽操作的释放位置。
在步骤504,响应于所述释放位置处于所述热区(例如,图3B的第一热区306A),根据所述热区在所述展示区域(例如,图3A的展示区域3062)中的位置,将所述展示区域拆分为两个子展示区域(例如,图3C的子展示区域3062、3064),并将所述第一窗口和所述第二窗口分别展示在所述两个子展示区域中,如图3C所示。
这样,通过在展示区域划分出热区,使得当用户将窗口拖拽到热区并释放时,可以将展示区域进行拆分,进而可以在展示区域中同时展示两个窗口,方便了用户的使用。
在一些实施例中,所述展示区域包括用于拆分展示区域的第一热区(例如,图3B的第一热区306A)和用于合并展示区域的第二热区(例如,图3B的第二热区306B);响应于所述释放位置处于所述热区,根据所述热区在所述展示区域中的位置,将所述展示区域拆分为两个子展示区域,进一步包括:响应于所述释放位置处于所述第一热区,根据所述第一热区在所述展示区域中的位置,将所述展示区域拆分为两个子展示区域,从而基于第一热区可以实现对展示区域306的拆分。
在一些实施例中,所述展示区域包括四个所述第一热区,所述第二热区位于所述展示区域的中心位置,四个所述第一热区分别位于所述第二热区的第一侧、第二侧、第三侧和第四侧,其中,所述第一侧与所述第三侧相对设置,所述第二侧与所述第四侧相对设置;根据所述第一热区在所述展示区域中的位置,将所述展示区域拆分为两个子展示区域,进一步包括:根据所述释放位置对应的第一热区与所述第二热区的相对位置,将所述展示区域沿第一方向(例如,图3C的横向)或第二方向(例如,图3C的纵向)拆分为两个子展示区域,从而可以实现将展示区域306沿两个方向拆分,丰富了视觉效果和拆分功能。
在一些实施例中,将所述第一窗口和所述第二窗口分别展示在所述两个子展示区域中,进一步包括:将被拖拽的窗口展示在与所述释放位置对应的子展示区域中;以及将另一窗口展示在另一子展示区域中,从而更好地适应用户使用习惯。
在一些实施例中,该方法还包括:响应于针对所述子展示区域中的所述第一窗口或所述第二窗口的拖拽操作,确定所述拖拽操作的释放位置;以及响应于所述释放位置处于所述第二热区,将所述两个子展示区域合并为展示区域,并将未被拖拽的窗口展示在所述展示区域中且将被拖拽的窗口隐藏在所述未被拖拽的窗口下方,从而利用拖拽操作和第二热区的设计,实现了展示区域的合并,丰富了操作功能。
在一些实施例中,所述第一窗口和所述第二窗口分别对应有第一标签和第二标签;所述方法还包括:响应于所述第一窗口具有弹出属性,所述第一标签中显示弹出按键(例如,图3H的弹出按键30662);以及响应于针对所述弹出按键的触发操作,将所述第一窗口弹出所述展示区域并生成对应的独立窗口(例如,图3I的窗口310),从而可以实现窗口弹出,展示更多的信息。
在一些实施例中,将所述第一窗口弹出所述展示区域并生成对应的独立窗口之后,还包括:将所述两个子展示区域合并为展示区域,并将所述第二窗口展示在所述展示区域中并删除所述第一标签。
在一些实施例中,所述独立窗口的标题栏(例如,图3I的标题栏3102)包括拖拽按键(例如,图3I的按键3104),所述方法还包括:响应于针对所述拖拽按键的拖拽操作,确定所述针对所述拖拽按键的拖拽操作的释放位置;响应于所述针对所述拖拽按键的拖拽操作的释放位置处于所述热区,根据所述热区在所述展示区域中的位置,将所述展示区域拆分为两个子展示区域,并将所述第一窗口和所述第二窗口分别展示在所述两个子展示区域中,从而进一步地利用弹出窗口实现了展示区域306的再次拆分。
在一些实施例中,所述独立窗口的标题栏包括标签按键(例如,图3I的按键3106),所述方法还包括:响应于针对所述标签按键的触发操作,将所述第一窗口隐藏在所述第二窗口下方,为所述第一窗口生成所述第一标签并显示在所述第二标签一侧,从而可以将展示区域306恢复为原始状态。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的方法500。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的方法500,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法500相对应的,本申请还提供了一种计算机程序产品,其包括计算机程序。在一些实施例中,所述计算机程序由一个或多个处理器可执行以使得所述处理器执行所述的方法500。对应于方法500各实施例中各步骤对应的执行主体,执行相应步骤的处理器可以是属于相应执行主体的。
上述实施例的计算机程序产品用于使处理器执行如上任一实施例所述的方法300,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种在EDA软件界面中管理窗口的方法,其中,所述界面包括展示区域,所述展示区域划定有至少一个热区,且所述展示区域中包括第一窗口和被所述第一窗口覆盖的第二窗口,所述方法包括:
响应于针对所述第一窗口或所述第二窗口的拖拽操作,确定所述拖拽操作的释放位置;以及
响应于所述释放位置处于所述热区,根据所述热区在所述展示区域中的位置,将所述展示区域拆分为两个子展示区域,并将所述第一窗口和所述第二窗口分别展示在所述两个子展示区域中。
2.如权利要求1所述的方法,其中,所述展示区域包括用于拆分展示区域的第一热区和用于合并展示区域的第二热区;
响应于所述释放位置处于所述热区,根据所述热区在所述展示区域中的位置,将所述展示区域拆分为两个子展示区域,进一步包括:
响应于所述释放位置处于所述第一热区,根据所述第一热区在所述展示区域中的位置,将所述展示区域拆分为两个子展示区域。
3.如权利要求2所述的方法,还包括:
响应于针对所述子展示区域中的所述第一窗口或所述第二窗口的拖拽操作,确定所述拖拽操作的释放位置;以及
响应于所述释放位置处于所述第二热区,将所述两个子展示区域合并为展示区域,并将未被拖拽的窗口展示在所述展示区域中且将被拖拽的窗口隐藏在所述未被拖拽的窗口下方。
4.如权利要求2所述的方法,其中,所述展示区域包括四个所述第一热区,所述第二热区位于所述展示区域的中心位置,四个所述第一热区分别位于所述第二热区的第一侧、第二侧、第三侧和第四侧,其中,所述第一侧与所述第三侧相对设置,所述第二侧与所述第四侧相对设置;
根据所述第一热区在所述展示区域中的位置,将所述展示区域拆分为两个子展示区域,进一步包括:
根据所述释放位置对应的第一热区与所述第二热区的相对位置,将所述展示区域沿第一方向或第二方向拆分为两个子展示区域。
5.如权利要求4所述的方法,其中,将所述第一窗口和所述第二窗口分别展示在所述两个子展示区域中,进一步包括:
将被拖拽的窗口展示在与所述释放位置对应的子展示区域中;以及
将另一窗口展示在另一子展示区域中。
6.如权利要求1-5任一项所述的方法,其中,所述第一窗口和所述第二窗口分别对应有第一标签和第二标签;所述方法还包括:
响应于所述第一窗口具有弹出属性,所述第一标签中显示弹出按键;以及
响应于针对所述弹出按键的触发操作,将所述第一窗口弹出所述展示区域并生成对应的独立窗口。
7.如权利要求6所述的方法,其中,将所述第一窗口弹出所述展示区域并生成对应的独立窗口之后,还包括:
将所述两个子展示区域合并为展示区域,并将所述第二窗口展示在所述展示区域中并删除所述第一标签。
8.如权利要求7所述的方法,其中,所述独立窗口的标题栏包括拖拽按键,所述方法还包括:
响应于针对所述拖拽按键的拖拽操作,确定所述针对所述拖拽按键的拖拽操作的释放位置;
响应于所述针对所述拖拽按键的拖拽操作的释放位置处于所述热区,根据所述热区在所述展示区域中的位置,将所述展示区域拆分为两个子展示区域,并将所述第一窗口和所述第二窗口分别展示在所述两个子展示区域中。
9.如权利要求7所述的方法,其中,所述独立窗口的标题栏包括标签按键,所述方法还包括:
响应于针对所述标签按键的触发操作,将所述第一窗口隐藏在所述第二窗口下方,为所述第一窗口生成所述第一标签并显示在所述第二标签一侧。
10.一种计算机设备,包括一个或者多个处理器、存储器;和一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据权利要求1-9任意一项所述的方法的指令。
11.一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行权利要求1-9中任一项所述的方法。
12.一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210631955.1A CN114706521A (zh) | 2022-06-07 | 2022-06-07 | 在eda软件界面中管理窗口的方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210631955.1A CN114706521A (zh) | 2022-06-07 | 2022-06-07 | 在eda软件界面中管理窗口的方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114706521A true CN114706521A (zh) | 2022-07-05 |
Family
ID=82177991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210631955.1A Pending CN114706521A (zh) | 2022-06-07 | 2022-06-07 | 在eda软件界面中管理窗口的方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114706521A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100083154A1 (en) * | 2008-09-30 | 2010-04-01 | Fujifilm Corporation | Apparatus, method and program for controlling drag and drop operation and computer terminal |
CN102855068A (zh) * | 2012-08-16 | 2013-01-02 | 优视科技有限公司 | 界面操作控制方法、装置及电子设备 |
WO2014046525A1 (en) * | 2012-09-24 | 2014-03-27 | Samsung Electronics Co., Ltd. | Method and apparatus for providing multi-window in touch device |
US20140164991A1 (en) * | 2012-12-06 | 2014-06-12 | Samsung Electronics Co., Ltd. | Display device and method of controlling the same |
CN104423794A (zh) * | 2013-09-11 | 2015-03-18 | 上海帛茂信息科技有限公司 | 一种具有双窗口显示功能的智能型移动设备 |
US20170357437A1 (en) * | 2016-06-10 | 2017-12-14 | Apple Inc. | Device, Method, and Graphical User Interface for Manipulating Windows in Split Screen Mode |
CN110162288A (zh) * | 2019-06-03 | 2019-08-23 | 北京淳中科技股份有限公司 | 一种确定显示区域的方法、装置、设备和介质 |
CN111368234A (zh) * | 2018-12-25 | 2020-07-03 | 阿里巴巴集团控股有限公司 | 窗口调整方法、设备及存储介质 |
CN113312130A (zh) * | 2021-06-01 | 2021-08-27 | 统信软件技术有限公司 | 一种窗口显示方法及计算设备 |
WO2022031049A1 (ko) * | 2020-08-04 | 2022-02-10 | 삼성전자 주식회사 | 멀티 윈도우 모드를 지원하는 전자 장치 및 그의 제어 방법 |
CN114089882A (zh) * | 2020-07-03 | 2022-02-25 | 华为技术有限公司 | 一种分屏显示多个窗口的方法及电子设备 |
CN114416227A (zh) * | 2021-11-16 | 2022-04-29 | 华为技术有限公司 | 窗口切换方法、电子设备及可读存储介质 |
-
2022
- 2022-06-07 CN CN202210631955.1A patent/CN114706521A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100083154A1 (en) * | 2008-09-30 | 2010-04-01 | Fujifilm Corporation | Apparatus, method and program for controlling drag and drop operation and computer terminal |
CN102855068A (zh) * | 2012-08-16 | 2013-01-02 | 优视科技有限公司 | 界面操作控制方法、装置及电子设备 |
WO2014046525A1 (en) * | 2012-09-24 | 2014-03-27 | Samsung Electronics Co., Ltd. | Method and apparatus for providing multi-window in touch device |
US20140164991A1 (en) * | 2012-12-06 | 2014-06-12 | Samsung Electronics Co., Ltd. | Display device and method of controlling the same |
CN104423794A (zh) * | 2013-09-11 | 2015-03-18 | 上海帛茂信息科技有限公司 | 一种具有双窗口显示功能的智能型移动设备 |
US20170357437A1 (en) * | 2016-06-10 | 2017-12-14 | Apple Inc. | Device, Method, and Graphical User Interface for Manipulating Windows in Split Screen Mode |
CN111368234A (zh) * | 2018-12-25 | 2020-07-03 | 阿里巴巴集团控股有限公司 | 窗口调整方法、设备及存储介质 |
CN110162288A (zh) * | 2019-06-03 | 2019-08-23 | 北京淳中科技股份有限公司 | 一种确定显示区域的方法、装置、设备和介质 |
CN114089882A (zh) * | 2020-07-03 | 2022-02-25 | 华为技术有限公司 | 一种分屏显示多个窗口的方法及电子设备 |
WO2022031049A1 (ko) * | 2020-08-04 | 2022-02-10 | 삼성전자 주식회사 | 멀티 윈도우 모드를 지원하는 전자 장치 및 그의 제어 방법 |
CN113312130A (zh) * | 2021-06-01 | 2021-08-27 | 统信软件技术有限公司 | 一种窗口显示方法及计算设备 |
CN114416227A (zh) * | 2021-11-16 | 2022-04-29 | 华为技术有限公司 | 窗口切换方法、电子设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
BEANSOFT: ""IntelliJ IDEA 2020.3 EAP 新特性: 拖动分割编辑器,新欢迎窗口等"", 《HTTPS://WWW.CNBLOGS.COM/BEANSOFT/P/13752878.HTML》 * |
杨鹏连: ""UltraEdit文字编辑器教程:垂直/水平拆分窗口功能解读"", 《HTTPS://WWW.EVGET.COM/ARTICLE/2020/9/24/38397.HTML》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3835933A1 (en) | Product browsing method and apparatus, device and storage medium | |
CN104025003B (zh) | 平移动画 | |
US10831331B2 (en) | Window control for simultaneously running applications | |
WO2019184490A1 (zh) | 用于显示寄宿应用的图标的方法、设备和存储介质 | |
CN104007894A (zh) | 便携式设备及其多应用操作方法 | |
KR20130086138A (ko) | 크로스―플랫폼 어플리케이션 프레임워크 | |
EP3485358B1 (en) | Electronic device and method thereof for managing applications | |
US20170010673A1 (en) | Gesture based sharing of user interface portion | |
US10346284B1 (en) | Feature usage prediction using shell application feature telemetry | |
CN107908381A (zh) | 一种双屏图片处理方法、移动终端及存储介质 | |
KR102205283B1 (ko) | 적어도 하나의 어플리케이션을 실행하는 전자 장치 및 그 제어 방법 | |
WO2017139178A1 (en) | Effecting multi-step operations in an application in response to direct manipulation of a selected object | |
TW201617839A (zh) | 光解離管理器 | |
CN106445956A (zh) | 一种购物数据的管理方法及装置 | |
CN107111418A (zh) | 具有最小破坏性的图标位移 | |
KR20150019064A (ko) | 계층정보 표시방법 및 이를 이용한 계층정보 표시장치 | |
CN105518618B (zh) | 将针对视觉元素的输入路由到图形框架的方法和系统 | |
CN109947504A (zh) | 一种在宿主程序中执行寄宿程序的方法与设备 | |
US9146654B2 (en) | Movement reduction when scrolling for item selection during direct manipulation | |
CN113268182A (zh) | 应用图标的管理方法和电子设备 | |
US20180090027A1 (en) | Interactive tutorial support for input options at computing devices | |
CN114706521A (zh) | 在eda软件界面中管理窗口的方法及相关设备 | |
US20130139106A1 (en) | Graphic flow having unlimited number of connections between shapes | |
CN115390720A (zh) | 包括自动文档滚动的机器人过程自动化(rpa) | |
CN107077272B (zh) | 响应于用户动作而确定启用直接操纵的命中测试 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220705 |