KR20170095369A - 트리 구조를 형성하기 위한 데이터 처리 장치 및 방법 - Google Patents
트리 구조를 형성하기 위한 데이터 처리 장치 및 방법 Download PDFInfo
- Publication number
- KR20170095369A KR20170095369A KR1020177019861A KR20177019861A KR20170095369A KR 20170095369 A KR20170095369 A KR 20170095369A KR 1020177019861 A KR1020177019861 A KR 1020177019861A KR 20177019861 A KR20177019861 A KR 20177019861A KR 20170095369 A KR20170095369 A KR 20170095369A
- Authority
- KR
- South Korea
- Prior art keywords
- tree
- pointing cursor
- view
- branch
- tree view
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04812—Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
-
- 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/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- 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/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Image Generation (AREA)
- Digital Computer Display Output (AREA)
Abstract
형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 GUI에서 트리 구조를 형성하기 위한 장치(20) 및 방법(10)은 트리에 대한 커서 위치를 사용하여 자동으로 확장/축소될 트리 브랜치를 제어한다. 이는 명시적인 확장/축소 동작을 수행할 필요 없이 간결한 표현을 위해 트리 뷰를 재구성한다. 트리 뷰(11)가 생성된다. 제 1 및 제 2 방향에 따른 제 1 및 제 2 위치 값으로 구성된, 뷰에 대한 커서 위치가 결정(14)된다. 커서 위치가 제 1 방향에 따라 정렬되는 브랜치가 활성 브랜치로서 자동으로 선택(15)된다. 하위 레벨의 들여쓰기에 대한 제 2 위치 값에 따라 확장될 해당 브랜치의 하위 레벨이 결정(16)되고, 활성 브랜치의 결정된 하위 레벨을 확장하고 다른 브랜치를 축소함으로써 트리 뷰가 자동으로 업데이트(17)된다.
Description
요소의 트리 구조를 형성하기 위한 데이터 처리 장치 및 컴퓨터 구현 방법이 제공된다. 특히, 본 개시는 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성하기 위한 데이터 처리 장치 및 컴퓨터 구현 방법 및 대응하는 컴퓨터 판독 가능 저장 매체에 관한 것이다.
예를 들어, 멀티미디어 데이터의 의미적 메타데이터 주석을 위해 사용되는 개념은 흔히 계층적 상위 개념/하위 개념 체계에 따라 배열되어 개념 분류 체계(concept taxonomy)를 이룬다. 예를 들어, 차량 분류 체계는 지상 차량, 선박, 항공기 등과 같은 하위 개념을 포함할 수 있고, 지상 차량은 자동차, 트럭, 버스 등과 같은 하위 개념을 포함한다. 분류 체계에서, 임의의 하위 개념은 이의 모든 상위 개념과 비슷하다. 따라서, 주석이 달릴 특정 개념이 분류 체계에서 누락되는 경우, 주석자(annotator)는 가장 적합한 상위 개념으로 되돌아갈 수 있다. 예를 들어, 전투용 탱크는 지상 차량으로 주석이 달리고, UFO(미확인 비행 물체)는 차량으로 주석이 달릴 수 있다.
크고 복잡한 분류 체계는 여러 개의 독립적인 최상위 개념, 각각의 최상위 개념 아래의 계층 구조의 수많은 레벨, 및 단일 상위 개념의 많은 하위 개념을 가질 수 있다. 이러한 엄청난 양의 심하게 중첩된 개념은 이러한 분류 체계를 사용하는 응용의 그래픽 사용자 인터페이스(graphical user interface, GUI), 예를 들어, 주석이 달릴 개념의 선택을 위한 분류 체계를 보여주는 뷰에서 편리하게 형성하기가 어려울 수 있다.
분류 체계를 형성하는 한 가지 가능성은 테이블 뷰(table view)를 사용하는 것이다. 여기서, 각각의 최상위 개념은 자체 테이블을 갖거나 또는 테이블 열 또는 행의 헤더일 수 있다. 예를 들어, 열 헤더는 상위 개념을 제시하고, 열의 내용은 해당 하위 개념을 제시한다. 추가 세분화가 필요한 경우, 열은 예를 들어, 볼드체로 표시된 직접적인 하위 개념 및 일반 활자체로 표시된 이의 하위 레벨의 개념을 갖는 하위 테이블 포함할 수 있다. 이러한 테이블 뷰는 작은 공간에서 많은 개념과 이의 계층 구조를 보여줄 수 있으며 개념에 대한 양호한 개요를 제공할 수 있다. 그러나 혼란스럽지 않고 한 번에 몇 가지 레벨의 계층 구조만 보여줄 수 있다. 사용자가 추가의 하위 레벨을 검토해야 하는 경우, 사용자는 예를 들어, 현재 표시된 테이블을 업데이트하거나 추가적인 테이블을 보여줌으로써, 표시되어야 할 또 다른 하위 레벨에 대한 개념을 선택해야 한다. 심하게 중첩된 분류 체계에서, 특정 개념에 도달하기 위해서는 이러한 다수의 선택이 필요할 수 있다. 관심 있는 개념이 발견되지 않으면, 사용자는 더 높은 레벨의 개념을 보여주는 테이블로 되돌아가려고 할 수 있다. 분류 체계의 개략적인 뷰와 세부적인 뷰 간의 이러한 전환은 데이터베이스 및 피벗 테이블(pivot table)의 온라인 분석 처리(online analytical processing, OLAP)에서 다차원 데이터의 형성 및 처리에 대한 드릴 다운/업(drill down/up) 동작과 유사하다.
분류 체계를 형성하는 또 다른 가능성은 트리 뷰(tree view)를 이용하는 것이다. 이러한 뷰는, 예를 들어, 파일 시스템 탐색기 또는 문서 개요 작성 도구와 같은 다양한 응용에서 심하게 중첩된 계층 구조를 표시하는데 사용된다. 이러한 응용은 현재 나타낸 트리의 수를 선택된 트리 아래에서 하나 이상의 레벨로 확대/축소하고, 선택된 트리 아래에서 모든 트리 레벨을 확장/축소하고, 전용으로 구성된 하위 트리를 선택된 레벨로 축소하며, 이후 이러한 하위 트리를 이전에 구성된 대로 다시 보여주고, 최상위 레벨 아래의 특정 수의 트리 레벨을 표시하는 등의 제어 기능을 제공할 수 있다. 이러한 기능을 갖는 트리 뷰는 사용자가 관심 있는 하위 트리를 탐색하고 확장하여 관심 있는 개념을 찾아서 선택할 수 있도록 분류 체계를 형성하는데 사용될 수도 있다. 이러한 트리 뷰는 많은 레벨의 계층 구조를 갖는 거대한 분류 체계를 형성할 수 있다. 그러나, 개념의 개요를 제공하기에는 적합하지 않다, 즉, 많은 트리 레벨이 확장되면, 펼쳐진 뷰에서 개념을 찾기 위해 많은 스크롤(scroll)이 필요하며, 개념 관계를 추적하기가 어렵다. 더욱 간결한 뷰를 위해, 몇 개의 트리 레벨만 확장되는 경우, 많은 하위 레벨의 개념에 대해 드릴 다운 또는 드릴 업하기 위해 많은 확장/축소 동작이 필요하다.
작은 분류 체계의 경우, 분류 체계를 사용하는 응용의 GUI는 테이블 뷰를 포함할 수 있지만, 테이블 뷰는 큰 분류 체계의 많은 수의 계층 구조 레벨을 제대로 처리할 수 없으므로 테이블 뷰를 자주 업데이트하거나 자식 테이블을 신속하게 보여줄 필요가 있다. 반면에, 일부 응용에서는 큰 분류 체계에 대해 수동으로 구성할 수 있는 트리 뷰가 사용되지만, 간결한 개요 및 뷰 재구성 동작의 소요량 간의 문제 때문에 편리하지 않다. 동일한 문제는 분류 체계에서 개념을 검색하는 것뿐만 아니라, 예를 들어, 그 밖의 복잡한 트리 뷰의 요소의 경우, 심하게 중첩된 파일 디렉토리 구조에서 파일을 검색하거나 또는 심하게 중첩된 데이터베이스 구조에서 데이터베이스 항목을 검색하는 것에도 적용된다.
예를 들어, 큰 분류 체계를 형성하는 것과 같이 수동으로 구성된 트리 뷰의 편의상의 문제를 해결하고, 예를 들어, 트리 뷰에 표시되는 분류 체계 내의 개념과 같은, 트리 뷰에 표시되는 요소의 트리 구조 내에서 요소, 즉, 노드의 발견과 선택을 향상시킬 수 있는 효율적인 인간-기계 인터페이스를 제공해야 할 필요성이 여전히 존재한다.
형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스(GUI)에서 요소의 트리 구조를 형성하기 위한 컴퓨터 구현 방법 및 데이터 처리 장치 및 컴퓨터 판독 가능 저장 매체가 청부된 청구항에 따라 제시된다.
일 실시형태에 따르면, 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성하기 위한 컴퓨터 구현 방법은,
- 다수의 브랜치로 조직되는 트리 구조의 트리 뷰를 생성하는 단계;
- 트리 뷰에 대한 포인팅 커서의 위치를 결정하는 단계, 상기 위치는 제 1 방향에 따른 제 1 위치 값 및 제 1 방향에 직교하는 제 2 방향에 따른 제 2 위치 값으로 구성되고,
- 포인팅 커서의 위치가 제 1 방향에 따라 정렬되는 브랜치를 활성 브랜치(active branch)로서 자동으로 선택하는 단계;
- 하위 레벨의 들여쓰기(indentation)에 대한 제 2 위치 값에 따라, 확장될 활성 브랜치의 하위 레벨을 결정하는 단계; 및
- 활성 브랜치의 결정된 하위 레벨을 확장하고 다른 브랜치를 축소함으로써 트리 뷰를 자동으로 업데이트하는 단계를 포함한다.
따라서, 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성하기 위한 데이터 처리 장치는,
- 다수의 브랜치로 조직되는 트리 구조의 트리 뷰를 생성하도록 구성된 그래픽 표현 유닛;
- 트리 뷰에 대한 포인팅 커서의 위치를 결정하도록 구성된 위치 결정 유닛, 상기 위치는 제 1 방향에 따른 제 1 위치 값 및 제 1 방향에 직교하는 제 2 방향에 따른 제 2 위치 값으로 구성되고,
- 포인팅 커서의 위치가 제 1 방향에 따라 정렬되는 브랜치를 활성 브랜치로서 자동으로 선택하도록 구성된 활성 브랜치 선책 유닛; 및
- 하위 레벨의 들여쓰기에 대한 제 2 위치 값에 따라, 확장될 활성 브랜치의 하위 레벨을 결정하도록 구성된 확장 결정 유닛을 포함하고,
- 상기 그래픽 표현 유닛은 활성 브랜치의 결정된 하위 레벨을 확장하고 다른 브랜치를 축소함으로써 트리 뷰를 자동으로 업데이트하도록 더 구성된다.
그래픽 표현 유닛, 위치 결정 유닛, 활성 브랜치 선택 유닛 및 확장 결정 유닛과 같은 장치에 포함된 유닛들은 별도의 디바이스로서 제공되거나, 적어도 하나의 디바이스 또는 논리 회로로서 공동으로 제공되거나, 마이크로프로세서, 마이크로컨트롤러 또는 다른 처리 디바이스, 컴퓨터 또는 다른 프로그램 가능한 장치에 의해 수행되는 기능을 구비할 수 있다.
일 실시형태에 따르면, 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성하기 위한 데이터 처리 장치는,
- 처리 디바이스;
- 디스플레이 디바이스; 및
- 명령을 저장한 메모리 디바이스를 포함하고, 상기 명령은, 실행될 때, 처리 디바이스로 하여금,
- 디스플레이 디바이스를 사용하여, 다수의 브랜치로 조직되는 트리 구조를 보여주는 트리 뷰를 생성하고;
- 트리 뷰에 대한 포인팅 커서의 위치를 결정하고, 상기 위치는 제 1 방향에 따른 제 1 위치 값 및 제 1 방향에 직교하는 제 2 방향에 따른 제 2 위치 값으로 구성되고,
- 포인팅 커서의 위치가 제 1 방향에 따라 정렬되는 브랜치를 활성 브랜치로서 자동으로 선택하고,
- 하위 레벨의 들여쓰기에 대한 제 2 위치 값에 따라, 확장될 활성 브랜치의 하위 레벨을 결정하고; 및
- 활성 브랜치의 결정된 하위 레벨을 확장하고 다른 브랜치를 축소함으로써 트리 뷰를 자동으로 업데이트하도록 한다. 상기 디바이스들은 버스 또는 그 밖의 통신 회선에 의해 연결된다.
또한, 컴퓨터 판독 가능 저장 매체는, 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성할 수 있게 하는 명령을 내부에 저장하고, 상기 명령은, 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금,
- 다수의 브랜치로 조직되는 트리 구조의 트리 뷰를 생성하고;
- 트리 뷰에 대한 포인팅 커서의 위치를 결정하고, 상기 위치는 제 1 방향에 따른 제 1 위치 값 및 제 1 방향에 직교하는 제 2 방향에 따른 제 2 위치 값으로 구성되고,
- 포인팅 커서의 위치가 제 1 방향에 따라 정렬되는 브랜치를 활성 브랜치로서 자동으로 선택하고,
- 하위 레벨의 들여쓰기에 대한 제 2 위치 값에 따라, 확장될 활성 브랜치의 하위 레벨을 결정하고; 및
- 활성 브랜치의 결정된 하위 레벨을 확장하고 다른 브랜치를 축소함으로써 트리 뷰를 자동으로 업데이트하도록 한다.
컴퓨터 판독 가능 저장 매체는, 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금 상기한 방법 단계들을 수행하도록 하는 명령 프로그램을 구체적으로 구현한다.
그래픽 사용자 인터페이스는 요소의 형성된 트리 구조에 대한 포인팅 커서의 위치를 제어하는 사용자 입력에 반응한다. 포인팅 커서는 포인팅 커서 조작 디바이스, 예를 들어, 컴퓨터 마우스, 트랙볼, 트랙포인트 또는 터치패드를 사용하여 이동되거나 조작될 수 있다. 디스플레이 디바이스가 터치스크린 디바이스인 경우, 포인팅 커서는 또한, 예를 들어, 사용자의 손가락 또는 스타일러스를 사용하여 이동되거나 조작될 수 있다. 일 실시형태에서, 포인팅 커서는 사용자를 보여주는 카메라에 의해 제공된 라이브 비디오의 분석 동안 손 또는 손가락 추적 및 제스처 인식에 반응하여 이동될 수 있다.
트리 구조는 하위 레벨, 즉, 부모 노드 아래의 트리 레벨로 구성될 수 있는 연결된 노드들의 다수의 브랜치 또는 경로로 조직, 즉, 구성되며, 하위 레벨에 포함된 요소들 또는 노드들은 동일한 부모 노드의 형제들과 동일한 들여쓰기에 연결된다.
트리 뷰는 트리 구조의 그래픽 표현이다. 트리 뷰는 GUI 요소, 예를 들어, 창 또는 프레임에 표시된다. 이는 활성 브랜치의 자동 선택을 가능하게 한다, 즉, 포인팅 커서의 위치는 트리 뷰에 대한 포인팅 커서의 위치를 평가하는 것만으로 클릭하지 않고 결정된다. 활성 브랜치는, 예를 들어, 하위 레벨을 확장함으로써 사용자에 의해 탐색되도록 선택되는 브랜치이다. 포인팅 커서의 상대적 위치는, 트리 뷰 위에서 포인팅 커서를 이동시키거나 트리 뷰를 보여주는 보기 창(viewing window)을 스크롤함으로써 변경될 수 있는 반면, 포인팅 커서의 절대 위치, 즉 트리 뷰를 포함하는 보기 창을 디스플레이하는 디스플레이 디바이스의 보기 창 또는 스크린의 경계에 대한 위치는 변경되거나 변경되지 않을 수 있다.
이후, 하위 레벨의 들여쓰기에 대한 제 2 위치 값의 오프셋 평가에 따라, 확장할 활성 브랜치의 하위 레벨 수가 계산된다. 이후, 사용자의 수동 조작 없이, 자동 트리 뷰 재구성 메커니즘은 활성 브랜치의 결정된 하위 레벨을 확장하고 다른 브랜치를 축소함으로써 트리 뷰를 자동 업데이트한다.
제안된 해결책에 따른 자동 트리 뷰 재구성 메커니즘은 데이터 구조와 같은 복잡한 트리를 신속하게 검사할 수 있게 한다. 이는 수동 제어를 사용하여, 최상위 요소에서 시작해서, 관심 있는 요소, 즉, 개념, 파일 또는 데이터베이스 항목을 각각 찾아서 선택하기 위해 트리 구조로 조직되고 트리 뷰에서 트리로 디스플레이되는 분류 체계, 파일 시스템 또는 데이터베이스의 중첩된 데이터를 탐색한 후, 한 번에 트리의 하나의 브랜치로 드릴 다운하고, 관심 있는 요소가 발견되지 않는 경우, 남아 있는 하위 레벨의 축소를 포함하여, 다시 드릴 업하는 사용자의 동작을 모방한다. 이 메커니즘은 트리 뷰에 대한 포인팅 커서의 위치를 사용하여 자동으로 확장/축소될 브랜치를 제어한다. 이는 마우스 클릭, 키 입력, 터치스크린 두드리기 등에 의한 명시적인 확장/축소 동작을 수행할 필요 없이 그리고 대응하는 수동 제어 체계에 대해 필요한 것보다 포인트 커서의 움직임을 덜 필요로 하면서 트리의 간결한 표현을 위해 트리 뷰를 재구성한다.
제안된 해결책에 따른 메커니즘은 적어도 사용자가 수동 제어를 사용하는 것보다 신속하고 편리한 방법으로 관심 있는 요소를 찾고/선택하는 동작을 수행할 수 있는 효과를 갖는다, 즉, 더욱 효율적인 인간-기계 인터페이스가 제공된다.
일 실시형태에서, 제 1 방향은 수직 방향에 해당하고 제 2 방향은 그래픽 사용자 인터페이스에서 트리 뷰를 디스플레이하는 디스플레이 디바이스의 스크린상의 수평 방향에 해당한다. 여기서, 트리 요소에 대한 포인팅 커서의 수직 위치는 확장될 수 있는 활성 브랜치로서 선택되는 트리의 브랜치를 제어하는데 사용되고, 트리 레벨의 들여쓰기에 대한 포인팅 커서의 수평 위치는 확장되는 활성 브랜치의 하위 레벨의 수를 제어하는데 사용된다. 하위 레벨의 들여쓰기가 포인팅 커서 위치의 왼쪽에서 발견되는 경우, 활성 브랜치의 하위 레벨이 확장된 것으로 결정된다. 다른 실시형태에서, 제 1 방향은 수평 방향에 해당하고 제 2 방향은 수직 방향에 해당한다.
일 실시형태에서, 포인팅 커서의 위치 결정, 활성 브랜치의 자동 선택, 확장될 하위 레벨의 결정 및 트리 뷰의 자동 업데이트가 계속해서 반복된다. 자동 메커니즘은 포인팅 커서의 움직임을 지속적으로 추적하고, 필요할 경우, 트리의 간결한 표현을 위해 트리 뷰를 즉시 자동으로 재구성한다. 일 실시형태에서, 확장/축소 동작을 자동으로 수행하기 전에 약간의 지연이 도입될 수 있다. 또 다른 실시형태에서, 확장 및/또는 축소 동작은 추가적인 키 입력, 예를 들어, 화살표 키 입력이 수행될 때까지 지연된다.
일 실시형태에서, 트리 뷰는 활성 브랜치의 과다 하위 레벨을 축소시킴으로써 업데이트되고, 업데이트된 트리 뷰는, 확장될 하위 레벨의 양이 현재 확장된 하위 레벨의 양보다 적은 경우, 축소된 과다 하위 레벨을 숨기는, 즉, 이를 포함하는 해당 요소가 제 1 방향에 따라 포인팅 커서의 위치와 정렬될 때까지, 추가의 사용자 상호 작용 없이 제 1 방향으로 자동으로 이동한다. 다시 말해, 포인팅 커서의 디스플레이된 위치가 확장/축소 동작으로 인해 자동으로 재구성된 트리 뷰와 일치하지 않는 경우, 실제 포인팅 커서 위치가 업데이트된 트리 뷰에 대한 새로운 논리적 포인팅 커서 위치를 반영하도록, 업데이트된 트리 뷰는 자동으로 제 1 방향으로, 예를 들어, 수직으로 이동한다. 제 1 방향이 수직 방향이고 또한 포인팅 커서가, 포인팅 커서를 왼쪽으로 이동시킴으로써 축소되는 트리 레벨의 직접적인 또는 간접적인 상위-요소와 수직으로 정렬되지 않는 경우, 단순히 이 트리 레벨을 축소하는 것은, 이 트리 레벨의 요소가 이전에 점유한 공간 및 이들 요소에 대한 포인팅 커서의 수직 위치에 따라, 임의의 트리 요소가 어떤 것이라도 포인팅 커서와 수직으로 정렬되게 할 수 있다. 이로 인해 이러한 임의의 트리 요소를 포함하여 더 이상의 활성 브랜치 또는 새로운 활성 브랜치가 자동으로 선택되지 않을 수 있다. 다른 한편으로, 실시형태에 따른 트리 뷰의 이동은 상위 요소를 포함하는 브랜치를 활성 브랜치로 유지하고 트리를 통한 원활한 추가 탐색을 가능하게 한다. 트리 뷰를 포함하는 보기 창의 이러한 자동 재구성 또는 수동 수직 스크롤은 트리의 최상위 요소가 보기 창의 상부 가장자리로부터 약간의 거리를 두고 디스플레이되게 할 수 있다. 따라서, 일 실시형태에서, 디스플레이된 포인팅 커서와 함께 트리 뷰는 상기 거리만큼 상기 가장자리 쪽으로 이동한다.
일 실시형태에서, 요소의 트리 구조는 분류 체계(taxonomy), 즉, 예를 들어 멀티미디어 데이터에 사용되는 분류 체계의 개념과 같은 개념의 분류 체계(classification scheme)에 해당한다. 여기서, 상호 작용을 하는 트리 뷰를 갖는 그래픽 사용자 인터페이스는 계층적 메타데이터에 대한 분류 체계 브라우저에 해당한다, 즉, 멀티미디어 데이터에 대한 의미적 메타데이터 주석에 대해 GUI에서 분류 체계가 형성된다. 제안된 해결책에 따른 트리 뷰에서 트리로 디스플레이되는 분류 체계 내의 개념을 찾아서 선택하는 임무에 적응된 자동 트리 뷰 재구성 메커니즘은 심지어 큰 분류 체계의 효율적인 형성을 가능하게 한다.
또 다른 실시형태에서, 요소의 트리 구조는 파일의 디렉토리 구조에 해당한다. 일반적으로, 제안된 해결책에 따른 자동 트리 뷰 재구성 메커니즘은, 이들 뷰의 의도된 사용이 트리의 요소를 신속하게 탐색하고 선택해야 하는 경우, 다양한 응용에서 분류 체계와 다른 콘텐트를 나타내는 트리 뷰에 사용될 수도 있다. 예를 들어, 제안된 트리 뷰 재구성 메커니즘을 사용하여 트리 뷰를 포함하는 임의의 데이터베이스, 문서 개요 작성 도구, 파일 탐색기 또는 "파일 열기" 대화 상자는, 하위 트리, 예를 들어, 하위 폴더를 확장/축소하는 명백한 동작을 필요로 하는 표준 트리 뷰를 사용하는 응용에 비해, 요소를 찾아서 선택하는데 필요한 제어 동작을 덜 필요로 할 수 있다.
일 실시형태에서, 컴퓨터 구현 방법은,
- 사용자에 의한 모드 선택 입력에 반응하여 자동 모드와 수동 모드 중 하나를 선택하는 단계를 포함하고,
- 포인팅 커서의 위치 결정, 활성 브랜치의 자동 선택, 확장될 하위 레벨의 결정 및 트리 뷰의 자동 업데이트는 자동 모드에서만 실행되고, 및
- 트리 뷰는 수동 모드에서 그래픽 사용자 인터페이스에 대한 추가적인 수동 사용자 입력에 따라 업데이트된다.
제안된 해결책에 따른 방법을 수행하는 장치는 수동 트리 뷰 구성 기능 및 제안된 자동 메커니즘 모두를 제공할 수 있으며, 두 모드 사이를 전환하는 수단을 구비할 수 있다. 실시형태에서, 이는 자동 모드가 스위치 온될 때 수동으로 설정된 뷰 구성을 저장하고, 자동 모드가 다시 스위치 오프될 때 이전에 저장된 구성을 복원한다.
일 실시형태에서, 포인팅 커서는 트리 뷰와의 사용자 상호 작용에 대한 전용으로 생성된다. 이는, 예를 들어, 표준 포인팅 커서를 사용하지 않는 시스템에 적용된다. 예를 들어, 마우스 포인터를 표준 입력으로 사용하는 디바이스의 경우, 스크롤 바에 의존하지 않는 스크롤 방법이 제공될 수 있는 반면, 이러한 표준 포인팅 커서를 사용하지 않는 터치스크린 제어 디바이스는 스크롤을 위한 표준 스와이프 제스처(swipe gesture)를 사용할 수 있다. 포인팅 입력 디바이스, 예를 들어, 마우스, 트랙볼, 터치패드 또는 트랙포인트에 의해 제어되는 포인팅 커서를 사용하는 시스템상에서, 포인팅 커서 위치는 이 포인팅 커서의 위치로 정의된다. 표준 포인팅 커서, 예를 들어, 터치스크린 제어 디바이스를 사용하지 않는 시스템상에서, 트리 뷰의 보기 창에 특별히 전용인 포인팅 커서가 대신 사용된다. 이러한 전용 포인팅 커서의 위치는, 예를 들어, 사용자의 손가락 또는 스타일러스에 의해 포인팅 커서를 보기 창 위로 드래그함으로써 제어된다. 특히, 표준 포인팅 커서를 사용하는 시스템상에서 그리고 제안된 해결책에 따른 자동 메커니즘이 활성화된 경우, 이러한 자동 메커니즘을 사용하는 응용은 뷰를 스크롤하기 위해 보기 창의 가장자리에 있는 표준 스크롤 막대를 사용하지 않는데, 그 이유는 이러한 스크롤 바에 액세스하기 위해 트리 뷰를 가로질러 포인팅 커서를 움직이는 것이 뷰가 재구성을 유발할 수 있기 때문이다. 대신에, 예를 들어, 키보드 제어, 마우스 휠(예를 들어, 휠을 평상시처럼 사용하는 수직 스크롤 및 마우스 이동 또는 지원되는 경우 휠의 좌측/우측 틸팅과 함께 휠을 누르는 수평 스크롤), 또는 포인팅 커서가 보기 창의 가장자리로 이동할 때의 자동 스크롤과 같은 그 밖의 스크롤 제어 수단이 사용된다. 반면에, 터치스크린 제어 응용은 뷰를 스크롤하기 위해 보기 창에서 표준 스와이프 제스처를 사용할 수 있는데, 스와이프 제스처가 포인팅 커서 위치에서 시작하지 않는다는 경우이며, 이는 포인팅 커서를 드래그하는 것으로 해석될 수 있기 때문이다.
일 실시형태에서, 트리 뷰는 트리 요소가 들여쓰기에 해당하고 하위 요소를 가지는지, 즉, 서브 트리를 숨기는지의 여부를 나타내는 시각적 표시를 포함한다. 시각적 표시는 플러스, 오른쪽을 향하는 삼각형 또는 화살표와 같은 아이콘일 수 있다. 또 다른 예로서, 트리 요소을 다양한 다른 스타일, 예를 들어, 다양한 색상 또는 활자체로 형성함으로써 시각적 표시를 제공할 수 있다. 일 실시형태에서, 시각적 표시는 숨겨진 요소의 양을 나타내는 숫자 또는 바와 같은, 아직 확장되지 않은 레벨 또는 하위 트리의 복잡성의 그래픽 제안을 추가로 포함한다.
또한, 일 실시형태에서, 트리 뷰에 대한 트리 구조의 가시적인 섹션의 위치를 가시화하는 하나 이상의 위치 표시기(position indicator)가 보기 창의 일부로서 표시된다. 이는, 예를 들어, 뷰의 스크롤 또는 뷰의 자동 재구성에 의해 보기 창 내에서 트리 뷰의 일부가 실제로 보이지 않을 때, 탐색 정보를 제공한다. 위치 표시기는, 예를 들어, 스크롤 바, 위치를 나타내는 더 넓은 부분을 갖는 작은 라인, 및/또는 보기 창의 높이/폭에 대한 위치를 나타내는 일반 라인일 수 있다. 위치 표시기가 스크롤 제어 기능을 제공하는 경우, 뷰를 가로질러 포인팅 커서를 움직이는 동안 트리 뷰의 원하지 않는 가능한 재구성을 피하기 위해, 위치 표시기는 보기 창을 스크롤하는데 사용되지 않는다. 또 다른 실시형태에서, 위치 표시기는 그래픽 사용자 인터페이스의 별도의 창 또는 프레임에 표시된다.
명백하게 기술되지는 않았지만, 본 실시형태는 임의의 조합 또는 하위 조합으로 사용될 수 있다.
도 1은 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성하기 위한 방법의 실시형태를 개략적으로 도시하고;
도 2는 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성하기 위한 데이터 처리 장치의 일 실시형태를 개략적으로 도시하고;
도 3은 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성하기 위한 데이터 처리 장치의 다른 실시형태를 개략적으로 도시하고; 및
도 4 내지 도 32는 포인팅 커서를 통한 사용자 상호 작용 동안 트리 뷰 재구성 메커니즘에 적용되는 트리 뷰의 실시형태를 개략적으로 도시한다. 특히,
도 4는 예시적인 트리 뷰를 도시하고;
도 5는 포인팅 커서가 트리 뷰의 보기 창 외부에 있는 상황을 도시하고;
도 6은 포인팅 커서가 트리 요소와 수직으로 정렬되어 있지 않은 상황을 도시하고;
도 7은 최상위 요소만을 갖는 활성 브랜치가 디스플레이되는 상황을 도시하고;
도 8은 활성 브랜치의 다음 하위 레벨이 자동으로 확장되는 상황을 도시하고;
도 9는 활성 브랜치의 추가 하위 레벨이 자동으로 확장되는 상황을 도시하고;
도 10은 하위 레벨 트리 요소를 통해 활성 브랜치가 선택되는 상황을 도시하고;
도 11은 하위 레벨 트리 요소 아래의 다음 하위 레벨이 자동으로 확장되는 상황을 도시하고;
도 12는 트리 레벨이 자동으로 축소되는 상황의 제 1 부분을 도시하고;.
도 13은 트리 레벨이 자동으로 축소되는 상황의 제 2 부분을 도시하고;.
도 14는 트리 레벨이 자동으로 축소되는 상황의 제 3 부분을 도시하고;
도 15는 스크롤에 의해 하위 레벨이 자동으로 확장되는 상황의 제 1 부분을 도시하고;
도 16은 스크롤에 의해 하위 레벨이 자동으로 확장되는 상황의 제 2 부분을 도시하고;
도 17은 스크롤에 의해 하위 레벨이 자동으로 확장되는 상황의 제 3 부분을 도시하고;
도 18은 스크롤에 의해 하위 레벨이 자동으로 축소되는 상황의 제 1 부분을 도시하고;
도 19는 스크롤에 의해 하위 레벨이 자동 축소되는 상황의 제 2 부분을 도시하고;
도 20은 스크롤에 의해 하위 레벨이 자동으로 축소되는 상황의 제 3 부분을 도시하고;
도 21은 최상위 브랜치가 자동으로 확장되는 상황의 제 1 부분을 도시하고;
도 22는 최상위 브랜치가 자동으로 확장되는 상황의 제 2 부분을 도시하고;
도 23은 최하위 브랜치가 자동으로 확장되는 상황의 제 1 부분을 도시하고;
도 24는 최하위 브랜치가 자동으로 확장되는 상황의 제 2 부분을 도시하고;
도 25는 활성 브랜치의 변화시 자동 축소/확장 상황의 제 1 부분을 도시하고;
도 26은 활성 브랜치의 변화시 자동 축소/확장 상황의 제 2 부분을 도시하고;
도 27은 스크롤에 의한 상부에서의 브랜치의 자동 확장 상황의 제 1 부분을 도시하고;
도 28은 스크롤에 의한 상부에서의 브랜치의 자동 확장 상황의 제 2 부분을 도시하고;
도 29는 스크롤에 의한 하부에서의 브랜치의 자동 확장 상황의 제 1 부분을 도시하고;
도 30은 스크롤에 의한 하부에서의 브랜치의 자동 확장 상황의 제 2 부분을 도시하고;
도 31은 스크롤에 의한 활성 브랜치의 변화시 자동 축소/확장 상황의 제 1 부분을 도시하고; 및
도 32는 스크롤에 의한 활성 브랜치의 변화시 자동 축소/확장 상황의 제 2 부분을 도시한다.
도 2는 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성하기 위한 데이터 처리 장치의 일 실시형태를 개략적으로 도시하고;
도 3은 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성하기 위한 데이터 처리 장치의 다른 실시형태를 개략적으로 도시하고; 및
도 4 내지 도 32는 포인팅 커서를 통한 사용자 상호 작용 동안 트리 뷰 재구성 메커니즘에 적용되는 트리 뷰의 실시형태를 개략적으로 도시한다. 특히,
도 4는 예시적인 트리 뷰를 도시하고;
도 5는 포인팅 커서가 트리 뷰의 보기 창 외부에 있는 상황을 도시하고;
도 6은 포인팅 커서가 트리 요소와 수직으로 정렬되어 있지 않은 상황을 도시하고;
도 7은 최상위 요소만을 갖는 활성 브랜치가 디스플레이되는 상황을 도시하고;
도 8은 활성 브랜치의 다음 하위 레벨이 자동으로 확장되는 상황을 도시하고;
도 9는 활성 브랜치의 추가 하위 레벨이 자동으로 확장되는 상황을 도시하고;
도 10은 하위 레벨 트리 요소를 통해 활성 브랜치가 선택되는 상황을 도시하고;
도 11은 하위 레벨 트리 요소 아래의 다음 하위 레벨이 자동으로 확장되는 상황을 도시하고;
도 12는 트리 레벨이 자동으로 축소되는 상황의 제 1 부분을 도시하고;.
도 13은 트리 레벨이 자동으로 축소되는 상황의 제 2 부분을 도시하고;.
도 14는 트리 레벨이 자동으로 축소되는 상황의 제 3 부분을 도시하고;
도 15는 스크롤에 의해 하위 레벨이 자동으로 확장되는 상황의 제 1 부분을 도시하고;
도 16은 스크롤에 의해 하위 레벨이 자동으로 확장되는 상황의 제 2 부분을 도시하고;
도 17은 스크롤에 의해 하위 레벨이 자동으로 확장되는 상황의 제 3 부분을 도시하고;
도 18은 스크롤에 의해 하위 레벨이 자동으로 축소되는 상황의 제 1 부분을 도시하고;
도 19는 스크롤에 의해 하위 레벨이 자동 축소되는 상황의 제 2 부분을 도시하고;
도 20은 스크롤에 의해 하위 레벨이 자동으로 축소되는 상황의 제 3 부분을 도시하고;
도 21은 최상위 브랜치가 자동으로 확장되는 상황의 제 1 부분을 도시하고;
도 22는 최상위 브랜치가 자동으로 확장되는 상황의 제 2 부분을 도시하고;
도 23은 최하위 브랜치가 자동으로 확장되는 상황의 제 1 부분을 도시하고;
도 24는 최하위 브랜치가 자동으로 확장되는 상황의 제 2 부분을 도시하고;
도 25는 활성 브랜치의 변화시 자동 축소/확장 상황의 제 1 부분을 도시하고;
도 26은 활성 브랜치의 변화시 자동 축소/확장 상황의 제 2 부분을 도시하고;
도 27은 스크롤에 의한 상부에서의 브랜치의 자동 확장 상황의 제 1 부분을 도시하고;
도 28은 스크롤에 의한 상부에서의 브랜치의 자동 확장 상황의 제 2 부분을 도시하고;
도 29는 스크롤에 의한 하부에서의 브랜치의 자동 확장 상황의 제 1 부분을 도시하고;
도 30은 스크롤에 의한 하부에서의 브랜치의 자동 확장 상황의 제 2 부분을 도시하고;
도 31은 스크롤에 의한 활성 브랜치의 변화시 자동 축소/확장 상황의 제 1 부분을 도시하고; 및
도 32는 스크롤에 의한 활성 브랜치의 변화시 자동 축소/확장 상황의 제 2 부분을 도시한다.
더 나은 이해를 위해, 제안된 해결책은 이제 도면을 참조하여 다음의 설명에서 더욱 상세히 설명될 것이다. 해결책은 이들 예시적인 실시형태에 한정되지 않는다는 것과 특정 특징들이 첨부된 청구 범위에서 정의된 본 발명의 범위를 벗어나지 않고 편리하게 결합 및/또는 수정될 수 있다고 생각된다.
도 1을 참조하면, 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성하기 위한 컴퓨터 구현 방법(10)의 실시형태가 개략적으로 도시되어 있다. 도시된 실시형태에 따르면, 방법은 트리의 간결한 표현을 위해 트리 뷰를 지속적으로 재구성하는 자동 메커니즘을 제공한다.
제 1 단계(11)에서, 다수의 브랜치로 조직되는 트리 구조의 트리 뷰가 생성된다. 도시된 실시형태에 따르면, 다음 단계(12)에서, 자동 모드와 수동 모드 간의 선택은 사용자에 의한 모드 선택 입력에 반응하여 수행된다. 수동 모드에서, 트리 뷰는 그래픽 사용자 인터페이스에 대한 추가의 수동 사용자 입력에 반응하여 다음 단계(13)에서 업데이트된다.
자동 모드에서, 다음 단계들이 수행된다.
다음 단계(14)에서, 트리 뷰에 대한 포인팅 커서의 위치가 결정된다. 상기 위치는 제 1 방향에 따른 제 1 위치 값 및 제 1 방향에 직교하는 제 2 방향에 따른 제 2 위치 값으로 구성된다.
다음 단계(15)에서, 포인팅 커서의 위치가 제 1 방향에 따라 정렬되는 브랜치가 활성 브랜치로서 자동으로 선택된다. 다음 단계(16)에서, 확장될 활성 브랜치의 하위-레벨은 하위-레벨의 들여쓰기에 대한 제 2 위치 값에 따라 결정된다. 다음 단계(17)에서, 활성 브랜치의 결정된 하위-레벨을 확장하고 다른 브랜치를 축소함으로써 트리 뷰가 자동으로 업데이트된다.
트리 뷰에 대한 포인팅 커서의 위치가 다음 단계(18)에서 계속 변경되면, 포인팅 커서 위치 결정 단계(14), 활성 브랜치 선택 단계(15), 하위-레벨 확장 결정 단계(16) 및 자동 트리 업데이트 단계(17)가 계속해서 반복된다. 그렇지 않으면, 도시된 실시형태에서, 방법은 트리 뷰에 대해 포인팅 커서의 임의의 추가 위치 변경을 기다린다.
이제 도 2 및 도 3을 참조하면, 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성하기 위한 데이터 처리 장치의 실시형태가 개략적으로 도시되어 있다. 도 2에 도시된 장치 및 도 3에 도시된 장치는, 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성하기 위한 장치의 일부로서 트리 구조를 형성하기 위한 상기한 방법의 장점 및 특성을 구현할 수 있게 한다.
도 2에 도시된 데이터 처리 장치(20)는 사용자에 의한 모드 선택 입력(22)에 반응하여 자동 모드와 수동 모드 중 하나를 선택하도록 구성된 선택 유닛(21)을 포함한다.
그래픽 표현 유닛(23)은 다수의 브랜치로 조직되는 트리 구조의 트리 뷰를 생성하도록 구성된다. 그래픽 표현 유닛(23)은 트리 뷰를 디스플레이하기 위한 디스플레이 디바이스에 연결되거나 또는 연결될 수 있거나 또는 이를 포함한다. 수동 모드에서, 그래픽 표현 유닛(23)은 그래픽 사용자 인터페이스에 대한 추가적인 수동 사용자 입력에 반응하여 트리 뷰를 업데이트한다. 자동 모드에서, 그래픽 표현 유닛(23)은 적어도 확장 결정 유닛(27)으로부터의 입력에 반응하여 트리 뷰를 업데이트한다.
위치 결정 유닛(24)은 그래픽 표현 유닛(23)에 연결되고, 트리 뷰에 대한 포인팅 커서의 위치를 결정하도록 구성된다. 상기 위치는 제 1 방향에 따른 제 1 위치 값 및 제 1 방향에 직교하는 제 2 방향에 따른 제 2 위치 값으로 구성된다. 포인팅 커서를 스크롤하거나 이동시킴으로써 포인팅 커서의 위치를 제어하는 사용자로부터의 입력(25)을 기반으로 위치가 결정된다.
활성 브랜치 선택 유닛(26)은 포인팅 커서의 위치가 제 1 방향에 따라 정렬되는 브랜치를 활성 브랜치로서 자동으로 선택하도록 구성되고, 확장 결정 유닛(27)은 하위 레벨의 들여쓰기와 관련된 제 2 위치 값에 따라, 확장될 활성 브랜치의 하위-레벨을 결정하도록 구성된다.
그래픽 표현 유닛(23)은 활성 브랜치의 결정된 하위 레벨을 확장하고 다른 브랜치를 축소함으로써 트리 뷰를 자동으로 업데이트하도록 구성된다.
도 에 도시된 실시형태에서, 선택 유닛(21), 그래픽 표현 유닛(23), 위치 결정 유닛(24), 활성 브랜치 선택 유닛(26) 및 확장 결정 유닛(27)은 서로 직접 통신한다. 또 다른 실시형태에서, 장치는 하나 이상의 유닛에 접속되고 이들의 통신을 제어하는 제어 유닛을 포함한다.
선택 유닛(21), 그래픽 표현 유닛(23), 위치 결정 유닛(24), 활성 브랜치 선택 유닛(26) 및 확장 결정 유닛(27)은 별도의 디바이스로서 제공되거나, 적어도 하나의 디바이스 또는 논리 회로로서 공동으로 제공되거나, 마이크로프로세서, 마이크로컨트롤러 또는 다른 처리 디바이스, 또는 적어도 하나의 메모리 디바이스에 연결되거나 또는 이를 포함하는 처리를 수행하도록 배치된 컴퓨터 또는 다른 프로그램 가능한 장치에 의해 수행되는 기능을 구비할 수 있다.
도 3에 도시된 바와 같이, 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성하기 위한 데이터 처리 장치(30)의 실시형태는 처리 디바이스(31), 디스플레이 디바이스(32) 및 명령을 저장한 메모리 디바이스(33)를 포함하고, 상기 명령은, 실행될 때, 처리 디바이스로 하여금,
- 디스플레이 디바이스(32)를 사용하여, 다수의 브랜치로 조직되는 트리 구조를 보여주는 트리 뷰를 생성하고;
- 트리 뷰에 대한 포인팅 커서의 위치를 결정하고, 상기 위치는 제 1 방향에 따른 제 1 위치 값 및 제 1 방향에 직교하는 제 2 방향에 따른 제 2 위치 값으로 구성되고,
- 포인팅 커서의 위치가 제 1 방향에 따라 정렬되는 브랜치를 활성 브랜치로서 자동으로 선택하고,
- 하위 레벨의 들여쓰기에 대한 제 2 위치 값에 따라, 확장될 활성 브랜치의 하위 레벨을 결정하고; 및
- 활성 브랜치의 결정된 하위 레벨을 확장하고 다른 브랜치를 축소함으로써, 디스플레이 디바이스에 의해 표시된 트리 뷰를 자동으로 업데이트하도록 한다.
예를 들어, 처리 디바이스는 상기한 방법들 중 하나에 따른 단계들을 수행하도록 적응된 프로세서일 수 있다. 일 실시형태에서, 상기 적응은 프로세서가 상기한 방법들 중 하나에 따른 단계들을 수행하도록 구성되는, 예를 들어 프로그래밍되는 포함한다.
이제 도 4 내지 도 32를 참조하면, 일례로서, 자동 모드에서 포인팅 커서를 통한 사용자 상호 작용 동안 자동 트리 뷰 재구성 메커니즘에 적용되는 분류 체계 트리 뷰의 실시형태가 개략적으로 도시되어 있다.
도 4는 현재 네 개의 하위 레벨이 확장된, 보기 창 내의 분류 체계 트리의 트리 뷰의 일례를 도시하고 있다. 포인팅 커서의 위치는 화살표로 나타나 있다. 트리 뷰에서 트리로 디스플레이되는 분류 체계는 9 개의 상위 개념(Concept_1, ..., Concept_9)을 갖고, 각각의 상위 개념 또는 보모 노드/요소는 8 개의 하위 개념 또는 자식 노드/요소를 가지며, 총 5 개의 계층 구조의 레벨을 갖는다. 도 4 내지 도 32에 도시된 예에서, 이 분류 체계가 조작된다. 도 4에서, 포인팅 커서가 수직으로 정렬되는 브랜치만 확장된 반면 다른 브랜치는 축소되어 트리의 간결한 표현을 제공하지만, 트리 요소는 레벨 5까지 볼 수 있다. 제안된 해결책에 따르면, 트리 뷰에 대한 포인팅 커서의 위치는 트리 뷰의 자동 확장/축소 동작을 제어하는데 사용된다. 트리 요소에 대한 포인팅 커서의 수직 위치는 확장될 수 트리의 브랜치를 활성 브랜치로서 제어한다. 트리의 다른 브랜치들은 자동으로 축소된다. 이들을 비활성 브랜치라고 한다. 트리 레벨의 들여쓰기에 대한 포인팅 커서의 수평 위치는 확장될 수 있는 활성 브랜치의 하위 레벨의 수를 제어한다. 트리 요소의 자동 확장/축소에서, 실제 포인팅 커서 위치가 업데이트된 트리 뷰에 대한 새로운 논리적 포인팅 커서 위치를 반영하도록, 업데이트된 트리 뷰는 또한 자동으로 수직 이동할 수 있다.
도 5는 포인팅 커서가 보기 창을 가리키지 않을 때의 트리 뷰를 도시하고 있다. 이 상황은 포인팅 커서가 시스템의 포인팅 커서, 즉, 트리 뷰와의 상호 작용을 위한 전용으로 생성되지 않은 표준 포인팅 커서인 경우에만 가능하다. 이 경우, 포인팅 커서의 수직 위치에 관계없이 정의에 따라 활성 브랜치는 존재하지 않는다. 따라서, 트리의 최상위 요소만 표시된다. 또한, 도시된 실시형태에서, 트리는 최상위 레벨 트리 요소에 적용되는 경우 연관된 하위 요소 표시기를 포함하여 보기 창의 상부 왼쪽 코너에 항상 최상부 요소와 함께 디스플레이된다. 이는 포인팅 커서가 보기 창으로 이동될 때 트리를 통한 탐색의 시작점으로서 트리의 간결하고 일관된 표현을 사용자에게 제공한다. 이러한 이동은 포인팅 커서가 트리 뷰 및 이동 방향에 대해 보기 창에 진입하는 위치에 따라 이미 트리 뷰의 자동 재구성을 유발할 수 있다.
도 6은 포인팅 커서가 보기 창을 가리키지만 임의의 트리 요소와 수직으로 정렬되어 있지 않은 상황을 도시하고 있다. 어떠한 브랜치도 활성 브랜치로 선택되지 않고, 따라서 트리의 최상위 요소만 표시된다. 따라서, 진입 위치가 임의의 트리 요소와 수직으로 정렬되어 있지 않은 상태에서 시스템의 포인팅 커서가 보기 창으로 이동하는 경우, 트리 뷰는 변경되지 않는다. 그러나, 포인팅 커서가 보기 창을 가리키지 않을 때, 최상위 트리 요소가 보기 창의 상부 가장자리에 디스플레이되기 때문에, 포인팅 커서를 상부로부터 보기 창으로 이동시키면, 디스플레이되는 트리가 전혀 존재하지 않는 한, 진입 위치가 최상위 트리 요소와 수직으로 정렬된다. 포인팅 커서가 보기 창을 가리키고 트리 요소와 수직으로 정렬되면, 이 요소가 속한 브랜치가 활성 브랜치다. 확장될 수 있는 활성 브랜치의 하위 레벨 수는 포인팅 커서의 수평 위치에 따라 다르다. 이 위치가 트리 레벨 1이라고 하는 최상위 트리 레벨에 해당하는 경우, 즉 포인팅 커서가 트리 레벨 2의 들여쓰기 왼쪽에 위치하는 경우, 비활성 브랜치의 최상위 요소와 함께 활성 브랜치의 최상위 레벨 요소만 디스플레이된다(도 7 참조). 도 7에 도시된 위치로부터, 포인팅 커서는 트리 뷰를 변경하지 않고 보기 창 내에서 위아래로 움직일 수 있다. 활성 브랜치가 존재하는지 여부 및 어느 최상위 트리 요소가 활성 브랜치와 연관되는지 여부는 트리 뷰에 대한 포인팅 커서의 수직 변위와 함께 변경된다.
활성 브랜치가 존재하고 포인팅 커서가 다음 트리 레벨의 들여쓰기를 넘어 오른쪽으로 이동하면, 활성 브랜치의 다음 하위 레벨이, 존재하는 경우, 자동으로 확장된다. 포인팅 커서가 확장되는 트리 레벨의 직접적인 상위 요소와 수직으로 정렬되면, 이 다음 하위 레벨은 당연히 이 직접적인 상위 요소의 하위 레벨이다. 그렇지 않으면, 이 다음 하위 레벨은 활성 브랜치의 최하위의 현재 확장된 트리 레벨의 최상위 트리 요소의 하위 레벨로 정의된다. 예를 들어, 포인팅 커서가 도 7의 트리 뷰에서 트리 들여쓰기의 하나의 레벨에 해당하는 거리만큼 오른쪽으로 이동한 경우, 그 결과 생성되는 트리 뷰는 도 8에 해당하는데, 이는 생성된 수평 포인팅 커서 위치가 트리 레벨 2에 해당하기 때문이다, 즉, 포인팅 커서가 트리 레벨 2과 3의 들여쓰기 사이에 위치하기 때문이다. 따라서, 포인팅 커서가 들여쓰기를 도중에 가로지르면, 활성 브랜치의 트리 레벨 2는 자동으로 확장된다. 포인팅 커서를 트리 들여쓰기의 4 개의 레벨의 거리만큼 오른쪽으로 더 이동시킴으로써, 해당 들여쓰기를 가로지르면 활성 브랜치의 점점 더 많은 하위 레벨이 확장되고, 따라서 도 9에 도시된 재구성된 트리 뷰를 생성하고, 그 결과 생성되는 수평 포인팅 커서 위치는 트리 레벨 6에 의도적으로 대응함으로써, 포인팅 커서를 활성 브랜치의 최하위 트리 레벨의 들여쓰기 오른쪽의 추가 들여쓰기로 이동시키는 것이 트리 뷰에 더 이상의 변경을 유발하지 않는 것을 나타내고 있다. 수평 포인팅 커서 위치에 따른 활성 브랜치의 하위 레벨의 자동 확장은 또한 시스템의 포인팅 커서가 왼쪽, 오른쪽 또는 위로부터 보기 창으로 이동하고 진입 위치가 트리 요소와 수직으로 정렬될 때 발생하는데, 이 트리 요소는 항상 최상위 트리 요소 중 하나인데 이들 최상위 트리 요소만이 포인팅 커서가 보기 창을 가리키지 않을 때만 디스플레이되기 때문이다. 포인팅 커서가 수직으로 정렬되는 최상위 트리 요소를 포함하는 브랜치가 활성 브랜치가 되고, 트리 뷰에 대한 포인팅 커서의 수평 위치에 따라 자동으로 확장되며, 활성 브랜치의 하위 레벨의 수에 의해 제한된다.
일반적으로, 사용자는 활성 브랜치의 하나 이상의 하위 레벨을 한번에 확장하지는 않지만, 최근에 확장된 하위 레벨의 트리 요소를 우선 탐색하여 관심 있는 요소가 존재하는지 여부 및 하위 레벨을 이 요소 아래로 확장하고자 하는지 여부를 확인한다. 예를 들어, 사용자가 도 8에 도시된 트리 뷰에서 Concept_3_3 아래의 하위 레벨을 확장하기로 결정한 경우, 사용자는 아마도 포인팅 커서를 Concept_3_3 아래로 이동시켜 Concept_3_3을 포함하는 브랜치를 활성 브랜치로 만들고(도 10 참조), 이후 포인팅 커서를 오른쪽으로 이동시켜 다음 하위 레벨을 확장할 것이다(도 11 참조). 사용자가 도 11에 도시된 트리 뷰에서 각각의 트리 레벨의 모든 세 번째 요소의 하위 레벨을 계속해서 확장하는 경우, 작은 보기 창의 하부 가장자리에 의해 잘리는 것을 제외하고 트리 뷰는 최종적으로 도 4와 일치한다.
활성 브랜치가 존재하고 포인팅 커서가 트리 레벨 1을 제외한 최하위의 현재 확장된 트리 레벨의 들여쓰기를 가로질러 왼쪽으로 이동하면, 이 트리 레벨은 자동으로 축소된다. 포인팅 커서가 트리 레벨의 직접적인 또는 간접적인 상위 요소와 수직으로 정렬되는 경우, 활성 브랜치는 변경되지 않는다. 예를 들어, 포인팅 커서가 도 9에 도시된 트리 뷰에서 트리 들여쓰기의 4 개의 레벨에 해당하는 거리만큼 왼쪽으로 이동한 경우, 그 결과 생성되는 트리 뷰는 도 5에 해당하는데, 이는 생성된 수평 포인팅 커서 위치가 트리 레벨 2에 해당하기 때문이다. 따라서, 포인팅 커서가 도중에 트리 레벨 5의 들여쓰기를 가로지르면, 활성 브랜치의 트리 레벨 5는 자동으로 축소되고, 이후 해당 들여쓰기를 가로지르는 경우, 활성 브랜치의 트리 레벨 4 및 3은 자동으로 축소된다. 포인팅 커서를 트리 들여쓰기의 하나의 레벨만큼 왼쪽으로 더 이동시키면, 활성 브랜치의 트리 레벨 2가 또한 축소되어 도 7에 도시된 트리 뷰를 생성한다. 마찬가지로, 트리 레벨 3의 들여쓰기를 포인팅 커서가 가로지르면, 포인팅 커서를 도 11에 도시된 트리 뷰의 왼쪽으로 이동시키면 도 10에 도시된 트리 뷰로 이어진다.
포인팅 커서가, 포인팅 커서를 왼쪽으로 이동시킴으로써 축소되는 트리 레벨의 직접적인 또는 간접적인 상위-요소와 수직으로 정렬되지 않는 경우, 단순히 이 트리 레벨을 축소하는 것은, 이 트리 레벨의 요소가 이전에 점유한 공간 및 이들 요소에 대한 포인팅 커서의 수직 위치에 따라, 임의의 트리 요소가 어떤 것이라도 포인팅 커서와 수직으로 정렬되게 할 수 있다. 따라서, 사용자에 의해 제어가 없어도, 이러한 임의의 트리 요소를 포함하거나 더 이상의 활성 브랜치가 없는 새로운 활성 브랜치가 존재하게 될 것이다. 따라서, 도시된 실시형태에서, 업데이트된 트리 뷰는 자동으로 수직 이동함으로써, 축소된 트리 레벨의 직접적인 상위 요소가 포인팅 커서와 수직으로 정렬되고, 이 경우, 트리 뷰의 업데이트 이전에 포인팅 커서가 수직으로 정렬되었던 트리 요소와 동일한, 포인트 커서에 대한 상위 요소의 수직 변위와 함께 정렬되는데, 이 위치는 업데이트된 트리 뷰 내의 새로운 논리적 포인팅 커서 위치이기 때문이다. 이는 또한 이 상위-요소를 포함하는 브랜치를 활성 브랜치로 만들고, 이는 트리를 통한 원활한 추가 탐색을 가능하게 한다. 또 다른 접근법은 포인팅 커서를 대신에 상위-요소의 위치로 이동시키는 것인데, 이는 사용자에게 혼란스러운 것으로 간주된다. 또한, 이 상위 요소는 현재 보이지 않을 수 있으므로, 업데이트된 트리 뷰를 어떻게든 이동시킬 필요가 있다.
업데이트된 트리 뷰의 자동 수직 이동은 트리의 최상위 요소가 보기 창의 상부 가장자리로부터 약간의 거리를 두고 디스플레이되게 할 수 있다. 이러한 변위는 사용자가 확장하고 관심 있는 다음 하위 레벨을 스크롤하면 신속하게 해결된다. 편의상, 또 다른 실시형태에서, 메커니즘은 포인팅 커서가 트리 뷰에 대한 동일한 위치에 유지되도록 포인팅 커서를 이동시키는 것을 포함하여, 트리 뷰의 최상위 요소를 보기 창의 상부 가장자리로 다시 이동시키는 보정 기능을 포함한다. 이러한 보정 기능은 사용자의 요청에 따라, 예를 들어, 키보드 또는 마우스 제어, 또는 멀티 터치 제스처에 의해, 또는 사용자가 선호하는 바와 같이 구성된 경우 이러한 변위가 발생하면 자동으로 촉발된다.
포인팅 커서를 왼쪽으로 이동시킴으로써 유발되는, 업데이트된 트리 레벨의 수직 이동에 의한 트리 레벨의 자동 축소의 일례가 도 12 내지 도 14에 도시되어 있다. 도 12는 포인팅 커서 이동 이전의 도면이다. 이제 포인팅 커서는 트리 들여쓰기의 하나의 레벨에 해당하는 거리만큼 왼쪽으로 이동하여 도 13에 도시된 트리 뷰를 생성하는데, 이는 포인팅 커서가 도중에 트리 레벨 3의 들여쓰기를 가로지르면, 트리 뷰의 업데이트 이전에 Concept_3_3_3이 디스플레이되었던 수직 위치에 Concept_3_3_3의 직접적인 상위 요소인 Concept_3_3이 디스플레이되도록, 트리 레벨 3이 자동으로 축소되고 업데이트된 트리 뷰가 자동으로 아래로 이동하기 때문이다. 트리 들여쓰기의 하나의 레벨만큼 포인팅 커서를 왼쪽으로 더 이동시키면 도 14에 도시된 트리 뷰로 이어지며, 도 14의 Concept_3은 도 13의 Concept_3_3과 동일한 수직 위치에 디스플레이된다.
변경되지 않은 포인팅 커서 위치에 대한 트리 뷰의 수평 변위가 이전과 다른 트리 레벨에 대응하는 수평 포인팅 커서 위치를 유발하는 경우, 보기 창의 수평 스크롤에 의해 트리 레벨의 자동 확장 또는 축소가 또한 촉발될 수 있으며, 자동 확장은 활성 브랜치의 하위 레벨 수에 의해 제한된다. 원칙적으로, 보기 창을 오른쪽으로 스크롤하는 것은, 이 요소가 보기 창에서 실제로 보여지는지 여부에 관계 없이, 보기 창의 오른쪽 가장자리와 오른쪽으로 정렬되는 가장 오른쪽에 도달하는 트리 뷰의 요소에 의해 제한된다. 그러나, 활성 브랜치의 다음 하위 레벨이 존재하는 경우 확장될 수 있도록, 활성 브랜치의 최하위의 현재 확장된 트리 레벨의 들여쓰기의 오른쪽의 다음 트리 레벨의 들여쓰기가 포인팅 커서에 의해, 수평 스크롤 및 수평 포인팅 커서 이동의 임의의 조합에 의해 액세스 가능해야 하기 때문에, 이 들여쓰기가 포인팅 커서에 의해 확실하게 액세스될 수 있도록 보기 창은 오른쪽으로 스크롤된다. 이는 이 요소가 실제로 보여지고 이 들여쓰기에 분명하게 연장될 만큼 충분히 길지 않은 경우, 트리 뷰의 요소는 보기 창의 오른쪽 가장자리로부터 약간의 거리를 두고 도시된 가장 오른쪽에 도달할 수 있게 한다. 반면에, 트리의 최상위 요소 왼쪽에 액세스할 트리 레벨의 들여쓰기가 존재하지 않기 때문에, 보기 창을 왼쪽으로 스크롤하는 것은, 최상위 요소에 적용되는 경우 연관된 하위 요소 표시기를 포함하여, 보기 창의 왼쪽 가장자리에 표시된 이들 최상위 요소에 의해 제한될 수 있다.
보기 창을 오른쪽으로 스크롤함으로써 유발되는, 활성 브랜치의 하위 레벨의 자동 확장의 일례가 도 15 내지 도 17에 도시되어 있다. 도 15는 스크롤 이전의 도면을 도시하고 있다. 포인팅 커서가 보기 창의 오른쪽 가장자리에 거의 도달했기 때문에, 포인팅 커서를 오른쪽으로 이동시켜 활성 브랜치의 추가의 하위 레벨을 확장할 수는 없지만, 그 대신 보기 창을 오른쪽으로 스크롤하여 확장해야 한다. 또한, 활성 브랜치의 트리 레벨 3의 요소는 보기 창의 오른쪽 가장자리에 의해 잘리기 때문에, 사용자는 이들 요소의 텍스트를 더 읽을 수 있도록 보기를 오른쪽으로 스크롤할 수도 있다. 이제 보기 창은 트리 들여쓰기의 하나의 레벨에 해당하는 거리만큼 오른쪽으로 스크롤되어, 변경되지 않은 포인팅 커서 위치는 트리 레벨 4에 수평으로 일치하게 되고, 따라서 활성 브랜치의 트리 레벨 4는 자동으로 확장된다(도 16 참조). 활성 브랜치의 다음 하위 레벨을 확장하거나 활성 브랜치의 트리 레벨 3의 여전히 잘려있는 요소를 읽을 수 있게 하려면, 이제 보기 창은 트리 들여쓰기의 하나의 레벨만큼 다시 오른쪽으로 스크롤되어, 변경되지 않은 포인팅 커서 위치는 트리 레벨 5에 수평으로 일치하게 되고, 따라서 활성 브랜치의 트리 레벨 5는 자동으로 확장된다(도 17 참조). 사용자는 이제 보기 창을 오른쪽으로 더 스크롤하여 활성 브랜치의 하위 레벨을 확장하려고 시도할 수 있지만, 이러한 하위 레벨이 존재하지 않으므로, 이는 활성 브랜치의 트리 레벨 5의 모든 요소가 보기 창의 오른쪽 가장자리에 의해 더 이상 잘리지 않을 때까지, 변경되지 않은 트리 뷰가 보기 창 내에서 왼쪽으로 이동하게 되며, 이들 모든 요소가 트리 레벨 6의 들여쓰기로 분명하게 연장될 만큼 충분히 길다는 것을 감안하면, 보기 창의 오른쪽 가장자리에 대한 이들 요소의 추가의 변위는 불필요해지기 때문이다. 대신에, 활성 브랜치의 트리 레벨 3의 요소의 텍스트를 읽을 수 있도록 스크롤이 수행된 경우, 사용자는 아마도 이의 수평 위치가 트리 레벨 3과 일치할 때까지 포인팅 커서를 왼쪽 다음으로 이동시켜, 활성 브랜치의 트리 레벨 4 및 5를 다시 축소할 것이다. 포인팅 커서가, 보기 창을 왼쪽으로 스크롤하여 축소되는 트리 레벨의 직접적인 또는 간접적인 상위 요소와 수직으로 정렬되는 경우, 활성 브랜치는 변경되지 않는다. 예를 들어, 도 17에 도시된 보기 창이 트리 들여쓰기의 하나의 레벨에 해당하는 거리만큼 왼쪽으로 스크롤되면, 그 결과 생성되는 트리 뷰는 도 16에 해당하는데, 이는 변경되지 않은 포인팅 커서 위치가 트리 레벨 4에 수평으로 일치하게 되고, 따라서 활성 브랜치의 트리 레벨 5는 자동으로 간단하게 축소되기 때문이다. 트리 들여쓰기의 하나의 레벨만큼 스크롤을 왼쪽으로 더 스크롤하는 동작에 의해, 활성 브랜치의 트리 레벨 4도 자동으로 축소되어, 도 15에 도시된 트리 뷰를 생성한다. 포인팅 커서가, 보기 창을 왼쪽으로 스크롤함으로써 축소되는 트리 레벨의 직접적인 또는 간접적인 상위-요소와 수직으로 정렬되어 있지 않은 경우, 유사한 상황에서 동일한 이유로 포인팅 커서를 왼쪽으로 이동시키는 것과 유사하게, 축소된 트리 레벨의 직접적인 상위 요소가 변경되지 않은 포인팅 커서 위치와 수직으로 정렬되도록, 업데이트된 트리 뷰가 또한 수직으로 이동한다. 이는 다시 보기 창의 상부 가장자리에 대한 트리 뷰의 최상위 요소의 변위로 이어질 수 있고, 이는 상기한 바와 같이 해결될 수 있다.
보기 창을 왼쪽으로 스크롤함으로써 유발되는, 업데이트된 트리 뷰의 수직 이동에 의한 트리 레벨의 자동 축소의 일례가 도 18 내지 도 20에 도시되어 있다. 도 18은 스크롤 이전의 도면을 도시하고 있다. 이후, 보기 창은 트리 들여쓰기의 하나의 레벨에 해당하는 거리만큼 왼쪽으로 스크롤되어, 변경되지 않은 포인팅 커서 위치가 트리 레벨 4에 수평으로 일치하게 되고, 따라서 트리 뷰의 업데이트 이전에 Concept_2_2_2_2_2 이 디스플레이되었던 수직 위치에 Concept_2_2_2_2_2의 직접적인 상위 요소인 Concept_2_2_2_2가 디스플레이되도록 트리 레벨 5가 자동으로 축소되고 업데이트된 트리 뷰가 자동으로 아래로 이동한다(도 19 참조). 트리 들여쓰기의 하나의 레벨만큼 왼쪽으로의 또 다른 스크롤 동작은 도 20에 도시된 트리 뷰로 이어지며, 도 20의 Concept_2_2_2는 도 19의 Concept_2_2_2_2 와 동일한 수직 위치에 디스플레이된다.
트리 뷰에 대한 포인팅 커서의 결과적인 수직 변위가 비활성 브랜치를 활성 브랜치가 되게 하는 경우 또는 그 반대의 경우, 보기 창 내에서의 포인팅 커서의 수직 이동 또는 보기 창의 수직 스크롤에 의해 트리 레벨의 자동 확장 또는 축소가 촉발될 수 있다. 이는 현재의 활성 브랜치가 존재하는 경우 이의 자동 축소 및 새로운 활성 브랜치가 존재하는 경우 이의 자동 확장을 포함하고, 후자는 트리 뷰에 대한 포인팅 커서의 수평 위치에 의존하고, 활성 브랜치의 하위 레벨의 수에 의해 제한된다. 이러한 동작 전후에 디스플레이되는 트리 뷰는 공통적으로 다소간의 트리 요소를 가질 수 있으므로, 트리 뷰의 결과적인 업데이트는 변경이 전혀 보이지 않을 때까지 실제로 보일 수 있다. 또한, 제안된 메커니즘은, 실제 포인팅 커서 위치가 업데이트된 트리 뷰에 대한 새로운 논리적 포인팅 커서 위치를 반영하도록, 업데이트된 트리 뷰를 자동으로 수직 이동시킬 수 있다. 이는 다시 보기 창의 상부 가장자리에 대한 트리 뷰의 최상위 요소의 변위로 이어질 수 있고, 이는 상기한 바와 같이 해결될 수 있다.
표준 트리 뷰의 수직 스크롤은 통상적으로 보기 창의 상부 가장자리에 표시되는 트리 뷰의 최상위 요소 및 보기 창의 하부 가장자리에 표시되는 트리 뷰의 최하위 요소에 의해 제한된다. 그러나 이러한 방식은 제안된 메커니즘을 사용하는 트리 뷰에는 적합하지 않다. 첫째, 트리 뷰에 대한 포인팅 커서의 변위에 대한 트리 뷰의 자동 재구성은 어쨌든 종종 각각 보기 창의 상부 또는 하부 가장자리에 대한 트리 뷰의 최상위 또는 최하위 요소의 수직 변위를 야기할 것이고, 따라서 보기 창만 수직으로 스크롤할 때 이러한 동작을 피하는 용도는 거의 없다. 둘째, 보기 창의 수직 스크롤은 그 자체가 종종 뷰의 재구성을 야기할 것이고, 따라서 스크롤 이전에 디스플레이되는 트리 뷰에 이러한 따라 스크롤을 제한하는 것은 관심 있는 트리 요소에 도달하는데 필요한 스크롤 동작 및 포인팅 커서 이동을 번갈아 발생하게 할 수 있는데, 이는 추가의 포인팅 커서 이동이 다시 잠금 해제될 때까지 추가의 스크롤이 방지될 수 있기 때문이다. 또한, 그 대신, 제안된 메커니즘을 사용하는 응용이 업데이트된 트리 뷰가 그러한 표준 스크롤 제한에 따라 디스플레이될 수 있는지를 점검하는 경우, 그리고 의도된 스크롤 거리가 이러한 제한을 위반하는 경우, 스크롤 거리는 감소되어야 하며 점검은 다시, 아마도 여러 번 수행되어야 할 것이다. 따라서, 도시된 실시형태에서, 제안된 해결책에 따른 수직 스크롤은, 보기 창을 각각 위 또는 아래로 스크롤하기 위해, 보기 창 내에서 포인팅 커서와 수직으로 정렬되는 트리 뷰의 최상위 또는 최하위 요소에 의해 제한된다. 이를 통해 사용자는 변경되지 않은 포인팅 커서 위치 아래에서 전체 트리 뷰를 위 또는 아래로 스크롤할 수 있다. 또한, 사용자는 보기 창 내의 대응하는 수직 포인팅 커서 위치를 선택함으로써 포인팅 커서의 위 또는 아래에 디스플레이될 수 있는 트리 뷰의 수를 쉽게 선택할 수 있다. 새로운 논리적 포인팅 커서 위치라고 하는, 보기 창 내에서의 포인팅 커서의 수직 이동 또는 보기 창의 수직 스크롤에 의해 유발되는 트리 뷰에 대한 포인팅 커서의 수직 변위에 의한 트리 뷰에 대한 새로운 논리적 포인팅 커서 위치는 맞춤형 트리 뷰라고 하는 개념적 트리 뷰에 의해 정의된다. 맞춤형 트리 뷰는 수직 포인팅 커서의 위치와 관계없이 포인팅 커서의 수평 위치에 해당하는 트리 레벨까지 확장된 모든 요소 및 브랜치를 갖는 실제 트리 뷰로서 정의되며, 실제 및 맞춤형 트리 뷰에 대한 수평 포인팅 커서 위치는 동일하다. 실제 및 맞춤형 트리 뷰에 대한 수직 포인팅 커서 위치는 다음과 같이 정의된다: 포인팅 커서가 실제 트리 뷰의 최상위 요소 위에 위치하면, 이는 개념적으로 또한 이들 요소로부터의 동일한 수직 거리를 두고 맞춤형 트리 뷰의 최상위 요소 위에 배치된다. 포인팅 커서가 실제 트리 뷰의 요소와 수직으로 정렬되면, 이는 개념적으로 또한 이들 요소에 대한 동일한 수직 변위를 두고 맞춤형 트리 뷰의 동일한 요소와 수직으로 정렬된다. 포인팅 커서가 실제 트리 뷰의 최하위 요소 아래에 위치하면, 이는 개념적으로 또한 이들 요소로부터의 동일한 거리를 두고 맞춤형 트리 뷰의 최하위 요소 아래에 배치된다. 새로운 논리적 포인팅 커서 위치는, 실제 트리 뷰에 대한 포인팅 커서의 수직 변위가 동일한 방향과 거리를 두고 그대신 맞춤형 트리 뷰에 적용된 경우, 맞춤형 트리 뷰에 대해 포인팅 커서가 갖는 위치로 정의된다.
포인팅 커서가 보기 창 내에 그리고 트리 뷰의 최상위 요소 위에 위치하면, 활성 브랜치가 없으므로 트리의 최상위 요소만 디스플레이된다(도 21 참조). 도 21에 도시된 위치로부터, 포인팅 커서가 트리 뷰의 최상위 요소 위에 머물러있는 한, 포인팅 커서는 트리 뷰를 변경하지 않고서 보기 창 내에서 위아래로 이동할 수 있다. 포인팅 커서가 공백 영역과 트리 뷰의 최상위 요소 사이의 수직 경계를 가로질러 아래로 이동하면, 이는 또한 공백 영역과 맞춤형 트리 뷰의 최상위 요소 사이의 수직 경계를 가로지를 것이다. 따라서, 새로운 논리적 포인팅 커서 위치는 맞춤형 트리 뷰의 최상위 요소와 수직으로 정렬되며, 이 최상위 요소를 포함하는 브랜치가 새로운 활성 브랜치가 되고 자동으로 확장된다. 트리 뷰의 최상위 요소는 항상 맞춤형 트리 뷰의 최상위 요소와 동일한 트리 요소이기 때문에, 새로운 논리적 포인팅 커서 위치는 실제 포인팅 커서 위치와 일치하며, 업데이트된 트리 뷰의 수직 이동은 필요하지 않다. 예를 들어, 도 21에 도시된 보기 창에서, 포인팅 커서가 도 22에 도시된 위치로 하강하는 경우, 그 결과 생성되는 트리 뷰는 도 22에 해당하는데, 이는 포인팅 커서가 공백 영역과 Concept_1 사이의 수직 경계를 도중에 가로지르면, 새로운 논리적 포인팅 커서 위치는 Concept_1과 수직으로 정렬되며, Concept_1을 포함하는 브랜치가 활성 브랜치가 되고 수평 포인팅 커서 위치로 인해 트리 레벨 2까지 확장되기 때문이다. 포인팅 커서가 트리 뷰의 최상위 요소와 그 위의 공백 영역 사이의 수직 경계를 가로질러 보기 창 내에서 위로 이동하면, 이는 또한 맞춤형 트리 뷰의 최상위 요소와 그 위의 공백 영역 사이의 수직 경계를 가로지를 것이다. 따라서, 새로운 논리적 포인팅 커서 위치는 트리 뷰의 최상위 요소 바로 위에 있으며, 이 최상위 요소를 포함하는 브랜치는 더 이상 활성 브랜치가 아니고 자동으로 축소된다. 트리 뷰의 최상위 요소와 맞춤형 트리 뷰의 최상위 요소의 동일함 때문에, 새로운 논리적 포인팅 커서 위치는 실제 포인팅 커서 위치와 일치하며, 업데이트된 트리 뷰의 수직 이동은 필요하지 않다. 예를 들어, 도 22에 도시된 보기 창에서, 포인팅 커서가 도 21에 도시된 위치로 상승하는 경우, 그 결과 생성되는 트리 뷰는 도 21에 해당하는데, 이는 포인팅 커서가 Concept_1과 그 위의 공백 영역 사이의 수직 경계를 도중에 가로지르면, 새로운 논리적 포인팅 커서 위치는 임의의 트리 요소와 수직으로 정렬되지 않고, Concept_1을 포함하는 브랜치는 더 이상 활성 브랜치가 아니고 자동으로 축소되기 때문이다.
포인팅 커서가 보기 창 내에 그리고 트리 뷰의 최하위 요소 아래에 위치하면, 활성 브랜치가 없으므로 트리의 최상위 요소만 디스플레이된다(도 23 참조). 도 23에 도시된 위치로부터, 포인팅 커서가 트리 뷰의 최하위 요소 아래에 머물러있는 한, 포인팅 커서는 트리 뷰를 변경하지 않고서 보기 창 내에서 위아래로 이동할 수 있다. 포인팅 커서가 공백 영역과 트리 뷰의 최하위 요소 사이의 수직 경계를 가로질러 위로 이동하면, 이는 또한 공백 영역과 맞춤형 트리 뷰의 최하위 요소 사이의 수직 경계를 가로지를 것이다. 따라서, 새로운 논리적 포인팅 커서 위치는 맞춤형 트리 뷰의 최하위 요소와 수직으로 정렬되며, 이 최하위 요소를 포함하는 브랜치가 활성 브랜치가 되고 자동으로 확장된다. 트리 뷰의 최하위 요소는 맞춤형 트리 뷰의 최하위 요소와 동일한 트리 요소가 아닐 수 있기 때문에, 새로운 논리적 포인팅 커서 위치는 실제 포인팅 커서 위치와 일치하지 않을 수 있다. 이 경우, 새로운 논리적 포인팅 커서 위치와 실제 포인팅 커서 위치가 같아지도록, 업데이트된 트리 뷰도 자동으로 수직 이동하고, 따라서 트리 뷰의 업데이트 이전에 트리 뷰의 최하위 요소가 디스플레이되었던 수직 위치에, 업데이트된 트리 뷰의 최하위 요소가 수직으로 디스플레이된다. 예를 들어, 도 23에 도시된 보기 창에서, 포인팅 커서가 도 24에 도시된 위치로 상승하는 경우, 그 결과 생성되는 트리 뷰는 도 24에 해당하는데, 이는 포인팅 커서가 공백 영역과 Concept_9 사이의 수직 경계를 도중에 가로지르면, 새로운 논리적 포인팅 커서 위치는 Concept_9_9와 수직으로 정렬되고, Concept_9_9를 포함하는 브랜치가 활성 브랜치가 되고 수평 포인팅 커서 위치로 인해 트리 레벨 2까지 확장되며, 트리 뷰의 업데이트 이전에 Concept_9가 디스플레이되었던 수직 위치에 Concept_9_9가 디스플레이되도록, 업데이트된 트리 뷰가 상승하기 때문이다. 포인팅 커서가 트리 뷰의 최하위 요소와 그 아래의 공백 영역 사이의 수직 경계를 가로질러 보기 창 내에서 아래로 이동하면, 이는 또한 맞춤형 트리 뷰의 최하위 요소와 그 아래의 공백 영역 사이의 수직 경계를 가로지를 것이다. 따라서, 새로운 논리적 포인팅 커서 위치는 트리 뷰의 최하위 요소 바로 아래에 있으며, 이 최하위 요소를 포함하는 브랜치는 더 이상 활성 브랜치가 아니고 자동으로 축소된다. 트리 뷰의 최하위 요소는 업데이트된 트리 뷰의 최하위 요소와 동일한 트리 요소가 아닐 수 있기 때문에, 새로운 논리적 포인팅 커서 위치는 실제 포인팅 커서 위치와 일치하지 않을 수 있다. 이 경우, 새로운 논리적 포인팅 커서 위치와 실제 포인팅 커서 위치가 같아지도록, 업데이트된 트리 뷰도 자동으로 수직 이동하고, 따라서 트리 뷰의 업데이트 이전에 트리 뷰의 최하위 요소가 디스플레이되었던 수직 위치에, 업데이트된 트리 뷰의 최하위 요소가 수직으로 디스플레이된다. 예를 들어, 도 24에 도시된 보기 창에서, 포인팅 커서가 도 23에 도시된 위치로 하강하는 경우, 그 결과 생성되는 트리 뷰는 도 23에 해당하는데, 이는 포인팅 커서가 Concept_9_9와 그 아래의 공백 영역 사이의 수직 경계를 도중에 가로지르면, 새로운 논리적 포인팅 커서 위치는 임의의 트리 요소와 수직으로 정렬되지 않고, Concept_9_9를 포함하는 브랜치는 더 이상 활성 브랜치가 아니고 자동으로 축소되며, 트리 뷰의 업데이트 이전에 Concept_9_9가 디스플레이되었던 수직 위치에 Concept_9가 디스플레이되도록, 업데이트된 트리 뷰가 아래로 이동하기 때문이다.
트리 뷰의 두 개의 수직으로 인접한 요소 사이의 수직 경계를 가로지르는 커서의 이동은 활성 브랜치의 변경을 유발하는데, 현재의 활성 브랜치는 자동으로 축소되고 새로운 활성 브랜치는 자동으로 확장된다. 새로운 논리적 포인팅 커서 위치는 이동 방향에 따라 포인팅 커서가 이전에 수직으로 정렬되는 트리 요소 바로 위 또는 아래의 맞춤형 트리 뷰의 요소와 수직으로 정렬된다. 트리 뷰의 업데이트가 실제 포인팅 커서 위치와 일치하지 않는 새로운 논리적 포인팅 커서 위치를 유발하는 경우, 새로운 논리적 포인팅 커서 위치와 실제 포인팅 커서 위치가 같아지도록, 업데이트된 트리 뷰가 또한 자동으로 수직 이동하고, 트리 뷰의 업데이트 이전에 포인팅 커서가 이동한 트리 뷰의 요소가 디스플레이되었던 수직 위치에, 포인팅 커서와 수직으로 정렬되는 업데이트된 트리 뷰의 요소가 디스플레이된다. 예를 들어, 도 25에 도시된 보기 창에서, 포인팅 커서가 도 26에 도시된 위치로 하강하는 경우, 그 결과 생성되는 트리 뷰는 도 26에 해당하는데, 이는 포인팅 커서가 Concept_1_9와 Concept_2 사이의 수직 경계를 도중에 가로지르면, 새로운 논리적 포인팅 커서 위치는 Concept_2와 수직으로 정렬되고, Concept_1_9를 포함하는 브랜치는 더 이상 활성 브랜치가 아니고 자동으로 축소되고, Concept_2를 포함하는 브랜치가 새로운 활성 브랜치가 되고 수평 포인팅 커서 위치로 인해 트리 레벨 2까지 확장되며, 트리 뷰의 업데이트 이전에 디스플레이되었던 동일한 수직 위치에 Concept_2가 디스플레이되도록, 업데이트된 트리 뷰가 아래로 이동하기 때문이다. 도 26에 도시된 보기 창에서, 포인팅 커서가 도 25에 도시된 위치로 상승하는 경우, 그 결과 생성되는 트리 뷰는 도 25에 해당하는데, 이는 포인팅 커서가 Concept_2와 Concept_1 사이의 수직 경계를 도중에 가로지르면, 새로운 논리적 포인팅 커서 위치는 Concept_1_9와 수직으로 정렬되고, Concept_2를 포함하는 브랜치는 더 이상 활성 브랜치가 아니고 자동으로 축소되고, Concept_1_9를 포함하는 브랜치가 새로운 활성 브랜치가 되고 수평 포인팅 커서 위치로 인해 트리 레벨 2까지 확장되며, 트리 뷰의 업데이트 이전에 Concept_1이 디스플레이되었던 수직 위치에 Concept_1_9가 디스플레이되도록, 업데이트된 트리 뷰가 위로 이동하기 때문이다.
일관성을 위해, 포인팅 커서가 공백 영역 또는 현재의 활성 브랜치로부터 새로운 활성 브랜치로 이동한 것처럼 활성 브랜치의 하위 레벨의 자동 확장은 또한 시스템의 포인팅 커서가 아래로부터 보기 창으로 이동하고 진입 위치가 트리 요소와 수직으로 정렬될 때 발생하는데, 이 트리 요소는 항상 최상위 트리 요소 중 하나인데 이들 최상위 트리 요소만이 포인팅 커서가 보기 창을 가리키지 않을 때만 디스플레이되기 때문이다. 새로운 논리적 포인팅 커서 위치가 수직으로 정렬되는 트리 요소를 포함하는 브랜치가 활성 브랜치가 되고, 트리 뷰에 대한 포인팅 커서의 수평 위치에 따라 자동으로 확장되고, 하위-레벨의 수에 의해 제한되며, 새로운 논리적 포인팅 커서 위치가 실제 포인팅 커서 위치와 일치하도록 업데이트된 트리 뷰가 자동으로 수직 이동한다.
보기 창의 수직 스크롤은 두 가지 주목할만한 차이점을 갖고 보기 창 내의 포인팅 커서의 수직 이동과 유사하게 처리된다: 첫째, 수직 포인팅 커서 이동은 항상 연속적이지만, 수직 스크롤은 연속적이지 않을 수 있으며, 결과적으로 새로운 논리적 커서 위치는 최상위, 최하위 또는 수직으로 인접한 요소 대신에 맞춤형 트리 뷰의 임의의 요소와 수직으로 정렬된다. 둘째, 보기 창 내의 포인팅 커서를 트리 뷰의 위 또는 아래로 이동시키는 것은 제한되지 않지만, 보기 창의 수직 스크롤은 상기한 바와 같이 제한될 수 있다. 도시된 실시형태에서, 수직 스크롤 제한이 적용된다. 또한, 다음의 예는 트리 요소 높이의 배수에 해당하는 거리만큼의 수직 스크롤만 설명한다. 포인팅 커서가 트리 뷰의 재구성 전후에 트리 요소와 수직으로 정렬되어 있는 경우, 그 밖의 스크롤 거리는, 재구성된 트리 뷰 내에서 포인팅 커서가 수직으로 정렬되는 트리 요소 및 트리 뷰의 재구성 이전에 포인팅 커서가 수직으로 정렬되었던 트리 요소의 포인팅 커서에 대해 다양한 수직 변위를 추가로 유발할 것이다.
포인팅 커서가 보기 창 내에 그리고 트리 뷰의 최상위 요소 위에 위치하면, 보기 창은 아래로만 스크롤될 수 있고, 그 결과 새로운 논리적 포인팅 커서 위치가 맞춤형 트리 뷰의 임의의 요소와 아직 수직으로 정렬되지 않는 한, 변경되지 않은 트리 뷰는 보기 창 내에서 단순히 위로 이동한다. 새로운 논리적 포인팅 커서 위치가 맞춤형 트리 뷰의 요소와 처음으로 수직으로 정렬되면, 이 요소를 포함하는 브랜치가 활성 브랜치가 되고 자동으로 확장된다. 트리 뷰의 업데이트가 실제 포인팅 커서 위치와 일치하지 않는 새로운 논리적 포인팅 커서 위치를 유발하는 경우, 새로운 논리적 포인팅 커서 위치와 실제 포인팅 커서 위치가 같아지도록, 업데이트된 트리 뷰가 또한 자동으로 수직 이동한다. 예를 들어, 도 27에 도시된 보기 창이 4 개의 트리 요소의 높이에 해당하는 거리만큼 아래로 스크롤되는 경우, 그 결과 생성되는 트리 뷰는 도 28에 해당하는데, 이는 새로운 논리적 포인팅 커서 위치가 Concept_1_1_1과 수직으로 정렬되며, Concept_1_1_1을 포함하는 브랜치가 활성 브랜치가 되고 수평 포인팅 커서 위치로 인해 트리 레벨 3까지 확장되기 때문이다. 새로운 논리적 포인팅 커서 위치가 실제 포인팅 커서 위치와 이미 일치하므로, 업데이트된 트리 뷰의 수직 이동은 필요하지 않다.
포인팅 커서가 보기 창 내에 그리고 트리 뷰의 최하위 요소 아래에 위치하면, 보기 창은 위로만 스크롤될 수 있고, 그 결과 새로운 논리적 포인팅 커서 위치가 맞춤형 트리 뷰의 임의의 요소와 아직 수직으로 정렬되지 않는 한, 변경되지 않은 트리 뷰는 보기 창 내에서 단순히 아래로 이동한다. 새로운 논리적 포인팅 커서 위치가 맞춤형 트리 뷰의 요소와 처음으로 수직으로 정렬되면, 이 요소를 포함하는 브랜치가 활성 브랜치가 되고 자동으로 확장된다. 트리 뷰의 업데이트가 실제 포인팅 커서 위치와 일치하지 않는 새로운 논리적 포인팅 커서 위치를 유발하는 경우, 새로운 논리적 포인팅 커서 위치와 실제 포인팅 커서 위치가 같아지도록, 업데이트된 트리 뷰가 또한 자동으로 수직 이동한다. 예를 들어, 도 29에 도시된 보기 창이 4 개의 트리 요소의 높이에 해당하는 거리만큼 위로 스크롤되는 경우, 그 결과 생성되는 트리 뷰는 도 30에 해당하는데, 이는 새로운 논리적 포인팅 커서 위치가 Concept_9_9_7과 수직으로 정렬되고, Concept_9_9_7을 포함하는 브랜치가 활성 브랜치가 되고 수평 포인팅 커서 위치로 인해 트리 레벨 3까지 확장되며, 새로운 논리적 포인팅 커서 위치와 실제 포인팅 커서 위치가 같아지도록, 업데이트된 트리 뷰가 위로 이동하기 때문이다.
활성 브랜치가 존재하고 또한 보기 창의 수직 스크롤이, 포인팅 커서가 이전에 정렬되었던 트리 요소와는 다른, 맞춤형 트리 뷰의 요소와 수직으로 정렬되는 새로운 논리적 포인팅 커서 위치를 유발하는 경우, 활성 브랜치는 변경된다. 따라서, 현재의 활성 브랜치가 자동으로 축소되고, 새로운 활성 브랜치가 자동으로 확장된다. 트리 뷰의 업데이트가 실제 포인팅 커서 위치와 일치하지 않는 새로운 논리적 포인팅 커서 위치를 유발하는 경우, 새로운 논리적 포인팅 커서 위치와 실제 포인팅 커서 위치가 같아지도록, 업데이트된 트리 뷰가 또한 자동으로 수직 이동한다. 예를 들어, 도 31에 도시된 보기 창이 4 개의 트리 요소의 높이에 해당하는 거리만큼 아래로 스크롤되는 경우, 그 결과 생성되는 트리 뷰는 도 32에 해당하는데, 이는 새로운 논리적 포인팅 커서 위치가 Concept_8_9_2와 수직으로 정렬되고, Concept_8_8_8을 포함하는 브랜치는 더 이상 활성 브랜치가 아니고 자동으로 축소되고, Concept_8_9_2를 포함하는 브랜치가 새로운 활성 브랜치가 되고 수평 포인팅 커서 위치로 인해 트리 레벨 3까지 확장되며, 트리 뷰의 업데이트 이전에 Concept_8_8_8이 디스플레이되었던 수직 위치에 Concept_8_9_2가 디스플레이되도록, 업데이트된 트리 뷰가 아래로 이동하기 때문이다.
도 32에 도시된 보기 창이 4 개의 트리 요소의 높이에 해당하는 거리만큼 위로 스크롤되는 경우, 그 결과 생성되는 트리 뷰는 도 31에 해당하는데, 이는 새로운 논리적 포인팅 커서 위치가 Concept_8_8_8과 수직으로 정렬되고, Concept_8_9_2를 포함하는 브랜치는 더 이상 활성 브랜치가 아니고 자동으로 축소되고, Concept_8_8_8를 포함하는 브랜치가 새로운 활성 브랜치가 되고 수평 포인팅 커서 위치로 인해 트리 레벨 3까지 확장되며, 트리 뷰의 업데이트 이전에 Concept_8_9_2가 이 디스플레이되었던 수직 위치에 Concept_8_8_8가 디스플레이되도록, 업데이트된 트리 뷰가 위로 이동하기 때문이다.
보기 창을 위 또는 아래로 스크롤하는 것이 각각 트리 뷰의 최상위 요소 위 또는 최하위 요소 아래에서 새로운 논리적 포인팅 커서 위치를 유발하는 경우, 스크롤 제한의 효과가 나타나고, 따라서 새로운 논리적 포인팅 커서 위치가 각각 맞춤형 트리 뷰의 최상위 또는 최하위 요소와 수직으로 정렬되도록 스크롤 거리를 줄인다. 따라서, 현재의 활성 브랜치는 존재하는 경우 자동으로 축소되고, 맞춤형 트리 뷰의 최상위 또는 최하위 요소를 각각 포함하는 브랜치가 새로운 활성 브랜치가 되고 자동으로 확장된다. 트리 뷰의 업데이트가 실제 포인팅 커서 위치와 일치하지 않는 새로운 논리적 포인팅 커서 위치를 유발하는 경우, 새로운 논리적 포인팅 커서 위치와 실제 포인팅 커서 위치가 같아지도록, 업데이트된 트리 뷰가 또한 자동으로 수직 이동한다. 이는 새로운 논리적 포인팅 커서 위치가 각각 맞춤형 트리 뷰의 최상위 또는 최하위 요소와 수직으로 정렬되는 것을 직접적으로 유발하는 보기 창의 수직 스크롤에 의해 발생하는 동작과 동일한 동작이다.
본 기술 분야의 숙련자가 알 수 있는 바와 같이, 본 원리의 양태는 장치, 시스템, 방법 또는 컴퓨터 판독 가능 매체로서 구현될 수 있다. 따라서, 본 원리의 양태는 하드웨어 실시형태, 소프트웨어 실시형태 또는 소프트웨어 및 하드웨어 측면을 결합한 실시형태의 형태를 취할 수 있다. 또한, 본 원리의 양태는 컴퓨터 판독 가능 저장 매체의 형태를 취할 수 있다. 하나 이상의 컴퓨터 판독 가능 저장 매체(들)의 임의의 조합이 이용될 수 있다.
본 원리의 양태는, 예를 들어, 프로그램 가능한 장치상에서 실행될 때 본 발명의 실시형태에 따른 방법의 단계들을 수행하거나 또는 프로그램 가능한 장치가 본 발명의 실시형태에 따른 장치 또는 시스템의 기능을 수행할 수 있도록 하는 코드 부분을 포함하는 컴퓨터 프로그램 내에서 적어도 부분적으로 실시될 수 있다.
또한, 도 2 및 도 3에 도시된 모든 연결은 직접 또는 간접 연결일 수 있다. 또한, 본 기술 분야의 숙련자는 논리 블록들 사이의 경계는 단지 예시적인 것이며, 대안적인 실시형태들은 논리 블록을 병합하거나 다양한 논리 블록에 기능의 교번하는 분해를 부과할 수 있음을 알 것이다.
Claims (15)
- 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성하기 위한 컴퓨터 구현 방법(10)에 있어서, 상기 컴퓨터 구현 방법은,
- 다수의 브랜치로 조직되는 트리 구조의 트리 뷰를 생성하는 단계(11);
- 트리 뷰에 대한 포인팅 커서의 위치를 결정하는 단계(14)로서, 상기 위치는 제 1 방향에 따른 제 1 위치 값 및 제 1 방향에 직교하는 제 2 방향에 따른 제 2 위치 값으로 구성되는, 트리 뷰에 대한 포인팅 커서의 위치를 결정하는 단계(14);
- 포인팅 커서의 위치가 제 1 방향에 따라 정렬되는 브랜치를 활성 브랜치로서 자동으로 선택하는 단계(15);
- 하위 레벨의 들여쓰기에 대한 제 2 위치 값에 따라, 확장될 활성 브랜치의 하위 레벨을 결정하는 단계(16); 및
- 활성 브랜치의 결정된 하위 레벨을 확장하고 다른 브랜치를 축소함으로써 트리 뷰를 자동으로 업데이트하는 단계(17)를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
- 제 1 항에 있어서,
제 1 방향은 수직 방향에 해당하고 제 2 방향은 그래픽 사용자 인터페이스에서 트리 뷰를 디스플레이하는 디스플레이 디바이스의 스크린상의 수평 방향에 해당하는 것을 특징으로 하는 컴퓨터 구현 방법.
- 제 1 항 또는 제 2 항에 있어서,
포인팅 커서의 위치를 결정하는 단계(14), 활성 브랜치를 자동으로 선택하는 단계(15), 확장될 활성 브랜치의 하위 레벨을 결정하는 단계(16) 및 트리 뷰를 자동으로 업데이트하는 단계(17)는 계속해서 반복되는 것을 특징으로 하는 컴퓨터 구현 방법.
- 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
확장될 하위 레벨의 양이 현재 확장된 하위 레벨의 양보다 적은 경우, 트리 뷰는 활성 브랜치의 과다 하위 레벨을 축소시킴으로써 업데이트되고, 업데이트된 트리 뷰는, 축소된 과다 하위 레벨을 숨기는 해당 요소가 제 1 방향에 따라 포인팅 커서의 위치와 정렬될 때까지, 제 1 방향으로 이동하는 것을 특징으로 하는 컴퓨터 구현 방법.
- 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
요소의 트리 구조는 개념의 분류 체계(taxonomy)에 해당하는 것을 특징으로 하는 컴퓨터 구현 방법.
- 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
요소의 트리 구조는 파일의 디렉토리 구조에 해당하는 것을 특징으로 하는 컴퓨터 구현 방법.
- 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
- 사용자에 의한 모드 선택 입력에 반응하여 자동 모드와 수동 모드 중 하나를 선택하는 단계(12)를 포함하고,
- 포인팅 커서의 위치를 결정하는 단계(14), 활성 브랜치를 자동으로 선택하는 단계(15), 확장될 활성 브랜치의 하위 레벨을 결정하는 단계(16) 및 트리 뷰를 자동으로 업데이트하는 단계(17)는 자동 모드에서만 실행되고, 및
- 트리 뷰는 수동 모드에서 그래픽 사용자 인터페이스에 대한 추가적인 수동 사용자 입력에 따라 업데이트(13)되는 것을 특징으로 하는 컴퓨터 구현 방법.
- 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
포인팅 커서는 트리 뷰와의 사용자 상호 작용에 대한 전용으로 생성되는 것을 특징으로 하는 컴퓨터 구현 방법.
- 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성하기 위한 데이터 처리 장치(20)에 있어서, 상기 데이터 처리 장치는,
- 다수의 브랜치로 조직되는 트리 구조의 트리 뷰를 생성하도록 구성된 그래픽 표현 유닛(23);
- 트리 뷰에 대한 포인팅 커서의 위치를 결정하도록 구성된 위치 결정 유닛(24), 상기 위치는 제 1 방향에 따른 제 1 위치 값 및 제 1 방향에 직교하는 제 2 방향에 따른 제 2 위치 값으로 구성되고,
- 포인팅 커서의 위치가 제 1 방향에 따라 정렬되는 브랜치를 활성 브랜치로서 자동으로 선택하도록 구성된 활성 브랜치 선책 유닛(26); 및
- 하위 레벨의 들여쓰기에 대한 제 2 위치 값에 따라, 확장될 활성 브랜치의 하위 레벨을 결정하도록 구성된 확장 결정 유닛(27)을 포함하고,
- 상기 그래픽 표현 유닛(23)은 활성 브랜치의 결정된 하위 레벨을 확장하고 다른 브랜치를 축소함으로써 트리 뷰를 자동으로 업데이트하도록 더 구성되는 것을 특징으로 하는 데이터 처리 장치.
- 제 9 항에 있어서,
위치 결정 유닛(24)을 사용하여 포인팅 커서의 위치를 결정하는 단계, 활성 브랜치 선책 유닛(26)을 사용하여 활성 브랜치를 자동으로 선택하는 단계, 확장 결정 유닛(27)을 사용하여 확장될 하위 레벨을 결정하는 단계 및 그래픽 표현 유닛(23)을 사용하여 트리 뷰를 자동으로 업데이트하는 단계를 계속해서 반복하도록 구성되는 것을 특징으로 하는 데이터 처리 장치.
- 제 9 항 또는 제 10 항에 있어서,
확장 결정 유닛(27)이 확장될 하위 레벨의 양이 현재 확장된 하위 레벨의 양보다 적은 것으로 결정한 경우, 그래픽 표현 유닛(23)은, 활성 브랜치의 과다 하위 레벨을 축소함으로써 트리 뷰를 업데이트하고 및 축소된 과다 하위 레벨을 숨기는 해당 요소가 제 1 방향에 따라 포인팅 커서의 위치와 정렬될 때까지, 트리 뷰를 제 1 방향으로 이동시키도록 구성되는 것을 특징으로 하는 데이터 처리 장치.
- 제 9 항 내지 제 11 항 중 어느 한 항에 있어서,
- 사용자에 의한 모드 선택 입력에 반응하여 자동 모드와 수동 모드 중 하나를 선택하도록 구성된 선택 유닛(21)을 포함하고,
- 상기 데이터 처리 장치(20)는 위치 결정 유닛(24)을 사용하여 포인팅 커서의 위치를 결정하는 단계, 활성 브랜치 선택 유닛(26)을 사용하여 활성 브랜치를 자동으로 선택하는 단계, 확장 결정 유닛(27)을 사용하여 확장될 하위 레벨을 결정하는 단계 및 그래픽 표현 유닛(23)을 사용하여 트리 뷰를 자동으로 업데이트하는 단계를 자동 모드에서만 실행하도록 구성되고, 및
- 상기 그래픽 표현 유닛(23)은 수동 모드에서 그래픽 사용자 인터페이스에 대한 추가적인 수동 사용자 입력에 따라 트리 뷰를 업데이트하도록 구성되는 특징으로 하는 데이터 처리 장치.
- 제 9 항 내지 제 12 항 중 어느 한 항에 있어서,
트리 뷰와의 사용자 상호 작용에 대한 전용으로 포인팅 커서를 생성하도록 구성되는 것을 특징으로 하는 데이터 처리 장치.
- 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성하기 위한 데이터 처리 장치(30)에 있어서, 상기 데이터 처리 장치는,
- 처리 디바이스(31);
- 디스플레이 디바이스(32); 및
- 명령을 저장한 메모리 디바이스(33)를 포함하고, 상기 명령은, 실행될 때, 처리 디바이스로 하여금,
- 디스플레이 디바이스를 사용하여, 다수의 브랜치로 조직되는 트리 구조를 보여주는 트리 뷰를 생성하고;
- 트리 뷰에 대한 포인팅 커서의 위치를 결정하고, 상기 위치는 제 1 방향에 따른 제 1 위치 값 및 제 1 방향에 직교하는 제 2 방향에 따른 제 2 위치 값으로 구성되고,
- 포인팅 커서의 위치가 제 1 방향에 따라 정렬되는 브랜치를 활성 브랜치로서 자동으로 선택하고,
- 하위 레벨의 들여쓰기에 대한 제 2 위치 값에 따라, 확장될 활성 브랜치의 하위 레벨을 결정하고; 및
- 활성 브랜치의 결정된 하위 레벨을 확장하고 다른 브랜치를 축소함으로써 트리 뷰를 자동으로 업데이트하도록 하는 것을 특징으로 하는 데이터 처리 장치.
- 형성된 트리 구조에 대한 포인팅 커서의 위치에 따라 그래픽 사용자 인터페이스에서 요소의 트리 구조를 형성할 수 있게 하는 명령을 내부에 저장한 컴퓨터 판독 가능 저장 매체에 있어서, 상기 명령은, 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금,
- 다수의 브랜치로 조직되는 트리 구조의 트리 뷰를 생성(11)하고;
- 트리 뷰에 대한 포인팅 커서의 위치를 결정(14)하고, 상기 위치는 제 1 방향에 따른 제 1 위치 값 및 제 1 방향에 직교하는 제 2 방향에 따른 제 2 위치 값으로 구성되고,
- 포인팅 커서의 위치가 제 1 방향에 따라 정렬되는 브랜치를 활성 브랜치로서 자동으로 선택(15)하고,
- 하위 레벨의 들여쓰기에 대한 제 2 위치 값에 따라, 확장될 활성 브랜치의 하위 레벨을 결정(16)하고; 및
- 활성 브랜치의 결정된 하위 레벨을 확장하고 다른 브랜치를 축소함으로써 트리 뷰를 자동으로 업데이트(17)하도록 하는 것을 특징으로 하는 컴퓨터 판독 가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14307100.9A EP3035179A1 (en) | 2014-12-19 | 2014-12-19 | Data processing apparatus and method for rendering a tree structure |
EP14307100.9 | 2014-12-19 | ||
PCT/EP2015/077876 WO2016096368A1 (en) | 2014-12-19 | 2015-11-27 | Data processing apparatus and method for rendering a tree structure |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170095369A true KR20170095369A (ko) | 2017-08-22 |
KR102514532B1 KR102514532B1 (ko) | 2023-03-24 |
Family
ID=52396378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177019861A KR102514532B1 (ko) | 2014-12-19 | 2015-11-27 | 트리 구조를 형성하기 위한 데이터 처리 장치 및 방법 |
Country Status (10)
Country | Link |
---|---|
US (1) | US11163420B2 (ko) |
EP (2) | EP3035179A1 (ko) |
JP (1) | JP6709223B2 (ko) |
KR (1) | KR102514532B1 (ko) |
CN (1) | CN107209630B (ko) |
CA (1) | CA2970741C (ko) |
MX (1) | MX2017007945A (ko) |
RU (1) | RU2706184C2 (ko) |
TW (1) | TWI684126B (ko) |
WO (1) | WO2016096368A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10417282B1 (en) * | 2015-07-22 | 2019-09-17 | Wells Fargo Bank, N.A. | Entity mapping |
TWI670639B (zh) * | 2017-05-18 | 2019-09-01 | 美商愛特梅爾公司 | 用於識別使用者介面元件之技術以及使用其之系統及裝置 |
CN107844308A (zh) * | 2017-10-18 | 2018-03-27 | 阿里巴巴集团控股有限公司 | 一种信息处理方法、装置及设备 |
CN108874484A (zh) * | 2018-06-06 | 2018-11-23 | 网易(杭州)网络有限公司 | 数据处理方法、装置、设备及存储介质 |
CN110688531B (zh) * | 2019-08-26 | 2022-08-26 | 北京旷视科技有限公司 | 树组件渲染方法和装置、数据处理设备及介质 |
WO2021154320A1 (en) | 2020-01-29 | 2021-08-05 | Iyengar Prashanth | Systems and methods for resource analysis, optimization, or visualization |
WO2021217659A1 (zh) * | 2020-04-30 | 2021-11-04 | 深圳中砼物联网科技有限公司 | 多源异构数据的处理方法、计算机设备、存储介质 |
CN113499587B (zh) * | 2021-07-16 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 筛选项的显示方法和装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004005527A (ja) * | 2002-03-28 | 2004-01-08 | Yosuke Hiratsuka | 階層型サイト情報作成プログラム |
JP2004295600A (ja) * | 2003-03-27 | 2004-10-21 | Sony Ericsson Mobilecommunications Japan Inc | メニュー選択装置及びメニュー選択方法 |
JP2008097488A (ja) * | 2006-10-16 | 2008-04-24 | Fuji Xerox Co Ltd | 階層構造表示プログラムおよび階層構造表示装置 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63228218A (ja) * | 1987-03-17 | 1988-09-22 | Mitsubishi Electric Corp | 木構造フアイルシステム表示方式 |
CA2092632C (en) * | 1992-05-26 | 2001-10-16 | Richard E. Berry | Display system with imbedded icons in a menu bar |
JP2549244B2 (ja) * | 1993-05-25 | 1996-10-30 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 階層構造データの表示システム及び表示方法 |
US5664133A (en) * | 1993-12-13 | 1997-09-02 | Microsoft Corporation | Context sensitive menu system/menu behavior |
JP3320197B2 (ja) | 1994-05-09 | 2002-09-03 | キヤノン株式会社 | 画像編集装置及びその方法 |
US5701137A (en) * | 1995-05-24 | 1997-12-23 | Microsoft Corporation | Method for separating a hierarchical tree control into one or more hierarchical child tree controls in a graphical user interface |
US6380957B1 (en) * | 1998-12-15 | 2002-04-30 | International Business Machines Corporation | Method of controlling view of large expansion tree |
US6496842B1 (en) * | 1999-05-28 | 2002-12-17 | Survol Interactive Technologies | Navigating heirarchically organized information |
US7181684B2 (en) | 2000-12-12 | 2007-02-20 | Oracle International Corporation | Dynamic tree control system |
US7340745B2 (en) * | 2002-06-25 | 2008-03-04 | Sun Microsystems, Inc. | Systems and methods for mapping API calls |
GB0320278D0 (en) | 2003-08-29 | 2003-10-01 | Hewlett Packard Development Co | Constrained document layout |
US7360175B2 (en) * | 2003-10-03 | 2008-04-15 | Lexisnexis, A Division Of Reed Elsevier Inc. | Hierarchical, multilevel, expand and collapse navigation aid for hierarchical structures |
US7984388B2 (en) | 2004-12-10 | 2011-07-19 | International Business Machines Corporation | System and method for partially collapsing a hierarchical structure for information navigation |
US7536410B2 (en) | 2005-04-22 | 2009-05-19 | Microsoft Corporation | Dynamic multi-dimensional scrolling |
US8001487B2 (en) * | 2006-04-12 | 2011-08-16 | Laas & Sonder Pty Ltd | Method and system for organizing and displaying data |
US7934164B2 (en) * | 2006-12-12 | 2011-04-26 | Canon Kabushiki Kaisha | Information processing apparatus and control method thereof, and program |
US8869030B2 (en) | 2007-09-20 | 2014-10-21 | Flash Networks Ltd. | Hierarchical representation of contextual information |
US7882449B2 (en) * | 2007-11-13 | 2011-02-01 | International Business Machines Corporation | Providing suitable menu position indicators that predict menu placement of menus having variable positions depending on an availability of display space |
US20090158178A1 (en) | 2007-12-17 | 2009-06-18 | Dorian Birsan | Graphically navigating tree structures |
US20090187864A1 (en) | 2008-01-17 | 2009-07-23 | Microsoft Corporation | Dynamically Scalable Hierarchy Navigation |
US8997018B2 (en) | 2008-03-04 | 2015-03-31 | Synaptics Incorporated | Presenting a menu |
JP2009259163A (ja) * | 2008-04-21 | 2009-11-05 | Mitsubishi Electric Corp | ユーザインタフェース装置及びプログラム |
US8825700B2 (en) * | 2008-05-26 | 2014-09-02 | Microsoft Corporation | Paging hierarchical data |
US8214842B2 (en) * | 2009-02-27 | 2012-07-03 | International Business Machines Corporation | Visualization-centric performance-based volume allocation |
US8620098B2 (en) | 2009-06-09 | 2013-12-31 | Sony Corporation | Trees for adaptive coding of images and videos using set partitioning in generalized hierarchical trees having directionality |
CN102117333B (zh) * | 2011-03-11 | 2013-01-02 | 北京神舟航天软件技术有限公司 | 多视图浏览树形结构数据的方法 |
CN102880395A (zh) | 2012-09-17 | 2013-01-16 | 深圳中兴网信科技有限公司 | 智能调整树形菜单的***和方法 |
CN103793135B (zh) | 2013-12-31 | 2017-01-11 | 远光软件股份有限公司 | 用户界面树形结构显示方法及*** |
-
2014
- 2014-12-19 EP EP14307100.9A patent/EP3035179A1/en not_active Withdrawn
-
2015
- 2015-11-27 CN CN201580074767.1A patent/CN107209630B/zh active Active
- 2015-11-27 US US15/537,860 patent/US11163420B2/en active Active
- 2015-11-27 KR KR1020177019861A patent/KR102514532B1/ko active IP Right Grant
- 2015-11-27 JP JP2017532764A patent/JP6709223B2/ja active Active
- 2015-11-27 EP EP15802066.9A patent/EP3234751B1/en active Active
- 2015-11-27 MX MX2017007945A patent/MX2017007945A/es unknown
- 2015-11-27 CA CA2970741A patent/CA2970741C/en active Active
- 2015-11-27 RU RU2017125315A patent/RU2706184C2/ru active
- 2015-11-27 WO PCT/EP2015/077876 patent/WO2016096368A1/en active Application Filing
- 2015-12-18 TW TW104142585A patent/TWI684126B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004005527A (ja) * | 2002-03-28 | 2004-01-08 | Yosuke Hiratsuka | 階層型サイト情報作成プログラム |
JP2004295600A (ja) * | 2003-03-27 | 2004-10-21 | Sony Ericsson Mobilecommunications Japan Inc | メニュー選択装置及びメニュー選択方法 |
JP2008097488A (ja) * | 2006-10-16 | 2008-04-24 | Fuji Xerox Co Ltd | 階層構造表示プログラムおよび階層構造表示装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3234751B1 (en) | 2021-01-20 |
US11163420B2 (en) | 2021-11-02 |
CA2970741C (en) | 2022-08-09 |
US20170371505A1 (en) | 2017-12-28 |
RU2017125315A3 (ko) | 2019-07-17 |
RU2017125315A (ru) | 2019-01-21 |
TW201629743A (zh) | 2016-08-16 |
EP3234751A1 (en) | 2017-10-25 |
CN107209630B (zh) | 2020-09-22 |
RU2706184C2 (ru) | 2019-11-14 |
EP3035179A1 (en) | 2016-06-22 |
JP6709223B2 (ja) | 2020-06-17 |
TWI684126B (zh) | 2020-02-01 |
WO2016096368A1 (en) | 2016-06-23 |
JP2018501568A (ja) | 2018-01-18 |
CN107209630A (zh) | 2017-09-26 |
MX2017007945A (es) | 2018-01-30 |
KR102514532B1 (ko) | 2023-03-24 |
BR112017013119A2 (pt) | 2017-12-26 |
CA2970741A1 (en) | 2016-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102514532B1 (ko) | 트리 구조를 형성하기 위한 데이터 처리 장치 및 방법 | |
CN105339931B (zh) | 用于处理数据容器的方法和设备 | |
US6292188B1 (en) | System and method for navigating in a digital information environment | |
US10175854B2 (en) | Interaction in chain visualization | |
US8438188B2 (en) | Alternating-menu Quad-navigator | |
US6874128B1 (en) | Mouse driven splitter window | |
JP4880334B2 (ja) | スクロール可能かつサイズ変更可能な数式バー | |
US7340690B2 (en) | Space-efficient linear hierarchical view and navigation | |
US7555731B2 (en) | System and method of navigating and creating electronic hierarchical documents | |
US7574669B1 (en) | User interface control for navigating, selecting, and organizing document pages | |
KR102096113B1 (ko) | 판옵틱 가시화 도큐먼트 인쇄 | |
US20150113483A1 (en) | Method for Human-Computer Interaction on a Graphical User Interface (GUI) | |
US20060242603A1 (en) | Dynamic multi-dimensional scrolling | |
KR20110127455A (ko) | 웹 페이지 분할 장치 및 방법 | |
US20140033124A1 (en) | Object selection | |
US20100333026A1 (en) | Object browser with proximity sorting | |
BR112017013119B1 (pt) | Método, aparelho e mídia de armazenamento não transitória legível por computador para renderizar uma estrutura em árvore de elementos em uma interface gráfica de usuário | |
JPH05189177A (ja) | 階層構造表示装置 | |
WO2019229438A1 (en) | Apparatus and method for displaying media | |
JPH0436792A (ja) | 画面選択表示方法及びその装置 | |
JPS63167926A (ja) | 画像表示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |