KR100633496B1 - 2 계층 페이스트 버퍼 및 디스플레이 - Google Patents

2 계층 페이스트 버퍼 및 디스플레이 Download PDF

Info

Publication number
KR100633496B1
KR100633496B1 KR1020047001461A KR20047001461A KR100633496B1 KR 100633496 B1 KR100633496 B1 KR 100633496B1 KR 1020047001461 A KR1020047001461 A KR 1020047001461A KR 20047001461 A KR20047001461 A KR 20047001461A KR 100633496 B1 KR100633496 B1 KR 100633496B1
Authority
KR
South Korea
Prior art keywords
insertion point
user
display
clipboard
obj
Prior art date
Application number
KR1020047001461A
Other languages
English (en)
Other versions
KR20040075851A (ko
Inventor
카리 리 배테스
길포드 프랜시스 마티노
존 매튜 산토수오소
빈센트 토마스 3세 티몬
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 KR20040075851A publication Critical patent/KR20040075851A/ko
Application granted granted Critical
Publication of KR100633496B1 publication Critical patent/KR100633496B1/ko

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)
  • Devices For Indicating Variable Information By Combining Individual Elements (AREA)
  • Cathode-Ray Tubes And Fluorescent Screens For Display (AREA)
  • Electrochromic Elements, Electrophoresis, Or Variable Reflection Or Absorption Elements (AREA)
  • User Interface Of Digital Computer (AREA)
  • Road Signs Or Road Markings (AREA)
  • Digital Computer Display Output (AREA)

Abstract

본 발명은 클립보드에 복사된 디스플레이 대상물을 삽입하는 시스템 및 방법을 제공한다. 유저는 클립보드에 복사될 대상물을 선택한다. 시스템은 추가의 대상물을 선택하여 클립보드에 복사한다. 유저는 유저가 선택한 대상물에 대한 삽입 지점을 선택하고, 시스템은 유저가 선택한 대상물과 선택적인 추가의 대상물을 유저에게 디스플레이한다. 다른 특정 실시예에 따르면, 시스템이 선택한 대상물은, 유저가 선택한 대상물이 삽입 지점에서의 상황에서 구문상 정확한지를 렌더링하는 데 필요한 대상물이다.
클립보드, 구문, 2 계층, 붙여넣기, 복사, 삽입, 삽입 지점, 렌더링

Description

