CN104699468A - 一种客户端以及该客户端的界面生成方法 - Google Patents
一种客户端以及该客户端的界面生成方法 Download PDFInfo
- Publication number
- CN104699468A CN104699468A CN201310654521.4A CN201310654521A CN104699468A CN 104699468 A CN104699468 A CN 104699468A CN 201310654521 A CN201310654521 A CN 201310654521A CN 104699468 A CN104699468 A CN 104699468A
- Authority
- CN
- China
- Prior art keywords
- assembly
- interface
- client
- user
- adjusted
- 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.)
- Granted
Links
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种客户端以及该客户端的界面生成方法。本发明实施例的方法包括:客户端根据接收到的第一指令,在该客户端的主界面上创建至少一个用于显示该客户端的至少一个组件的界面;根据接收到的第二指令,确定用户为界面选定的布局结构,并将选定的布局结构加载到相应的界面上;以及根据接收到的第三指令,确定用户从组件管理界面中选定的需要创建到所述界面的组件的相关信息,并在界面中用户指定的区域创建相应的组件。本发明实施例能够为用户提供界面创建、布局结构选择、组件创建等服务,从而提高了用户体验。
Description
技术领域
本发明涉及安防技术领域,特别涉及一种客户端以及该客户端的界面生成方法。
背景技术
目前,安防领域中的视频监控系统常采用的结构模式包括:C/S结构和浏览器/服务器(Brower/Server,B/S)结构来实现。其中,C/S结构是建立在局域网的基础上的,该结构充分利用客户端和服务器端硬件环境的优势,将任务合理分配到客户端和服务器端来实现,形成所谓两层体系结构;B/S结构是建立在广域网的基础上的,该结构下,用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端(即浏览器)实现,但是主要事务逻辑在服务器端实现,形成所谓三层体系结构。
C/S结构相比于B/S结构,具有如下优点:
1、交互性强;在C/S结构中,由于安装了客户端,而客户端具有一套完整的应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。
2、安全性好;由于C/S结构是配对的点对点的结构模式,采用适用于局域网、安全性比较好的网络协议,安全性可以得到较好的保证。
3、网络通信量少;由于C/S结构在逻辑上只有两层结构,网络通信量只包括Client与Server之间的通信量。
4、处理速度快;由于C/S结构在逻辑上比B/S结构少一层结构,对于相同的任务,C/S结构完成的速度比B/S结构快,更利于处理大量数据。
因此,现有的大多数视频监控系统采用C/S结构来实现,该结构安装、运行在客户端的计算机中,通过局域网与后台数据库服务器连接、共享数据,并把原始数据或处理后的数据存储在后台数据库中。
客户端提供的界面是该客户端中各应用程序与用户进行信息交流的工具。用户通过客户端提供的界面,向该客户端中的各应用程序传达指令,而该客户端中的各应用程序通过该界面向用户传达自身运行的结果以及其它显示信息。目前,不管是C/S结构的客户端,还是B/S结构的客户端,一旦客户端发布,其提供的界面的数量,以及每个界面的布局(即该界面上包括哪些应用程序)都是固定的,用户是无法更改的,从而降低了用户体验。
综上所述,由于现有客户端一旦发布,其提供的界面的数量,以及每个界面的布局都是固定的,用户是无法更改的,从而降低了用户体验。
发明内容
本发明实施例提供的客户端以及该客户端的界面生成方法,能够为用户提供界面创建、布局结构选择、组件创建等服务,从而提高了用户体验。
本发明实施例提供了一种客户端的界面生成方法,该方法包括:
客户端根据接收到的第一指令,在所述客户端的主界面上创建至少一个用于显示所述客户端的至少一个组件的界面;
客户端根据接收到的第二指令,确定用户为所述界面选定的布局结构,并将选定的布局结构加载到相应的界面上,所述布局结构用于定义所述界面所包含的面板的数量、尺寸以及各面板之间的位置关系;
客户端根据接收到的第三指令,确定用户从组件管理界面中选定的需要创建到所述界面的组件的相关信息,并在所述界面中用户指定的区域创建相应的组件。
本发明实施例提供的方法,能够为用户提供界面创建、布局结构选择、组件创建等服务,从而提高了用户体验。
在实施中,客户端根据接收到的第三指令,在所述界面中用户指定的区域创建相应的组件,具体包括:
客户端根据所述第三指令,确定用户从所述组件管理界面中为需要创建到所述界面的组件选定的属性信息;以及
客户端调用需要创建到所述界面的组件所实现的服务的创建对象,以在用户指定的界面中的指定位置上创建具有所述属性信息的组件。
在实施中,客户端将用户从组件管理界面中选定的组件创建到已创建的界面中用户指定的区域之后,该方法还包括:
客户端根据接收到的调整指令,对当前界面中需要调整的待调整组件的尺寸或位置进行调整。
在实施中,客户端根据接收到的调整指令,对当前界面中需要调整的待调整组件的位置进行调整,具体包括:
若用户为所述待调整组件指定的位置位于所述当前界面的其他面板,则客户端将所述待调整组件从当前面板移动到用户指定的面板的指定位置上;
若用户为所述待调整组件指定的位置位于其他已创建的界面内,则客户端将所述待调整组件移动到用户指定的其他已创建的界面内用户为所述待调整组件指定的位置上;
若用户为所述待调整组件指定的位置位于所有已创建的界面之外,则客户端在用户为所述待调整组件指定的位置上创建用于承载所述待调整组件的新界面,并将所述待调整组件从所述当前界面移动到所述新界面内。
在实施中,客户端将所述待调整组件从所述当前界面移动到所述新界面内之后,还包括:
若调整指令指示客户端将所述新界面内的待调整组件移回到所述当前界面,则客户端将所述待调整组件移动到所述当前界面,同时删除所述新界面。
在实施中,客户端根据接收到的第三指令,将用户从所述组件管理界面中选定的组件对应的显示信息创建到已创建的界面中用户指定的区域之后,所述方法还包括:
客户端根据接收到的第四指令,确定用户为当前界面重新选定的布局结构,将创建在原有布局结构的各面板上的组件移动到用于暂时存放组件的临时面板上,并删除所述当前界面的原有布局结构;
客户端将所述重新选定的布局结构加载到所述当前界面上,将所述临时面板上的每个组件移动到所述重新选定的布局结构定义的与该组件在所述原有布局结构定义的面板的编号相同的面板上。
本发明实施例还提供了一种客户端,该客户端包括:
界面创建模块,用于根据接收到的第一指令,在所述客户端的主界面上创建至少一个用于显示该客户端的至少一个组件的界面;
布局结构加载模块,用于根据接收到的第二指令,确定用户为所述界面选定的布局结构,并将选定的布局结构加载到相应的界面上,所述布局结构用于定义所述界面所包含的面板的数量、尺寸以及各面板之间的位置关系;
组件创建模块,用于根据接收到的第三指令,确定用户从组件管理界面中选定的需要创建到所述界面的组件的相关信息,并在所述界面中用户指定的区域创建相应的组件。
本发明实施例提供的客户端,能够为用户提供界面创建、布局结构选择、组件创建等服务,从而提高了用户体验。
在实施中,组件创建模块具体用于:
根据所述第三指令,确定用户从所述组件管理界面中为需要创建到所述界面的组件选定的属性信息;以及
调用需要创建到所述界面的组件所实现的服务的创建对象,以在用户指定的界面中的指定位置上创建具有所述属性信息的组件。
本发明实施例提供的客户端还包括:
组件调整模块,用于根据接收到的调整指令,对当前界面中需要调整的待调整组件的尺寸或位置进行调整。
在实施中,组件调整模块具体用于:
若用户为所述待调整组件指定的位置位于所述当前界面的其他面板,则将所述待调整组件从当前面板移动到用户指定的面板的指定位置上;
若用户为所述待调整组件指定的位置位于其他已创建的界面内,则将所述待调整组件移动到用户指定的其他已创建的界面内用户为所述待调整组件指定的位置上;
若用户为所述待调整组件指定的位置位于所有已创建的界面之外,则在用户为所述待调整组件指定的位置上创建用于承载所述待调整组件的新界面,并将所述待调整组件从所述当前界面移动到所述新界面内;
若所述调整指令指示客户端将所述新界面内的待调整组件移回到所述当前界面,则将所述待调整组件移动到所述当前界面,同时删除所述新界面。
在实施中,所述布局结构加载模块还用于:
根据接收到的第四指令,确定用户为当前界面重新选定的布局结构,将创建在原有布局结构定义的各面板上的组件移动到用于暂时存放组件的临时面板上,并删除所述当前界面的原有布局结构;将所述重新选定的布局结构加载到所述当前界面上,将所述临时面板上的每个组件移动到所述重新选定的布局结构定义的与该组件在所述原有布局结构定义的面板的编号相同的面板上。
附图说明
图1为本发明实施例提供的客户端的界面生成方法示意图;
图2为本发明实施例提供的客户端的示意图。
具体实施方式
本发明实施例提供的客户端以及该客户端的界面生成方法,能够为用户提供界面创建、布局结构选择、组件创建等服务,从而提高了用户体验。
本发明实施例中,客户端采用组件化,该客户端包括多个组件,每个组件类似于一个应用程序,可以独立运行使用,也可以在运行时与其他组件连接起来构成一个应用程序;每个组件可以实现多个服务(即组件实现的服务是指该组件向用户所提供的服务),其中,每个服务对应一个接口,可以通过与每个服务对应的接口调用相应的服务,且每个服务绑定一个用于创建该服务的实例的创建对象,该创建对象能够在客户端创建用于实现该服务的所有实例;一般情况下,一个组件对应一个服务。客户端按照每个组件实现的每个服务对应的接口名称,来调用该服务的创建对象,根据该服务对应的接口名称加载该组件的相应服务,各组件之间相互调用时,也是根据接口名称来查询是否有自身需要调用的服务。
下面结合说明书附图对本发明实施例作进一步详细描述。
参见图1所示,本发明实施例提供了一种客户端的界面生成方法,该方法包括以下步骤:
步骤11、客户端根据接收到的第一指令,在该客户端的主界面上创建至少一个用于显示该客户端的至少一个组件的界面。
具体的,用户打开该客户端后(即该客户端登陆后),该客户端在显示屏上呈现该客户端的主界面,主界面中包含界面管理组件(也可以称为界面导航组件),用户可以根据自身需要,通过该界面管理组件在客户端创建一个或多个界面,用户在需要创建界面时,通过界面管理组件向客户端发送第一指令,以指示客户端根据该第一指令创建相应数量的界面。
本步骤中,用户自定义的界面都是由界面管理组件创建入口,并由用于创建该客户端的主界面的组件创建的。其中,每个自定义的界面的入口在该界面管理组件上可以表现为包含一个自定义图片和一个自定义界面名称的按钮,用户点击该按钮即向客户端发送了第一指令,客户端根据该第一指令,在该客户端的主界面上创建一个自定义的界面。
本发明实施例中,用户打开客户端,则该客户端的主界面呈现在显示屏上,该主界面包含界面管理组件,关闭该客户端的主界面即退出该客户端。
进一步,本步骤中,客户端根据接收到的第一指令,在该客户端的主界面上创建至少一个用于显示该客户端的至少一个组件的界面,并在已创建的界面上添加该界面对应的界面管理组件。这样,用户就可以通过自定义的界面对应的界面管理组件,创建该自定义的界面的子界面。
具体的,用户点击该主界面对应的界面管理组件上的按钮,以创建一个自定义的界面,并在该已创建的自定义的界面上放置界面管理组件,那么用户就可以通过该界面管理组件创建该自定义的界面的子界面了。
步骤12、客户端根据接收到的第二指令,确定用户为已创建的界面选定的布局结构,并将选定的布局结构加载到相应的界面上,其中,布局结构用于定义界面所包含的面板的数量、尺寸以及各面板之间的位置关系。
具体的,用户在创建了所需数量的界面后,针对每个已创建的界面,根据自身需要,从该界面提供的多种布局结构中,为该界面选择一个合适的布局结构,即用户在创建了所需数量的界面后,向客户端发送第二指令,以指示客户端根据该第二指令在已创建的界面上加载相应的布局结构。其中,不同布局结构定义的面板数量、面板的尺寸、以及各面板之间的位置关系都有可能不同。例如,布局结构可以定义三块面板,也可以定义两块面板,还可以定义一块面板等;包含三块面板的布局结构可以采用左侧及右侧面板尺寸小、中间面板尺寸大的方案,也可以采用左侧及下侧面板尺寸小、上侧面板尺寸大的方案。
需要说明的是,本发明实施例中,每个布局结构所定义的每个面板均对应一个编号,且每个布局结构所定义的面板采用相同方式进行编号。例如,对每个布局结构所定义的面板进行编号的方式可以采用先从上到下、再从左到右的方式进行编号,又如,对每个布局结构所定义的面板进行编号的方式可以先从左到右、再从上到下的方式进行编号,等等。
步骤13、客户端根据接收到的第三指令,确定用户从组件管理界面中选定的需要创建到界面的组件的相关信息,并在界面中用户指定的区域创建相应的组件。
具体的,用户在选定完布局结构之后,指示客户端加载组件管理界面,并向客户端发送第三指令,以指示客户端将用户所需的组件创建到用户指定的位置上。本发明实施例中的组件管理界面中包含与客户端的各组件相关的信息,如各组件的图标信息、属性信息、名称信息等等。
本步骤中,用户可以在每个界面上创建的组件可以重复,即在一个界面上可以创建重复的组件,用户也可以在不同界面上创建相同的组件。
进一步,属性信息包括但不限于以下信息中的一种或多种:
该组件能够或不能够被拖动、该组件包含或不包含tab(标签)页、该组件能够(或不能够)缩小成一条线、该组件能够(或不能够)被删除、该组件能够(或不能够)被拖出当前界面独立成为新的界面、该组件在被拖出当前界面之后能够(或不能够)再被拖回当前界面。
在实施中,用户向客户端发送的第三指令的具体实现可以为:
采用拖动方式,将组件管理界面中的任一组件对应的图标拖动到当前界面的布局结构所定义的任一面板上;或者,采用点击方式,先点击组件管理界面中的任一组件对应的图标,再点击当前界面的布局结构所定义的任一面板。当然第三指令也可以采用其他方式实现,只要能指示客户端所选定的组件以及为该组件选定的位置即可。本发明实施例中均以拖动方式为例进行说明,点击方式或其他实现方式与此类似,此处不再一一举例说明。
本步骤中,在组件的创建过程中,该组件可以一直处于运行状态,完成该组件的创建后,当前界面上显示的就是该组件的运行界面,用户可以直接从当前界面上获取该组件的运行数据等信息,如视频播放等。
本发明实施例中,客户端根据接收到的第一指令,在该客户端的主界面上创建至少一个用于显示该客户端的至少一个组件的界面;根据接收到的第二指令,确定用户为界面选定的布局结构,并将选定的布局结构加载到相应的界面上;以及根据接收到的第三指令,确定用户从组件管理界面中选定的需要创建到界面的组件的相关信息,并在界面中用户指定的区域创建相应的组件,从而使用户能够根据自身需要创建任意数量的界面,并在每个界面上创建自身所需的组件,提高了用户体验。
在实施中,设计客户端时,可以设计一个基础组件B,该基础组件B能够实现以下功能:
1)能够调用基础组件A的任一用于创建该基础组件A所实现的服务的实例的创建对象,其中,该基础组件A独立运行时是空白界面,该基础组件A为用户提供多种布局结构以及组件管理界面,该基础组件A能够加载该客户端中的所有组件;
2)能够根据用户指示创建任意数量的菜单按钮,每个菜单按钮与基础组件A的创建对象相关联;
相应的,用户可以根据基础组件B提供的显示窗口,创建任意数量的菜单按钮,用户可以为每个菜单按钮进行命名以及为该菜单按钮选择一个合适的图标,以便于用户记忆;用户点击每个菜单按钮时,基础组件B就会调用基础组件A的创建对象,从而创建一个空白界面;
3)在完成创建界面以及在界面上创建用户所需的各组件之后,将用户为该界面选定的布局结构以及各组件的相关信息保存到数据库中。
上述基础组件A能够加载所有实现了UIBaseService(即图形界面基础服务接口)的组件。在设计组件管理界面时,由于这些UI组件在开发的时候必须实现该基础组件A中的一个获取组件信息的方法,该基础组件A可以根据每个组件的相关信息,对所有组件进行分类,以方便用户选择自己喜欢的组件放到自定义界面上。具体的,将同类型(如实现同一个接口的组件)的组件划分在一起显示,和/或,将有依赖关系的组件划分在一起显示。组件管理界面中包含已分类的各组件的图片以及其他相关信息,如属性信息等,以供用户选择创建什么样式的组件,如可缩放的组件、可删除的组件等。
在实施中,步骤13具体实现过程如下:
客户端根据第三指令,确定用户从组件管理界面中为需要创建到界面的组件选定的属性信息;以及
客户端调用需要创建到界面的组件所实现的服务的创建对象,以在用户指定的界面中的指定位置上创建具有上述属性信息的组件。
以在任一已创建的界面添加用户所需的组件为例,举例说明步骤13的具体实现过程:
针对当前界面,当客户端根据用户的第三指令,在当前界面的布局结构定义的面板上创建第一个组件时,该第一个组件的显示窗口的尺寸默认等于该面板的总显示区域的尺寸,即在该面板上创建第一个组件时,该第一个组件的显示窗口默认充满该面板,其中,该组件的显示窗口用于显示该组件的运行结果、该组件为用户提供的各种操作等;
当在该面板上创建了第一个组件后,若用户还需要在该面板上创建其他组件,则在该面板上创建第二个组件时,若用户为该第二个组件指定了位置,则该第二个组件的显示窗口创建在用户指定的目标位置,且该第二个组件的显示窗口的大小与已创建的第一个组件的显示窗口的大小相等,均为该面板的显示区域的一半;若用户未为该第二个组件指定目标位置,则该第二个组件的显示窗口默认创建在已创建的第一个组件的显示窗口上面或前面,且该第二个组件的显示窗口的大小与已创建的第一个组件的显示窗口的大小相等,均为该面板的显示区域的一半;依次类推,直至完成该面板上的组件创建过程。
上述过程中,也可以在组件的创建过程中,对该组件的显示窗口的尺寸进行设定。
上述过程执行的是组件的创建操作,需要启动组件拖动的第一种协议(创建协议),以任一组件的创建过程为例进行说明,组件的创建过程具体为:
客户端根据拖动源(本实施例中拖动源为组件管理界面),设置xml格式的创建协议,以指明该拖动操作的类型是创建,并把需要在拖动目的地(即当前界面)创建的组件的与创建相关的创建类信息,与该客户端中传输信息实例绑定在一起,该传输信息实例用于实现本次拖动操作,其携带有本次的拖动操作的类型、该拖动源的源位置及目标位置等参数;当用户的拖动操作释放后,客户端将触发拖动释放的事件,并从传输信息实例中获取相应的协议体,根据本次拖动操作的类型,统一解析获取到的xml格式的协议,根据该组件的创建类信息找到该组件的创建对象,以及根据用户指示的目标位置以及拖动目的地的布局结构信息,获知应该把该组件创建到拖动目的地的哪个面板的哪个位置上(如上、下、左、右等)。
需要说明的是,每个被创建到当前界面上的组件都绑定一个相应的数据结构直至该组件被删除,该数据结构用于记录该组件所在界面的信息(如标识信息、布局结构信息等)、该组件所在面板的信息(如面板的编号)、该组件在面板上的位置信息等。从而在用户下次登录该客户端时,能够直接复原用户在上次登录时自定义的界面及该界面上的组件。
本发明实施例中,用户可以随时对已创建到界面上的组件的尺寸以及位置进行调整,具体包括:调整已创建的组件的尺寸、将已创建的组件调整到其所在界面的其他面板上、将已创建的组件从其所在界面调整到其他已创建的界面上、将已创建的组件从其所在界面调整到非界面区域。具体实现过程如下:
客户端将用户从组件管理界面中选定的组件创建到已创建的界面中用户指定的区域之后,该方法还包括:
客户端根据接收到的调整指令,对当前界面中需要调整的待调整组件的尺寸或位置进行调整;
其中,对待调整组件的位置的调整包括在当前界面中的不同面板之间进行调整、在不同界面之间进行调整、以及在当前界面与非界面区域之间进行调整。
在实施中,用户向客户端发送的调整指令的具体实现可以为:
若该调整指令用于调整当前界面上已创建的组件的位置,则用户可以采用拖动方式,将当前界面中的任一已创建的组件拖动到指定位置;或者,采用点击方式,先点击组当前界面中的任一已创建的组件,再点击为该组件指定的新的位置。当然该调整指令也可以采用其他方式实现,只要能指示客户端用户所选定的组件以及为该组件选定的新位置即可。本发明实施例中均以拖动方式为例进行说明,点击方式或其他实现方式与此类似,此处不再一一举例说明。
若该调整指令用于调整当前界面上已创建的组件的尺寸,则用户采用拖动方式,将当前界面中的任一已创建的组件的边界拖动到指定位置,从而改变该组件边界的尺寸。当然该调整指令也可以采用其他方式实现,只要能指示客户端用户希望将所选定的组件的边界尺寸调整到多少即可,此处不再一一举例。
下面详细说明如何对已创建的组件进行调整,具体包括以下几种方式:
方式一、调整当前界面内已创建的组件的边界尺寸。
具体的,客户端根据接收到的调整指令,确定当前界面中待调整组件的边界尺寸扩大或缩小的数值,并将该待调整组件的边界尺寸调整到用户所需的尺寸;同时,根据设定的算法,调整与该待调整组件位于同一面板上的其他组件的边界尺寸。
举例说明,用户可以将鼠标(若为触摸屏,)移动到组件交界处,出现变化箭头后可以调整两个组件的边界尺寸的大小,由于默认情况下该面板上的组件总是充满该面板的,一个组件的边界尺寸被调小,该面板上的其他组件的边界尺寸就会相应变大一些。若该面板上只有两个组件,则一个组件的边界尺寸减少的数值与另一个组件的边界尺寸增加的数值相等;若该面板上包括多个组件时,预先设定边界尺寸调整算法,如根据设定的算法计算出,被调整边界尺寸的组件的前面或者上面有多少个组件,这些组件的长、宽、高等数据,然后通过计算和鼠标事件不断改变面板上各组件的大小,不断刷新面板来让用户直观的看到调整结果。
方式二、将当前界面上的待调整组件在当前界面中的不同面板之间进行调整,具体为:
客户端将待调整组件从当前面板移动到用户指定的面板的指定位置上。
该方式下,进一步,客户端将该待调整组件对应的数据结构中所存储的面板的信息、以及该组件在调整后的面板内的位置信息进行更新。
该方式下,客户端执行的是组件的拖动操作,需要启动组件拖动的第二种协议(拖动协议),以当前界面中任一组件的拖动为例进行说明,该组件的拖动过程具体为:
与第一种协议类似,本协议中,拖动源为当前界面中的待调整组件,该拖动源的源位置为该拖动源当前所在的面板的位置,该拖动源的目标位置为该拖动源需要拖动到的位于同一界面的另一面板的位置,具体处理过程为:客户端解析xml后根据协议类型的不同,调用相应的函数(此处为拖动函数),将拖动函数中的拖动源当前所在面板(即源面板)的位置信息替换成该拖动源需要拖动到的面板(即目的面板)的位置信息,并根据用户在目的面板为该拖动源指定的位置,对拖动源与目的面板中已有的组件在该目的面板中的位置及尺寸进行调整;
举例说明,假设目的面板上已有2个组件,若用户为拖动源指定的位置为该目的面板上第一个组件所在的区域,则客户端将该拖动源插入到第一个组件的左侧(或上侧)位置,该目的面板上原有的两个组件依次向右(或向下)移动,且拖动源的显示窗口与该目的面板栅原有的两个组件的显示窗口均分该目的面板;若用户为拖动源指定的位置为该目的面板上第二个组件所在的区域,则客户端将该拖动源插入到第二个组件的左侧(或上侧)位置,该第二个组件向右(或向下)移动,且拖动源的显示窗口与该目的面板栅原有的两个组件的显示窗口均分该目的面板。
方式三、将当前界面上的待调整组件在不同界面之间进行调整,具体为:
客户端将待调整组件移动到用户指定的其他已创建的界面内用户为该待调整组件指定的位置上。
该方式下,客户端执行的也是组件的拖动操作,需要启动组件拖动的第二种协议(拖动协议),以任一组件的拖动为例进行说明,该组件的拖动过程具体为:
与第一种协议类似,本协议中,拖动源为当前界面中的待调整组件,该拖动源的源位置为该拖动源当前所在的面板的位置,该拖动源的目标位置为该拖动源需要拖动到的位于不同界面的另一面板的位置,具体处理过程为:客户端解析xml后根据协议类型的不同,调用相应的函数(此处为拖动函数),将拖动函数中的拖动源当前所在的界面的位置信息替换成该拖动源需要拖动到的界面的位置信息,以及将该拖动源当前所在的面板的信息替换成该拖动源需要拖动到的面板(即目的面板)的信息,并根据用户在目的面板为该拖动源指定的位置,对拖动源与目的面板中已有的组件在该目的面板中的位置及尺寸进行调整,具体参见方式二的描述。
方式四、将当前界面上的待调整组件从当前界面移动到非界面区域(即除已创建的界面之外的其他区域),具体为:
客户端在用户为待调整组件指定的位置上创建用于承载该待调整组件的新界面,并将该待调整组件从当前界面移动到已创建的新界面内。
该方式下,客户端执行的是执行拖动组件自成窗口操作,需要启动组件拖动的第三种协议,该协议执行后把组件从当前界面内拖动到用户指定的位置上,独立成为一个新的界面。该第三种协议可以通过判断用户为该组件指定的位置是否在除当前已创建的界面之外的其他区域(即非界面区域),如鼠标是否在非界面区域释放来识别。
方式五、将方式四中的新界面内的组件移回到该组件之前所在的界面上,具体为:
该方式下,客户端执行的是执行组件独立窗口拖回操作,需要启动组件拖动的第四种协议,该协议与上述第三种协议恰好相反,该协议执行后把从当前界面拖出的组件从该组件当前所在的独立界面内拖回到用户指定的位置上(即该组件之前所在的界面上),并删除该独立界面。该第四种协议可以通过判断用户为该组件指定的位置是否在已创建的界面,如鼠标是否在已创建的界面释放来识别。
在实施中,用户将所需的组件创建到界面上之后,若认为该界面当前的布局结构不能满足自身的要求,用户可以重新为该界面选择布局结构,以满足自身的要求。本发明实施例提供的方法还包括:客户端根据用户发送的第四指令,动态调整界面的布局结构,具体为:
客户端根据接收到的第四指令,确定用户为当前界面重新选定的布局结构,将创建在原有布局结构定义的各面板上的组件移动到用于暂时存放组件的临时面板上,并删除当前界面的原有布局结构;
客户端将重新选定的布局结构加载到当前界面上,将临时面板上的每个组件移动到重新选定的布局结构定义的与该组件在所述原有布局结构定义的面板的编号相同的面板上。
上述布局更换过程中,将创建在原有布局结构定义的各面板上的组件移动到用于暂时存放组件的临时面板上,此时不更改每个组件对应的数据结构中的信息。
需要说明的是,客户端在更换当前界面的布局结构的过程中,组件可以一直处于运行状态,且更换布局结构的过程中,不会影响各组件的运行。
在实施中,上述动态更换当前界面的布局结构具体包括以下两种情况:
一、若用户为当前界面重新选定的布局结构定义的面板的个数不小于该当前界面原有布局结构定义的面板的个数,则客户端将原有布局结构定义的面板上的组件移动到重新选定的布局结构定义的与原有布局结构定义的该面板具有相同编号的面板上,即该当前界面上所有的原有组件均移动到该当前界面的重新选定的布局结构定义的面板上。
举例说明,假设该当前界面原有布局结构定义了三个面板,分别是面板1、面板2,其中,面板1上创建有组件1和组件2,面板2上创建有组件3;用户为该当前面界面重新选定的布局结构定义了两个面板,分别是面板1、面板2和面板3;则:
客户端在接收到该用户的用于指示更换布局结构的第四指令后,将组件1、组件2及组件3移动到临时面板上,删除该当前界面的原有布局结构;该客户端将用户重新选定的布局结构加载到当前界面上,并将原有布局结构的面板1上的组件1和组件2从临时面板移动到重新选定的布局结构的面板1上,以及将原有布局结构的面板2上的组件3从临时面板移动到重新选定的布局结构的面板2上,从而完成本次布局结构的动态更换,此时需要更新每个组件对应的数据结构中的相关信息。
二、若用户为当前界面重新选定的布局结构定义的面板的个数小于该当前界面原有布局结构定义的面板的个数,则客户端将原有布局结构的面板上的组件移动到重新选定的布局结构定义的与原有布局结构定义的该面板具有相同编号的面板上,对于原有布局结构中与重新选定的布局结构定义的各面板的编号均不相同的面板上的组件,客户端从临时面板上删除该组件。
假设该当前界面原有布局结构定义了三个面板,分别是面板1、面板2及面板3,其中,面板1上创建有组件1和组件2,面板2上创建有组件3,面板3上创建有组件4、组件5和组件6;用户为该当前面界面重新选定的布局结构定义了两个面板,分别是面板1和面板2;则:
客户端在接收到该用户的用于指示更换布局结构的第四指令后,将组件1、组件2、组件3、组件4、组件5及组件6移动到临时面板上,删除该当前界面的原有布局结构;该客户端将用户重新选定的布局结构加载到当前界面上,并将原有布局结构的面板1上的组件1和组件2从临时面板移动到重新选定的布局结构的面板1上,以及将原有布局结构的面板2上的组件3从临时面板移动到重新选定的布局结构的面板2上,从而完成本次布局结构的动态更换。此时,由于重新选定的布局结构不包含面板3,因此,客户端从临时面板上删除原有布局结构中的面板3上的组件4、组件5和组件6。
上述方法处理流程可以用软件程序实现,该软件程序可以存储在存储介质中,当存储的软件程序被调用时,执行上述方法步骤。
基于同一发明构思,本发明实施例中还提供了一种客户端,参见图2所示,该客户端包括:
界面创建模块21,用于根据接收到的第一指令,在该客户端的主界面上创建至少一个用于显示该客户端的至少一个组件的界面;
布局结构加载模块22,用于根据接收到的第二指令,确定用户为界面选定的布局结构,并将选定的布局结构加载到相应的界面上,其中,布局结构用于定义界面所包含的面板的数量、尺寸以及各面板之间的位置关系;
组件创建模块23,用于根据接收到的第三指令,确定用户从组件管理界面中选定的需要创建到界面的组件的相关信息,并在该界面中用户指定的区域创建相应的组件。
在实施中,组件创建模块23具体用于:
根据第三指令,确定用户从组件管理界面中为需要创建到界面的组件选定的属性信息;以及调用需要创建到该界面的组件所实现的服务的创建对象,以在用户指定的界面中的指定位置上创建具有上述属性信息的组件。
本发明实施例提供的客户端还包括:
组件调整模块24,用于根据接收到的调整指令,对当前界面中需要调整的待调整组件的尺寸或位置进行调整。
在实施中,组件调整模块24具体用于:
若用户为待调整组件指定的位置位于当前界面的其他面板,则将待调整组件从当前面板移动到用户指定的面板的指定位置上;
若用户为待调整组件指定的位置位于其他已创建的界面内,则将待调整组件移动到用户指定的其他已创建的界面内用户为待调整组件指定的位置上;
若用户为待调整组件指定的位置位于所有已创建的界面之外,则在用户为待调整组件指定的位置上创建用于承载待调整组件的新界面,并将待调整组件从当前界面移动到新界面内;
若调整指令指示客户端将新界面内的待调整组件移回到当前界面,则将待调整组件移动到当前界面,同时删除新界面。
在实施中,布局结构加载模块22还用于:
根据接收到的第四指令,确定用户为当前界面重新选定的布局结构,将创建在原有布局结构定义的各面板上的组件移动到用于暂时存放组件的临时面板上,并删除当前界面的原有布局结构;将重新选定的布局结构加载到当前界面上,将临时面板上的每个组件移动到重新选定的布局结构定义的与该组件在原有布局结构定义的面板的编号相同的面板上。
本发明实施例提供的客户端,能够为用户提供界面创建、布局结构选择、组件创建等服务,从而提高了用户体验。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种客户端的界面生成方法,其特征在于,该方法包括:
客户端根据接收到的第一指令,在所述客户端的主界面上创建至少一个用于显示所述客户端的至少一个组件的界面;
客户端根据接收到的第二指令,确定用户为所述界面选定的布局结构,并将选定的布局结构加载到相应的界面上,所述布局结构用于定义所述界面所包含的面板的数量、尺寸以及各面板之间的位置关系;
客户端根据接收到的第三指令,确定用户从组件管理界面中选定的需要创建到所述界面的组件的相关信息,并在所述界面中用户指定的区域创建相应的组件。
2.如权利要求1所述的方法,其特征在于,客户端根据接收到的第三指令,在所述界面中用户指定的区域创建相应的组件,具体包括:
客户端根据所述第三指令,确定用户从所述组件管理界面中为需要创建到所述界面的组件选定的属性信息;以及
客户端调用需要创建到所述界面的组件所实现的服务的创建对象,以在用户指定的界面中的指定位置上创建具有所述属性信息的组件。
3.如权利要求1所述的方法,其特征在于,客户端将用户从组件管理界面中选定的组件创建到已创建的界面中用户指定的区域之后,该方法还包括:
客户端根据接收到的调整指令,对当前界面中需要调整的待调整组件的尺寸或位置进行调整。
4.如权利要求3所述的方法,其特征在于,客户端根据接收到的调整指令,对当前界面中需要调整的待调整组件的位置进行调整,具体包括:
若用户为所述待调整组件指定的位置位于所述当前界面的其他面板,则客户端将所述待调整组件从当前面板移动到用户指定的面板的指定位置上;
若用户为所述待调整组件指定的位置位于其他已创建的界面内,则客户端将所述待调整组件移动到用户指定的其他已创建的界面内用户为所述待调整组件指定的位置上;
若用户为所述待调整组件指定的位置位于所有已创建的界面之外,则客户端在用户为所述待调整组件指定的位置上创建用于承载所述待调整组件的新界面,并将所述待调整组件从所述当前界面移动到所述新界面内。
5.如权利要求4所述的方法,其特征在于,客户端将所述待调整组件从所述当前界面移动到所述新界面内之后,还包括:
若所述调整指令指示客户端将所述新界面内的待调整组件移回到所述当前界面,则客户端将所述待调整组件移动到所述当前界面,同时删除所述新界面。
6.如权利要求1~5任一项所述的方法,其特征在于,客户端根据接收到的第三指令,将用户从所述组件管理界面中选定的组件对应的显示信息创建到已创建的界面中用户指定的区域之后,所述方法还包括:
客户端根据接收到的第四指令,确定用户为当前界面重新选定的布局结构,将创建在原有布局结构定义的各面板上的组件移动到用于暂时存放组件的临时面板上,并删除所述当前界面的原有布局结构;
客户端将所述重新选定的布局结构加载到所述当前界面上,将所述临时面板上的每个组件移动到所述重新选定的布局结构定义的与该组件在所述原有布局结构定义的面板的编号相同的面板上。
7.一种客户端,其特征在于,该客户端包括:
界面创建模块,用于根据接收到的第一指令,在所述客户端的主界面上创建至少一个用于显示所述客户端的至少一个组件的界面;
布局结构加载模块,用于根据接收到的第二指令,确定用户为所述界面选定的布局结构,并将选定的布局结构加载到相应的界面上,所述布局结构用于定义所述界面所包含的面板的数量、尺寸以及各面板之间的位置关系;
组件创建模块,用于根据接收到的第三指令,确定用户从组件管理界面中选定的需要创建到所述界面的组件的相关信息,并在所述界面中用户指定的区域创建相应的组件。
8.如权利要求7所述的客户端,其特征在于,组件创建模块具体用于:
根据所述第三指令,确定用户从所述组件管理界面中为需要创建到所述界面的组件选定的属性信息;调用需要创建到所述界面的组件所实现的服务的创建对象,以在用户指定的界面中的指定位置上创建具有所述属性信息的组件。
9.如权利要求7所述的客户端,其特征在于,所述客户端还包括:
组件调整模块,用于根据接收到的调整指令,对当前界面中需要调整的待调整组件的尺寸或位置进行调整。
10.如权利要求9所述的方法,其特征在于,组件调整模块具体用于:
若用户为所述待调整组件指定的位置位于所述当前界面的其他面板,则将所述待调整组件从当前面板移动到用户指定的面板的指定位置上;
若用户为所述待调整组件指定的位置位于其他已创建的界面内,则将所述待调整组件移动到用户指定的其他已创建的界面内用户为所述待调整组件指定的位置上;
若用户为所述待调整组件指定的位置位于所有已创建的界面之外,则在用户为所述待调整组件指定的位置上创建用于承载所述待调整组件的新界面,并将所述待调整组件从所述当前界面移动到所述新界面内;
若所述调整指令指示客户端将所述新界面内的待调整组件移回到所述当前界面,则将所述待调整组件移动到所述当前界面,同时删除所述新界面。
11.如权利要求7~10任一项所述的客户端,其特征在于,所述布局结构加载模块还用于:
根据接收到的第四指令,确定用户为当前界面重新选定的布局结构,将创建在原有布局结构定义的各面板上的组件移动到用于暂时存放组件的临时面板上,并删除所述当前界面的原有布局结构;将所述重新选定的布局结构加载到所述当前界面上,将所述临时面板上的每个组件移动到所述重新选定的布局结构定义的与该组件在所述原有布局结构定义的面板的编号相同的面板上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310654521.4A CN104699468B (zh) | 2013-12-05 | 2013-12-05 | 一种客户端以及该客户端的界面生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310654521.4A CN104699468B (zh) | 2013-12-05 | 2013-12-05 | 一种客户端以及该客户端的界面生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104699468A true CN104699468A (zh) | 2015-06-10 |
CN104699468B CN104699468B (zh) | 2018-02-16 |
Family
ID=53346639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310654521.4A Active CN104699468B (zh) | 2013-12-05 | 2013-12-05 | 一种客户端以及该客户端的界面生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104699468B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105549837A (zh) * | 2015-07-31 | 2016-05-04 | 东莞酷派软件技术有限公司 | 基于触屏设备的通讯录中联系人项的展示方法及装置 |
CN106528129A (zh) * | 2016-10-27 | 2017-03-22 | 南京南瑞继保电气有限公司 | 一种Web应用界面生成系统及方法 |
CN109085977A (zh) * | 2018-08-10 | 2018-12-25 | 武汉优品楚鼎科技有限公司 | 一种自定义行情功能模块界面展示的方法、系统及装置 |
CN109729409A (zh) * | 2018-12-27 | 2019-05-07 | 贵州省广播电视信息网络股份有限公司 | 一种自动布局方法 |
CN112256257A (zh) * | 2020-10-22 | 2021-01-22 | 杭州萤石软件有限公司 | 界面构造方法、可读存储介质和电子设备 |
CN113691826A (zh) * | 2021-08-25 | 2021-11-23 | 北京百度网讯科技有限公司 | 一种直播间展示方法、装置、设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882074A (zh) * | 2010-03-15 | 2010-11-10 | 浪潮集团山东通用软件有限公司 | 一种用于图形用户界面组合及布局的方法与系统 |
CN102375733A (zh) * | 2010-08-24 | 2012-03-14 | 北大方正集团有限公司 | 一种便捷的界面布局方法 |
CN102929603A (zh) * | 2012-09-28 | 2013-02-13 | 用友软件股份有限公司 | 界面控件布局装置和界面控件布局方法 |
WO2013050060A1 (en) * | 2011-10-04 | 2013-04-11 | Audius Gmbh | Method and system for client side user interface generation |
CN103309659A (zh) * | 2013-05-24 | 2013-09-18 | 天津市天安怡和信息技术有限公司 | 基于富客户端的用户界面动态生成方法及其生成装置 |
-
2013
- 2013-12-05 CN CN201310654521.4A patent/CN104699468B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882074A (zh) * | 2010-03-15 | 2010-11-10 | 浪潮集团山东通用软件有限公司 | 一种用于图形用户界面组合及布局的方法与系统 |
CN102375733A (zh) * | 2010-08-24 | 2012-03-14 | 北大方正集团有限公司 | 一种便捷的界面布局方法 |
WO2013050060A1 (en) * | 2011-10-04 | 2013-04-11 | Audius Gmbh | Method and system for client side user interface generation |
CN102929603A (zh) * | 2012-09-28 | 2013-02-13 | 用友软件股份有限公司 | 界面控件布局装置和界面控件布局方法 |
CN103309659A (zh) * | 2013-05-24 | 2013-09-18 | 天津市天安怡和信息技术有限公司 | 基于富客户端的用户界面动态生成方法及其生成装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105549837A (zh) * | 2015-07-31 | 2016-05-04 | 东莞酷派软件技术有限公司 | 基于触屏设备的通讯录中联系人项的展示方法及装置 |
CN106528129A (zh) * | 2016-10-27 | 2017-03-22 | 南京南瑞继保电气有限公司 | 一种Web应用界面生成系统及方法 |
CN106528129B (zh) * | 2016-10-27 | 2019-06-21 | 南京南瑞继保电气有限公司 | 一种Web应用界面生成系统及方法 |
CN109085977A (zh) * | 2018-08-10 | 2018-12-25 | 武汉优品楚鼎科技有限公司 | 一种自定义行情功能模块界面展示的方法、系统及装置 |
CN109729409A (zh) * | 2018-12-27 | 2019-05-07 | 贵州省广播电视信息网络股份有限公司 | 一种自动布局方法 |
CN112256257A (zh) * | 2020-10-22 | 2021-01-22 | 杭州萤石软件有限公司 | 界面构造方法、可读存储介质和电子设备 |
CN113691826A (zh) * | 2021-08-25 | 2021-11-23 | 北京百度网讯科技有限公司 | 一种直播间展示方法、装置、设备以及存储介质 |
CN113691826B (zh) * | 2021-08-25 | 2023-10-27 | 北京百度网讯科技有限公司 | 一种直播间展示方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104699468B (zh) | 2018-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10936343B2 (en) | In-context event orchestration of physical and cyber resources | |
CN103119541B (zh) | 用于在触摸设备中编辑主屏幕的方法和装置 | |
CN104699468A (zh) | 一种客户端以及该客户端的界面生成方法 | |
CN103154856B (zh) | 针对手势识别的环境相关动态范围控制 | |
JP5325286B2 (ja) | 複数種類のコンピューティングデバイス間で複数の情報形態に対話する装置および方法 | |
US9857954B2 (en) | Dynamic, optimized placement of computer-based windows | |
US9274686B2 (en) | Navigation framework for visual analytic displays | |
CN103984818A (zh) | 基于Flex技术的AUV设计流程可视化建模方法 | |
CN102356375A (zh) | 连续和不连续的属性的平滑布局动画 | |
KR20160019528A (ko) | 모바일 디바이스 상에서의 원격 애플리케이션의 관리 및 사용 | |
CN103473055A (zh) | 一种焦点移动控制方法及装置 | |
WO2022078199A1 (zh) | 小程序控制方法、装置、设备及存储介质 | |
CN105745585A (zh) | 卸载人机交互任务 | |
CN113721808B (zh) | 一种控制方法及装置 | |
US9904452B2 (en) | Building user specific user interface instances | |
US20120159611A1 (en) | Central Administration and Abstraction of Licensed Software Features | |
CN103135912B (zh) | 一种生成操作对象的方法和电子设备 | |
JP2007133808A (ja) | 情報処理装置、コンテンツ処理方法、記憶媒体およびプログラム | |
CN114564854A (zh) | 支持fmea双向关系树的数据节点的操作方法及设备 | |
KR101918705B1 (ko) | 인지 부하를 줄이기 위한 화면 구성 방법 및 시스템 | |
KR101741906B1 (ko) | 하나의 그룹에 포함된 이미지들에 이미지 효과를 일괄 적용하기 위한 방법 및 시스템 | |
US20150121244A1 (en) | Building a Realized Topology with a Binding Document | |
CN212322292U (zh) | 一种梁片仓储移动装置 | |
CN102955648A (zh) | 终端设备、融合内容的方法以及显示方法 | |
US9871911B1 (en) | Visualizations for interactions with external computing logic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |