KR100341782B1 - 윈도우창의다중분할관리장치 - Google Patents

윈도우창의다중분할관리장치 Download PDF

Info

Publication number
KR100341782B1
KR100341782B1 KR1019980034597A KR19980034597A KR100341782B1 KR 100341782 B1 KR100341782 B1 KR 100341782B1 KR 1019980034597 A KR1019980034597 A KR 1019980034597A KR 19980034597 A KR19980034597 A KR 19980034597A KR 100341782 B1 KR100341782 B1 KR 100341782B1
Authority
KR
South Korea
Prior art keywords
window
signal
windows
reference data
divided
Prior art date
Application number
KR1019980034597A
Other languages
English (en)
Other versions
KR20000014945A (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 삼성전자 주식회사
Priority to KR1019980034597A priority Critical patent/KR100341782B1/ko
Publication of KR20000014945A publication Critical patent/KR20000014945A/ko
Application granted granted Critical
Publication of KR100341782B1 publication Critical patent/KR100341782B1/ko

Links

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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Landscapes

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

Abstract

윈도우를 분할하기 위한 분할 신호, 분할 신호에 따라 분할된 윈도우를 제거하기 위한 삭제 신호, 윈도우를 이동하기 위한 플로팅(Floating) 신호 및 분할된 윈도우를 정렬하기 위한 정렬 신호 중의 어느 하나를 포함하는 제어신호를 외부에서 입력받아 윈도우를 제어하기 위한 기준 데이터를 생성하는 생성부와, 생성부에서 생성된 기준 데이터를 저장하는 저장부 및 저장부에 저장되어 있는 기준 데이터와 하나의 분할 윈도우를 사용하여 윈도우를 분할생성, 삭제, 이동 및 정렬하는 처리부를 포함하는 윈도우 창의 다중 분할 관리장치가 개시된다.

Description

윈도우 창의 다중 분할 관리장치
본 발명은 윈도우 창의 다중 분할 관리장치에 관한 것으로, 보다 상세하게는 컴퓨터 시스템에 있어서 여러 개의 자식 윈도우(Child Window)를 동적으로 생성하고 삭제하며, 크기를 변경하는 과정을 하나의 분할 윈도우(Splitter Window)를 사용하여 수행하므로써 효율적으로 컴퓨터의 자원을 이용할 수 있게 하는 윈도우 창의 다중 분할 관리장치에 관한 것이다.
최근 들어 시중에서 사용되고 있는 컴퓨터의 운영체제는 대부분이 윈도우를 기본으로 하고 있다. 이와 같이, 사용되는 운영체제가 윈도우를 기본으로 하게 된 이유는 점차 강조되고 있는 그래픽 사용자 인터페이스(GUI: Graphic User Interface)를 만족시키기 위한 다양한 기능을 추가하여 사용할 수 있으며, 멀티태스킹이 가능하다는 것이다.
또한, 데이터와 프로그램의 용량이 점차 커짐에 따라 도스 모드에서의 메모리 관리가 매우 불합리하였던 점도 운영체제가 윈도우로 전환된 이유중의 하나이다.
윈도우 내의 자식 윈도우(Child Window)에 관한 처리 방법으로는 크게 MDI(Multiple Document Interface)와, SDI(Single Document Interface)로 크게 나눌 수 있다.
MDI의 경우는 윈도우 내에 MDI 자식 매니저(Child Manager)를 사용하여 자식 윈도우의 영역을 제한하며, 그 안에서 계단식 또는 바둑판 식으로 정렬을 시켜줄 수 있으며, 사용자가 임의 위치 및 크기로 조정할 수 있다. MDI는 일반적으로 문서관리 프로그램 등에서 여려 개의 문서를 동시에 열어서 편집하는 경우에 많이 활용된다.
반면, SDI는 윈도우 내에 자식 윈도우는 존재하지 않거나, 존재하는 자식 윈도우는 대부분 특별한 기능을 수행하는 제어 윈도우(Control Window)인 경우가 많으며, 문서 관리 프로그램 보다 사용자의 입/출력을 위한 화면 구성에서 많이 활용된다.
윈도우의 배치에 관한 또 다른 처리 방법으로는 윈도우 창의 분할이 있다.
일반적으로, MDI에서는 하나의 윈도우 인터페이스 내에서 하나의 문서를 보여줄 때, 윈도우 창을 분할하여 여러 부분의 문서 내용을 동시에 표시할 수 있는 방법으로 세로 분할과 가로 분할을 통하여 4개의 영역을 동시에 볼 수 있는데, 이러한 방법은 분할을 관장하는 분할 윈도우(Splitter Window)가 별도로 필요하게 된다.
그러나, 이러한 분할 윈도우(Splitter Window)를 통하여 자식 윈도우(Child Window)를 배치하는 경우, 하나의 분할 윈도우로는 4개 이상의 자식 윈도우의 분할 이 불가능하였으며, 도 1에 도시된 바와 같이, 영역(0,0)의 가로 크기와 영역(1,0)의 세로 크기는 같아야 되고, 4개의 영역은 서로간의 크기가 제한을 받게 되는 단점이 있었다.
또한, 하나의 윈도우 창을 4개 이상으로 분할하는 경우, 2개 이상의 분할 윈도우를 생성하여 윈도우 창을 배치시켜야 하는 단점이 있다. 예를 들어, 도 2는 4개의 비정형 윈도우를 배치하는데 있어서 3개의 분할 윈도우가 있어야 배치 가능하다는 것을 보여주고 있다.
즉, 윈도우 창을 다중으로 분할하는 경우, 부가적으로 분할 윈도우가 불필요하게 많이 생성되어 프로그램의 실행속도 및 자원의 낭비를 가져오는 단점이 있었다.
따라서, 본 발명은 이와 같은 문제점을 해결하기 위해 창안된 것으로서, 본 발명의 목적은 윈도우 창을 다중으로 분할하여 배치할 때, 하나의 분할 윈도우(Splitter Window)를 사용하여 윈도우 창을 다중으로 분할시킴으로써, 시스템의 실행 속도를 향상시키고 자원을 절약할 수 있는 방법을 제공함에 있다.
도 1은 일반적으로 윈도우를 분할한 자식 윈도우(Child Window)를 나타내는 구성도,
도 2는 종래에 분할 윈도우(Splitter Window)를 사용하여 윈도우를 분할한 후, 배치하는 구성도,
도 3은 본 발명에 따라서 자식 윈도우를 분할된 상태로 배치하는 방법을 나타내는 개념도,
도 4는 본 발명을 수행하기 위하여 윈도우를 지원하는 컴퓨터 시스템을 나타내는 개념도,
도 5는 본 발명에 따라서 윈도우를 분할하는 예를 나타내는 예시도,
도 6은 본 발명에 따라서 생성된 자식 윈도우의 형태를 나타내는 구성도,
도 7a 및 도 7b는 다중 분할에 따른 윈도우 관리를 위하여 사용되는 구조체를 나타내는 구성도,
도 8은 본 발명에 따라, 윈도우 창을 다중 분할하여 관리하는 장치를 나타내는 구성도이다.
<도면의 주요부분에 대한 부호의 설명>
110 : 처리부 120 : 생성부
130 : 저장부
윈도우를 분할하기 위한 분할 신호, 분할 신호에 따라 분할된 윈도우를 제거하기 위한 삭제 신호, 윈도우를 이동하기 위한 플로팅(Floating) 신호 및 분할된 윈도우를 정렬하기 위한 정렬 신호 중의 어느 하나를 포함하는 제어신호를 외부에서 입력받아 윈도우를 제어하기 위한 기준 데이터를 생성하는 생성부와, 생성부에서 생성된 기준 데이터를 저장하는 저장부 및 저장부에 저장되어 있는 기준 데이터와 하나의 분할 윈도우를 사용하여 윈도우를 분할생성, 삭제, 이동 및 정렬하는 처리부를 포함하는 윈도우 창의 다중 분할 관리장치가 개시된다.
바람직하게, 상기 기준 데이터는 상기 윈도우의 크기를 상기 윈도우가 변경되기 전의 크기와 비교한 후, 상대적으로 계산하기 위하여 상기 윈도우의 넓이와 높이를 설정하는 매개 변수를 포함하는 것을 특징으로 한다.
이하, 상기한 본 발명의 목적들, 특징들, 그리고 장점들을 첨부된 도면에 나타낸 본 발명의 바람직한 실시예를 통해 보다 상세히 설명한다.
먼저, 본 발명이 적용되는 컴퓨터 시스템의 구성은 다음과 같이 이루어진다.
도 4에 도시된 바와 같이, 마우스, 키보드, 모니터 및 중앙처리장치를 포함한 컴퓨터 시스템에서 기본적으로 윈도우를 운영체제(Operating System)로 사용한다.
윈도우를 기본으로 하는 운영체제에서 사용되는 대부분의 응용 프로그램은 윈도우를 기반으로 하는 사용자 인터페이스(User Interface)를 가지고 있는데, 하나의 목적을 달성하기 위해 필요에 따라, 여러 개의 윈도우 창이 필요하게 되며, 윈도우 창의 배치에 따라 사용자의 업무 및 작업 효율을 좌우할 수 있다.
또한, 윈도우는 여러 개의 윈도우를 내포하고 관리하는 부모 윈도우(Parent Window)와 관리 대상이 되는 자식 윈도우(Child Window)로 구성되는데, 자식 윈도우는 일반적으로 부모 윈도우의 내부에 존재하며 프로그램의 목적에 따라서 윈도우의 개수 및 위치가 1차로 제시되며 사용자의 편의성을 위해 재배치가 이루어진다.
한편, 부모 윈도우(Parent Window)는 자식 윈도우(Child Window)를 생성하고 삭제하며, 자식 윈도우의 위치, 크기의 처리와, 다중 분할에 따른 윈도우 관리를 위하여 도 7a 및 도 7b에 도시된 바와 같은 데이터 구조를 갖는다.
도 8은 본 발명에 따라, 윈도우 창을 다중 분할하여 관리하는 장치를 나타내는 구성도이다.
먼저, 생성부(120)는 외부에서 입력되는 제어신호에 따라서 윈도우를 제어하기 위한 기준 데이터를 생성한다. 외부에서 입력되는 제어신호는 윈도우를 분할하기 위한 분할 신호와, 분할 신호에 따라 분할된 윈도우를 제거하기 위한 삭제 신호와, 윈도우를 이동하기 위한 플로팅(Floating) 신호 및 분할된 윈도우를 정렬하기 위한 정렬 신호를 포함한다.
저장부(130)에는 생성부(120)에서 생성된 기준 데이터가 저장된다.
처리부(110)는 저장부(130)에 저장되어 있는 기준 데이터를 사용하여 외부에서 입력되는 제어신호에 해당하는 동작을 수행한다.
이하, 본 발명의 윈도우 창의 다중 분할 관리장치에 대하여 도 1 내지 도 8을 참조하여 상세히 설명한다.
본 발명에서 설명되는 예는 "구조체" 라는 자료구조를 사용하여 표현하는데, 여기에서, "구조체"란 데이터나 파일이 어떤 요소로 이루어져 있는가를 표현하는 데이터 구조를 말한다.
먼저, 기본 과정에 대하여 설명하면 다음과 같다.
기본 과정은 외부에서 생성부(120)로 입력되는 제어신호에 따라서 윈도우를 제어하기 위한 기준 데이터를 생성한 후, 윈도우를 분할하는 과정과, 부모 윈도우의 크기 변경에 따른 자식 윈도우의 재배치로 되어있다.
윈도우 창의 분할 과정에서 추가되는 자식 윈도우의 가로 및 세로 분할 방법과 분할 위치는 저장부(130)에 저장되는데, 예를 들어, 가로 및 세로는 도 7b에 도시된 바와 같이, TSplitData 의 nType 에 기억되어 저장부(130)에 저장된다.
또한, 분할 전체 크기는 TSplitData 의 Region에 기억되며, 분할의 각 크기 중, 영역 0의 크기는 가로 분할일 경우에는 Width0에 기억되며, 세로 분할인 경우에는 Height0에 기억이 되는데 분할 대상은 Obj[0]과 Obj[1]에 보관되어 저장부(130)에 저장된다.
이를 도 3을 참조하여 보다 구체적으로 설명하면 다음과 같다.
즉, window 1 내지 4로 분할하기 위해서, 먼저 분할 관리자에게 window 1과 window 2를 상단과 하단에 분할할 것을 요청하면, window 1은 노드 split 1이 되고 여기에 window 1과 window 2가 연결된다. 분할 시의 윈도우 창의 크기는, 상기한 바와 같이, 저장부(130)에 저장되어 있다.
이어 window 2를 좌우측단으로 분할할 것을 요청하면, window 2는 노드 split 2가 되고 이 노드 split 2에 window 2와 window 3이 연결된다. 마찬가지로 window 3을 상하단으로 분할할 것을 요청하면, window 3은 노드 split 3이 되고 이 노드 split 3에 window 3과 window 4가 연결되어 도 3에 도시된 계층적 구조를 갖는다.
한편, window 1을 삭제하고자 하면, 노드 split 1부터 window 1을 찾는데, split 1의 window 1이 자식 윈도우이기 때문에 split 1을 삭제하고, split 2를 루트로 올려주고 각 윈도우 창을 재정렬한다.
또한, 분할 추가 과정은 각 분할 영역의 최소 크기의 계산, Region의 계산및 실제적인 자식 윈도우(Child Window)의 이동 배치 과정으로 이루어진다.
최소 크기 계산은 자식 윈도우의 생성 시, 상기 생성되는 자식 윈도우마다 지정이 가능하며, 최소 크기는 도 7a에 도시된 바와 같이, SPLITOBJ 의 szMin 에 보관되는데 하나의 TSplitData는 내부에 두개의 Obj[0]과 Obj[1]의 szMin의 합 또는 최대치로 결정된다.
Region은 도 5에 도시된 바와 같이, 부모 윈도우(Parent Window)의 크기에 의해 세로 분할인 경우, Width0을 통해 세로로 분할되는 두개의 영역으로 처리부(110)에서 나누고, 가로 분할인 경우, Height0을 통해 가로로 분할되는 두개의 영역으로 처리부(110)에서 나눈다.
부모 윈도우의 크기 변경에 따른 분할(Split) 영역의 재배치 과정은 윈도우의 추가 과정과 유사하게 이루어지는데, 새로운 크기로 설정된 상기 윈도우의 X 좌표값과, Y 좌표값에 의해 이전에 저장된 Height0과 Width0의 값을 비율적으로 처리부(110)에서 계산한 후, 변경하여 영역 0의 크기가 결정되며 Region은 이 값에 의해 결정되어진다.
한편, 재배치 과정에 대하여 설명하면 다음과 같다.
재배치 과정은, 도 6에 도시된 바와 같이, 분할(Split) 영역 상단에 존재하는 Sub Title의 Drag Drop으로 이루어지는데 Sub Title의 존재 여부는 도 7a에 도시된 바와 같이, SPLITOBJ 내의 bSubTitle의 값에 따라 결정이 된다.
Sub Title에는 자식 윈도우를 숨기고 분할 영역을 삭제하는 닫기 버턴이 존재하며, Sub Title의 Drag에 의해 재배치 가능한 후보 영역은 Split 영역 내에 표시하여 사용자에게 알려주게 되며, 키보드의 제어키의 조합에 의해 자식 윈도우는 플로팅(Floating)이 가능하다. 플로팅 과정은 드래그(drag) 하였을 경우도 발생한다.
이상 본 발명의 바람직한 실시예에 대해 상세히 기술되었지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구 범위에 정의된 본 발명의 정신 및 범위를 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
이상에서 살펴본 바와 같이, 본 발명에 따르면, 다중으로 분할하여 자식 윈도우(Child Window)를 배치시키는 경우에 부모 윈도우(Parent Window)에서 별도의 분할 윈도우(Splitter Window)를 사용하지 않고 윈도우 영역을 분할하는 것이 가능하다.
따라서, 분할 창의 개수가 적기 때문에 윈도우 생성시간이 단축되며, 이는 메모리의 할당 시간을 줄여주기 때문에 빠른 실행이 가능하다.
또한, 여러 개의 분할 창의 크기 변경이 하나의 자식 윈도우의 크기를 변경시킴으로서 가능하므로 실행시간이 단축된다.
더욱이, 윈도우 내의 한정된 자원을 절약할 수 있으며, 기존의 방법으로 불가능하였던 자식 윈도우(Child Window)의 분할 영역간의 이동이나 플로팅(Floating)이 가능한 장점이 있다.

Claims (2)

  1. 윈도우를 분할하기 위한 분할 신호, 상기 분할 신호에 따라 분할된 윈도우를 제거하기 위한 삭제 신호, 상기 윈도우를 이동하기 위한 플로팅(Floating) 신호 및 상기 분할된 윈도우를 정렬하기 위한 정렬 신호 중의 어느 하나를 포함하는 제어신호를 외부에서 입력받아 윈도우를 제어하기 위한 기준 데이터를 생성하는 생성부;
    상기 생성부에서 생성된 기준 데이터를 저장하는 저장부 및
    상기 저장부에 저장되어 있는 기준 데이터와 하나의 분할 윈도우를 사용하여 윈도우를 분할생성, 삭제, 이동 및 정렬하는 처리부를 포함하는 것을 특징으로 하는 윈도우 창의 다중 분할 관리장치.
  2. 제 1 항에 있어서, 상기 기준 데이터는 상기 윈도우의 크기를 상기 윈도우가 변경되기 전의 크기와 비교한 후, 상대적으로 계산하기 위하여 상기 윈도우의 넓이와 높이를 설정하는 매개 변수를 포함하는 것을 특징으로 하는 윈도우 창의 다중 분할 관리장치.
KR1019980034597A 1998-08-26 1998-08-26 윈도우창의다중분할관리장치 KR100341782B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980034597A KR100341782B1 (ko) 1998-08-26 1998-08-26 윈도우창의다중분할관리장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980034597A KR100341782B1 (ko) 1998-08-26 1998-08-26 윈도우창의다중분할관리장치

Publications (2)

Publication Number Publication Date
KR20000014945A KR20000014945A (ko) 2000-03-15
KR100341782B1 true KR100341782B1 (ko) 2002-09-27

Family

ID=19548310

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980034597A KR100341782B1 (ko) 1998-08-26 1998-08-26 윈도우창의다중분할관리장치

Country Status (1)

Country Link
KR (1) KR100341782B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102593826B1 (ko) 2023-04-13 2023-10-25 주식회사 오투유엑스 사용자별 멀티태스킹 수행을 위한 멀티 윈도우 ui 구현장치 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW531707B (en) * 2000-05-31 2003-05-11 Ibm Method and system for displaying window sub-components from different windowing environments as a single window grouping
KR100818918B1 (ko) 2006-02-14 2008-04-04 삼성전자주식회사 윈도우의 배치를 관리하는 장치 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102593826B1 (ko) 2023-04-13 2023-10-25 주식회사 오투유엑스 사용자별 멀티태스킹 수행을 위한 멀티 윈도우 ui 구현장치 및 방법

Also Published As

Publication number Publication date
KR20000014945A (ko) 2000-03-15

Similar Documents

Publication Publication Date Title
Bell et al. Dynamic space management for user interfaces
US6195664B1 (en) Method and system for controlling the conversion of a file from an input format to an output format
US7913183B2 (en) System and method for managing software applications in a graphical user interface
Paulisch et al. EDGE: An extendible graph editor
US7036089B2 (en) Distribution of application windows in a computing device display
KR100214911B1 (ko) 지시장치를 이용한 대량 데이타의 탐색 방법
US6785866B1 (en) Dialogs for multiple operating systems and multiple languages
US20090094544A1 (en) Method and apparatus for selecting a layout for a user interface to display on an electronic device
US20090327965A1 (en) Selection of items in a virtualized view
JPH08263255A (ja) 階層データ表示方法及びブラウザシステム
JPH02130628A (ja) データ入力方法
BR112012009893B1 (pt) dispositivos e métodos de geração de arquivo de imagem e de processamento de imagem, mídia de gravação não transitória legível por computador, e, estrutura de dados de um arquivo de imagem
KR20000016992A (ko) 데이터 처리 장치
US20050216883A1 (en) API for building semantically rich diagramming tools
KR100341782B1 (ko) 윈도우창의다중분할관리장치
Tenev et al. Managing multiple focal levels in table lens
JP3417451B2 (ja) ウィンドウの機能強化型ロケータ・ヒット・テストを行う方法およびデータ処理システム
CN100573447C (zh) 图形用户界面的组态方法
Nguyen et al. A demonstration of B-EagleV Visualizing massive point cloud directly from HDFS
Hutchings et al. New operations for display space management and window management
JP2841433B2 (ja) マルチウィンドウ・システム
CN115202553B (zh) 白板应用的控制方法、装置和电子设备
Mackinlay et al. The Information Visualizer: A 3D User Interface for Information Retrieval.
Kim et al. Dynamic zone redistribution for key-value stores on zoned namespaces SSDs
JP2622023B2 (ja) ウィンドウ管理方式

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

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20150528

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee