KR20060047996A - 디스플레이 정보 생성 방법 - Google Patents

디스플레이 정보 생성 방법 Download PDF

Info

Publication number
KR20060047996A
KR20060047996A KR1020050041531A KR20050041531A KR20060047996A KR 20060047996 A KR20060047996 A KR 20060047996A KR 1020050041531 A KR1020050041531 A KR 1020050041531A KR 20050041531 A KR20050041531 A KR 20050041531A KR 20060047996 A KR20060047996 A KR 20060047996A
Authority
KR
South Korea
Prior art keywords
list
list element
grid line
element data
data
Prior art date
Application number
KR1020050041531A
Other languages
English (en)
Other versions
KR101143191B1 (ko
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 마이크로소프트 코포레이션
Publication of KR20060047996A publication Critical patent/KR20060047996A/ko
Application granted granted Critical
Publication of KR101143191B1 publication Critical patent/KR101143191B1/ko

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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • 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
    • 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]
    • G06F3/0481Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Document Processing Apparatus (AREA)

Abstract

본 발명은 적어도 2개의 템플릿을 사용함으로써 이종의 리스트 엘리먼트 데이터가 화합되어 디스플레이되도록 하는 리스트 제어에 관한 것이다. 템플릿은 리스트 엘리먼트 데이터에 대한 레이아웃을 정의한다. 템플릿은 레이아웃을 계산할 때 인터페이스의 도움을 받는다. 인터페이스는 적어도 하나의 그리드선의 위치에 관련된 정보를 제공한다. 리스트 엘리먼트 데이터에 대한 레이아웃은 그 위치에 기초한다. 리스트 제어는 인터페이스를 구현하므로, 이종의 템플릿들이 하나의 그리드선 위치를 제공하는 하나의 인터페이스에 의존하도록 한다. 그리드선 위치에 대한 각 리스트 엘리먼트의 요구사항을 고려하기 위하여, 인터페이스는 각 리스트 엘리먼트에 대한 예비 그리드선 위치에 관련하는 정보를 요청하고 최종적인 그리드선 위치는 이 정보에 기초한다.
템플릿, 그리드선, 리스트 제어

Description

디스플레이 정보 생성 방법{ALIGNED BEHAVIOR IN TEMPLATED LISTS}
도 1은 본 발명의 양태가 구현될 수 있는 예시적인 컴퓨팅 환경을 도시하는 블럭도.
도 2a는 리스트에 대한 하나의 예시적인 템플릿의 블럭도.
도 2b는 리스트 엘리먼트에 대한 제2 예시적인 템플릿의 블럭도.
도 3a는 그리드(grid) 선을 가지는 제1 예시적인 템플릿의 블럭도.
도 3b는 그리드 선을 가지는 제2 예시적인 템플릿의 블럭도.
도 4는 제1 및 제2 예시적인 템플릿에서의 그리드선에 따라 정렬된 리스트의 블럭도.
도 5는 본 발명의 일 실시예에 따른 리스트 제어를 도시하는 블럭도.
도 6은 본 발명의 일 실시예에 따른 리스트 데이터의 집합에 대한 디스플레이 정보를 생성하는 예시적인 방법을 도시하는 도면.
도 7은 본 발명의 일 실시예에 따른 리스트 엘리먼트 데이터의 그래픽적인 레이아웃을 결정하는 예시적인 방법을 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
120: 프로세싱 유닛
131: 시스템 메모리
220, 222: 이름
240, 242: 접촉 정보
520: 그리드선 관리 인터페이스
본 발명은 일반적으로 컴퓨터 그래픽스 분야에 관한 것으로, 보다 상세히는 디스플레이 상의 객체의 레이아웃에 관한 것이다.
일관되고 이해할 수 있을만한 방식으로 사용자에게 데이터를 디스플레이하기 위하여, 서로 다른 기법들이 이용된다. 예를 들면, 데이터는 번호가 매겨진 리스트로 디스플레이될 수 있다. 몇몇의 컴포넌트를 가지는 데이터를 보다 일관되게 나타내기 위하여, 데이터는 테이블에 디스플레이될 수도 있다. 이용가능한 공간은 분리된 셀(cell)들로 나뉘어지는데, 여기서 각 셀은 이 데이터의 내용물을 수용하는 용기가 된다. 종종, 원하는 레이아웃을 생성하기 위하여 보다 큰 엘리먼트(예를 들면, 이미지)가 셀들 간에서 분할되어야 한다.
테이블의 셀들은 행과 열로 배열된다. 열의 폭 및 행의 높이를 결정하는 데에 이용되는 정보가 제공될 것이며, 이 정보는 테이블의 각 셀의 차원 및 배치를 결정할 것이다. 예를 들면, 고정된 폭이 열에 할당될 수 있다. 대안으로, 열 폭은 열 내의 데이터에 기초하여 조정될 수 있다. 약간 더 복잡한 표현(presentation)을 제공하기 위하여, 테이블 셀들은 병합될 수도 있다. 그러나, 열 의 폭이 일반적으로 테이블에서는 전반적으로(병합하는 경우를 제외하고는) 일정하기 때문에, 복수의 이러한 병합이 존재하는 경우에서는 결과 테이블이 깨끗하고 왜곡되지 않도록 행과 열의 폭을 설정하는 것은 불가능할 수 있다.
브라우저-스타일 사용자 인터페이스(brower style user interface)의 출현으로, 데이터 디스플레이에 이미지 및 흐르는 텍스트를 포함하는에 대한 새로운 강조법이 개발되어 왔다. 보다 복잡합 테이블 행위를 할 수 있게 하기 위하여, 테이블형 리스트로서 알려진 사용자 인터페이스(UI) 제어가 이용될 수 있다. 테이블형 리스트 UI 제어는 사용자에게 데이터를 디스플레이하기 위한 복잡한 열거 행위를 할 수 있도록 하기 위하여 이용된다. 테이블형 리스트 UI 제어는 테이블을 생성할 수 있게 하기 위한 하나의 행위적인 구현을 제공함으로써 상당한 이득을 제공한다. 테이블형 리스트 UI 제어는 이 리스트 내의 각 아이템의 형태를 기술하는 데에 이용되는 시각적 '템플릿'을 제공함으로써 이를 행한다.
테이블형 리스트 UI 제어를 이용할 때 존재하는 한 문제는 리스트 내의 엘리먼트들을 서로에 대해 상관시켜 정렬하는 데 있다. 테이블형 리스트 제어를 통하여 이종의 데이터를 제시하는 것은 유용할 수 있다. 데이터는 크기, 유형에서 상이할 수 있거나 그렇지 않을 수 있다. 이종의 데이터는 배경과 같이 설계 엘리먼트들을 포함할 수도 있다. 현재 구현에서는 초기에 및 테이블의 변경하는 경우 모두에 사용자의 노력을 요하지 않고, 이종의 데이터를 포함하는 테이블을 생성할 수 있게 하면서 한결같은 방식으로 이종의 데이터를 정렬할 수 있게끔 하는 리스트의 엘리먼트를 적절하게 배치하게 할 수 있도록 데이터의 이종성을 고려하는 테이블형 리스트를 생성할 수 없다. 또한, 현재 구현은 복잡한 겹침(overlapping) 행위를 할 수 없게 한다. 이러한 행위는 보다 이해할만하거나 잘-설계된 표현을 사용자에게 생성하는 데에 바람직할 수 있다.
전술된 바로부터, 종래 기술의 한계 및 단점을 극복하는 시스템 및 방법이 필요하다.
본 발명은 복잡한 겸침 행위를 할 수 있게 하고 복잡함 없이 지능적으로 크기 계산을 수행하는 향상된 리스트 제어에 관한 것이다. 이를 수행하기 위하여, 리스트 제어에 그리드 레이아웃 기능을 제공한다.
리스트와 템플릿된 리스트 엘리먼트 간에서 통신할 수 있도록 하는 인터페이스가 제공된다. 이종의 템플릿들을 이용하는 엘리먼트를 가지는 리스트에서의 열-정렬된(또는 행-정렬된) 결과를 제공하기 위하여, 템플릿들은 열 계산(또는 행 계산)을 수행하는 인터페이스에 의존한다. 템플릿은, 리스트의 일부로서 포함될 때, 인터페이스의 구현자로서 리스트에 의탁한다. 디폴트에 의해, 구현자는 템플릿 자체가 되어서, 리스트의 문맥에 위치되지 않는 템플릿은 자신의 고유한 행 또는 열 폭을 계산할 것이다.
본 발명의 추가적인 특징 및 이점은 첨부된 도면을 참조하여 진행되는 예시적인 실시예의 이하 상세한 설명으로부터 명백할 것이다.
전술한 요약, 및 이하의 바람직한 실시예의 상세한 설명은 첨부된 도면에 관 련하여 읽을 때 보다 잘 이해된다. 본 발명을 설명하기 위하여, 본 발명의 예시적인 구조가 도면에 도시되지만, 본 발명은 특정 방법 및 개시된 도구에 한정되지 않는다.
예시적인 컴퓨팅 환경
도 1은 본 발명의 양태가 구현될 수 있는 예시적인 컴퓨팅 환경을 도시한다. 컴퓨팅 시스템 환경(100)은 단지 적절한 컴퓨팅 환경의 일 예이며 본 발명의 사용 또는 기능의 범위에 제한을 가하도록 의도된 것은 아니다. 컴퓨팅 환경(100)은 예시적인 오퍼레이팅 환경(100)에 도시된 컴포넌트들 중의 임의의 하나 또는 조합에 관하여 임의의 종속성(dependency) 또는 요구사항(requirement)을 갖는 것으로 해석되어서는 안된다.
본 발명은 많은 다른 범용 또는 특수목적 컴퓨팅 시스템 환경들 또는 구성들과 함께 동작될 수 있다. 본 발명과 함께 사용하기에 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경, 및/또는 구성의 예로는, 퍼스널 컴퓨터, 서버 컴퓨터, 핸드헬드(hand-held) 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 시스템, 셋 탑 박스(set top box), 프로그램가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 내장형 시스템, 상기의 시스템 또는 장치 중의 임의의 것을 포함하는 분산형 컴퓨팅 환경 등이 포함되지만, 이에 한정되지 않는다.
본 발명은 컴퓨터에 의해 실행되는, 프로그램 모듈과 같은 컴퓨터 실행가능 명령어에 일반적으로 관련하여 기술될 수 있다. 일반적으로, 프로그램 모듈은 특 정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 본 발명은 또한 통신 네트워크 또는 다른 데이터 전송 매체를 통해 링크된 원격 프로세싱 장치에 의해 태스크를 수행하는 분산형 컴퓨팅 환경에서 실행될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈 및 그외 데이터는 메모리 저장 장치를 포함하는 국부 및 원격 컴퓨터 저장 매체 내에 위치할 수 있다.
도 1을 참조하면, 본 발명을 구현하기 위한 예시적인 시스템은 컴퓨터(110)의 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트들로는, 프로세싱 유닛(120), 시스템 메모리(130), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트를 프로세싱 유닛(120)에 연결시키는 시스템 버스(121)가 포함될 수 있지만, 이에 한정되는 것은 아니다. 프로세싱 유닛(120)은 멀티-스레디드 프로세서에 지원되는 복수의 논리적 프로세싱 유닛을 나타낼 수 있다. 시스템 버스(121)는 다양한 버스 아키텍처 중의 임의의 것을 사용하는 로컬 버스, 주변 버스, 및 메모리 버스 또는 메모리 컨트롤러를 포함하는 몇가지 유형의 버스 구조 중의 임의의 것일 수 있다. 예로서, 이러한 아키텍처는 산업 표준 아키텍처(ISA) 버스, 마이크로 채널 아키텍처(MCA) 버스, 인핸스드 ISA(Enhanced ISA; EISA) 버스, 비디오 일렉트로닉스 표준 어소시에이션(VESA) 로컬 버스, 및 (메자닌(Mezzanine) 버스로도 알려진) 주변 컴포넌트 상호접속(PCI) 버스를 포함하지만, 이에 한정되는 것은 아니다. 시스템 버스(121)는 또한 통신 장치들 간에 포인트-투-포인트(point-to-point) 접속, 스위칭 구조(switching fabric) 등으로서 구현될 수 있다.
컴퓨터(110)는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(110)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있으며, 휘발성 및 비휘발성 매체, 분리형(removable) 및 비분리형(non-removable) 매체를 둘다 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만, 이에 한정되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 둘다 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래쉬 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터(110)에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다. 통신 매체는 통상적으로 반송파 또는 기타 전송 메카니즘 등의 변조된 데이터 신호에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호 내에 정보를 인코딩하도록 설정되거나 변환된 특성을 하나 또는 그 이상을 갖는 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속 등의 유선 매체와, 음향, RF, 적외선 및 기타 무선 매체 등의 무선 매체를 포함하지만, 이에 한정되지 않는다. 상술한 것들 중의의 임의의 조합도 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(130)는 ROM(131) 및 RAM(132) 등의 휘발성 및/또는 비휘발성 메모리의 형태의 컴퓨터 저장 매체를 포함한다. 시동중과 같은 때에 컴퓨터(110) 내의 구성요소들 간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(133; BIOS)은 일반적으로 ROM(131)에 저장된다. RAM(132)은 일반적으로 프로세싱 유닛(120)에 즉시 액세스될 수 있고 및/또는 프로세싱 유닛(120)에 의해 현재 작동되는 프로그램 모듈 및/또는 데이터를 포함한다. 예로서, (한정하고자 하는 것은 아님) 도 1은 오퍼레이팅 시스템(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)를 도시한다.
컴퓨터(110)는 또한 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 단지 예로서, 도 1에는 비분리형 비휘발성 자기 매체로부터 판독하거나 그 자기 매체에 기록하는 하드 디스크 드라이브(140), 분리형 비휘발성 자기 디스크(152)로부터 판독하거나 그 자기 디스크에 기록하는 자기 디스크 드라이브(151), 및 CD-ROM 또는 기타 광 매체 등의 분리형 비휘발성 광 디스크(156)로부터 판독하거나 그 광 디스크에 기록하는 광 디스크 드라이브(155)가 도시되어 있다. 예시적인 오퍼레이팅 환경에서 사용될 수 있는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래쉬 메모리 카드, DVD(Digital versatile disk), 디지털 비디오 테이프, 고체 RAM, 고체 ROM 등을 포함하지만 이에 한정되지 않는다. 하드 디스크 드라이브(141)는 일반적으로 인터페이스(140)와 같은 비분리형 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 일반적으로 인터페 이스(150)와 같은 분리형 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
앞서 기술되고 도 1에 도시된 드라이브 및 그 관련 컴퓨터 저장 매체는 컴퓨터(110)를 위한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터의 저장을 제공한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 오퍼레이팅 시스템(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시된다. 이들 컴포넌트는 오퍼레이팅 시스템(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일할 수도 있고 다를 수도 있다. 오퍼레이팅 시스템(144), 애플리케이션 프로그램(145), 다른 프로그램 모듈(146), 및 프로그램 데이터(147)는 최소한 다른 복사본(different copies)임을 나타내기 위하여 다른 번호를 부여하였다. 사용자는 일반적으로 마우스, 트랙볼, 또는 터치 패드라 불리우는 포인팅 장치(161) 및 키보드(162)와 같은 입력 장치를 통해 컴퓨터(110)에 명령 및 정보를 입력할 수 있다. (도시되지 않은) 기타 입력 장치는 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 입력 장치 및 그외의 입력 장치는 시스템 버스에 연결된 사용자 입력 인터페이스(160)를 통해 종종 프로세싱 유닛(120)에 접속되지만, 병렬 포트, 게임 포트 또는 유니버설 시리얼 포트(USB) 와 같은 기타 인터페이스 및 버스 구조에 의해 접속될 수 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치는 또한 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버스(121)에 접속된다. 모니터외에도, 컴퓨터는 또한 출력 주변 인터페이스(195)를 통해 접속될 수 있는 스피커(197) 및 프린터(196) 등의 기타 주변 출력 장치를 포함할 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 이용한 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어(peer) 장치, 또는 기타 공통 네트워크 노드일 수 있으며, 비록 도 1 에는 메모리 저장 장치(181)만이 도시되어 있지만, 컴퓨터(110)에 관하여 상술한 구성요소 중 다수 또는 모든 구성요소를 일반적으로 포함할 수 있다. 도 1에 도시된 논리적 접속은 근거리 통신망(LAN; 171) 및 원거리 통신망(WAN; 173)을 포함하지만, 그 외의 네트워크를 포함할 수도 있다. 이러한 네트워크 환경은 사무실, 기업 광역 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워크 환경에서 사용되는 경우, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워크 환경에서 사용되는 경우, 컴퓨터(110)는 일반적으로 인터넷 등의 WAN(173)을 통해 통신을 구축하기 위한 모뎀(172) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적절한 메카니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워크 환경에서, 컴퓨터(110)에 관하여 도시된 프로그램 모듈 또는 그 일부분은 원격 메모리 저장 장치에 저장될 수 있다. 예로서 (한정하고자 하는 것은 아님), 도 1은 메모리 장치(181)에 상주하는 원격 애플리케이션 프로그램(185)을 도시한다. 도시된 네트워크 접속은 예시적인 것이며, 컴퓨터들 간의 통신 링크를 구축하는 그 외의 수단이 사용될 수 있다고 인식될 것 이다.
리스트에서의 이종의 레이아웃들의 정렬
이종 정보를 리스트에 제공하기 위해서는, 리스트 엘리먼트 마다 이종의 템플릿들이 생성된다. 리스트 엘리먼트는 리스트 엘리먼트에 대한 포괄적 포함자인 리스트 제어에 포함된다. 리스트 제어는 템플릿을 이용하여 리스트 데이터에 대한 레이아웃을 제공한다.
도 2a는 리스트 엘리먼트에 대한 하나의 예시적인 템플릿의 블럭도이다. 도 2a는 사진 필드(210), 이름 필드(220), 및 접촉 정보 필드(240)인 부-엘리먼트를 포함하는 제1 템플릿(200)을 도시한다. 사진 필드(210) 및 이름 필드(220)는 겹치도록 도시된다. 템플릿은 이들 필드를 서로 상관하여 위치시킬 방법에 대한 정보를 포함할 수 있다.
이러한 템플릿은 데이터를 디스플레이하는 데에 이용된다. 제1 템플릿(200)과 같은 오직 하나의 템플릿이 이용되는 경우, 리스트는 제1 템플릿(200)의 명세에 따라 배치되는 하나 이상의 리스트 엘리먼트로 구성된다. 제1 템플릿(200)은 템플릿의 부-엘리먼트(210, 220 및 240) 각각이 특정 크기 만을 갖도록 할 수 있다. 이러한 경우에서는, 부-엘리먼트에 디스플레이될 데이터가 할당된 크기를 초과하는 상황에서, 데이터가 그 부 엘리먼트에 할당된 영역에 디스플레이될 수 없을 수는 있지만, 리스트는 규칙적인 형태일 수 있다.
대안으로, 템플릿은 이러한 리스트 엘리먼트의 부 엘리먼트가 다른 크기를 갖도록 할 수 있다. 예를 들면, 제1 템플릿(200)은 이름 필드(220) 및 접촉 정보 필드(240)가 길이가 서로 다른 텍스트 스트링에 의하여 채워지도록 할 수 있다. 예를 들면, 회사의 이름으로서 이름 필드(220)가 사용되고, 사용될 이름 필드(220)가 회사 로고의 그림인 경우에, 이름 필드(220)는 그림으로 채워질 수도 있다. 사진(210)은 템플릿에 의해 특정 크기를 갖도록 제약될 수 있거나 사용되고 있는 사진에 의존하여 변형가능할 수 있다. 템플릿은 어떠한 사진도 제공되지 않는 상황을 처리하기에 충분히 유연성 있을 수 있다. 이들 서로 다른 시나리오에서, 제1 템플릿(200)에 따라 입력되는 서로 다른 리스트 엘리먼트가 서로 다른 크기가 정해진 부 엘리먼트를 가질 수 있음을 알 수 있다.
또한, 서로 다른 템플릿은 서로 다른 부 엘리먼트를 포함할 수 있다. 도 2b는 리스트 엘리먼트에 대한 제2 예시적인 템플릿의 블럭도이다. 도 2b는 이름 필드(222), 맴버쉽 정보 필드(232), 및 접촉 정보 필드(242)인 부 엘리먼트를 포함하는 제2 템플릿(202)을 도시한다. 제2 템플릿(202)에는 사진 필드가 포함되지 않는다. 제2 템플릿(202)에 포함된 맴버쉽 정보에 대한 부-엘리먼트는 제1 템플릿(200)에 포함되지 않는다.
소정의 리스트에서, 제1 템플릿(200) 및 제2 템플릿(202)과 같은 2개 이상의 템플릿이 사용된다. 유사한 엘리먼트의 정렬을 서로에 관련하여 제공하기 위하여, 템플릿은 그리드선을 포함한다. 도 3a는 그리드선을 가지는 제1 예시적인 템플릿의 블럭도이다. 도 3a에서 도시된 바와 같이, 제1 예시적인 템플릿(200)에 관련하여 4개의 그리드선이 도시된다. 제1 그리드선(300)은 이름 필드(220)의 시작을 나타낸다. 제2 그리드선(310)은 이름 필드(220)의 끝을 나타낸다. 제3 그리드선 (320)은 접촉 정보 필드(240)의 시작을 나타내고, 제4 그리드 선(330)은 접촉 정보 필드(240)의 끝을 나타낸다. 제1 템플릿(200)에 따른 복수의 리스트 엘리먼트에서의 그리드선들의 위치가 조정되면, 리스트 엘리먼트는 이종의 방식으로 데이터를 디스플레이할 것이다.
도 3b는 그리드선을 가지는 제2 예시적인 템플릿의 블럭도이다. 도 3b에 도시된 바와 같이, 제2 예시적인 템플릿(202)에 대해 4개의 그리드선이 도시된다. 제1 그리드선(302)은 이름 필드(222)의 시작을 나타낸다. 제2 그리드선(312)은 이름 필드(222)의 끝을 나타낸다. 제3 그리드선(322)은 접촉 정보 필드(242)의 시작을 나타내고, 제4 그리드선(332)은 접촉 정보 필드(242)의 끝을 나타낸다.
제1 템플릿(200) 및 제2 템플릿(202)에 따라서 템플릿되는 리스트 엘리먼트를 포함하는 리스트에서, 모든 제1 그리드선(300 및 302)의 위치가 정렬되면, 이름 필드(220 및 222)의 서로 다른 인스턴스가 동일한 위치에서 시작할 것이다. 마찬가지로, 모든 리스트 엘리먼트에서의 모든 제2 그리드선(310 및 312)의 위치가 정렬되면, 이름 필드(220 및 222)의 모든 다른 인스턴스는 동일한 위치에서 끝날 것이다. 이는, 템플릿이 서로 다른 정보의 포함 및 정보에 대한 서로 다른 레이아웃의 사용을 지시하는 경우에도, 이름 필드에 대해, 리스트의 형태를 어느정도 균일하게 할 수 있다.
마찬가지로 모든 제3 그리드선(320 및 322)의 위치가 정렬되고 모든 제4 그리드선(330 및 332)이 정렬된다면, 리스트 엘리먼트의 서로 다른 인스턴스 각각에서, 접촉 정보 필드(240 및 242)가 정렬될 것이다. 도 4는 제1 및 제2 예시적인 템플릿에서의 그리드선에 따라 정렬된 리스트의 블럭도이다. 도 4에서, 리스트(400)는 3개의 리스트 엘리먼트(401, 402 및 403)를 포함한다. 리스트 엘리먼트(401 및 402)는 제1 예시적인 템플릿에 따라 레이아웃된다. 그러므로 사진(411 및 412)은 제1 템플릿에서의 사진 필드 정보에 따라 레이아웃된다. 이름 정보(421 및 422)는 제1 템플릿에서의 이름 필드 정보에 따라 레이아웃된다. 접촉 정보(441 및 442)는 제1 템플릿에서의 접촉 필드 정보에 따라 레이아웃된다.
리스트 엘리먼트(403)는 제2 예시적인 템플릿에 따라 레이아웃된다. 그러므로 이름 정보(423)는 제2 템플릿에서의 이름 필드 정보에 따라 레이아웃되고, 맴버쉽 정보(433)는 제2 템플릿에서의 맴버쉽 정보 필드에 따라, 접촉 정보는 접촉 정보 필드(443)에 따라 레이아웃된다.
리스트(400)에서, 이름 정보(421, 422 및 423)를 포함하는 영역의 시작 및 끝이 정렬되고, 접촉 정보(441, 442 및 443)를 포함하는 영역의 시작 및 끝이 정렬된 것을 볼 수 있다. 이러한 정렬은 리스트 엘리먼트(401, 402, 및 403) 각각을 디스플레이하는 데에 이용되는 템플릿에서의 그리드선의 정렬에 의한 것이다.
이종의 템플릿들을 위한 정렬의 생성
이종의 템플릿들이 소정의 그리드선에 관련하여 정렬되는 리스트를 생성하는 데에 이용될 수 있게 하기 위하여, 리스트 엘리먼트를 위하여 이용되고 있는 템플릿은 특정 열 계산을 인터페이스의 요소에 포함한다. 그리드선에 대한 위치를 계산할 때마다 템플릿은 인터페이스의 구현자에게 의탁한다. 인터페이스의 구현자에 대한 디폴트는 템플릿 자체가 되어서 리스트의 문맥에 위치되지 않는 템플릿은 직 접 그리드선의 위치 대하여 계산할 것이다.
일 실시예에서, 리스트 제어는 리스트에 대한 데이터 아이템에 대해 반복 적용하고, 각 데이터 아이템에 대한 적절한 템플릿을 선택하고, 그 템플릿으로부터 제어의 인스턴스를 생성하고, 그 제어를 자식으로서 추가함으로써 내용물을 생성한다. 각 자식 제어가 추가됨으로써, 열 계산을 제어하는 인터페이스는 리스트 제어의 열 계산 인터페이스로 설정된다. 이 방식은, 자식에 대한 템플릿이 열 폭을 결정함에 있에서 그리드선의 위치를 계산할 때에, 이 템플릿은 리스트 제어, 특히 리스트 제어의 구현된 열 계산 인터페이스에 의탁할 것이다.
일 실시예에서, 템플릿은 템플릿이 정의한 필드 및 이 템플릿에 위치될 데이터에 대한 공간 요구사항에 기초하여 그리드선의 예비 계산을 한다. 리스트 제어의 열 계산 인터페이스는 이러한 예비 계산의 결과에 대하여 각 리스트 엘리먼트에 질의한다. 그 다음 리스트 제어의 열 계산 인터페이스는 이들 계산 및 임의의 추가적인 정책 및 제약사항에 기초하여 그리드선에 대한 위치를 계산한다. 그 다음 그리드선에 대한 위치는 인터페이스를 통하여 템플릿으로 반환된다.
도 5는 본 발명의 일 실시예에 따르는 리스트 제어를 도시하는 블럭도이다. 도 5에 도시된 바와 같이, 리스트 제어(530)는 열 계산 인터페이스 - 그리드선 관리 인터페이스(520)를 포함한다. 각 리스트 엘리먼트(550A 내지 500N)는 (각각) 템플릿 레이아웃 정책(510A 내지 510N)을 포함한다. 서로 다른 템플릿이 리스트 엘리먼트(550A 내지 500N)를 생성하는 데에 이용될 수 있다. 각 템플릿 레이아웃 정책(510A 내지 510N)은 리스트 엘리먼트를 위하여 이용될 템플릿으로부터 유도된 다. 템플릿 레이아웃 정책들은 리스트 엘리먼트의 레이아웃을 기술한다. 그러나, 도 5에 도시된 바와 같이, 리스트 제어(530)에서, 레이아웃 정책(510A 내지 510N)은 특정 열 배치들에 대하여 그리드선 관리 인터페이스(520)에 의탁한다. 도시된 바와 같이, 특정 그리드선의 배치는 그리드선 관리자 인터페이스(520)에 의해 결정된다. 이러한 방식으로, 이종의 템플릿들이 화합된다.
관리 제어는 템플릿 및 리스트 데이터를 이용하여 디스플레이 정보를 생성한다. 도 6은 본 발명의 일 실시예에 따른 리스트 데이터 집합에 대한 디스플레이 정보를 생성하는 예시적인 방법을 도시한다. 리스트 데이터는 리스트 엘리먼트 데이터의 집합으로 그루핑(group)된다. 리스트 엘리먼트 데이터의 각각의 집합은 리스트 엘리먼트에 대한 부-엘리먼트들을 포함한다. 예를 들면, 리스트 엘리먼트 데이터는 하나의 리스트 엘리먼트에 디스플레이될 사진, 이름, 및 접촉 정보를 포함할 수 있다.
도 6에 도시된 바와 같이, 단계(600)에서, 리스트 엘리먼트 데이터의 각 집합에 대하여, 템플릿이 선택된다. 템플릿은 적어도 2개의 가능한 템플릿의 템플릿 집합으로부터 선택된다. 각각의 가능한 템플릿은 리스트 엘리먼트 데이터에 대한 그래픽적 레이아웃을 계산하기 위하여 레이아웃 정책을 제공한다. 가능한 템플릿 중 적어도 2개가 적어도 하나의 그리드선의 위치에 의존하여 리스트 엘리먼트 데이터에 대한 그래픽적 레이아웃을 결정한다. 일 실시예에서, 하나 이상의 그리드선이 리스트 엘리먼트 데이터에 대한 그래픽적 레이아웃을 결정하는 데에 템플릿에 의해 이용될 수 있다.
단계(610)에서, 임의의 템플릿에 의한 사용을 위하여 인터페이스가 제공된다. 인터페이스는 사용될 그리드선의 위치를 구축하는 정보를 제공한다. 이는 그리드선을 사용하는 템플릿으로부터의 그리드선의 위치에 따르는 예비 정보를 요청함으로써 이루어질 수 있다. 이 방식에서, 인터페이스가 그리드선 위치를 결정할 때, 리스트 엘리먼트에 대한 템플릿의 요구사항이 고려된다. 하나의 그리드선을 위치시키는 것이 기술되었지만, 하나 이상의 그리드선 또한, 예비 그리드선 위치에 대하여 템플릿된 리스트 엘리먼트에 질의한 다음 그리드선에 대한 위치를 결정하기 위하여 이들 질의된 위치(및 다른 리스트 레이아웃 정보)를 이용하는 인터페이스를 통하여, 동일한 방식으로 위치될 수 있다.
특정 그리드선의 위치를 결정하는 인터페이스 및 템플릿을 이용하여 각 리스트 엘리먼트에 대한 레이아웃이 결정된다. 도 7은 본 발명의 일 실시예에 따른 리스트 엘리먼트 데이터의 그래픽적 레이아웃을 결정하는 예시적인 방법을 도시한다. 도 7에 도시된 바와 같이, 단계(700)에서, 리스트 엘리먼트 데이터에 대하여, 적어도 2개의 가능한 템플릿의 템플릿 집합으로부터 템플릿이 선택된다. 각각의 가능한 템플릿은 적어도 하나의 그리드선의 위치에 기초하는 리스트 엘리먼트 데이터의 소위 부분집합의 그래픽적 레이아웃을 계산하기 위하여 대응하는 레이아웃 정책을 제공한다. 단계(710)에서, 인터페이스를 이용하여 선택된 그리드선에 대한 위치를 요청한다. 단계(720)에서 이 선택된 그리드선의 위치를 이용하여 리스트 엘리먼트 데이터에 대한 그래픽적 레이아웃을 계산한다.
1-차원의 레이아웃 제어
본 발명의 예시적인 실시예는 열 폭 제어에 관련하여 기술되었지만, 임의의 차원에서의 리스트 엘리먼트의 화합이 고려된다. 그러므로, 리스트가 서로의 옆에 좌우방향으로 정렬된 리스트 엘리먼트들로 레이아웃되는 경우에서, 본 발명의 기법은 리스트 엘리먼트의 부-엘리먼트의 세로방향 정렬을 제어하는 데에 이용될 수 있다. 1차원에서의 복수의 리스트 엘리먼트의 어떠한 화합도 본 발명의 기법에 따라 수행될 수 있다.
결론
상술한 바와 같이, 본 발명의 예시적인 실시예가 다양한 컴퓨팅 장치에 관련하여 기술되었지만, 기본적인 개념이 임의의 컴퓨팅 장치 또는 시스템에 적용될 수 있다.
본 명세서에서 기술된 다양한 기법이 하드웨어 또는 소프트웨어에 관련하여, 또는 적절한 경우 이 둘의 조합과 관련하여 구현될 수 있다. 그러므로, 본 발명의 방법 및 장치, 또는 특정 양태나 그 일부가 플로피 디스켓, CD-ROM, 하드 드라이브, 또는 임의의 다른 기기-판독가능 저장 매체와 같은 실질적인 매체에 실시되는 프로그램 코드(즉, 명령어)의 형태를 취할 수 있는데, 여기에서 프로그램 코드가 컴퓨터와 같은 기기로 로딩되고 이 기기에 의해 실행될 때, 이 기기는 본 발명을 실행하는 장치가 된다. 프로그램가능한 컴퓨터에서 프로그램 코드를 실행하는 경우에, 컴퓨팅 장치는 일반적으로 프로세서, (휘발성 및 비휘발성 메모리 및/또는 저장 구성요소를 포함하는) 프로세서가 판독할 수 있는 저장 매체, 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치를 포함할 수 있다. 원한다면, 프로그램( 들)은 어셈블리 또는 기계어로 구현될 수 있다. 임의의 경우에서, 언어는 컴파일되는 언어 또는 해석되는 언어일 수 있고, 하드웨어 구현과 결합될 수 있다.
본 발명의 방법 및 장치는 전자 배선화 또는 케이블링, 광 섬유 또는 임의의 다른 형태의 전송 등의, 몇몇의 전송 매체를 통해 전송되는 프로그램 코드의 형태로 실시되는 통신을 통하여 실행될 수도 있는데, 여기서 프로그램 코드가 수신되고, EPROM, 게이트 어레이(array), 프로그램가능한 논리 장치(PLD), 클라이언트 컴퓨터 등의 기기에 로딩되고 이 기기에 의해 실행될 때, 이 기기는 본 발명을 실행하는 장치가 된다. 범용 프로세서에서 구현될 때, 프로그램 코드는 프로세서와 결합되어 본 발명의 기능을 수행하도록 동작하는 고유한 장치를 제공한다. 또한, 본 발명에 관련하여 이용된 임의의 저장 기법이 변함없이 하드웨어와 소프트웨어의 조합일 수 있다.
본 발명은 다양한 도면의 바람직한 실시예와 연관지어 기술되었지만, 다른 유사한 실시예가 이용되거나 본 발명을 벗어나지 않고 본 발명의 동일한 기능을 수행하는 상술된 실시예에 변형 및 추가가 이루어질 수 있다고 이해되어야 한다. 그러므로, 본 발명은 임의의 하나의 실시예로 제한되어서는 안되며, 오히려 특허 청구범위에 따르는 범위 및 영역에서 해석되어야 한다.
본 발명은 복잡한 겸침 행위를 할 수 있게 하고 복잡함 없이 지능적으로 크기 계산을 수행하는 향상된 리스트 제어에 관한 것이다. 이를 수행하기 위하여, 리스트 제어에 그리드 레이아웃 기능을 제공한다.
리스트와 템플릿된 리스트 엘리먼트 간에서 통신할 수 있도록 하는 인터페이스가 제공된다. 이종의 템플릿들을 이용하는 엘리먼트를 가지는 리스트에서의 열-정렬된(또는 행-정렬된) 결과를 제공하기 위하여, 템플릿들은 열 계산(또는 행 계산)을 수행하는 인터페이스에 의존한다. 템플릿은, 리스트의 일부로서 포함될 때, 인터페이스의 구현자로서 리스트에 의탁한다. 디폴트에 의해, 구현자는 템플릿 자체가 되어서, 리스트의 문맥에 위치되지 않는 템플릿은 자신의 고유한 행 또는 열 폭을 계산할 것이다.

Claims (37)

  1. 리스트 데이터의 집합에 대한 디스플레이 정보를 생성하는 방법으로서,
    상기 리스트 데이터는 적어도 하나의 리스트 엘리먼트 데이터의 집합을 포함하고,
    리스트 엘리먼트 데이터의 각 집합에 대하여, 적어도 2개의 가능한 템플릿의 템플릿 집합으로부터 템플릿을 선택하는 단계, - 상기 가능한 템플릿 각각은 리스트 엘리먼트 데이터의 부분집합의 그래픽적 레이아웃을 계산하기 위하여 대응하는 레이아웃 정책을 제공하고, 상기 대응하는 레이아웃 정책 중 적어도 2개는 그리드선(gridline)의 위치에 기초하여 그래픽적 레이아웃을 제공함 - ,
    상기 템플릿 각각에 의한 사용을 위하여 인터페이스를 제공하는 단계, - 상기 인터페이스는 상기 그리드선의 상기 위치를 구축하는 정보를 제공함 -
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 선택된 템플릿 및 상기 대응하는 레이아웃 정책에 따라서 상기 리스트 엘리먼트 데이터의 집합 각각을 디스플레이함으로써 상기 리스트 데이터를 디스플레이하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 인터페이스는, 상기 집합에 대하여 상기 선택된 템플릿이 적어도 하나의 그리드선의 위치에 기초하여 리스트 엘리먼트 데이터를 디스플레이하기 위하여 대응하는 레이아웃 정책을 제공하는 리스트 엘리먼트 데이터의 집합 각각에 대하여, 상기 그리드선에 대한 위치의 예비 계산을 결정함으로써, 상기 그리드선의 상기 위치를 구축하는 방법.
  4. 제1항에 있어서,
    상기 그리드선은 상기 리스트 데이터에 대한 열 경계를 포함하는 방법.
  5. 제1항에 있어서,
    상기 방법은 리스트 제어로 구현되는 방법.
  6. 제1항에 있어서,
    상기 그래픽적인 레이아웃은 상기 리스트 엘리먼트 데이터의 집합 내의 리스트 엘리먼트 데이터의 적어도 하나의 아이템에 대한 경계 정보를 포함하는 방법.
  7. 제1항에 있어서,
    상기 집합에 대하여 상기 선택된 템플릿이 상기 그리드선의 상기 위치에 기초하여 리스트 엘리먼트 데이터를 디스플레이하기 위한 대응 레이아웃 정책을 제공하는 리스트 엘리먼트 데이터의 집합 각각에 대하여, 상기 경계 정보는 상기 그리 드선에 기초하여 리스트 엘리먼트 데이터의 적어도 하나의 아이템에 대한 경계를 정의하는 방법.
  8. 제1항에 있어서,
    상기 대응하는 레이아웃 정책들 중 적어도 2개가 2개 이상의 그리드선의 위치에 기초하여 그래픽적 레이아웃을 제공하고, 상기 인터페이스는 상기 2개 이상의 그리드선 각각에 대한 위치를 구축하는 정보를 제공하는 방법.
  9. 리스트 엘리먼트 데이터의 그래픽적 레이아웃을 결정하는 방법으로서,
    적어도 2개의 가능한 템플릿의 템플릿 집합으로부터 템플릿을 선택하는 단계 - 상기 가능한 템플릿 각각은 적어도 하나의 그리드선의 위치에 기초하여 상기 리스트 엘리먼트 데이터의 그래픽적 레이아웃을 계산하기 위하여 대응하는 레이아웃 정책을 제공함 -,
    인터페이스를 이용하여 상기 적어도 하나의 그리드선 중에서 선택된 그리드선에 대한 위치를 요청하는 단계, 및
    상기 위치를 이용하여 상기 리스트 엘리먼트 데이터에 대한 그래픽적 레이아웃을 계산하는 상기 단계
    를 포함하는 방법.
  10. 제9항에 있어서,
    상기 인터페이스로부터의 요청에 응답하여, 상기 적어도 하나의 그리드선에 대한 예비 위치 데이터를 계산하는 단계를 더 포함하는 방법.
  11. 제9항에 있어서,
    상기 선택된 그리드선은 상기 리스트 데이터에 대한 열 경계를 포함하는 방법.
  12. 제9항에 있어서,
    상기 인터페이스는 리스트 제어로 구현되는 방법.
  13. 제9항에 있어서,
    상기 그래픽적 레이아웃은 상기 리스트 엘리먼트 데이터 중에서의 데이터의 적어도 하나의 아이템에 대한 경계 정보를 포함하는 방법.
  14. 제9항에 있어서,
    상기 경계 정보는 상기 적어도 하나의 그리드선들 중 하나에 기초하여 리스트 엘리먼트 데이터의 적어도 하나의 아이템에 대한 경계를 정의하는 방법.
  15. 제9항에 있어서,
    인터페이스를 이용하여 위치를 요청하는 상기 단계는 상기 적어도 하나의 그 리드선 각각에 대한 위치를 요청하는 방법.
  16. 제9항에 있어서,
    상기 인터페이스로부터 요청을 할 때, 상기 리스트 엘리먼트 데이터에 대한 예비 그리드선 위치를 계산하는 단계를 더 포함하는 방법.
  17. 적어도 하나의 리스트 엘리먼트 레이아웃 데이터의 집합을 포함하는 리스트 레이아웃 데이터를 렌더링하는 디스플레이 장치로서,
    상기 리스트 엘리먼트 레이아웃 데이터 각각은
    리스트 엘리먼트 레이아웃 데이터의 집합에 대응하고,
    리스트 엘리먼트 데이터의 각 집합에 대하여, 적어도 2개의 가능한 템플릿의 템플릿 집합으로부터 템플릿을 선택하고 - 상기 가능한 템플릿 각각은 리스트 엘리먼트 데이터의 부분집합의 그래픽적 레이아웃을 계산하기 위하여 대응하는 레이아웃 정책을 제공하고, 상기 대응하는 레이아웃 정책 중 적어도 2개는 적어도 하나의 그리드선의 위치에 기초하여 그래픽적 레이아웃을 제공함 - ,
    상기 템플릿 각각에 의한 사용을 위하여 인터페이스를 제공 - 상기 인터페이스는 상기 적어도 하나의 그리드선의 상기 위치를 구축하는 정보를 제공함 -
    함으로써 계산되는 디스플레이 장치.
  18. 제17항에 있어서,
    상기 인터페이스는, 상기 집합에 대하여 상기 선택된 템플릿이 적어도 하나의 그리드선의 위치에 기초하여 리스트 엘리먼트 데이터를 디스플레이하기 위하여 대응하는 레이아웃 정책을 제공하는 리스트 엘리먼트 데이터의 집합 각각에 대하여, 상기 그리드선에 대한 위치의 예비 계산을 결정함으로써, 상기 그리드선의 상기 위치를 구축하는 디스플레이 장치.
  19. 제17항에 있어서,
    상기 적어도 하나의 그리드선은 상기 리스트 데이터에 대한 열 경계를 포함하는 디스플레이 장치.
  20. 제17항에 있어서,
    상기 리스트 레이아웃 데이터는 리스트 제어에 의해 계산되는 디스플레이 장치.
  21. 제17항에 있어서,
    상기 그래픽적 레이아웃은 상기 리스트 엘리먼트 데이터의 집합 내의 리스트 엘리먼트 데이터의 적어도 하나의 아이템에 대한 경계 정보를 포함하는 디스플레이 장치.
  22. 제17항에 있어서,
    상기 집합에 대하여 상기 선택된 템플릿이 적어도 하나의 그리드선의 상기 위치에 기초하여 리스트 엘리먼트 데이터를 디스플레이하기 위한 대응 레이아웃 정책을 제공하는 리스트 엘리먼트 데이터의 집합 각각에 대하여, 상기 경계 정보는 상기 그리드선에 기초하여 리스트 엘리먼트 데이터의 적어도 하나의 아이템에 대한 경계를 정의하는 디스플레이 장치.
  23. 리스트 데이터의 집합에 대한 디스플레이 정보를 생성하는 컴퓨터-실행가능 명령어를 가지는 컴퓨터 판독가능 매체로서,
    상기 리스트 데이터는 적어도 하나의 리스트 엘리먼트 데이터의 집합을 포함하고,
    상기 명령어는 단계들을 수행하며,
    상기 단계들은
    리스트 엘리먼트 데이터의 각 집합에 대하여, 적어도 2개의 가능한 템플릿의 템플릿 집합으로부터 템플릿을 선택하는 단계, - 상기 가능한 템플릿 각각은 리스트 엘리먼트 데이터의 부분집합의 그래픽적 레이아웃을 계산하기 위하여 대응하는 레이아웃 정책을 제공하고, 상기 대응하는 레이아웃 정책 중 적어도 2개는 그리드선의 위치에 기초하여 그래픽적 레이아웃을 제공함 - ,
    상기 템플릿 각각에 의한 사용을 위하여 인터페이스를 제공하는 단계, - 상기 인터페이스는 상기 그리드선의 상기 위치를 구축하는 정보를 제공함 -
    를 포함하는 컴퓨터 판독가능 매체.
  24. 제23항에 있어서,
    상기 선택된 템플릿 및 상기 대응하는 레이아웃 정책에 따라서 상기 리스트 엘리먼트 데이터의 집합 각각을 디스플레이함으로써 상기 리스트 데이터를 디스플레이하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
  25. 제23항에 있어서,
    상기 인터페이스는, 상기 집합에 대하여 상기 선택된 템플릿이 적어도 하나의 그리드선의 위치에 기초하여 리스트 엘리먼트 데이터를 디스플레이하기 위하여 대응하는 레이아웃 정책을 제공하는 리스트 엘리먼트 데이터의 집합 각각에 대하여, 상기 그리드선에 대한 위치의 예비 계산을 결정함으로써, 상기 그리드선의 상기 위치를 구축하는 컴퓨터 판독가능 매체.
  26. 제23항에 있어서,
    상기 적어도 하나의 그리드선은 상기 리스트 데이터에 대한 열 경계를 포함하는 컴퓨터 판독가능 매체.
  27. 제23항에 있어서,
    상기 그래픽적인 레이아웃은 상기 리스트 엘리먼트 데이터의 집합 내의 리스트 엘리먼트 데이터의 적어도 하나의 아이템에 대한 경계 정보를 포함하는 컴퓨터 판독가능 매체.
  28. 제23항에 있어서,
    상기 집합에 대하여 상기 선택된 템플릿이 상기 적어도 하나의 그리드선의 상기 위치에 기초하여 리스트 엘리먼트 데이터를 디스플레이하기 위한 대응 레이아웃 정책을 제공하는 리스트 엘리먼트 데이터의 집합 각각에 대하여, 상기 경계 정보는 상기 그리드선에 기초하여 리스트 엘리먼트 데이터의 적어도 하나의 아이템에 대한 경계를 정의하는 컴퓨터 판독가능 매체.
  29. 제23항에 있어서,
    상기 대응하는 레이아웃 정책들 중 적어도 2개가 2개 이상의 그리드선의 위치에 기초하여 그래픽적 레이아웃을 제공하고, 상기 인터페이스는 상기 2개 이상의 그리드선 각각에 대한 위치를 구축하는 정보를 제공하는 컴퓨터 판독가능 매체.
  30. 리스트 엘리먼트 데이터의 상기 그래픽적 레이아웃을 결정하는 컴퓨터 실행가능 명령어를 구비하는 컴퓨터 판독가능 매체로서,
    상기 명령어는 단계들을 수행하고
    상기 단계들을
    적어도 2개의 가능한 템플릿의 템플릿 집합으로부터 템플릿을 선택하는 단계 - 상기 가능한 템플릿 각각은 적어도 하나의 그리드선의 위치에 기초하여 상기 리 스트 엘리먼트 데이터의 그래픽적 레이아웃을 계산하기 위하여 대응하는 레이아웃 정책을 제공함 -,
    인터페이스를 이용하여 상기 적어도 하나의 그리드선들 중에서 선택된 그리드선에 대한 위치를 요청하는 단계, 및
    상기 위치를 이용하여 상기 리스트 엘리먼트 데이터에 대한 그래픽적 레이아웃을 계산하는 단계
    를 포함하는 컴퓨터 판독가능 매체.
  31. 제30항에 있어서,
    상기 단계들은
    상기 인터페이스로부터의 요청에 응답하여, 상기 적어도 하나의 그리드선에 대한 예비 위치 데이터를 계산하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
  32. 제30항에 있어서,
    상기 선택된 그리드선은 상기 리스트 데이터에 대한 열 경계를 포함하는 방법.
  33. 제30항에 있어서,
    상기 인터페이스는 리스트 제어로 구현되는 컴퓨터 판독가능 매체.
  34. 제30항에 있어서,
    상기 그래픽적 레이아웃은 상기 리스트 엘리먼트 데이터 중에서의 적어도 하나의 아이템에 대한 경계 정보를 포함하는 컴퓨터 판독가능 매체.
  35. 제30항에 있어서,
    상기 경계 정보는 상기 적어도 하나의 그리드선들 중 하나에 기초하여 리스트 엘리먼트 데이터의 적어도 하나의 아이템에 대한 경계를 정의하는 컴퓨터 판독가능 매체.
  36. 제30항에 있어서,
    인터페이스를 이용하여 위치를 요청하는 상기 단계는 상기 적어도 하나의 그리드선들 각각에 대한 위치를 요청하는 컴퓨터 판독가능 매체.
  37. 제30항에 있어서,
    상기 단계들은
    상기 인터페이스로부터 요청을 할 때, 상기 리스트 엘리먼트 데이터에 대한 예비 그리드선 위치를 계산하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
KR1020050041531A 2004-06-30 2005-05-18 템플릿된 리스트들에서의 정렬된 행위 KR101143191B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/881,253 US7472347B2 (en) 2004-06-30 2004-06-30 Aligned behavior in templated lists
US10/881,253 2004-06-30

Publications (2)

Publication Number Publication Date
KR20060047996A true KR20060047996A (ko) 2006-05-18
KR101143191B1 KR101143191B1 (ko) 2012-05-18

Family

ID=34993329

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050041531A KR101143191B1 (ko) 2004-06-30 2005-05-18 템플릿된 리스트들에서의 정렬된 행위

Country Status (16)

Country Link
US (1) US7472347B2 (ko)
EP (1) EP1612655A3 (ko)
JP (1) JP4829540B2 (ko)
KR (1) KR101143191B1 (ko)
CN (1) CN100543733C (ko)
AU (1) AU2005201993B2 (ko)
BR (1) BRPI0502048A (ko)
CA (1) CA2505956A1 (ko)
MX (1) MXPA05005765A (ko)
MY (1) MY142418A (ko)
NO (1) NO20053091L (ko)
NZ (1) NZ540354A (ko)
RU (1) RU2386171C2 (ko)
SG (1) SG118326A1 (ko)
TW (1) TW200619992A (ko)
ZA (1) ZA200504392B (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496568B2 (en) * 2006-11-30 2009-02-24 International Business Machines Corporation Efficient multifaceted search in information retrieval systems
US8417728B1 (en) * 2007-08-03 2013-04-09 Adobe Systems Incorporated User interfaces, methods, and systems for developing computer applications using artwork
CN102065227A (zh) * 2009-11-17 2011-05-18 新奥特(北京)视频技术有限公司 一种图形图像处理中对象水平和竖直对齐的方法和装置
WO2011136766A1 (en) * 2010-04-28 2011-11-03 Hewlett-Packard Development Company, L.P. System and method for automatically providing a graphical layout based on an example graphic layout
US20110302516A1 (en) * 2010-06-02 2011-12-08 Oracle International Corporation Mobile design patterns
CN102368244B (zh) * 2011-09-08 2013-05-15 广州市动景计算机科技有限公司 页面内容对齐方法、装置及移动终端浏览器
US10133704B2 (en) 2012-11-07 2018-11-20 Microsoft Technology Licensing, Llc Dynamic layout of content in a grid based application
JP2014106882A (ja) * 2012-11-29 2014-06-09 Toshiba Corp 情報処理装置及び表示制御方法
CN103176797B (zh) * 2013-02-21 2015-12-09 用友网络科技股份有限公司 界面布局装置和界面布局方法
CN104423821A (zh) * 2013-08-30 2015-03-18 上海博科资讯股份有限公司 一种拖拽图形时的四线对齐方式
CN105373534B (zh) * 2014-08-12 2020-07-07 腾讯科技(北京)有限公司 列表展示方法、装置及列表展示端
CN104615693A (zh) * 2015-01-23 2015-05-13 深圳市金立通信设备有限公司 一种数据展示方法
CN104615340B (zh) * 2015-01-23 2019-05-14 深圳市金立通信设备有限公司 一种终端
CN112464341B (zh) * 2020-11-25 2024-02-02 北京构力科技有限公司 基于可定义布局模板来布置构件子图的方法和电子设备
US11734496B2 (en) 2021-11-16 2023-08-22 Canva Pty Ltd Systems and methods for generating webpage data for rendering a design

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5272628A (en) * 1990-04-16 1993-12-21 Microsoft Corporation Method and system for aggregating tables having dissimilar formats
US5459826A (en) 1990-05-25 1995-10-17 Archibald; Delbert M. System and method for preparing text and pictorial materials for printing using predetermined coding and merging regimen
US5664076A (en) * 1994-12-27 1997-09-02 Karen A. Pluta Apparatus and method for making a scannable form on a blank sheet
JP3716016B2 (ja) * 1995-09-13 2005-11-16 技術研究組合医療福祉機器研究所 画面探索インタフェース装置
US6596032B2 (en) * 1996-10-15 2003-07-22 Fujitsu Limited Document processing apparatus storing and modifying data using effect data
JPH1166335A (ja) * 1997-08-15 1999-03-09 Fuji Xerox Co Ltd マルチメディアオーサリング装置及び方法
US6560639B1 (en) * 1998-02-13 2003-05-06 3565 Acquisition Corporation System for web content management based on server-side application
JP3531579B2 (ja) * 1999-04-30 2004-05-31 日本電気株式会社 マルチメディア文書生成装置及び方法、及びこれらをコンピュータに実行させるプログラムを記録した記録媒体
US6636648B2 (en) * 1999-07-02 2003-10-21 Eastman Kodak Company Albuming method with automatic page layout
US7124360B1 (en) * 1999-08-04 2006-10-17 William Drenttel Method and system for computer screen layout based on a recombinant geometric modular structure
JP4325075B2 (ja) * 2000-04-21 2009-09-02 ソニー株式会社 データオブジェクト管理装置
US7024621B1 (en) * 2000-05-19 2006-04-04 Renderx Methods and systems for rendering electronic data
ATE459043T1 (de) * 2001-07-27 2010-03-15 Sap Ag Verfahren und rechnersystem zum bereitstellen und verarbeiten einer beschreibung einer menschschnittstelle
US6993726B2 (en) * 2001-08-08 2006-01-31 Xerox Corporation Methods and systems for document navigation using enhanced thumbnails
US20030065638A1 (en) * 2001-09-19 2003-04-03 Jason Robert The method to comstomize the appearance of a wab page by dragging and dropping objects within a web page
US7124398B2 (en) 2002-04-10 2006-10-17 International Business Machines Corporation Rapid GUI refacing of a legacy application
US7574652B2 (en) * 2002-06-20 2009-08-11 Canon Kabushiki Kaisha Methods for interactively defining transforms and for generating queries by manipulating existing query data
US20040001106A1 (en) * 2002-06-26 2004-01-01 John Deutscher System and process for creating an interactive presentation employing multi-media components
US7594181B2 (en) * 2002-06-27 2009-09-22 Siebel Systems, Inc. Prototyping graphical user interfaces
US6785878B2 (en) * 2002-07-31 2004-08-31 Texas Instruments Incorporated Correcting a mask pattern using multiple correction grids
US7019713B2 (en) * 2002-10-30 2006-03-28 The University Of Chicago Methods and measurement engine for aligning multi-projector display systems
US7370271B2 (en) * 2002-10-30 2008-05-06 Actuate Corporation Methods and apparatus for generating a spreadsheet report template
US7644361B2 (en) * 2002-12-23 2010-01-05 Canon Kabushiki Kaisha Method of using recommendations to visually create new views of data across heterogeneous sources
US7237227B2 (en) * 2003-06-30 2007-06-26 Siebel Systems, Inc. Application user interface template with free-form layout
US20050091606A1 (en) * 2003-10-24 2005-04-28 Volker Sauermann Systems and methods for displaying wrapped lists

Also Published As

Publication number Publication date
NO20053091D0 (no) 2005-06-23
RU2386171C2 (ru) 2010-04-10
CN100543733C (zh) 2009-09-23
BRPI0502048A (pt) 2006-02-07
MY142418A (en) 2010-11-30
NO20053091L (no) 2006-01-02
EP1612655A2 (en) 2006-01-04
SG118326A1 (en) 2006-01-27
MXPA05005765A (es) 2006-01-11
JP4829540B2 (ja) 2011-12-07
US20060005120A1 (en) 2006-01-05
TW200619992A (en) 2006-06-16
RU2005115916A (ru) 2006-11-20
KR101143191B1 (ko) 2012-05-18
EP1612655A3 (en) 2012-05-02
US7472347B2 (en) 2008-12-30
CA2505956A1 (en) 2005-12-30
AU2005201993B2 (en) 2010-08-19
JP2006018822A (ja) 2006-01-19
ZA200504392B (en) 2007-03-28
AU2005201993A1 (en) 2006-01-19
NZ540354A (en) 2007-02-23
CN1716252A (zh) 2006-01-04

Similar Documents

Publication Publication Date Title
KR101143191B1 (ko) 템플릿된 리스트들에서의 정렬된 행위
US10585980B2 (en) Methods and a computing device for maintaining comments and graphical annotations for a document
KR101546732B1 (ko) 미리 정의된 레이아웃들을 이용한, 이미지들 및 관련 텍스트의 동적 레이아웃
US8762832B2 (en) Constraint and rule-based page layout
JP5284509B2 (ja) ページ分割されたコンテンツを表示し、それと対話するための方法およびシステム
US20090327853A1 (en) Comparing And Selecting Form-Based Functionality
JP2005216175A (ja) レイアウト調整方法および装置およびレイアウト調整プログラム
WO2011075295A1 (en) Method for tracking annotations with associated actions
US8504915B2 (en) Optimizations for hybrid word processing and graphical content authoring
CN103955358B (zh) 内嵌地提供在应用程序内的可修改的上下文帮助内容
JP2004110427A (ja) Webコンテンツ変換方法及びシステム
EP1691278B1 (en) Method and computer system for editing documents
US8413062B1 (en) Method and system for accessing interface design elements via a wireframe mock-up
TWI522824B (zh) 從資料集詮釋資料產生表單驗證程式與對應表單介面之方法
JP2009509196A (ja) 画面要素の位置決め
Manca et al. Extending MARIA to support distributed user interfaces
Manca et al. Flexible support for distributing user interfaces across multiple devices
RU2752777C1 (ru) Способ компьютерного увеличения и центрирования объектов в веб-браузере
KR20190115401A (ko) 링크 뷰 방법, 링크 뷰 장치 및 링크 뷰 프로그램
Reitz et al. Minerva: A component-based framework for Active Documents
JP4743909B2 (ja) 情報処理方法および装置およびコンピュータプログラム
JP2002073691A (ja) 建物用cadシステム
KR20200091727A (ko) 3차원 모델 컨트롤 기능을 가지는 3차원 모델용 pdf 문서 생성 방법 및 이를 실행하는 장치
Kalyanasamy Adaptive interfaces for application defragmentation in diverse operating contexts
JP2018195010A (ja) レイアウト領域の表現を埋め込んでhtml文書およびepub書籍を作成するプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 8