KR101520794B1 - Method for Smart Positioning of Widget - Google Patents

Method for Smart Positioning of Widget Download PDF

Info

Publication number
KR101520794B1
KR101520794B1 KR1020130130440A KR20130130440A KR101520794B1 KR 101520794 B1 KR101520794 B1 KR 101520794B1 KR 1020130130440 A KR1020130130440 A KR 1020130130440A KR 20130130440 A KR20130130440 A KR 20130130440A KR 101520794 B1 KR101520794 B1 KR 101520794B1
Authority
KR
South Korea
Prior art keywords
widget
placement
node
search
target
Prior art date
Application number
KR1020130130440A
Other languages
Korean (ko)
Other versions
KR20150049634A (en
Inventor
이창연
이재열
강현구
Original Assignee
에스코어 주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 에스코어 주식회사 filed Critical 에스코어 주식회사
Priority to KR1020130130440A priority Critical patent/KR101520794B1/en
Publication of KR20150049634A publication Critical patent/KR20150049634A/en
Application granted granted Critical
Publication of KR101520794B1 publication Critical patent/KR101520794B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 트리 구조에서 배치 대상 위젯의 배치 위치를 결정하는 위젯 배치 방법으로서, 사용자에 의해 입력된 마지막 액션에 의해 기준 위젯과 배치 규칙이 선택되고, 상기 기준 위젯을 상기 배치 규칙에 적용함으로써, 배치 대상 위젯의 배치 위치를 결정하는 위젯 배치 방법에 관한 것이다.The present invention relates to a widget placement method for determining a placement position of a placement target widget in a tree structure, wherein a reference widget and a placement rule are selected by a last action input by a user, and by applying the reference widget to the placement rule, And a widget placement method for determining a placement position of a target widget.

Description

위젯의 배치 방법 {Method for Smart Positioning of Widget}Method for Smart Positioning of Widget

본 발명은 위젯의 자동 배치 방법에 관한 것으로, 구체적으로는 배치할 위젯을 선택하면, 위젯의 기술 정보, 사용자의 마지막 액션, 배치 규칙에 따라 배치할 위치를 예측하여 위젯을 자동으로 배치하는 방법에 관한 것이다.
More particularly, the present invention relates to a method of automatically arranging widgets by predicting positions to be placed according to a widget's description information, a user's last action, and a placement rule when a widget to be placed is selected .

컴퓨터 프로그래밍에서 위젯(widget) 또는 컨트롤(control)은 컴퓨터와 사용자가 상호 작용하는 인터페이스 요소로서, 창, 텍스트 상자, 메뉴바, 스크롤바, 아이콘, 다이얼로그 박스 등이 있다. In computer programming, a widget or control is an interface element through which a user interacts with a computer, such as a window, a text box, a menu bar, a scroll bar, an icon, and a dialog box.

프로그래머들은 위젯을 사용하여 그래픽 사용자 인터페이스를 만드는데, 화면을 구성하는 그래픽 요소들(위젯)은 그 배치 관계를 도 1a에서 보듯이, 트리(Tree) 구조로 표현할 수 있다. The programmers use the widget to create a graphical user interface. The graphical elements (widgets) constituting the screen can express the arrangement relationship thereof in a tree structure as shown in FIG. 1A.

위젯의 배치는 도 1b와 도 1c에서 보듯이, 트리 구조와 일련의 배치 규칙(위에서 아래로, 부모에서 자식 순서로 배치)에 따라, 위젯 툴킷(widget toolkit)에서 사용자가 위젯을 선택하여 직접 배치될 위치를 결정하여 드래그한다. 이때, 도 1c와 같이 배치될 위젯 각각에 대하여 D&D (Drag and Drop)방식을 반복하면서 배치 위치를 직접 결정하는 것이 일반적이다. The layout of the widget can be selected by the user in the widget toolkit according to the tree structure and a series of layout rules (top to bottom, parent to child layout) as shown in Figs. 1B and 1C Determine the position to be dragged. At this time, it is general to directly determine the placement position by repeating the D & D (Drag and Drop) method for each widget to be arranged as shown in FIG.

그러나, 종래의 방법에서는 배치할 위젯이 많아지는 경우에, 트리 구조에 따라 위젯을 올바른 위치에 배치하는 것이 쉽지 않고, 개발자(사용자)가 각각의 위젯마다 위치를 직접 지정해야 하므로 많은 시간이 소요되며, 번거로운 문제가 있다.However, in the conventional method, when the number of widgets to be placed increases, it is not easy to place the widget in the correct position according to the tree structure, and it takes a lot of time since the developer (user) There is a troublesome problem.

한편, 위젯의 배치에 관해 위젯 사이의 기술 정보를 이용하여 새로운 위젯의 형상을 결정하는 기술이 US 7,423,646 B2에 개시되어 있으나, 위젯의 형상에 관해서는 위젯 툴킷에서 제공하는 경우가 대부분이며, 위젯의 배치에 관한 기재가 없다.
On the other hand, in US 7,423,646 B2, a technique of determining the shape of a new widget by using the technical information between widgets with respect to placement of the widget is disclosed in the widget toolkit. However, There is no description about placement.

US 7,423,646 B2US 7,423,646 B2

본 발명은 위와 같은 문제를 해결하기 위한 것으로, 위젯의 배치 위치가 자동으로 결정되어, 배치에 소요되는 시간과 번거로움을 덜기 위한 것이다.
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and it is an object of the present invention to automatically determine a placement position of a widget, thereby reducing the time and labor required for placement.

위와 같은 목적을 달성하기 위하여, 본 발명에서는 트리 구조에서 배치 대상 위젯의 배치 위치를 결정하는 위젯 배치 방법으로서, 사용자에 의해 입력된 마지막 액션에 의해 기준 위젯과 배치 규칙이 선택되고, 상기 기준 위젯을 상기 배치 규칙에 적용함으로써, 배치 대상 위젯의 배치 위치를 결정하는 위젯 배치 방법을 제공한다.In order to achieve the above object, according to the present invention, there is provided a widget arrangement method for determining a placement position of a placement target widget in a tree structure, wherein a reference widget and a placement rule are selected by a last action input by a user, The present invention provides a widget placement method for determining a placement position of a placement target widget by applying the layout rule to the placement rule.

이때, 상기 배치 규칙은 탐색 방향, 탐색 방법, 배치 방식을 포함하고, 상기 탐색 방향은 ‘상향 탐색’, ‘하향 탐색’, ‘탐색 방향 없음’ 중 어느 하나이며, ‘상향 탐색’은 마지막 액션에 적용된 노드를 기준으로 하여, 이를 제외하고 상위 노드를 대상으로 배치할 노드(Target Node)를 탐색하고,‘하향 탐색’은 마지막 액션에 적용된 노드를 기준으로 하여, 이를 포함하는 하위 노드를 대상으로 배치할 노드(Target Node)를 탐색하며,‘탐색 방향 없음’은 마지막 액션에 적용된 노드를 기준으로 하여, 전체 노드를 대상으로 배치할 노드(Target Node)를 탐색한다.In this case, the placement rule includes a search direction, a search method, and a placement method, and the search direction is any one of 'upward search', 'downward search', and 'no search direction' The target node is searched based on the applied node, except for the target node, and the 'downward search' is performed based on the node applied to the last action, The search node searches for a target node and searches for a target node to which all nodes are to be targeted based on the node applied to the last action.

또한, 상기 마지막 액션은 위젯 배치, 위젯 다중 배치, 스마트 배치(Smart Positioning), 스마트 다중 배치, 위젯 이동, 위젯 선택, 위젯 다중 선택, 위젯 삭제, 위젯 다중 삭제, UNDO, 액션 없음(NONE) 중 어느 하나이고, 상기 액션 없음(NONE)은 상기 위젯 배치 방법의 최초 실행 시 또는 실행에 사용되는 장치가 재실행되거나 유효 시간이 지난 경우에 적용된다.The last action may be any of widget placement, widget multiple placement, smart positioning, smart multiple placement, widget movement, widget selection, widget multiple selection, widget deletion, widget multiple deletion, undo, , And the action NONE is applied when the device used for the initial execution or execution of the widget placement method is re-executed or the effective time has passed.

이때, 상기 배치 규칙은 마지막 액션이 ‘UNDO’가 아닌 경우에, 사용자에 의해 배치할 위젯이 선택되면, 상기 마지막 액션에 적용된 위젯이 기준 위젯(current widget)으로 설정되고(S11), 상기 기준 위젯의 부모 위젯을 탐색하며(S12), 상기 부모 위젯이 없으면 탐색 실패 메시지를 송출하고(S13), 상기 부모 위젯이 있으면 상기 부모 위젯의 기술 정보를 불러오며(S14), 상기 부모 위젯과 상기 기준 위젯의 연관성에 따라 상기 배치 대상 위젯을 상기 기준 위젯에 동생 배치할 수 있는지를 판단하고(S15), 상기 배치 대상 위젯을 상기 기준 위젯에 동생 배치할 수 있으면, 상기 기준 위젯의 동생으로 배치하며(S16), 상기 배치 대상 위젯을 상기 기준 위젯에 동생 배치할 수 없으면, 상기 부모 위젯을 새로운 기준 위젯(current widget)으로 설정하고(S17), 상기 새로운 기준 위젯에 부모 위젯이 존재하는지 재탐색하는(S12)하는 것이다. If the widget to be laid out by the user is selected, the widget applied to the last action is set as a current widget (S11) (S12). If there is no parent widget, a search failure message is transmitted (S13). If there is the parent widget, description information of the parent widget is retrieved (S14), and the parent widget and the reference widget (S15). If the placement target widget can be placed in the reference widget as a sibling, the placement target widget is arranged as a sister of the reference widget (S16 ), If the placement target widget can not be placed in the reference widget, the parent widget is set as a new widget (S17), and the new reference widget To (S12) to re-explore whether there is a parent widget.

또한, 상기 배치 규칙은 마지막 액션이 ‘UNDO’가 아닌 경우에, 사용자에 의해 배치할 위젯이 선택되면, 상기 마지막 액션에 적용된 위젯이 기준 위젯(current widget)으로 설정되고(S21), 상기 기준 위젯의 기술 정보를 불러오며(S22), 상기 기준 위젯과 상기 배치 대상 위젯의 연관성에 따라 상기 배치 대상 위젯을 상기 기준 위젯에 자식 배치할 수 있는지를 판단하고(S23), 상기 배치 대상 위젯을 상기 기준 위젯에 자식 배치할 수 있으면, 상기 기준 위젯의 자식으로 배치하고(S24), 상기 배치 대상 위젯을 상기 기준 위젯에 자식 배치할 수 없으면, 상기 기준 위젯의 모든 자식 위젯을 큐(queue)의 마지막에 넣으며(S25), 상기 큐에 위젯이 있는지를 판단하고(S26), 상기 큐에 위젯이 없으면 탐색 실패 메시지를 송출하며(S27), 상기 큐에 위젯이 있으면 상기 큐에서 첫 번째 위젯을 꺼내고(S28), 상기 첫 번째 위젯을 새로운 기준 위젯으로 설정하여(S29), 상기 새로운 기준 위젯의 정보를 불러와(S22) 상기 배치 대상 위젯의 배치 위치를 재탐색하는 것이다.If the widget to be laid out by the user is selected, the widget applied to the last action is set as the current widget (S21), and the reference widget (S22). In step S23, it is determined whether the placement target widget can be placed in the reference widget according to the association between the reference widget and the placement target widget (S23) If the child can be placed in the widget, it is arranged as a child of the reference widget (S24). If the child widget can not be placed in the reference widget, the child widget of the reference widget is placed at the end of the queue (S26). If there is no widget in the queue (S27), a search failure message is sent (S27). If there is a widget in the queue, the first Remove the widget (S28), by setting the first widget, a new widget based on (S29), call up the information of the new standard widgets and (S22) to re-search the placement position of the placement destination widget.

또한, 상기 배치 규칙은 마지막 액션이 ‘UNDO’이고, UNDO된 액션이 ‘배치’, ‘이동’, ‘삭제’인 경우, 사용자에 의해 배치할 위젯이 선택되면, 상기 마지막 액션인 UNDO된 액션에 적용된 위젯이 기준 위젯(current widget)으로 설정되고(S31), 상기 기준 위젯의 기술 정보를 불러오며(S32), 상기 기준 위젯과 상기 배치 대상 위젯이 같은 종류의 위젯인지 판단하고(S33), 상기 기준 위젯과 상기 배치 대상 위젯이 같은 종류가 아니면 설정된 다른 배치 규칙으로 이동하며(S34), 상기 기준 위젯과 상기 배치 대상 위젯이 같은 종류이면, 상기 UNDO된 액션의 배치 위치에 상기 배치 대상 위젯을 배치하는(S35) 것이다.
In addition, if the last action is 'UNDO' and the undone action is 'batch', 'move', or 'delete', the widget to be placed by the user is selected, The applied widget is set as a current widget (S31), the technical information of the reference widget is loaded (S32), and it is determined whether the reference widget and the placement target widget are the same kind of widget (S33) If the reference widget and the placement target widget are not of the same kind, they are moved to another set placement rule (S34). If the reference widget and the placement target widget are the same kind, the placement target widget is placed at the placement position of the UNDO action (S35).

본 발명의 위치 배치 방법에서는 종래의 D&D 방식보다 위젯의 배치에 소요되는 작업량과 시간이 적어, 작업이 간편하다.
In the positioning method of the present invention, the amount of work and time required for arranging the widget is smaller than that of the conventional D & D method, and the operation is simple.

도 1a 내지 도 1c는 각각 트리 구조를 갖는 위젯의 배치에 관한 일반적인 기술을 설명하는 개념도이다.
도 2는 종래의 D&D 방식을 이용하는 위젯의 배치 방법을 보여주는 개념도이다.
도 3은 도 2에 대응하는 본 발명의 위젯 배치 방법을 보여주는 개념도이다.
도 4는 위젯의 노드 간의 연관 배치 정보를 보여주는 트리 구조도이다.
도 5는 본 발명의 작동 원리를 보여주는 개략적인 흐름도이다.
도 6은 위젯의 배치 위치가 결정되는 일례를 보여주는 개략적인 구조도이다.
도 7은 본 발명의 위젯 배치에서 마지막 액션에 따라 배치규칙이 결정되는 방법을 보여주는 개략적인 순서도이다.
도 8은 본 발명의 위젯 배치에서 마지막 액션이 UNDO 액션인 경우의 배치규칙이 결정되는 방법을 보여주는 개략적인 순서도이다.
도 9는 위젯의 자동 배치에서 배치할 위치를 탐색하는 방향에 관한 개략적인 블록도이다.
도 10은 본 발명의 위젯이 자동 배치되는 배치 원리를 보여주는 개략적인 순서도이다.
도 11은 본 발명에 따른 배치규칙의 제1실시예를 보여주는 개략적인 순서도이다.
도 12는 본 발명에 따른 배치규칙의 제2실시예를 보여주는 개략적인 순서도이다.
도 13은 본 발명에 따른 배치규칙의 제3실시예를 보여주는 개략적인 순서도이다.
도 14는 본 발명에 따른 배치규칙의 제4실시예를 보여주는 개략적인 순서도이다.
Figs. 1A to 1C are conceptual diagrams illustrating a general technique for arranging a widget having a tree structure, respectively.
2 is a conceptual diagram showing a method of arranging widgets using the conventional D & D method.
3 is a conceptual diagram showing a widget arrangement method of the present invention corresponding to FIG.
4 is a tree structure diagram showing association arrangement information between nodes of a widget.
5 is a schematic flow chart showing the operating principle of the present invention.
6 is a schematic structural diagram showing an example in which a placement position of a widget is determined.
FIG. 7 is a schematic flow chart showing how a batch rule is determined according to the last action in the widget batch of the present invention. FIG.
FIG. 8 is a schematic flowchart showing a method of determining a layout rule when the last action in the widget layout of the present invention is an undo action.
Fig. 9 is a schematic block diagram of a direction for searching for a position to be placed in an automatic layout of a widget.
Figure 10 is a schematic flow diagram illustrating the principle of deployment in which the widgets of the present invention are automatically deployed.
11 is a schematic flow chart showing a first embodiment of a layout rule according to the present invention.
12 is a schematic flow chart showing a second embodiment of the arrangement rule according to the present invention.
13 is a schematic flow chart showing a third embodiment of the arrangement rule according to the present invention.
14 is a schematic flow chart showing a fourth embodiment of the arrangement rule according to the present invention.

이하 첨부된 도면을 참조하면서 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Prior to this, terms and words used in the present specification and claims should not be construed as limited to ordinary or dictionary terms, and the inventor should appropriately interpret the concepts of the terms appropriately The present invention should be construed in accordance with the meaning and concept consistent with the technical idea of the present invention.

따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
Therefore, the embodiments described in this specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention and do not represent all the technical ideas of the present invention. Therefore, It is to be understood that equivalents and modifications are possible.

이하 본 발명의 설명에서 사용하는 용어들을 다음과 같이 정의한다. 본 발명에서 사용되는 용어 중, “트리”, “노드”, “자식 노드”, “부모 노드” 등은 자료구조 분야에서 사용되는 일반적인 용어이다. 또한, “트리 깊이 우선 탐색”, “트리 너비 우선 탐색” 등은 자료구조/알고리즘 분야의 일반 용어이다.
Hereinafter, the terms used in the description of the present invention are defined as follows. Among the terms used in the present invention, "tree", "node", "child node", "parent node" and the like are general terms used in the data structure field. Also, "Tree depth first search" and "Tree width first search" are general terms in data structure / algorithm field.

본 발명에서는 “노드(Node)”는 트리 자료 구조의 요소로서 트리 구조에서의 위치를 표현한다. “위젯(Widget)”은 UI 구성의 단위로서, 노드에 대응하여 트리 구조로 배치되는 요소이다.
In the present invention, a " node " represents a position in a tree structure as an element of a tree data structure. A " widget " is a unit of a UI configuration, and is an element arranged in a tree structure corresponding to a node.

“액션(Action)”은 위젯 배치에 관련된 사용자의 행위와 행위대상을 포함하는 용어로서, 액션의 주체는 사용자이며, 사용자의 행위인 액션은 11가지로 분류한다. 액션의 대상은 사용자의 행위와 관련된 위젯 또는 위젯들, 그리고 각 위젯의 위치정보를 포함한다. 예를 들어, “선택 액션”은 위젯을 선택하는 행위와 선택된 위젯, 위젯의 위치 정보를 포함하고, “UNDO 액션”은 UNDO 된 액션을 포함하며, “NONE 액션”은 행위만을 가리키고, 아무런 행위가 없음을 의미한다.
&Quot; Action " is a term that includes a user action and an action object related to the placement of a widget. The action is the user, and the action as the action of the user is classified into 11 kinds. The target of the action includes the widget or widgets related to the user's action, and the location information of each widget. For example, a " select action " includes selecting a widget, location information of a selected widget and a widget, an undo action includes an undo action, a "NONE action" Means none.

“액션 관련 노드(Relational Node)”, “액션 관련 위젯(Relational Widget)”은 각각 액션의 행위와 관련된 노드 또는 위젯을 의미한다.
&Quot; Relational Node " and " Relational Widget " refer to a node or widget, respectively, associated with the action of the action.

본 발명은 그래픽 요소(GUI, widget)를 배치하여 화면을 구성할 때, 배치할 위젯을 선택하면, 노드 종류 간의 연관정보와 사용자의 마지막 액션 및 배치 규칙에 따라 위젯이 배치될 위치가 예측되어, 선택한 위젯을 자동으로 배치하는 방법에 관한 것이다.
According to the present invention, when a widget to be laid out is arranged, a location where the widget is to be placed is predicted according to association information between the types of nodes and the last action and arrangement rule of the user, And how to automatically place selected widgets.

도 3에는 종래의 D&D 배치 방식에 대응하는 본 발명의 위젯 배치 방법을 보여주는 개념도가 도시되어 있고, 도 4에는 위젯의 노드 간의 연관 배치 정보를 보여주는 트리 구조도가 도시되어 있다.
FIG. 3 is a conceptual diagram showing a widget arrangement method according to the present invention corresponding to a conventional D & D arrangement method, and FIG. 4 is a tree structure diagram showing association arrangement information between nodes of a widget.

일반적으로 위젯을 추가하여 배치하는 과정은 ‘배치할 위젯 선택’과 ‘배치할 위치 선택’으로 구분된다. 즉, 어떤 위젯을 선택할 것인가에 관한 1단계 선택과 어디에 배치할 것인가에 관한 2단계 선택을 거친다. 이에 비해, 도 3을 참고하여, 본 발명의 위젯 배치 방법을 살펴보면, 사용자는 배치할 위젯을 선택하는 동작만으로 위젯을 배치하게 된다. 즉, 종래와 같이 위젯을 선택(드래그)하고 이를 배치할 위치에 드롭하는 것이 아니라, 위젯을 선택하는 동작만으로 자동으로 위젯이 배치된다. 이후, 다음 위젯을 선택하면 해당 위젯 역시 자동 배치된다. 면을 구성하는 그래픽 요소들(위젯)은 그 배치 관계를 트리(Tree) 구조로 표현할 수 있으며, 본 발명에서는 도 4의 트리 구조에 기반하여 위젯을 선택하는 동작만으로 위젯의 위치를 예측하는 방법에 대해 설명한다.
Generally, the process of adding and arranging widgets is divided into 'Select widget to place' and 'Select place to place'. In other words, there is a two-step selection as to which one to choose and which widget to choose. In contrast, referring to FIG. 3, a widget arrangement method according to the present invention will be described. A user places widgets only by selecting a widget to be placed. That is, the widget is automatically placed only by selecting the widget, not by selecting (dragging) the widget as before and dropping it to the place where the widget is arranged. Then, when you select the next widget, the corresponding widget is also automatically placed. The graphical elements (widgets) constituting the surface can represent the arrangement relationship thereof in a tree structure. In the present invention, a method of predicting the position of a widget by only selecting a widget based on the tree structure of FIG. 4 .

구체적으로, 도 4를 살펴보면, Page를 구성하는 구성요소로 “Header”와 “Content”를 구비하며, 이 중 “Header”의 하위 구조로 “Header Button”이 배치되어 있다. 즉, 위젯인 “Header Button”은 트리 구조상 “Header”에만 연관된 것으로, Header의 하위에만 배치할 수 있다. 또한, “List Divider”와 “List Item #1”, “List Item #2”는 “List”에만 배치할 수 있다.
Specifically, referring to FIG. 4, a "Header" and a "Content" are provided as constituent elements of a page, and a "Header Button" is arranged as a sub structure of "Header". That is, the widget "Header Button" is only associated with "Header" in the tree structure, and can be placed only under the header. Also, "List Divider", "List Item # 1" and "List Item # 2" can be placed only in "List".

여러 위젯들 사이의 관계는 '부모', ‘자식’, ‘형제’ 등으로 나타낼 수 있으며, 이중, ‘부모’는 위젯 간의 포함관계를 나타내는데, 포함관계란 어떤 위젯이 어떤 위젯의 내부에 존재하는 것을 가리킨다. 예를 들어 어떤 ‘위젯 A’를 띄웠더니 그 안에 ‘버튼’이 있는 경우, ‘위젯 A’는 ‘버튼’의 부모가 되며, ‘버튼’은 ‘위젯 A’의 자식이 된다. 이와 같이, 위젯 사이의 관계인 부모와 자식 사이에는 종속성이 있으며, 자식을 고르면 배치할 수 있는 부모가 제한된다. 예를 들어, 도 4에서 ‘Header button’은 ‘header’에만 배치 가능하고, ‘List Divider/List Item’은 ‘List’에만 배치될 수 있으며, ‘List Icon’은 ‘List Item’에만 배치될 수 있다. 또한, 부모가 가질 수 있는 자식의 수가 제한되기도 하는데, 본 실시예에서 ‘List Item’은 최대 1개의 ‘List Icon’만을 가질 수 있다. 이처럼, 부모, 자식 관계 사이의 일반적인 종속성 이외에도 사용자에 따라 서로 다른 배치 패턴을 사용할 수 있다. 배치 패턴은 크게 깊이 전개와 폭 전개로 나눌 수 있는데, 깊이 전개는 부모를 모두 배치하고 자식을 배치하는 패턴이고, 폭 전개는 자식까지 모두 배치하고 다음 부모를 배치하는 패턴이다.
The relation between widgets can be expressed as 'parent', 'child', 'brother' and so on. 'Parent' indicates the inclusion relation between widgets. The inclusion relation is a relationship in which a widget exists inside a widget . For example, if you open a 'widget A' and there is a 'button' in it, 'widget A' becomes the parent of the 'button' and 'button' becomes the child of 'widget A'. Thus, there is a dependency between the parent and child, which is the relationship between the widgets, and the parents that can be placed when children are selected are limited. For example, in FIG. 4, the 'Header button' can be placed only in the 'header', the 'List Divider / List Item' can be placed only in 'List', and the 'List Icon' have. Also, the number of children the parent can have is limited. In this embodiment, 'List Item' can have at most one 'List Icon'. As such, in addition to the general dependencies between parent and child relationships, different layout patterns can be used depending on the user. The layout pattern can be roughly classified into a deep development and a width development. Deep development is a pattern in which all the parents are arranged and children are arranged. A width development is a pattern in which all the children are arranged and the next parent is arranged.

본 발명은 사용자가 배치 예정인 위젯을 선택하면, 사용자의 마지막 액션과 배치 규칙에 따라 자동으로 배치할 위치가 결정되어 위젯이 배치된다. 즉, 사용자의 마지막 액션, 선택된 위젯의 기술 정보, 부모-자식 사이의 종속성이나 배치 패턴에 관한 배치 규칙에 따라 선택된 위젯의 배치 위치가 예측되며, 자동으로 예측된 위치에 배치된다. 상기 위젯의 기술 정보는 부모 위젯과 자식 위젯 사이의 관계에 관한 것으로, 본 발명에서는 부모-자식 관계만을 포함하고 있어, 형제 배치 가능 여부는 부모 위젯의 기술 정보를 통해서 확인할 수 있다. 경우에 따라서는 위젯의 기술정보에 형제 관계에 관한 내용을 포함시켜, 형제 배치 가능 여부에 활용할 수 있음은 물론이다.
In the present invention, when a user selects a widget to be laid out, a position to be laid automatically is determined according to a user's last action and a layout rule, and the widget is laid out. That is, the placement position of the selected widget is predicted according to the last action of the user, the description information of the selected widget, the placement rule relating to the dependency between the parent and child, or the placement pattern, and is automatically positioned at the predicted position. The technical information of the widget relates to the relationship between the parent widget and the child widget. In the present invention, the description includes only the parent-child relationship, and the availability of the sibling can be confirmed through the description information of the parent widget. In some cases, it is possible to include the content of the sibling relation in the technical information of the widget, and to utilize the sibling arrangement possibility.

도 5에는 본 발명의 작동 원리를 보여주는 개략적인 흐름도가 도시되어 있다. 상술한 바와 같이, 본 발명은 마지막 액션(Last Action)과 배치할 위젯(Current Widget)을 근거로 배치할 위치(Target Position)를 예측한다. 이때, 마지막 액션은 총 11가지로 분류하는데, 위젯 배치, 위젯 다중 배치, 스마트 배치(Smart Positioning), 스마트 다중 배치, 위젯 이동, 위젯 선택, 위젯 다중 선택, 위젯 삭제, 위젯 다중 삭제, UNDO, 액션 없음(NONE)을 포함한다. 액션 없음(NONE)은 최초 실행시 또는 장치 재기동이나 오랜 시간이 흘러서 마지막 액션의 의미가 퇴색한 경우에 해당한다. 이때, 마지막 액션을 유효하게 인정할 수 있는 유효 시간을 설정하여, 유효 시간이 지난 경우에는 마지막 액션을 액션 없음(NONE)으로 설정하게 된다. 마지막 액션이 ‘액션 없음(NONE)’인 경우에는 도 7에 따라 현재 선택된 위젯의 종류와 위치를 배치 규칙에 전달하여 동작한다. 즉, 액션 없음(NONE)은 그 자체로 독립된 액션으로 구분된다.
Figure 5 shows a schematic flow chart illustrating the operating principle of the present invention. As described above, the present invention predicts a target position to be placed based on a last action and a widget to be placed (Current Widget). In this case, the last action is divided into 11 categories. Widget placement, widget multiple placement, smart positioning, smart multi layout, widget movement, widget selection, widget multiple selection, widget deletion, widget multiple deletion, UNDO, action And includes none (NONE). No action (NONE) corresponds to a case where the meaning of the last action is faded at the time of initial execution or when the device restarts or a long time passes. At this time, a valid time for validating the last action is set, and if the valid time is past, the last action is set to NONE. If the last action is 'no action' (NONE), the type and position of the currently selected widget are transmitted to the placement rule according to FIG. That is, no action (NONE) is itself separated into separate actions.

도 6에는 위젯의 배치 위치가 결정되는 일례를 보여주는 개략적인 구조도가 도시되어 있다. 도면에서, 선택된 위젯의 “배치할 위치(Target Position)”는 노드의 위치로 표현하며 “배치할 노드(Target Node)”가 선택된 이후 그로부터 상대적인 관계를 가리킨다. 배치할 노드와 배치할 위치의 상대적 관계를 ‘배치방식’이라 하며, 배치 방식으로는 “자식 배치”, “동생 배치”이 있다. “자식 배치”는 배치할 노드를 선택하여 그 마지막 자식으로 배치하는 것이며, 이 경우 배치할 위치는 배치할 노드의 마지막 자식이 된다. 배치할 노드를 선택하여 그 동생으로 배치하는 것을 ‘동생배치’라 하며, 이 경우 배치할 위치는 배치할 노드의 동생이 된다. 도면에 나타난 실시예에서 ‘배치할 노드’가 C로 결정되고, ‘자식배치’ 방식으로 배치한다면 붉은색 노드가 선택된 위젯의 ‘배치할 위치’가 된다.
6 is a schematic structural view showing an example in which the placement position of the widget is determined. In the drawing, the " Target Position " of the selected widget is represented by the position of the node and indicates a relation relative thereto after " Target Node " is selected. The relative relationship between the node to be placed and the position to be placed is called a 'placement method', and the placement methods include 'child placement' and 'sibling placement'. "Child" selects the node to be placed and places it as its last child. In this case, the position to be placed becomes the last child of the node to be placed. Selecting a node to be placed and placing it as its sister is called 'sister placement'. In this case, the position to be placed becomes the brother of the node to be placed. In the embodiment shown in the drawing, 'node to be placed' is determined to be C, and if it is arranged in a 'child placement' manner, a red node becomes a 'placement position' of the selected widget.

도 7에는 본 발명의 위젯 배치에서 마지막 액션에 따라 배치규칙이 결정되는 방법을 보여주는 개략적인 순서도가 도시되어 있다.
FIG. 7 shows a schematic flow chart showing how a batch rule is determined according to the last action in the widget batch of the present invention.

이러한 마지막 액션에 의해 배치 규칙이 정해지며, 배치 규칙으로 전달되는 정보는 마지막 액션에 따라 결정된다. 예를 들어, 마지막 액션이 ‘위젯 배치’인 경우에 위치를 결정할 새로운 위젯 X를 선택하면, ‘배치규칙 B, A’에 따라 위젯 X의 위치가 결정되며, 이때, 배치규칙 B, A에 적용되는 정보로 마지막 액션으로 ‘배치한 위젯의 종류’, ‘배치한 위젯의 위치’ 정보가 전달된다. 또 다른 예로, 마지막 액션이 위젯 Y의 ‘스마트 배치’인 경우, 사용자가 새로운 위젯 Z를 선택하면, 마지막 액션에 따라 순차적으로 배치 규칙 B, A가 결정되고, 결정된 배치 규칙 B, A에는 스마트 배치된 위젯 Y의 종류와 배치된 위치 정보가 전달되어, 배치 규칙 B, A와 위젯 Y의 종류, 배치 위치에 따라 위젯 Z의 위치가 결정된다. 이때, 배치 규칙 B, A는 배치 규칙 B를 적용한 후에 배치 실패 시, 배치 규칙 A를 적용하는 것을 의미한다. 도 10을 참고하여 설명하면, 배치 규칙은 “하향 배치 규칙(배치 규칙 B)”을 적용한 후 배치가 실패하면, “상향 배치 규칙(배치 규칙 A)”을 적용하도록 순서가 정의되어 있다. 이처럼 배치규칙은 최대 2개의 조합이 가능하며, 배치규칙 B, A로 명시된 경우, 배치 규칙 B 는 “하향 탐색”을 수행하는 “하향 배치 규칙”, 배치 규칙 A는 “상향 탐색”을 수행하는 “상향 배치 규칙”으로 이해할 수 있다. 따라서 이하에서 ‘배치규칙 B, A’ 라는 표현은 배치 규칙 B를 시도 한 후 배치 규칙 A를 시도한다는 의미로 해석할 수 있다. 예를 들어, 배치 규칙 A로만 명시된 경우에는 하향 배치 규칙이 지정되지 않았으므로 상향 배치 규칙만으로 배치를 시도한다.
The final action determines the batching rule, and the information delivered in the batching rule is determined by the last action. For example, if the last action is a 'widget placement', then selecting a new widget X to determine its location will determine the location of widget X according to 'placement rule B, A', where it applies to placement rules B and A Information about the type of the widget that was placed and the location of the widget that was placed in the last action. As another example, if the last action is the 'smart placement' of the widget Y, when the user selects a new widget Z, the placement rules B and A are determined sequentially according to the last action, The position of the widget Z is determined according to the placement rules B, A, the type of the widget Y, and the placement position. In this case, the placement rules B and A mean that the placement rule A is applied when placement fails after the placement rule B is applied. Referring to FIG. 10, the order is defined so as to apply the " upward placement rule (placement rule A) " when placement fails after applying the "downward placement rule (placement rule B)". In this case, a maximum of two batching rules can be used. In the case where the batching rules B and A are specified, the batching rule B performs a "downward batching rule" Upward Placement Rules ". Therefore, in the following, the expression 'arrangement rule B, A' can be interpreted as meaning that the arrangement rule A is tried after the arrangement rule B is tried. For example, in the case where only the placement rule A is specified, since the downward placement rule is not designated, the placement is attempted only by the upward placement rule.

상술한 마지막 액션에 따른 배치 규칙 결정 과정 중, 마지막 액션이 ‘UNDO(실행취소)’인 경우의 실시예가 도 8에 도시되어 있다. 마지막 액션이 ‘UNDO’일 경우의 배치 규칙은 ‘UNDO’된 액션에 따라 각각 달라진다. 도 8을 참고하면 ‘UNDO’된 액션의 종류에 따라 배치 규칙이 배치 규칙 C 또는 배치 규칙 D로 정해진다. 또한, ‘UNDO’된 액션의 종류에 따라 결정된 배치 규칙에 전달되는 정보가 정해진다. 예를 들어, ‘UNDO’된 액션이 ‘스마트 배치’인 경우, 배치 규칙은 D이며, 전달되는 정보는 ‘배치한 위젯의 종류’, ‘배치한 위젯의 위치’, ‘스마트 배치 이전의 액션’이다. 즉, 위젯 L이 ‘위젯 배치’된 이후에, 위젯 M이 ‘스마트 배치’되었을 때, 사용자의 의도와 다른 위치에 배치되어, 사용자가 이를 ‘UNDO(실행취소)’하게 되면, 위젯 M은 다시 이전 위치로 이동하게 되고, 위젯 M에 대해서는 다시 UNDO된 스마트 배치 이전의 마지막 액션에 따라 배치 규칙이 결정되며, 결정된 배치 규칙으로 ‘위젯 L의 종류’, ‘위젯 L의 배치 위치’, 마지막 액션인 ‘위젯 배치’ 정보가 전달되어, 위젯 M의 위치를 새롭게 결정한다. 이 경우 위젯 M이 앞선 스마트 배치와 다른 위치에 추가되며, 새로운 위치가 적절하지 않다고 판단될 경우, ‘UNDO’할 수 있다.
An example of the case where the last action is 'UNDO (Undo)' in the batch rule determination process according to the last action is shown in FIG. If the last action is 'UNDO', the placement rules are different for each 'UNDO' action. Referring to FIG. 8, a placement rule is defined as a placement rule C or a placement rule D according to the type of an 'undo' action. In addition, the information to be delivered to the batch rule determined according to the type of 'undo' action is determined. For example, if the action 'UNDO'is' Smart Batch ', the placement rule is D, and the information delivered is' Type of widget you placed', 'Position of placed widget', ' to be. That is, when the widget M is 'smartly placed' after the widget L is 'widget-laid', the widget M is placed at a different position from the user's intention, and when the user makes an 'undo' The layout rule is determined according to the last action before the smart layout is undone for the widget M, and the determined placement rule is set to 'type of widget L', 'placement position of widget L', and final action The 'widget placement' information is transmitted, and the position of the widget M is newly determined. In this case, widget M is added to a different location from the previous smart layout, and can be 'undo' if it is determined that the new location is not appropriate.

도 9에는 위젯의 자동 배치에서 배치할 위치를 탐색하는 방향에 관한 개략적인 블록도가 도시되어 있다. 본 발명에서 배치할 노드(Target Node)를 탐색하는 방법으로, 상향 탐색 또는 하향 탐색을 실시한다. ‘상향 탐색’은 액션 관련 노드를 기준으로 하여, 이를 제외하고 상위 노드를 대상으로 배치할 노드(Target Node)를 탐색하며, ‘하향 탐색’은 액션 관련 노드를 기준으로 이를 포함하여 하위 노드를 대상으로 배치할 노드(Target Node)를 탐색한다. 도면을 참고하여 설명하면, 마지막 액션으로 ‘위젯 R’을 ‘스마트 배치’하여 ‘노드 B’에 배치한 후, 새롭게 위젯 S를 선택했을 경우, 마지막 액션에 관련된 위치인 ‘노드 B’를 기준으로 하여, 배치될 위치를 상향으로 탐색할 경우, 도 9의 (A)와 같이 노드 A가 탐색되며, 노드 A에 대해 위젯 S가 배치가능한지가 결정된다. 탐색 방향을 하향으로 할 경우에는 도 9의 (B)와 같이 노드 B, C, D가 탐색되며, 순차적으로 위젯 S가 배치가능한지 결정된다. 이때, 상향 탐색 또는 하향 탐색은 사용자의 배치 패턴에 따라 설정될 수 있다.
Fig. 9 shows a schematic block diagram of a direction in which to search for a position to be placed in the automatic arrangement of the widget. In the present invention, a method for searching for a target node is performed to perform an upward search or a downward search. 'Upstream search' refers to an action related node, and searches for a target node to be positioned with respect to an upper node, and 'downward search' refers to an action node, (Target Node) to be placed. Referring to the drawings, when 'widget R' is 'smartly placed' in the last action and placed in 'node B', when a widget S is newly selected, 'node B' When searching for a position to be placed upward, node A is searched as shown in Fig. 9A, and it is determined whether or not widget S can be deployed for node A. [ When the search direction is downward, the nodes B, C, and D are searched as shown in FIG. 9B, and it is determined sequentially that the widget S is deployable. At this time, the upward search or the downward search may be set according to the arrangement pattern of the user.

도 10에는 본 발명의 위젯이 자동 배치되는 배치 원리를 보여주는 개략적인 순서도가 도시되어 있다. 본 발명에서는 상향 또는 하향 검색을 통해 배치할 노드(Target Node)를 선택한 후, 배치할 노드(Target Node)에 자식 배치 또는 형제 배치 등의 배치 방식에 따라 선택된 위젯을 배치한다. 도면의 실시예에서는 먼저, 하향 탐색을 통해 배치할 노드를 검색하여 배치 방식에 따라 위젯을 배치한다. 이때, 하향 탐색 결과 배치할 노드를 찾지 못하면 상향 탐색을 실시하여 배치할 노드를 찾고 배치 방식에 따라 위젯을 배치한다. 하향 탐색과 상향 탐색 모두에서 배치할 노드를 찾지 못했을 경우에는 “자동 배치”가 불가함을 알리는 메시지를 송출한다.
Figure 10 shows a schematic flow diagram illustrating the principle of the arrangement of the inventive widgets automatically. In the present invention, a target node to be arranged is selected through upward or downward search, and a widget selected according to a layout method such as a child layout or a sibling layout is arranged in a target node. In the embodiment of the drawing, first, a node to be placed is searched through a downward search and a widget is arranged according to a layout method. In this case, if the downward search result does not find the node to be placed, the upward search is performed to find the node to be placed, and the widget is arranged according to the placement method. If the node to be located in both the downward search and the upward search is not found, a message indicating that " automatic placement " is impossible is transmitted.

본 발명에서 배치할 위치는 배치 규칙(Positioning Rule)을 통해 얻어지는데, 배치 규칙은 탐색 방향, 배치 방식을 포함하며, 마지막 액션에 따라 정해진다. 이하 설명하는 실시예들에서는 배치할 위치 탐색은 하향 탐색, 상향 탐색 순으로 진행되며 각 탐색에는 별도의 배치방식이 대응된다. 이때, 하향 탐색에서 배치할 노드를 찾으면 상향 탐색은 진행하지 않는다. 사용자의 배치 패턴에 따라서는 상향 탐색을 우선시하도록 설정할 수도 있다.
In the present invention, the position to be placed is obtained through a positioning rule, which includes a search direction and a placement manner, and is determined according to the last action. In the embodiments described below, the position search to be performed is performed in the order of the downward search and the upward search, and a separate arrangement method corresponds to each search. In this case, if the node to be placed in the downward search is found, the upward search does not proceed. It is also possible to set such that the upward search takes precedence in accordance with the arrangement pattern of the user.

도 11에는 본 발명에 따른 배치 규칙의 제1실시예를 보여주는 개략적인 순서도가 도시되어 있다. 제1실시예는 상향 탐색, 직계존속 탐색, 동생 배치의 구성을 포함하는 배치 규칙 A에 관한 것이며, 마지막 액션이 ‘UNDO’가 아닌 경우에 적용된다. 도시된 순서도를 참고하여 설명하면, 먼저, 사용자에 의해 배치할 위젯이 선택된다. 이후, 마지막 액션과 관련된 위젯이 기준 위젯(current widget)이 되어(S11), 상향으로 부모 위젯을 탐색한다(S12). 만약, 부모 위젯이 없으면 탐색 실패가 되고(S13), 부모 위젯이 있으면 부모 위젯의 기술 정보를 가져온다(S14). 부모 위젯, 기준 위젯과의 연관성에 근거하여 배치할 위젯을 상기 기준 위젯에 동생 배치(부모 위젯에는 자식 배치)할 수 있는지를 판단한다(S15). 동생 배치가 가능하면 기준 위젯의 동생으로 배치하고(S16), 동생 배치가 불가능하면 검색된 부모 위젯을 새로운 기준 위젯(current widget)으로 설정하여(S17), 부모 위젯이 존재하는지 재탐색한다(S12).
Fig. 11 shows a schematic flow chart showing a first embodiment of the arrangement rule according to the present invention. The first embodiment relates to the arrangement rule A including the configuration of the upward search, the direct survival search and the sibling arrangement, and is applied when the last action is not 'UNDO'. First, a widget to be placed by the user is selected. Thereafter, the widget associated with the last action becomes the current widget (S11), and the parent widget is searched upward (S12). If there is no parent widget, the search fails (S13). If there is a parent widget, the description information of the parent widget is fetched (S14). In step S15, it is determined whether a widget to be placed based on the association with the parent widget and the reference widget can be placed in the reference widget (child placement in the parent widget). (S16). If the sibling is not possible, the searched parent widget is set as a new widget (S17), and the parent widget is re-searched (S12) .

배치 규칙 A에 관하여 도 6을 참고하면, 위젯 H가 노드 C에서 ‘삭제’된 후, 새로운 위젯 I를 선택하면, 마지막 액션(삭제)에 따라 배치 규칙 A가 선택된다.(도 7 참고) 배치 규칙 A에 의해 기준 위젯으로 ‘위젯 H’가 지정되고, 부모 위젯으로 노드 B에 배치된 ‘위젯 G’가 존재하므로, 위젯 G의 기술 정보를 가져온다. 기준 위젯인 ‘위젯 H’에 새로 선택된 ‘위젯 I’를 동생 배치할 수 있는지를 위젯 G, 위젯 H, 위젯 I의 기술 정보를 근거로 판단하며, 동생 배치가 가능할 경우에는 노드 E2에 동생 배치한다. 동생 배치가 불가능할 경우에는, 부모 위젯 G를 기준 위젯으로 설정하고, S12로 돌아가서, 기준 위젯 G의 부모 위젯을 탐색하며, 도 6에서는 노드 A에 배치된 위젯 F가 부모 위젯이 된다. 부모 위젯 F의 기술 정보를 가져온 후, 기준 위젯 G의 동생 배치가 가능한지를 판단하며, 가능한 경우에 선택된 위젯 I는 기준 위젯 G의 동생으로 노드 E5에 배치된다.
Referring to FIG. 6, with reference to FIG. 6, when widget H is 'deleted' from node C and then selects a new widget I, placement rule A is selected according to the last action (delete) Since widget 'H' is designated as a reference widget by rule A and 'widget G' is placed as a parent widget on node B, the description information of widget G is fetched. It is judged based on the technical information of the widget G, the widget H and the widget I whether or not the newly selected widget I can be placed in the widget H which is the reference widget, and if it is possible to arrange the brother, the brother is placed in the node E2 . If it is impossible to arrange the sibling, the parent widget G is set as the reference widget, and the process goes back to S12 to search the parent widget of the reference widget G. In FIG. 6, the widget F placed at the node A becomes the parent widget. After retrieving the description of the parent widget F, it is judged whether the sibling arrangement of the reference widget G is possible, and if possible, the selected widget I is placed at the node E5 as the sibling of the reference widget G.

도 12에는 본 발명에 따른 배치규칙의 제2실시예를 보여주는 개략적인 순서도가 도시되어 있다. 제2실시예는 하향 탐색, 너비 우선 탐색, 자식 배치의 구성을 포함하는 배치 규칙 B에 관한 것이며, 마지막 액션이 ‘UNDO’가 아닌 경우에 적용된다. 도시된 순서도를 참고하여 설명하면, 먼저, 사용자에 의해 배치할 위젯이 선택된다. 이후, 마지막 액션과 관련된 위젯이 기준 위젯(current widget)이 되며(S21), 기준 위젯의 기술 정보를 가져온다(S22). 기준 위젯과의 연관성에 근거하여 배치할 위젯을 상기 기준 위젯에 자식 배치할 수 있는지를 판단한다(S23). 자식 배치가 가능하면 기준 위젯의 자식으로 배치하고(S24), 자식 배치가 불가능하면 기준 위젯의 모든 자식 위젯을 큐(queue)의 마지막에 넣는다(S25). 큐(queue)는 컴퓨터의 기본적인 자료 구조의 한가지로, 먼저 집어 넣은 데이터가 먼저 나오는 FIFO (First In First Out)구조로 저장하는 형식이다. 이후, 큐에 위젯이 있는지를 판단하여(S26), 위젯이 없으면 탐색 실패가 되고(S27), 위젯이 있으면 큐에서 첫번째 위젯을 꺼내어(S28), 새로운 기준 위젯으로 설정하고(S29), 기준 위젯의 정보를 가져온다(S22).
Fig. 12 shows a schematic flow chart showing a second embodiment of the arrangement rule according to the present invention. The second embodiment relates to a layout rule B including a configuration of a downward search, a breadth first search and a child layout, and is applied when the last action is not 'UNDO'. First, a widget to be placed by the user is selected. Thereafter, the widget associated with the last action becomes the current widget (S21), and the description information of the reference widget is fetched (S22). It is determined whether the child widget to be placed on the reference widget can be placed on the basis of the association with the reference widget (S23). If child placement is possible, it is placed as a child of the reference widget (S24). If child placement is impossible, all child widgets of the reference widget are placed at the end of the queue (S25). A queue is one of the basic data structures of a computer. It is a format in which a first-in first-out (FIFO) structure is stored first. If there is a widget, the first widget is retrieved from the queue (S28), and the new widget is set as a new reference widget (S29). Then, the reference widget (S22).

배치 규칙 B에 관하여 도 6을 참고하면, 위젯 G가 노드 B에서 노드 C로 ‘이동’된 후, 새로운 위젯 I를 선택하면, 마지막 액션(이동)에 따라 배치 규칙 B가 선택된다(도 7 참고). 배치 규칙 B에 의해 기준 위젯으로 ‘위젯 G’가 지정되고, 위젯 G의 기술 정보를 가져온다. 기준 위젯인 ‘위젯 G’에 새로 선택된 ‘위젯 I’를 자식 배치할 수 있는지를 위젯 G, 위젯 I의 기술 정보를 근거로 판단하며, 자식 배치가 가능할 경우에는 노드 E2 또는 노드 E4에 자식 배치한다. S23단계에서, 자식 배치가 불가능할 경우에는, 기준 위젯 G의 모든 자식(위젯 H, 위젯 J)을 큐에 넣는다. 큐에 있는 첫번째 위젯인 위젯 H를 꺼내어, 기준 위젯으로 설정하고, S22로 돌아가서, 위젯 H의 기술 정보를 가져온 후, 선택된 위젯 I를 기준 위젯 H의 자식 배치가 가능한지를 판단하며, 가능한 경우에 선택된 위젯 I는 기준 위젯 H의 자식으로 노드 E1에 배치된다. Referring to FIG. 6, when widget G is 'moved' from node B to node C and then selects a new widget I, placement rule B is selected according to the last action (movement) ). The widget G is designated as the reference widget by the layout rule B, and the technical information of the widget G is fetched. It is judged based on the description information of the widget G and the widget I whether the child widget I newly selected in the reference widget 'widget G' can be placed. If the child arrangement is possible, the child is placed in the node E2 or the node E4 . If it is impossible to arrange the child in step S23, all the children of the reference widget G (widget H, widget J) are queued. The widget H which is the first widget in the queue is set as the reference widget and the process returns to S22 to obtain the description information of the widget H and judges whether or not the child widget H of the reference widget H is possible. Widget I is placed at node E1 as a child of reference widget H.

상술한 바와 같이 본 발명의 실시예에서는 위젯의 기술 정보에 부모-자식관계만을 다루고 있으므로 형제 배치(동생 배치)가 가능한지 여부는 부모의 기술 정보를 통해서 확인한다. 따라서, 하향 탐색을 하는 배치 규칙 B에서 자식 배치가 가능한 노드를 찾게 되면, 도 10의 설명에 따라 위젯을 배치한 후 프로세스를 종료하고, 자식 배치가 가능한 노드를 찾지 못했을 경우에만 배치 규칙 A(상향 탐색)를 실행한다.
As described above, in the embodiment of the present invention, since only the parent-child relationship is handled in the description information of the widget, whether or not the sibling arrangement (sibling arrangement) is possible is confirmed through the description information of the parent. Accordingly, when a node capable of child placement is found in the placement rule B that performs the downward search, the widget is placed according to the description of FIG. 10 and the process is terminated. Only when the node capable of child placement is not found, Search).

도 13에는 본 발명에 따른 배치규칙의 제3실시예를 보여주는 개략적인 순서도가 도시되어 있다. 제3실시예는 UNDO된 액션의 배치 위치에 새로운 위젯을 배치하는 규칙 C에 관한 것으로서, 마지막 액션이 ‘UNDO’ 이며, UNDO 된 액션이 ‘배치’, ‘이동’, ‘삭제’인 경우에 적용된다. 도시된 순서도를 참고하여 설명하면, 먼저, 사용자에 의해 배치할 위젯이 선택된다. 이후, 마지막 액션인 UNDO된 액션과 관련된 위젯이 기준 위젯(current widget)이 되며(S31), 기준 위젯의 기술 정보를 가져온다(S32). 기준 위젯과 선택된 위젯이 같은 종류의 위젯인지 판단하여(S33), 같은 종류가 아니면 배치 규칙 B, A로 이동한다(S34). 같은 종류이면, UNDO된 액션의 배치 위치에 새로운 위젯을 배치한다(S35). 배치 규칙 C는 방향성 없이 UNDO 액션에 관련된 위젯(기준 위젯)과 배치 규칙 C에 의해 스마트 배치된 위젯(배치할 위젯)이 동일한 경우에 대해, 배치할 위젯을 특별 처리(UNDO 된 위젯과 동일한 위치에 배치)하기 위한 규칙이다.
Fig. 13 shows a schematic flow chart showing a third embodiment of the arrangement rule according to the present invention. The third embodiment relates to a rule C for placing a new widget at a placement position of an undone action, and is applied when the last action is 'UNDO' and the undone action is 'batch', 'move', or 'delete' do. First, a widget to be placed by the user is selected. Thereafter, the widget related to the undone action that is the last action becomes the current widget (S31), and the description information of the reference widget is obtained (S32). If it is determined that the reference widget and the selected widget are the same kind of widget (S33), the flow advances to the arrangement rule B or A (S34). If they are the same type, a new widget is placed at the placement position of the UNDO action (S35). Placement rule C has a special handling (place in the same position as the undoed widget) for the case where the widget associated with the undo action (reference widget) and the placement rule smartly placed by placement rule C Placement).

배치 규칙 C에 관하여 도 6을 참고하면, 위젯 H가 노드 C에 ‘배치’된 액션을 ‘UNDO’한 경우, 새로운 위젯 I를 선택하면, 마지막 액션인 ‘배치의 UNDO’에 따라 배치 규칙 C가 선택된다(도 7, 도 8 참고). 배치 규칙 C에 의해 기준 위젯으로 ‘위젯 H’가 지정되고, 위젯 H의 기술 정보를 가져온다. 기준 위젯인 ‘위젯 H’와 새로 선택된 ‘위젯 I’의 종류를 비교하여, 같은 종류일 경우에는 기준 위젯 H의 배치 위치인 노드 C에 새로 선택된 ‘위젯 I’를 배치한다. 서로 다른 종류일 경우에는 새로운 위젯 I는 배치 규칙 B, 배치규칙 A에 따라 배치된다.
Referring to FIG. 6, when widget H 'UNDO' an action 'deployed' to node C, if a new widget I is selected, placement rule C according to the last action 'UNDO of deployment' (See Figs. 7 and 8). By the layout rule C, 'widget H' is designated as the reference widget, and the technical information of the widget H is fetched. The widget I 'is newly placed in the node C, which is the placement position of the reference widget H, in the case of the same kind. In the case of different kinds, the new widget I is arranged according to the placement rule B and the placement rule A.

도 14에는 본 발명에 따른 배치규칙의 제4실시예를 보여주는 개략적인 순서도가 도시되어 있다. 제4실시예는 하향 탐색, UNDO된 ‘스마트 배치’의 다음 배치 위치를 탐색하는 배치 규칙 D로서, 마지막 액션이 ‘UNDO’ 이며, UNDO 된 액션이 ‘스마트 배치’ 인 경우에 적용된다. 도시된 순서도를 참고하여 설명하면, 먼저, 사용자에 의해 배치할 위젯이 선택된다. 이후, 마지막 액션인 UNDO된 액션과 관련된 위젯이 기준 위젯(current widget)이 되며(S41), 기준 위젯의 기술 정보를 가져온다(S42). 기준 위젯에 배치 규칙 B, A를 적용하여 배치 위치를 탐색하고(S43), 탐색된 위치가 UNDO된 배치 위치와 일치하는지를 판단(S44)하여, 일치하지 않는 경우에는 S43으로 돌아가 배치 규칙 B, A를 적용하여 다시 배치 위치를 탐색한다(S43). 탐색된 위치가 UNDO된 배치 위치와 일치하는지를 판단하여(S44), 일치하면 배치 규칙 B, A로 재탐색하고(S45), 배치할 위치를 찾았는지를 판단(S46)하여, 탐색 실패(S47)가 되거나 위젯 배치를 행한다(S48). 일치하지 않으면, 일치할 때까지 S43, S44 단계를 반복한다. 배치 규칙 D는 마지막 액션인 ‘스마트 배치를 UNDO’하고 다시 스마트 배치를 실행하는 경우에 적용 가능하며, UNDO된 스마트 배치 액션을 통해 기존에 배치되었던 위치보다 한 번 더 배치 위치를 탐색하여 배치하기 위한 규칙이다. 즉, 도 14의 S44, S43의 단계를 통해 배치 규칙 B, A를 적용해서 탐색하다가 이전에 배치한 위치(UNDO된 위치)를 만나면 한 번 더 탐색해서 그 다음 위치에 배치하는 것을 확인할 수 있다.Fig. 14 shows a schematic flow chart showing a fourth embodiment of the arrangement rule according to the present invention. The fourth embodiment is applied to the case where the last action is 'UNDO' and the UNDO action is 'Smart Batch', which is a placement rule D for searching for the next placement position of the downward search and the 'UNDO' smart placement. First, a widget to be placed by the user is selected. Thereafter, the widget associated with the undone action that is the last action becomes the current widget (S41), and obtains description information of the reference widget (S42). (S44). When it is determined that the retrieved position does not coincide with the UNDO placement position (S44), the layout rules B and A To search again for the placement position (S43). It is judged whether or not the searched position coincides with the undoed placement position (S44). If they match, it is searched again as the placement rules B and A (S45) Or widget placement is performed (S48). If they do not match, repeat steps S43 and S44 until they match. Deployment rule D is applicable to the last action, 'UNDO Smart Deployment' and then to Smart Deployment again, and the UNDO Smart Deploy action will allow you to search and deploy the deployment location one more time than previously deployed locations. It is a rule. In other words, the search is performed by applying the arrangement rules B and A through the steps S44 and S43 of FIG. 14, and once the previously located position (the UNDO position) is encountered, it is confirmed that the search is performed once more and placed at the next position.

Claims (10)

트리 구조에서 배치 대상 위젯의 배치 위치를 결정하는 위젯 배치 방법으로서,
배치 대상 위젯이 선택되는 단계,
입력된 마지막 액션에 의해 기준 위젯과 배치 규칙이 선택되는 단계,
배치 규칙에 따라 배치 대상 위젯을 배치할 노드를 탐색하는 단계,
탐색된 배치할 노드에 배치 대상 위젯을 배치하는 단계,
를 포함하고,
상기 마지막 액션은 위젯 배치, 위젯 다중 배치, 스마트 배치(Smart Positioning), 스마트 다중 배치, 위젯 이동, 위젯 선택, 위젯 다중 선택, 위젯 삭제, 위젯 다중 삭제, UNDO, 액션 없음(NONE) 중 어느 하나이며,
상기 배치 규칙은 탐색 방향, 탐색 방법, 배치 방식 중 어느 하나 이상을 포함하고,
상기 탐색 방향은 상향 탐색, 하향 탐색, 탐색 방향 없음 중 어느 하나이며, 상향 탐색은 마지막 액션에 적용된 노드를 기준으로 하여, 이를 제외하고 상위 노드를 대상으로 배치할 노드(Target Node)를 탐색하고, 하향 탐색은 마지막 액션에 적용된 노드를 기준으로 하여, 이를 포함하는 하위 노드를 대상으로 배치할 노드(Target Node)를 탐색하며, 탐색 방향 없음은 마지막 액션에 적용된 노드를 기준으로 하여, 전체 노드를 대상으로 배치할 노드(Target Node)를 탐색하고,
상기 기준 위젯을 상기 배치 규칙에 적용함으로써, 배치 대상 위젯의 배치 위치를 결정하는 위젯 배치 방법.
A widget placement method for determining a placement position of a placement target widget in a tree structure,
A step in which the placement target widget is selected,
A step in which the reference widget and the layout rule are selected by the last action inputted,
Searching for a node to place the placement target widget according to the placement rule,
Placing a deployment target widget on the discovered deployed node,
Lt; / RTI >
The last action is either widget placement, widget multiple placement, smart positioning, smart multi placement, widget movement, widget selection, widget multiple selection, widget deletion, widget multiple deletion, undo, no action ,
Wherein the placement rule includes at least one of a search direction, a search method, and a placement method,
The search direction is one of an upward search, a downward search, and a no search direction. In the upward search, a node (Target Node) to be positioned with respect to an upper node is searched for, excluding the node applied to the last action, The downward search is based on the node applied to the last action, and searches for a target node to which the lower node including the target node is to be targeted. The search direction is determined based on the node applied to the last action, (Target Node) to search for,
And applying the reference widget to the placement rule, thereby determining a placement position of the placement target widget.
트리 구조에서 부모 위젯과 자식 위젯 사이의 관계인 기술 정보를 포함하는 배치 대상 위젯의 배치 위치를 결정하는 위젯 배치 방법으로서,
배치 대상 위젯이 선택되는 단계,
입력된 마지막 액션에 의해 기준 위젯과 배치 규칙이 선택되는 단계,
배치 규칙에 따라 배치 대상 위젯을 배치할 노드를 탐색하는 단계,
탐색된 배치할 노드에 배치 대상 위젯을 배치하는 단계,
를 포함하고,
상기 마지막 액션은 위젯 배치, 위젯 다중 배치, 스마트 배치(Smart Positioning), 스마트 다중 배치, 위젯 이동, 위젯 선택, 위젯 다중 선택, 위젯 삭제, 위젯 다중 삭제, UNDO, 액션 없음(NONE) 중 어느 하나이며,
상기 배치 규칙은 탐색 방향, 탐색 방법, 배치 방식 중 어느 하나 이상을 포함하고,
상기 탐색 방향은 상향 탐색, 하향 탐색, 탐색 방향 없음 중 어느 하나이며, 상향 탐색은 마지막 액션에 적용된 노드를 기준으로 하여, 이를 제외하고 상위 노드를 대상으로 배치할 노드(Target Node)를 탐색하고, 하향 탐색은 마지막 액션에 적용된 노드를 기준으로 하여, 이를 포함하는 하위 노드를 대상으로 배치할 노드(Target Node)를 탐색하며, 탐색 방향 없음은 마지막 액션에 적용된 노드를 기준으로 하여, 전체 노드를 대상으로 배치할 노드(Target Node)를 탐색하고,
상기 기준 위젯을 상기 배치 규칙에 적용함으로써, 배치 대상 위젯의 배치 위치를 결정하는 위젯 배치 방법.
A widget arrangement method for determining a placement position of a placement target widget including technical information which is a relation between a parent widget and a child widget in a tree structure,
A step in which the placement target widget is selected,
A step in which the reference widget and the layout rule are selected by the last action inputted,
Searching for a node to place the placement target widget according to the placement rule,
Placing a deployment target widget on the discovered deployed node,
Lt; / RTI >
The last action is either widget placement, widget multiple placement, smart positioning, smart multi placement, widget movement, widget selection, widget multiple selection, widget deletion, widget multiple deletion, undo, no action ,
Wherein the placement rule includes at least one of a search direction, a search method, and a placement method,
The search direction is one of an upward search, a downward search, and a no search direction. In the upward search, a node (Target Node) to be positioned with respect to an upper node is searched for, excluding the node applied to the last action, The downward search is based on the node applied to the last action, and searches for a target node to which the lower node including the target node is to be targeted. The search direction is determined based on the node applied to the last action, (Target Node) to search for,
And applying the reference widget to the placement rule, thereby determining a placement position of the placement target widget.
제1항 또는 제2항에 있어서,
상기 액션 없음(NONE)은 상기 위젯 배치 방법의 최초 실행 시 또는 실행에 사용되는 장치가 재실행되거나 유효 시간이 지난 경우에 적용되는 것을 특징으로 하는 위젯 배치 방법.
3. The method according to claim 1 or 2,
Wherein the no action (NONE) is applied when the device used for the first execution or execution of the widget arrangement method is re-executed or the effective time is past.
제1항 또는 제2항에 있어서,
상기 입력된 마지막 액션이 ‘UNDO’가 아닌 경우에,
기준 위젯이 선택되는 단계에서 상기 마지막 액션에 적용된 위젯이 기준 위젯(current widget)으로 설정되고 (S11),
배치 규칙에 따라 배치 대상 위젯을 배치할 노드를 탐색하는 단계는 상기 탐색 방향으로 상향 탐색을 적용하여 배치할 노드를 탐색하며,
상기 기준 위젯의 부모 위젯을 탐색하며(S12),
상기 부모 위젯이 없으면 탐색 실패 메시지를 송출하고(S13),
상기 부모 위젯이 있으면 상기 부모 위젯의 기술 정보를 불러오며(S14),
상기 부모 위젯과 상기 기준 위젯의 기술 정보의 연관성에 따라 상기 배치 대상 위젯을 상기 기준 위젯에 동생 배치할 수 있는지를 판단하고(S15),
상기 배치 대상 위젯을 상기 기준 위젯에 동생 배치할 수 있으면, 탐색된 배치할 노드에 배치 대상 위젯을 배치하는 단계에서 상기 기준 위젯의 동생으로 배치하며(S16),
상기 배치 대상 위젯을 상기 기준 위젯에 동생 배치할 수 없으면, 기준 위젯을 선택하는 단계로 돌아가 상기 부모 위젯을 새로운 기준 위젯(current widget)으로 설정하고(S17),
배치 규칙에 따라 배치 대상 위젯을 배치할 노드를 탐색하는 단계에서 상기 새로운 기준 위젯에 부모 위젯이 존재하는지 재탐색하는(S12) 것을 특징으로 하는 위젯 배치 방법.
3. The method according to claim 1 or 2,
If the last action inputted is not 'UNDO'
In the step of selecting the reference widget, the widget applied to the last action is set as the current widget (S11)
Searching for a node to which a placement target widget is to be placed according to a placement rule searches for a node to be placed by applying an upward search in the search direction,
The parent widget of the reference widget is searched (S12)
If there is no parent widget, a search failure message is transmitted (S13)
If there is the parent widget, the description information of the parent widget is retrieved (S14)
(S15) whether the placement target widget can be placed in the reference widget in accordance with the association between the parent widget and the reference widget description information,
If the placement target widget can be placed in the reference widget as a sibling, arranging the placement target widget as a sibling of the reference widget at the found placement node (S16)
If the placement target widget can not be placed in the reference widget, it returns to the step of selecting the reference widget and sets the parent widget as a new widget (S17)
Searching for a node to which a placement target widget is to be placed according to a placement rule, searching again for existence of a parent widget in the new reference widget (S12).
제1항 또는 제2항에 있어서,
상기 입력된 마지막 액션이 ‘UNDO’가 아닌 경우에,
기준 위젯이 선택되는 단계에서 상기 마지막 액션에 적용된 위젯이 기준 위젯(current widget)으로 설정되고(S21),
배치 규칙에 따라 배치 대상 위젯을 배치할 노드를 탐색하는 단계는 상기 탐색 방향으로 하향 탐색을 적용하여 배치할 노드를 탐색하며,
상기 기준 위젯의 기술 정보를 불러오며(S22),
상기 기준 위젯과 상기 배치 대상 위젯의 기술 정보의 연관성에 따라 상기 배치 대상 위젯을 상기 기준 위젯에 자식 배치할 수 있는지를 판단하고(S23),
상기 배치 대상 위젯을 상기 기준 위젯에 자식 배치할 수 있으면, 탐색된 배치할 노드에 배치 대상 위젯을 배치하는 단계에서 상기 기준 위젯의 자식으로 배치하고(S24),
상기 배치 대상 위젯을 상기 기준 위젯에 자식 배치할 수 없으면, 기준 위젯이 선택되는 단계로 돌아가,
상기 기준 위젯의 모든 자식 위젯을 큐(queue)의 마지막에 넣으며(S25),
상기 큐에 위젯이 있는지를 판단하고(S26),
상기 큐에 위젯이 없으면 탐색 실패 메시지를 송출하며(S27),
상기 큐에 위젯이 있으면 상기 큐에서 첫 번째 위젯을 꺼내고(S28),
상기 첫 번째 위젯을 새로운 기준 위젯으로 설정하며(S29),
배치 규칙에 따라 배치 대상 위젯을 배치할 노드를 탐색하는 단계에서 상기 새로운 기준 위젯의 정보를 불러와(S22) 상기 배치 대상 위젯의 배치 위치를 재탐색하는(S23) 것을 특징으로 하는 위젯 배치 방법.
3. The method according to claim 1 or 2,
If the last action inputted is not 'UNDO'
In the step of selecting the reference widget, the widget applied to the last action is set as the current widget (S21)
Searching for a node to which a placement target widget is to be placed according to a placement rule searches for a node to be placed by applying a downward search in the search direction,
The technical information of the reference widget is retrieved (S22)
(S23) whether the placement target widget can be placed in the reference widget according to the association between the reference widget and the description information of the placement target widget (S23)
If the placement target widget can be placed in the reference widget as a child, it is arranged as a child of the reference widget at the step of arranging the placement target widget at the node to be searched (S24)
If the placement target widget can not be child-placed into the reference widget, the reference widget is returned to the selection step,
All the child widgets of the reference widget are inserted at the end of the queue (S25)
It is determined whether there is a widget in the queue (S26)
If there is no widget in the queue, a search failure message is sent (S27)
If there is a widget in the queue, the first widget is taken out of the queue (S28)
The first widget is set as a new reference widget (S29)
Searching for a node to which a placement target widget is to be placed according to a placement rule, retrieving the information of the new reference widget (S22), and searching for a placement position of the placement target widget (S23).
제1항 또는 제2항에 있어서,
상기 입력된 마지막 액션이 ‘UNDO’이고, UNDO된 액션이 ‘배치’, ‘이동’, ‘삭제’인 경우,
상기 입력된 마지막 액션에 의해 기준 위젯과 배치 규칙이 선택되는 단계에서, 마지막 액션인 UNDO된 액션에 적용된 위젯이 기준 위젯(current widget)으로 설정되고(S31),
배치 규칙에 따라 배치 대상 위젯을 배치할 노드를 탐색하는 단계에서,
상기 기준 위젯의 기술 정보를 불러오며(S32),
상기 기준 위젯과 상기 배치 대상 위젯이 같은 종류의 위젯인지 판단하고(S33),
상기 기준 위젯과 상기 배치 대상 위젯이 같은 종류이면, 탐색된 배치할 노드에 배치 대상 위젯을 배치하는 단계에서 상기 UNDO된 액션의 배치 위치에 상기 배치 대상 위젯을 배치하는(S35) 것을 특징으로 하는 위젯 배치 방법.
3. The method according to claim 1 or 2,
If the last action input is 'UNDO' and the undone action is 'batch', 'move', 'delete'
In the step of selecting the reference widget and the placement rule by the input last action, the widget applied to the UNDO action that is the last action is set as the current widget (S31)
In the step of searching for a node to place the placement target widget according to the placement rule,
The technical information of the reference widget is retrieved (S32)
It is determined whether the reference widget and the placement target widget are the same kind of widget (S33)
And arranging the placement target widget at a placement position of the UNDO action in the step of arranging the placement target widget in the node to be searched if the reference widget and the placement target widget are the same kind (S35) Placement method.
청구항 제6항에 있어서,
배치 규칙에 따라 배치 대상 위젯을 배치할 노드를 탐색하는 단계에서, 상기 기준 위젯과 상기 배치 대상 위젯이 같은 종류가 아니면,
상기 하향 탐색을 적용하여,
상기 기준 위젯의 기술 정보를 불러오며(S22),
상기 기준 위젯과 상기 배치 대상 위젯의 기술 정보의 연관성에 따라 상기 배치 대상 위젯을 상기 기준 위젯에 자식 배치할 수 있는지를 판단하고(S23),
상기 배치 대상 위젯을 상기 기준 위젯에 자식 배치할 수 있으면, 탐색된 배치할 노드에 배치 대상 위젯을 배치하는 단계에서 상기 기준 위젯의 자식으로 배치하고(S24),
상기 배치 대상 위젯을 상기 기준 위젯에 자식 배치할 수 없으면, 기준 위젯이 선택되는 단계로 돌아가,
상기 기준 위젯의 모든 자식 위젯을 큐(queue)의 마지막에 넣으며(S25),
상기 큐에 위젯이 있는지를 판단하고(S26),
상기 큐에 위젯이 없으면 탐색 실패 메시지를 송출하며(S27),
상기 큐에 위젯이 있으면 상기 큐에서 첫 번째 위젯을 꺼내고(S28),
상기 첫 번째 위젯을 새로운 기준 위젯으로 설정하며(S29),
배치 규칙에 따라 배치 대상 위젯을 배치할 노드를 탐색하는 단계에서 상기 새로운 기준 위젯의 정보를 불러와(S22) 상기 배치 대상 위젯의 배치 위치를 재탐색하는(S23) 것을 특징으로 하는 위젯 배치 방법.
The method according to claim 6,
Wherein when the reference widget and the placement target widget are not of the same type in the step of searching for a node to which the placement target widget is to be placed according to the placement rule,
By applying the downward search,
The technical information of the reference widget is retrieved (S22)
(S23) whether the placement target widget can be placed in the reference widget according to the association between the reference widget and the description information of the placement target widget (S23)
If the placement target widget can be placed in the reference widget as a child, it is arranged as a child of the reference widget at the step of arranging the placement target widget at the node to be searched (S24)
If the placement target widget can not be child-placed into the reference widget, the reference widget is returned to the selection step,
All the child widgets of the reference widget are inserted at the end of the queue (S25)
It is determined whether there is a widget in the queue (S26)
If there is no widget in the queue, a search failure message is sent (S27)
If there is a widget in the queue, the first widget is taken out of the queue (S28)
The first widget is set as a new reference widget (S29)
Searching for a node to which a placement target widget is to be placed according to a placement rule, retrieving the information of the new reference widget (S22), and searching for a placement position of the placement target widget (S23).
청구항 제7항에 있어서,
배치 규칙에 따라 배치 대상 위젯을 배치할 노드를 탐색하는 단계에서 탐색 실패 메시지가 송출되면(S27),
상기 상향 탐색을 적용하여,
상기 기준 위젯의 부모 위젯을 탐색하며(S12),
상기 부모 위젯이 없으면 탐색 실패 메시지를 송출하고(S13),
상기 부모 위젯이 있으면 상기 부모 위젯의 기술 정보를 불러오며(S14),
상기 부모 위젯과 상기 기준 위젯의 기술 정보의 연관성에 따라 상기 배치 대상 위젯을 상기 기준 위젯에 동생 배치할 수 있는지를 판단하고(S15),
상기 배치 대상 위젯을 상기 기준 위젯에 동생 배치할 수 있으면, 탐색된 배치할 노드에 배치 대상 위젯을 배치하는 단계에서 상기 기준 위젯의 동생으로 배치하며(S16),
상기 배치 대상 위젯을 상기 기준 위젯에 동생 배치할 수 없으면, 기준 위젯이 선택되는 단계로 돌아가 상기 부모 위젯을 새로운 기준 위젯(current widget)으로 설정하고(S17),
배치 규칙에 따라 배치 대상 위젯을 배치할 노드를 탐색하는 단계에서 상기 새로운 기준 위젯에 부모 위젯이 존재하는지 재탐색하는(S12) 것을 특징으로 하는 위젯 배치 방법.
The method of claim 7,
When a search failure message is sent in the step of searching for a node to place the placement target widget according to the placement rule (S27)
By applying the upward search,
The parent widget of the reference widget is searched (S12)
If there is no parent widget, a search failure message is transmitted (S13)
If there is the parent widget, the description information of the parent widget is retrieved (S14)
(S15) whether the placement target widget can be placed in the reference widget in accordance with the association between the parent widget and the reference widget description information,
If the placement target widget can be placed in the reference widget as a sibling, arranging the placement target widget as a sibling of the reference widget at the found placement node (S16)
If the placement target widget can not be placed in the reference widget, the process returns to the step of selecting the reference widget to set the parent widget as a new widget (S17)
Searching for a node to which a placement target widget is to be placed according to a placement rule, searching again for existence of a parent widget in the new reference widget (S12).
제1항 또는 제2항에 있어서,
상기 입력된 마지막 액션이 ‘UNDO’이고, UNDO된 액션이 ‘스마트 배치’인 경우,
상기 입력된 마지막 액션에 의해 기준 위젯과 배치 규칙이 선택되는 단계에서, 상기 마지막 액션인 UNDO된 액션에 적용된 위젯이 기준 위젯(current widget)으로 설정되고(S41),
배치 규칙에 따라 배치 대상 위젯을 배치할 노드를 탐색하는 단계에서,
상기 기준 위젯의 기술 정보를 불러오며(S42),
상기 기준 위젯에 상기 하향 탐색, 상향 탐색을 순차적으로 적용하여 배치 위치를 탐색하고(S43),
탐색된 위치가 UNDO된 배치 위치와 일치하는지를 판단(S44)하며,
탐색된 위치가 UNDO된 배치 위치와 일치하지 않는 경우에는 일치할 때까지 S43으로 돌아가 다시 배치 위치를 탐색하고(S43),
탐색된 위치가 UNDO된 배치 위치와 일치하면 상기 기준 위젯에 상기 하향 탐색, 상향 탐색을 순차적으로 적용하여 배치 위치를 재탐색하여(S45),
탐색된 배치할 노드에 배치 대상 위젯을 배치하는 단계에서 상기 재탐색에 의해 결정된 배치 위치에 상기 배치 대상 위젯을 배치하는(S48) 것을 특징으로 하는 위젯 배치 방법.
3. The method according to claim 1 or 2,
If the last action entered is 'UNDO' and the undone action is 'smart placement'
In the step of selecting the reference widget and the placement rule by the input last action, the widget applied to the UNDO action, which is the last action, is set as the current widget (S41)
In the step of searching for a node to place the placement target widget according to the placement rule,
The technical information of the reference widget is retrieved (S42)
(Step S43), searching for a placement position by sequentially applying the downward search and the upward search to the reference widget,
It is determined whether the searched position coincides with the undoed placement position (S44)
If the searched position does not coincide with the undoed placement position, the process returns to S43 and searches for the placement position again (S43)
If the retrieved position coincides with the UNDO placement position, the layout position is re-searched by sequentially applying the downward search and the upward search to the reference widget (S45)
And arranging the placement target widget at the placement position determined by the re-search in the step of arranging the placement target widget in the node to be searched (S48).
삭제delete
KR1020130130440A 2013-10-30 2013-10-30 Method for Smart Positioning of Widget KR101520794B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130130440A KR101520794B1 (en) 2013-10-30 2013-10-30 Method for Smart Positioning of Widget

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130130440A KR101520794B1 (en) 2013-10-30 2013-10-30 Method for Smart Positioning of Widget

Publications (2)

Publication Number Publication Date
KR20150049634A KR20150049634A (en) 2015-05-08
KR101520794B1 true KR101520794B1 (en) 2015-05-15

Family

ID=53387685

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130130440A KR101520794B1 (en) 2013-10-30 2013-10-30 Method for Smart Positioning of Widget

Country Status (1)

Country Link
KR (1) KR101520794B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105511725A (en) * 2015-12-09 2016-04-20 网易(杭州)网络有限公司 Method and device for displaying controls in interface

Also Published As

Publication number Publication date
KR20150049634A (en) 2015-05-08

Similar Documents

Publication Publication Date Title
US20210034336A1 (en) Executing a process-based software application in a first computing environment and a second computing environment
US9003312B1 (en) Method and apparatus for updating a web-based user interface
US20150095842A1 (en) Extendable blade sequence along pannable canvas direction
US7770125B1 (en) Methods and apparatus for automatically grouping graphical constructs
US11093242B2 (en) Automatically mapping data while designing process flows
CN115048088A (en) System and method for automatically determining layout constraints
EP1997025B1 (en) Method and application tool for dynamically navigating a user customizable representation of a network device configuration
US20120324377A1 (en) User interface extensibility for web application development tool
US7802186B2 (en) Property independent in-place editing
US20150301806A1 (en) Tentative program code in an editor
US20100281064A1 (en) Hierarchy structure display device, hierarchy structure display method and hierarchy structure display control program
WO2013038556A1 (en) Sequence program creation device
RU2010121142A (en) SURFACE OF DESIGN OF LOGIC STRUCTURES
KR101520794B1 (en) Method for Smart Positioning of Widget
JP2011095918A (en) Project planning device
JP2016051421A (en) Information management device and file management method
CN103218425A (en) Method and device for processing browser extension items
US20120221298A1 (en) Design Assist Device, Method, and Program
US10402533B1 (en) Placement of cells in a multi-level routing tree
AU2022205164A1 (en) Project visualization system
US9710571B2 (en) Graphical top-down planning system
WO2016190444A1 (en) Information management device, and file management method
CN110515621A (en) Method and device for realizing list function attribute and related equipment
CN116991956B (en) Signal interaction method based on EDA, electronic equipment and storage medium
US10719203B2 (en) Recording medium storing program with version updates, information processing device, display method

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180510

Year of fee payment: 4