2 계층 페이스트 버퍼 및 디스플레이{TWO TIER PASTE BUFFER AND DISPLAY}
본 발명은 화상 처리(front-of-screen processing)에 관한 것이다. 보다 상세히는, 본 발명은 2 계층(two tier)의 클립보드 또는 버퍼를 사용하여 숫자, 텍스트, 혹은 코드를 복사(copy)하여 붙여넣는(paste) 것에 관한 것이다.
유저가 선택한 디스플레이 데이터 등의 대상물(material)을 복사하여 또 다른 디스플레이 영역으로 붙여넣는 데 클립보드나 버퍼가 제공된다는 것은 본 기술 분야에 공지된 것이다. 도 1을 참조하여 보면, 단계 10에서는 삭제(delete)하거나 복사할 대상물 또는 그 일부분을 블럭으로 잡는(하이라이트 표시하는) 통상의 방법에 의해 상기의 선택이 행해진다. 단계 12에서는 클립보드로 옮겨질 대상물(숫자, 텍스트, 코드 등)이 원래의 위치에서 제거될 수도 있고(삭제 동작), 남겨질 수도 있다(복사 동작). 단계 14에서는 유저가 (통상적으로 커서를 소정의 위치에 둠으로써) 삽입 위치를 선정하고, 단계 16에서는 유저가 그 삽입 위치에 클립보트의 내용을 붙여넣는다.
유저는 때때로 희망하지 않거나 구문(syntax)상 정확하지 않은 디스플레이 데이터를 블럭으로 잡는 경우가 있다. 예컨대, 유저는 처리 중에 1개 이상의 숫자를 빠뜨린 전화 번호 일부분만을 블럭으로 잡을 수 있다. 마찬가지로, 프로그래머 는 선택한 소스 코드를 블럭으로 잡거나 하이라이트로 표시하여 코드 중의 또 다른 섹션에 붙여넣는 도중에 구문이 정확해야 할 코드 구조 중 일부를 누락시킬 수도 있다.
대상물을 임의의 한 디스플레이 위치로부터 제2의 위치로 복사하는 개선된 시스템 및 방법이 제공될 필요가 있다.
또한, 부분적으로 블럭으로 잡힌 데이터가 온전히 복사되는 것을 보장하기 위한 시스템 및 방법이 제공될 필요가 있다.
또한, 부분적으로 선택된 데이터 부분에 대해 구문상 완전한 데이터가 복사되는 것을 보장하기 위한 시스템 및 방법이 제공될 필요가 있다.
클립보드에 복사된 디스플레이 대상물을 삽입하는 시스템 및 방법을 제공한다. 유저는 클립보드에 복사될 대상물을 선택한다. 시스템은 추가의 대상물을 선택하여 클립보드에 복사한다. 유저는 유저가 선택한 대상물에 대한 삽입 지점을 선택하고, 시스템은 유저가 선택한 대상물과 선택적인 추가의 대상물을 유저에게 디스플레이한다. 다른 특정 실시예에 따르면, 시스템이 선택한 대상물은, 유저가 선택한 대상물이 삽입 지점의 상황에 구문상 정확한지를 렌더링(rendering)하는 데 필요한 대상물이다.
본 발명의 일 특성에 따르면, 유저가 선택하고 추가로 시스템이 선택한 대상물을 컴퓨터 디스플레이 모니터의 삽입 지점에 디스플레이하도록 동작될 수 있게 구성된 컴퓨터 프로그램 제품(product)이 제공된다.
본 발명의 일 장점은, 대상물을 어느 한 디스플레이 위치로부터 제2의 위치로 복사하는 개선된 시스템 및 방법을 제공하는 것이다.
본 발명의 일 장점은, 부분적으로 블럭으로 잡힌 데이터가 온전히 복사되는 것을 보장하는 시스템 및 방법을 제공하는 것이다.
본 발명의 일 장점은, 부분적으로 선택된 데이터 부분에 대해 구문상 완전한 데이터가 복사되는 것을 보장하는 시스템 및 방법을 제공하는 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 대해 설명한다. 이 설명은 오직 예시를 목적으로 한 것이다.
도 1은 종래 기술의 잘라내기(cut)/복사 및 붙여넣기 동작을 나타내는 흐름도.
도 2는 본 발명의 바람직한 실시예의 2 계층 잘라내기/복사 및 붙여넣기 동작을 나타내는 흐름도.
도 3은 본 발명의 바람직한 실시예에 따른 2 계층 클립보드를 구현하기 위한 데이터 구조에 대한 개략도.
도 4는 본 발명의 2 계층 클립보드 동작에 대한 또 다른 실시예를 나타내는 흐름도.
도 2를 참조하여, 복사/잘라내기 및 붙여넣기 동작을 수행하는 본 발명의 바람직한 방법 실시예를 설명한다. 단계 20에서, 유저는 복사할 대상물을 선택한다. 도 2에서는 프로그래밍 코드에 관련하여 그 동작을 설명하지만, 복사 및 붙여넣기할 대상물은 텍스트, 숫자, 코드, 표 데이터(tabular data), 그래픽 데이터 혹은 이들의 조합물 등의 임의의 대상물일 수 있다. 단계 22에서, 유저는 선택한 대상물을 제1 계층 클립보드에 복사하고, 단계 24에서, 시스템은 추가의 대상물 - 통상적으로는 대상물 주변 - 을 선택하여 이를 제2 계층 클립보드에 부가한다. 이러한 제1 계층 클립보드 및 제2 계층 클립보드는 예컨대, 저장 장치 내에서 개별 개소로서 구현되거나, 적절한 포인터들을 구비한 단일 개소로서 구현될 수 있다. 단계 26에서, 유저는 삽입 지점을 선택하고, 붙여넣기 커맨드를 실행시킨다. 단계 28에서, 시스템은 (제1 컬러나 볼드체(bold type) 등의 제1 방식으로서) 하이라이트 표시된 제1 계층의 대상물과 (제2 컬러나 이탤릭체(italic type) 등의 제2 형식으로) 하이라이트 표시된, 선택적으로 추가된 대상물을 갖는 제2 계층의 대상물을 삽입함으로써 응답한다. 단계 30에서, 유저는 삽입 지점에 넣어질 삽입 코드 부분을 선택한다.
하이라이트로 표시하는 목적은, 선택된 대상물 외의 대상물이 붙여넣어진 것을 유저에게 보여주기 위한 것뿐만 아니라, 유저가 추가의 대상물을 수락하거나 혹은 제거할 수 있게 하는 것이다. 이는, 예컨대 텍스트의 경우, 유저가 하이라이트 표시된 텍스트에 커서를 위치시키고 이를 클릭함으로써 이루어진다. 그러면, 하이라이트 표시는 없어지고, 해당 텍스트는 삽입 지점에 있게 된다. 텍스트를 제거하기 위해서는, 예를 들면 유저가 delete 키를 조작하거나, 커서를 임의의 다른 곳으로 이동시켜서 편집할 수 있다. 또한, 유저가 추가의 대상물에의 편집에 착수할 경우, 이 추가의 대상물은 존속될 수 있다.
또 다른 예로는 전화 번호를 들 수 있다. 즉, 전화 번호 555-1212가 디스플레이되었고, 단계 20에서 유저는 복사 시에 555-121 부분만을 블럭으로 잡거나 선택하였다고 가정한다. 단계 22에서, 유저가 이 일부분을 전화 번호로서 포맷이 지정된 입력 필드에 복사하면, 입력 필드를 제어하는 애플리케이션은 통상적으로 구문의 유효 여부를 확인하는 코드를 실행하고, 상기 블럭으로 잡힌 부분이 유효하지 않다(invalid)고 판정하게 된다. 이 경우, 애플리케이션은 제2 계층의 클립보드에 액세스하여 전화 번호를 온전히 갖고 있는 텍스트를 획득하고, 단계 28에서, 유저에게 (추가의 대상물인 두번째 "2"를 하이라이트 표시한) 555-1212를 디스플레이한 다음, 단계 30에서, 유저가 하이라이트 표시된 부분을 클릭하여 이 완전한 전화 번호를 승인하게 한다.
제2 계층의 클립보드에 부가하거나 제2 계층의 클립보드로부터 제거될 대상물을 선택하는 대체예는 여러 가지로 구현될 수 있다. 예를 들면, 붙여넣기 위해 선택된 대상물의 바로 위, 바로 아래에 하나 이상의 코딩 괄호(coding bracket)를 포함하는 코드 대상물이 제2 계층에 포함되도록 선택될 수 있다. 다른 대안으로는, 선택된 코드 일부분을 컴파일하는 데 필요한 상기 코딩 괄호만 포함시킬 수 있다. 이는, 여는 괄호와 닫는 괄호의 수가 동일하다는 데 기반한다. 혹은, 완전한 while 루프(loop)나 if/then/else 문장(statement)과 같이 소정의 기능을 완료하는 데 필요한 제2 계층 대상물을 제2 계층에 포함시킨다. 혹은, 블럭으로 잡힌 대상물의 위 및/또는 아래의 라인 번호를 제2 계층에 복사할 수 있다. 상술한 기법들 은 제2 계층용의 대상물을 선택하기 위한 여러 기법들의 예시일 뿐이다.
도 3을 참조하면, 본 발명의 바람직한 실시예를 구현하는 데 있어서 제어기에 의해 액세스되거나 사용되는 데이터 구조의 개략도가 나타나 있다. 원래의 디스플레이(50)는 예컨대 수 라인의 대상물 - 여기서는 텍스트 또는 코드 텍스트 - 을 유저에게 보여준다. 유저는 디스플레이(50)에 나타나 있는 텍스트 중 일부(52)를 블럭으로 잡거나 혹은 이와 다른 방법으로 선택할 수 있다. 이 때, 선택된 부분의 상측에 있는 텍스트(54)와 하측에 있는 텍스트(56)가 정해진다.
클립보드(58)는 제1 계층부(64) 및 제2 계층부(70)를 포함하며, 상기 선택된 텍스트(52)는 실선(51)으로 표시된 바와 같이 선택 텍스트(62)로서 제1 계층부(64)로 로딩(loading)되고, 또한 실선(53)으로 표시된 바와 같이 선택 텍스트(72)로서 제2 계층부(70)로 로딩된다. 상측 텍스트(54)의 일부와 하측 텍스트(56)의 일부는 각각 실선(55) 및 실선(57)으로 표시된 바와 같이 상측부(74) 및 하측부(76)로서 제2 계층부(70)로 복사된다.
가상(virtual) 디스플레이(80)는 제1 계층부(64)로부터 선택 텍스트(62)를 수신하여, 이를 실선(61)으로 표시된 바와 같이 선택 텍스트(82)로서 대상물 상측 삽입부(84)와 하측 삽입부(86) 사이의 삽입 지점에 위치시킨다. 본 발명의 대체예에 따르면, 선택 텍스트(82)가 구문상 정확하다고 판정된 경우에, 실선(85)으로 표시된 바와 같이, 유저 프리젠테이션 디스플레이(100)를 제공하지 않고 곧바로 결과 디스플레이(110)를 생성할 수 있다. 이러한 방식에 의하면, 유저는 자신이 선택한 선택 텍스트(92)를 승인하거나 선택 텍스트(92) 및/또는 상측 선택부(94) 및/또는 하측 선택부(96)로부터 텍스트를 제거할 필요없이 결과 디스플레이(110)를 제공받을 수 있다.
그러나, 선택 텍스트(82)가 구문상 혹은 이와 다른 방식에서 부정확하다고 판정된 경우에, (이탤릭체 등의 제2 방식의 하이라이트 표시되는) 선택 텍스트의 상측부(94) 및/또는 하측부(96)를 포함하는, 제2 계층(70)으로부터 선택된 대상물이, 상측 삽입부(90)와 하측 삽입부(98) 사이의 삽입 지점에 프리젠테이션 디스플레이(100)의 선택 텍스트(92)로서 (볼드체 등의 제1 방식의 하이라이트 표시로) 하이라이트 표시되어 디스플레이된다. 결과 디스플레이(110)는, 실선(91)으로 표시된 바와 같이, 실선(93)으로 표시된 삽입 지점 상측의 대상물(114)과 실선(95)으로 표시된 삽입 지점 하측의 대상물(116) 사이에 있는 확정된 선택 텍스트(112)를 포함한다. 확정된 선택 텍스트(112)는, 처음 블럭으로 잡힌 즉, 선택된 텍스트(52)의 프리젠테이션 디스플레이 복사본(92)과, (필요한 경우에) 대상물(94, 96)에서의 유저 선택 부분을 포함한다.
동작에 있어서는 도 3과 관련하여 도 4를 참조하면, 단계 120에서, 유저는 텍스트 일부(52)를 선택하고, 단계 122에서, 유저는 이를 클립보드(58)의 제1 계층부(64)에 복사한다. 시스템은 상측 텍스트(54)와 하측 텍스트(56)를 선택하여 이를 클립보드(58)의 제2 계층부(70)에 복사한다. 단계 126에서, 유저는 삽입 지점을 선택하고, 단계 128, 130에서, 시스템은 (가상 디스플레이(80)가 제공하는 바와 같이) 선택 텍스트(82)가 대상물 상측 삽입부(84)와 대상물 하측 삽입부(86)의 상황에 구문상 혹은 이와 다른 방식에 정확한지의 여부를 평가한다. 구문이 정확한 경우, 실선(85)으로 표시되고 단계 132에 나타나 있는 바와 같이, 시스템은 제1 계층의 클립보드의 대상물을 확정된 선택 텍스트(112)로서 결과 디스플레이(110)에 붙여넣는다 (단계 140). 구문이 정확하지 않은 경우에는, 단계 134에서, 시스템은 가능한 한 유저가 선택한 부분(92)이 삽입 지점에서 구문상 정확하게 되도록 하기 위하여, 제2 계층부(70)로부터의 선택 텍스트(72, 92)의 상측 텍스트(74) 및/또는 하측 텍스트(76)를 선택하고, 단계 136에서, 상측 삽입부(90)와 하측 삽입부(98) 사이의 삽입 지점에, 유저가 선택한 텍스트(92)와 시스템이 선택한 텍스트(94, 96)를, 그 대상물(92, 94, 96)에 대해 적절한 방식으로 하이라이트 표시하여 유저에게 보여준다. 단계 138에서, 유저는 디스플레이(100)에 표시된 대상물(92, 94, 96)을 살펴보고 유효성을 확인하여 희망하는 대로 취사 선택한다. 단계 140에서, 상측 선택 대상물(94)과 하측 선택 대상물(96)에서 유저가 선택한 임의의 대상물을 포함한 확정된 선택 텍스트는 상측 삽입 대상물(114)과 하측 삽입 대상물(116) 사이의 삽입 위치에 디스플레이된다.
본 발명의 또 다른 실시예에 따르면, 유저는 디스플레이에서 클립보드 또는 버퍼에 복사하기 위한 대상물 부분을 선택하고, 시스템은 상기 디스플레이에서 추가의 대상물을 클립보드에 복사한다. 추가의 대상물 즉, 그 컨텐트(content)의 양은 복사를 행하는 애플리케이션에 따르며, 얼마나 많은 추가의 컨텐트가 포함될지에 관한 결정도 또한 복사를 행하는 애플리케이션에서 행해진다. 유저가 클립보드 컨텐트를 삽입 지점으로 결정된 위치에 붙여넣으려 할 경우, 컨텐트 즉, 대상물을 수신한 애플리케이션은 클립보드를 조사하여 그 컨텐트가 붙여넣어질 위치에 적절 하게 형성된 것인지의 여부를 판정한다. 적절하게 형성된 것이 아니라면, 클립보드에 포함되어 있는 추가의 컨텐트를 조사하고, 이러한 선택에 대해 대안이 되는 개시 위치 및 종료 위치를 테스트하여, 추가의 컨텐트를 이용하여 적절하게 형성된 컨텐트를 구성할 수 있는지의 여부를 판정한다. 적절하게 형성된 것이라면, 적절하게 형성된 대상물을 하이라이트 표시된 추가의 컨텐트와 함께 소정의 장소에 붙여넣는다. 유저가 이 추가의 대상물을 무시하거나, 그 일부 혹은 전부를 선택할 수 있는 옵션을 제공하여도 좋다.
표 1, 표 2, 표 3은, 선택된 대상물이 구문상 부정확하여 실패(failure)가 되는 코드 대상물에 대하여 그 하측 라인을 포함하는 경우와 그 상측 라인을 포함하는 경우와 그 하측 라인 및 상측 라인을 모두 포함하는 경우를 각각 포함하는 프리젠테이션 디스플레이(100)의 생성예를 나타낸 것이다.
표 1 하측 라인을 포함하는 제2 계층
이하와 같이 routineA로부터 시작해 보자 :
202 routineA( rec *list, char key )
203 {
204 rec *obj;
205 obj = list;
206 while( obj != NULL )
207 {
208 if( strcmp( obj -> key, key )
209 {
210 register( FOUND, obj );
211 break;
212 }
213 obj = obj -> next;
214 }
215 return;
216 }
유저가 routineA로부터 우연히 혹은 '실수'로 라인 206∼214의 완전한 while 루프를 포함하지 않는 라인 206∼212를 포함하는 제1 계층의 코드 segment A를 선택했고 :
206 while( obj != NULL )
207 {
208 if( strcmp( obj -> key, key )
209 {
210 register( FOUND, obj );
211 break;
212 }
텍스트(볼드체로 표시된 라인 206∼212의 코드 segment A)를 아래의 루틴(라인 217∼220의 routineB) 안에 "-->"라고 표시된 지점(라인 219)에 붙여넣는다면 :
217 void routineB( rec obj )
218 {
219 -->
220 }
그 결과의 코드부 C에는, 아래와 같이, while 루프를 완성하도록 제2 계층부로부터 이탤릭체로 하측에 표시된 라인 213, 214이 첨부된다 :
217 void routineB( rec obj )
218 {
206 while( obj != NULL )
207 {
208 if( strcmp( obj -> key, key )
209 {
210 register( FOUND, obj );
211 break;
212 }
213 obj = obj -> next;
214 }
220 }
표 2 상측 라인을 포함하는 제2 계층
상측 라인을 포함하는 제2 계층의 일례를 설명한다.
routine1A로부터 출발해 보자 :
231 routine1A( rec *list, char key )
232 {
233 rec *obj;
234 obj = list;
235 while( obj != NULL )
236 {
237 if( strcmp( obj -> key, key )
238 {
239 register( FOUND, obj );
240 break;
241 }
242 obj = obj -> next;
243 }
244 return;
245 }
아래와 같이, '실수'로 완전한 while 루프를 포함하지 않는 제1 계층의 코드 segment 1A를 선택했고 :
237 if( strcmp( obj -> key, key )
238 {
239 register( FOUND, obj );
240 break;
241 }
242 obj = obj -> next;
243 }
텍스트(코드 segment 1A)를 아래의 루틴(routine1B) 내에 "-->"라고 표시된 라인 248에 붙여넣는다면 :
246 void routine1B( rec obj )
247 {
248 -->
249 }
그 결과의 코드부 1C는 제2 계층부로부터 이탤릭체로 표시된 라인 235∼236을 포함하게 된다 :
246 void routine1B( rec obj )
247 {
235 while( obj != NULL )
236 {
237 if( strcmp( obj -> key, key )
238 {
239 register( FOUND, obj );
240 break;
241 }
242 obj = obj -> next;
243 }
249 }
표 3 상측 라인 및 하측 라인을 포함하는 제2 계층
상측 라인 및 하측 라인을 포함하는 제2 계층의 일례를 설명한다.
routine2A로부터 출발해 보자 :
260 routine2A( rec *list, char key )
261 {
262 rec *obj;
263 obj = list;
264 if( obj.name == 'NONE' )
265 {
266 while( obj != NULL )
267 {
268 if( strcmp( obj -> key, key )
269 {
270 register( FOUND, obj );
271 break;
272 }
273 obj = obj -> next;
274 }
275 return;
276 }
277 else
278 {
279 register( FOUND, obj );
280 obj = obj -> next;
281 }
282 }
유저가 아래와 같이 '실수'(우연히)로 while 루프 외측에 있는 라인 264, 277의 if/else 문장을 포함하지 않은 제1 계층의 코드 segment 2A를 선택했고 :
266 while( obj != NULL )
267 {
268 if( strcmp( obj -> key, key )
269 {
270 register( FOUND, obj );
271 break;
272 }
273 obj = obj -> next;
274 }
275 return;
텍스트(라인 266∼275의 코드 segment 2A)를 아래의 루틴(라인 283∼286의 routine2B) 내에 라인 285의 "-->"라고 표시된 지점에 붙여넣는다면 :
283 void routine2B( rec obj )
284 {
285 -->
286 }
그 결과의 코드부 2C에는 이탤릭체의 제2 계층의 라인 264∼265 및 276∼281이 첨부된다 :
283 void routine2B( rec obj )
284 {
264 if( obj.name == 'NONE' )
265 {
266 while( obj != NULL )
267 {
268 if( strcmp( obj -> key, key )
269 {
270 register( FOUND, obj );
271 break;
272 }
273 obj = obj -> next;
274 }
275 return;
276 }
277 else
278 {
279 register( FOUND, obj );
280 obj = obj -> next;
281 }
286 }
지금까지 본 발명의 특정 실시예들이 예시의 목적으로 설명되었지만, 본 발명의 사상 및 범위로부터 벗어나지 않고도 여러 가지 변경이 가능하다는 것을 이해하여야 한다. 특히, 본 발명의 범주 내에서는, 본 발명의 방법에 따라 컴퓨터의 동작을 제어하고/하거나 및 본 발명의 시스템에 따른 구성 요소를 구성하기 위해, 컴퓨터 프로그램 제품이나 프로그램 엘리먼트(element), 혹은 머신(machine)에 의해 판독 가능한 신호를 저장하기 위한 고체형/유체형 전송 매체, 자기/광학 배선, 테이프/디스크 등의 프로그램 저장 장치나 메모리 디바이스가 제공될 수 있다.
또한, 본 발명의 방법의 각 단계는, zSeries, iSeries, xSeries, pSeires 등 의 IBM 시스템과 같은 임의의 범용 컴퓨터 상에서, C++, Java, Pl/1, Fortran 등의 임의의 프로그래밍 언어로 작성된 하나 이상의 프로그램 엘리먼트, 모듈, 또는 오브젝트 혹은 이들 중의 일부에 따라 실행될 수 있다. 또한, 상기 각 단계 혹은 상기 각 단계를 구현하는 파일이나 오브젝트 등은 소정의 목적을 달성하기 위한 회로 모듈 혹은 전용 하드웨어에 의해 실행될 수 있다.

Claims (11)

  1. 디스플레이 대상물(display material)을 복사(copy)하는 방법에 있어서,
    유저에게 제1 디스플레이 대상물(50)을 디스플레이하는 단계;
    상기 제1 디스플레이 대상물의 제1 부분(52)을 상기 유저로부터 입력받는 단계(단계 20, 120);
    상기 제1 부분을 클립보드(58)에 저장하는 단계(단계 22, 122);
    상기 제1 디스플레이 대상물의 제2 부분(54, 56)을 식별하여 상기 클립보드에 저장하는 단계(단계 24, 124);
    상기 유저로부터 제2 디스플레이 대상물에서의 삽입 지점을 입력받는 단계(단계 26, 126);
    상기 삽입 지점에 있는 대상물에 대하여 상기 제1 부분을 검사하여 상기 제1 부분이 상기 삽입 지점에 대해 정확한지 여부를 판단하고, 만약 상기 제1 부분이 상기 삽입 지점에 대해 정확하다면, 조작 없이 상기 제1 부분을 상기 삽입 지점에 붙여넣는(pasting) 단계(132);
    만약 상기 제1 부분이 상기 삽입 지점에 대하여 부정확하다면, 상기 삽입 지점에 있는 대상물에 응답하여 상기 제2 부분으로부터 부가적인 대상물을 선택하는 단계(134) - 상기 부가적인 대상물은, 상기 부가적인 대상물과 결합되는 상기 제1 부분이 상기 삽입 지점에서 정확하게 되도록 하는데 필요한 것임 -; 및
    상기 유저에게, 상기 제1 부분 및 상기 부가적인 대상물을 상기 삽입 지점에 디스플레이하되, 상기 제1 부분은 제1 방식으로 하이라이트(highlight)되도록 디스플레이하고, 상기 부가적인 대상물은 제2 방식으로 하이라이트되도록 디스플레이하는 단계(단계 28, 136)
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 제2 부분이 상기 삽입 지점에서 어법상 적합하도록 하기에 충분한 대상물을 상기 제1 디스플레이 대상물(50)로부터 상기 제2 부분(54, 56)으로서 선택하는 단계
    를 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 삽입 지점에서 구문(syntax)상 정확하게 상기 제1 디스플레이 대상물(50)을 형성하도록 특성화(characterizing)하는 단계
    를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 클립보드(58)의 제1 계층(64)에 상기 제1 부분(52)을 저장하는 단계; 및
    상기 클립보드의 제2 계층(70)에 상기 제2 부분(54, 56)을 저장하는 단계
    를 더 포함하는 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 삽입 지점으로의 삽입을 승인하거나 상기 삽입 지점으로부터 삽입을 제거하도록 상기 제2 부분(54, 56) 대상물을 선택적으로 지정하는 조작을 상기 유저로부터 입력받는 단계
    를 더 포함하는 방법.
  7. 제2항에 있어서,
    선택적으로 상기 제1 부분(52) 대상물의 바로 위 및 바로 아래에 있는 소정의 코딩 괄호(coding bracket) 내에 포함되는 대상물을 상기 제1 디스플레이 대상물(50)의 상기 제2 부분(54, 56)으로서 선택하는 단계
    를 더 포함하는 방법.
  8. 제2항에 있어서,
    상기 제1 부분 대상물을 컴파일하기에 충분할 정도의 대상물을 상기 제1 디스플레이 대상물(50)에서 상기 제2 부분(54, 56)으로서 선택하는 단계
    를 더 포함하는 방법.
  9. 제2항에 있어서,
    상기 제1 부분에서 부분적으로만 완전한 기능을 완전하게 하는데 필요한 추가의 대상물을 상기 제2 부분(54, 56)으로서 선택하는 단계
    를 더 포함하는 방법.
  10. 클립보드(58)에 복사된 대상물을 디스플레이하는 시스템에 있어서,
    상기 대상물을 디스플레이하기 위한 디스플레이 장치;
    복사하여 삽입 지점에 붙여넣기 위한 상기 대상물의 제1 부분(52)을 지정할 수 있도록 유저에 의해 조작 가능한 선택 장치(selector);
    상기 삽입 지점에 붙여넣어질 대상물을 임시 저장하는 클립보드(58); 및
    상기 유저에게 제1 디스플레이 대상물(50)을 디스플레이하고, 상기 제1 디스플레이 대상물(50)의 제1 부분을 상기 유저로부터 입력받으며, 상기 제1 부분을 상기 클립보드에 저장하고, 상기 제1 디스플레이 대상물의 제2 부분(54, 56)을 식별하여 이를 상기 클립보드에 저장하며, 상기 유저로부터 제2 디스플레이 대상물에서의 상기 삽입 지점을 입력받고, 상기 삽입 지점에 있는 대상물에 대하여 상기 제1 부분을 검사하여 상기 제1 부분이 상기 삽입 지점에 대해 정확한지 여부를 판단하고, 만약 상기 제1 부분이 상기 삽입 지점에 대해 정확하다면, 조작 없이 상기 제1 부분을 상기 삽입 지점에 붙여넣고(pasting), 만약 상기 제1 부분이 상기 삽입 지점에 대하여 부정확하다면, 상기 삽입 지점에 있는 대상물에 응답하여 상기 제2 부분으로부터 상기 제1 부분이 상기 삽입 지점에서 정확하게 되도록 하는데 필요한 부가적인 대상물을 선택하고, 상기 유저에게 상기 제1 부분 및 상기 제2 부분으로부터의 상기 부가적인 대상물을 상기 삽입 지점에 디스플레이하되, 상기 제1 부분은 제1 방식으로 하이라이트되도록 디스플레이하고, 상기 부가적인 대상물은 제2 방식으로 하이라이트되도록 디스플레이하기 위한 제어 장치
    를 포함하는 시스템.
  11. 컴퓨터 판독 가능 기록 매체에 있어서,
    제1항 내지 제4항 또는 제6항 내지 제9항 중 어느 한 항에 따른 방법의 각 단계를 실행하기 위한 코드 수단
    을 포함하는 컴퓨터 판독 가능 기록 매체.
KR1020047001461A 2002-01-31 2002-10-28 2 계층 페이스트 버퍼 및 디스플레이 KR100633496B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/062,128 US7146571B2 (en) 2002-01-31 2002-01-31 System and method for two tier paste buffer and display
US10/062,128 2002-01-31
PCT/GB2002/004905 WO2003065209A2 (en) 2002-01-31 2002-10-28 Two tier paste buffer and display

Publications (2)

Publication Number Publication Date
KR20040075851A KR20040075851A (ko) 2004-08-30
KR100633496B1 true KR100633496B1 (ko) 2006-10-13

Family

ID=27610256

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047001461A KR100633496B1 (ko) 2002-01-31 2002-10-28 2 계층 페이스트 버퍼 및 디스플레이

Country Status (11)

Country Link
US (1) US7146571B2 (ko)
EP (1) EP1472598B1 (ko)
JP (1) JP4056477B2 (ko)
KR (1) KR100633496B1 (ko)
CN (1) CN1278228C (ko)
AT (1) ATE450828T1 (ko)
AU (1) AU2002337336A1 (ko)
CA (1) CA2471584C (ko)
DE (1) DE60234646D1 (ko)
IL (1) IL163125A (ko)
WO (1) WO2003065209A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509577B2 (en) * 2002-03-08 2009-03-24 Toshiba Corp Oration Method and system for implementing a clipboard
KR100497376B1 (ko) * 2002-12-24 2005-06-28 삼성전자주식회사 다중클립보드 실행장치 및 다중클립보드 실행방법
US20050021947A1 (en) * 2003-06-05 2005-01-27 International Business Machines Corporation Method, system and program product for limiting insertion of content between computer programs
US7395523B2 (en) * 2003-11-24 2008-07-01 International Business Machines Corporation Method and apparatus for efficiently developing encoded instructions by tracking multiple unverified instances of repetitive code segments
US20050203935A1 (en) * 2004-03-11 2005-09-15 International Business Machines Corporation Clipboard content and document metadata collection
US20050240866A1 (en) 2004-04-26 2005-10-27 International Business Machines Corporation Multi-source, multi-destination data transfers
US8370423B2 (en) 2006-06-16 2013-02-05 Microsoft Corporation Data synchronization and sharing relationships
US8020112B2 (en) * 2006-11-06 2011-09-13 Microsoft Corporation Clipboard augmentation
US8453066B2 (en) 2006-11-06 2013-05-28 Microsoft Corporation Clipboard augmentation with references
US20080109464A1 (en) * 2006-11-06 2008-05-08 Microsoft Corporation Extending Clipboard Augmentation
US8751442B2 (en) 2007-02-12 2014-06-10 Microsoft Corporation Synchronization associated duplicate data resolution
US7933296B2 (en) * 2007-03-02 2011-04-26 Microsoft Corporation Services for data sharing and synchronization
US8438653B2 (en) 2007-04-10 2013-05-07 Microsoft Corporation Strategies for controlling use of a resource that is shared between trusted and untrusted environments
US9251137B2 (en) * 2007-06-21 2016-02-02 International Business Machines Corporation Method of text type-ahead
US8316035B2 (en) 2008-01-16 2012-11-20 International Business Machines Corporation Systems and arrangements of text type-ahead
US8359532B2 (en) * 2008-04-28 2013-01-22 International Business Machines Corporation Text type-ahead
US8296671B2 (en) 2008-05-01 2012-10-23 Microsoft Corporation Enabling access to rich data by intercepting paste operations
CN103617154A (zh) * 2013-11-29 2014-03-05 百度在线网络技术(北京)有限公司 内容粘贴控制方法和装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3810107A (en) * 1973-01-18 1974-05-07 Lexitron Corp Electronic text display and processing system
US5070478A (en) * 1988-11-21 1991-12-03 Xerox Corporation Modifying text data to change features in a region of text
ES2156590T3 (es) * 1993-04-13 2001-07-01 Intel Corp Sistema de colaboracion con soporte de ordenador.
EP0670547B1 (en) * 1994-03-04 2000-11-08 Canon Kabushiki Kaisha Data processing method and a system using the method
US5574840A (en) * 1994-08-29 1996-11-12 Microsoft Corporation Method and system for selecting text utilizing a plurality of text using switchable minimum granularity of selection
JP3689954B2 (ja) * 1995-03-13 2005-08-31 富士ゼロックス株式会社 異種コード文字列転記装置および電子辞書
US5801693A (en) * 1996-07-03 1998-09-01 International Business Machines Corporation "Clear" extension to a paste command for a clipboard function in a computer system
GB2326744A (en) 1997-06-17 1998-12-30 Nokia Mobile Phones Ltd Intelligent copy and paste operations for application handling units
US5964834A (en) * 1997-09-24 1999-10-12 International Business Machines Corporation System grouping clipboard memories associating with computers in a network into a shared clipboard memory for sharing data object in the network
JP2000181912A (ja) 1998-12-14 2000-06-30 Casio Comput Co Ltd データ編集装置及び記録媒体
EP1093058A1 (en) 1999-09-28 2001-04-18 Cloanto Corporation Method and apparatus for processing text and character data
KR20010045591A (ko) 1999-11-05 2001-06-05 윤종용 멀티 클립보드를 갖는 컴퓨터 시스템

Also Published As

Publication number Publication date
CN1278228C (zh) 2006-10-04
US7146571B2 (en) 2006-12-05
IL163125A (en) 2012-03-29
JP2006506691A (ja) 2006-02-23
CN1618057A (zh) 2005-05-18
EP1472598A2 (en) 2004-11-03
JP4056477B2 (ja) 2008-03-05
WO2003065209A3 (en) 2003-12-31
KR20040075851A (ko) 2004-08-30
WO2003065209A2 (en) 2003-08-07
CA2471584C (en) 2009-10-06
AU2002337336A1 (en) 2003-09-02
DE60234646D1 (de) 2010-01-14
EP1472598B1 (en) 2009-12-02
ATE450828T1 (de) 2009-12-15
CA2471584A1 (en) 2003-08-07
US20030142134A1 (en) 2003-07-31

Similar Documents

Publication Publication Date Title
KR100633496B1 (ko) 2 계층 페이스트 버퍼 및 디스플레이
US6305008B1 (en) Automatic statement completion
US5157779A (en) User extensible testing system
US7373595B2 (en) System and method for validating an XML document and reporting schema violations
KR101238550B1 (ko) 명령을 내리는 방법 및 컴퓨터 판독가능 매체
CA2133874C (en) Method and system for automatic formatting of user selected text
US8219922B2 (en) Dynamic point and extend user interface
US8135572B2 (en) Integrated debugger simulator
US7251808B2 (en) Graphical debugger with loadmap display manager and custom record display manager displaying user selected customized records from bound program objects
KR20030070685A (ko) 그래픽 사용자 인터페이스의 변경 방법 및 이를 위한기록매체
US5379407A (en) Error handling in a state-free system
US7089500B2 (en) Wizard user interface providing interim system product generation and reversion during wizard traversal
US7337406B2 (en) Creation supporting apparatus and creation supporting method of graphical user interface program, and recording medium recorded with creation supporting program
JP2000047857A (ja) イベント駆動型ファンクションブロックのプログラミング方法とプログラム記録媒体
EP0642076A1 (en) A data processing system
Bovey A debugger for a graphical workstation
JPH10222356A (ja) アプリケーション作成装置及びアプリケーション作成方法
JPH08194631A (ja) 画面入力デバッグ方法
JPH0612542B2 (ja) 構造化ドキユメントのマーク箇所のコピー方法
JP3722854B2 (ja) データ編集装置
JPH10143510A (ja) 文書処理装置及びその方法
Alexander et al. Memory Management and Diagnostics
Ranjadakatte Extension of identification of style errors in sample files
JP2001243218A (ja) 文字データ編集方法、および、文字データ編集用プログラムを記録した記録媒体
Pestov et al. jEdit 3.1 User’s Guide

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: 20100824

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee