KR20010109085A - Method and system for displaying window sub-components from different windowing environments as a single window grouping - Google Patents

Method and system for displaying window sub-components from different windowing environments as a single window grouping Download PDF

Info

Publication number
KR20010109085A
KR20010109085A KR1020010024594A KR20010024594A KR20010109085A KR 20010109085 A KR20010109085 A KR 20010109085A KR 1020010024594 A KR1020010024594 A KR 1020010024594A KR 20010024594 A KR20010024594 A KR 20010024594A KR 20010109085 A KR20010109085 A KR 20010109085A
Authority
KR
South Korea
Prior art keywords
window
child
environment
user
displaying
Prior art date
Application number
KR1020010024594A
Other languages
Korean (ko)
Other versions
KR100480656B1 (en
Inventor
크래건브라이언존
Original Assignee
포만 제프리 엘
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포만 제프리 엘, 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 포만 제프리 엘
Publication of KR20010109085A publication Critical patent/KR20010109085A/en
Application granted granted Critical
Publication of KR100480656B1 publication Critical patent/KR100480656B1/en

Links

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
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1438Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using more than one graphics controller
    • 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

Landscapes

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

Abstract

단일 컴퓨터 시스템에서 하나 이상의 윈도우 환경을 이용하기 위한 필요성이 업계에는 존재한다. 이러한 필요성은 상이한 효력의 상이한 윈도우 환경과 기능 재사용의 경제학에서 비롯된다. 종래 기술의 복수 윈도우 환경의 문제점은 유저에게 친숙하지 않으며, 비효율적이고, 눈에 거슬린다는 것이다. 여기서 개시되고 있는 효율적인 복수 윈도우 환경 메카니즘은 유저에게 명료한 것이다.There is a need in the industry to use more than one Windows environment on a single computer system. This necessity stems from the economics of reusing features and different window environments with different effects. A problem with prior art multi-window environments is that they are not user friendly, inefficient, and bothersome. The efficient multiple window environment mechanism disclosed herein is clear to the user.

Description

상이한 윈도우 환경으로부터의 윈도우 부구성 요소를 단일 윈도우 그룹으로서 디스플레이하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR DISPLAYING WINDOW SUB-COMPONENTS FROM DIFFERENT WINDOWING ENVIRONMENTS AS A SINGLE WINDOW GROUPING}TECHNICAL AND SYSTEM FOR DISPLAYING WINDOW SUB-COMPONENTS FROM DIFFERENT WINDOWING ENVIRONMENTS AS A SINGLE WINDOW GROUPING}

본 발명은 데이터 처리 시스템에 관한 것으로서, 특히 그래픽 유저 인터페이스에 관한 것이다.The present invention relates to a data processing system, and more particularly to a graphical user interface.

20 세기 중반경 이래로 컴퓨터 시스템의 사용과 대중성이 점진적으로 증대하였다. 이러한 추세는 컴퓨터 시스템 기술의 많은 상이한 진보에 의해 자극 되었으나, 컴퓨터 시스템값의 어떤 기본적인 형태는 변화하지 않았다. 확실히, 컴퓨터 시스템값의 가장 기본적인 기준들중 하나는 과거나 미래에도 손쉬운 컴퓨터의 사용이다. 손쉬운 컴퓨터의 사용이란 대중성을 의미하는 것이고, 대중성이란 상업적인 성공을 의미하는 것이다. 그러므로, 컴퓨터 시스템 공급자들은 그들의 컴퓨터 시스템을 보다 더 사용을 쉽게하기 위한 노력을 계속하고 있다.Since the middle of the 20th century, the use and popularity of computer systems have gradually increased. This trend has been stimulated by many different advances in computer system technology, but certain fundamental forms of computer system value have not changed. Clearly, one of the most basic criteria of computer system value is the ease of use of computers, past and in the future. Easy use of computers means popular, and popular means commercial success. Therefore, computer system suppliers continue to make their computer systems easier to use.

초기 컴퓨터 시스템은 사용이 매우 어려웠다. 그것은 주로 선택된 몇몇의 엔지니어 및 과학자들에게 값어치가 있었다는 것을 의미한다. 1970년대의 개인용 컴퓨터의 도입과 그래픽 유저 인터페이스(또는 줄여서 GUI)로 알려진 개발에 의해 컴퓨터 시스템의 대중성과 보편화된 사용이 현저히 증가하였다. GUI는 컴퓨터 시스템 유저로 하여금 프로그램의 화상 표시(윈도우), 항목 리스트(메뉴), 파일 및 명령과 같은 다른 컴퓨터 시스템 항목의 개개의 표시를 지정함으로써 컴퓨터 시스템과 대화 가능하게 하는 컴퓨터 시스템 디스플레이 포맷의 한 형태이다. 상이한 형태의 그래픽 유저 인터페이스가 상이한 이익 및 이점을 제공하면서, 유형에 관계없는 모든 GUI와는 바로 윈도우 환경을 제공한다고 말할 수 있다. 윈도우 환경은 윈도우, 메뉴, 다른 컴퓨터 시스템 항목이 다루어지고 디스플레이되는 표준 방식이다.Early computer systems were very difficult to use. It mainly meant that some selected engineers and scientists were worth it. The introduction of personal computers in the 1970s and developments known as graphical user interfaces (or GUIs for short) have significantly increased the popularity and universal use of computer systems. A GUI is one of the computer system display formats that enables a computer system user to interact with the computer system by specifying individual display of other computer system items such as program displays (windows), item lists (menus), files, and commands. Form. It can be said that different types of graphical user interfaces provide different benefits and advantages, while providing a windowing environment directly with any type of GUI. The window environment is the standard way in which windows, menus, and other computer system items are handled and displayed.

그래픽 유저 인터페이스에 의해서 컴퓨터 시스템 유저에게 제공된 분명한 이익 이상으로, GUI는 또한 컴퓨터 시스템 개발자들에게도 이익을 제공하는데, 컴퓨터 시스템 개발자들은 어떻게 그들의 프로그램이 유저에게 제공되는지 대신에 그들의 컴퓨터 프로그램이 무엇을 하는지에 관해 관심을 집중할 수 있다. 이러한 이익은 컴퓨터 시스템 개발자들이 그들의 프로그램으로 하여금 유저와 대화 가능하게 하도록 사용하는 일련의 메카니즘 또는 서비스(때론 인터페이스라 불리움)를 통해 제공된다. 개발자 각자에게는 동일 인터페이스가 주어지기 때문에, 동일 윈도우 환경을 이용하여 기록된 모든 프로그램은 유사한 방식으로 유저와 대화하는 경향이 있다.Beyond the obvious benefits offered to computer system users by the graphical user interface, the GUI also benefits computer system developers, who do not know how their computer programs do what they do instead of how they provide them. You can focus your attention. This benefit is provided through a set of mechanisms or services (sometimes called interfaces) that computer system developers use to enable their programs to interact with a user. Since each developer is given the same interface, all programs written using the same window environment tend to interact with the user in a similar manner.

그러나, 컴퓨터 시스템 산업내에서의 최근의 경향은 단일 컴퓨터 시스템에서 복수 윈도우 환경을 이용하는 것이다. 이러한 경향의 배후 동기는 유저에게 하나 이상의 윈도우 환경의 이익 및 이점을 제공하는 것이다. 이러한 접근 방법은 유저에게 유익한 것이나, 개발자들에게는 문제점을 야기한다. 우리는 초기에 윈도우 환경의 하나의 이익은 그것이 유저에게 컴퓨터 시스템 자원을 제공하는 표준 방식이라고 얘기했다. "표준"이란 동일 윈도우 환경을 이용하여 개발된 모든 프로그램에 대한 표준을 의미하는 것을 이해해야 한다. 보다 간단히 말하자면, 인터페이스들중하나의 세트에 기록된 프로그램이 상이한 윈도우 환경에 의해서 제공된 인터페이스와 함께 동작하지 않는다는 취지로 상이한 윈도우 환경은 컴퓨터 시스템 자원을 제공하고 다루는 상이한 인터페이스를 제공한다. 이러한 비호환성은 복수 윈도우 환경 추세의 핵심인 이득을 크게 감소시킨다. 개발자들은 표준 방식으로 윈도우, 메뉴, 다른 컴퓨터 시스템 항목을 디스플레이하고 다룸으로써 얻어진 이익들을 희생함이 없이 하나 이상의 윈도우 환경을 이용하는 프로그램들을 용이하게 개발할 수 없었다.However, a recent trend in the computer systems industry is to use multiple window environments in a single computer system. The motivation behind this trend is to provide the user with the benefits and benefits of one or more window environments. This approach is good for the user, but it causes problems for developers. We initially said that one benefit of the Windows environment is that it is a standard way of providing computer system resources to users. It should be understood that "standard" means the standard for all programs developed using the same Windows environment. More simply, different windowing environments provide different interfaces for providing and handling computer system resources in the sense that a program written to one set of interfaces does not work with an interface provided by a different windowing environment. This incompatibility greatly reduces the benefits that are key to the multiple window environment trend. Developers could not easily develop programs that use one or more Windows environments without sacrificing the benefits gained from displaying and handling windows, menus, and other computer system items in a standard manner.

본 발명은 상이한 윈도우 환경으로부터의 윈도우 부구성 요소를 단일 윈도우 그룹으로서 디스플레이하는 메카니즘이다. 본 발명은 단일 대화 상자(즉, 부모 윈도우)내에서 자식 윈도우로서 일정하게 디스플레이된 상이한 윈도우 환경으로부터의 둘 이상의 자식 윈도우로서 양호하게 실시된다.The present invention is a mechanism for displaying window subcomponents from different window environments as a single window group. The invention is well practiced as two or more child windows from different window environments that are constantly displayed as child windows within a single dialog box (i.e., parent window).

도 1은 본 발명의 양호한 실시예를 구현하기 위해 사용되는 컴퓨터 시스템의 블록도.1 is a block diagram of a computer system used to implement a preferred embodiment of the present invention.

도 2는 본 발명의 양호한 실시예의 윈도우 환경에 의해서 제공된 기능들중 일부를 도시하는 블록도.2 is a block diagram illustrating some of the functions provided by the window environment of a preferred embodiment of the present invention.

도 3은 본 발명의 양호한 실시예의 부모(parent) 윈도우, 자식(child) 윈도우, 자식 윈도우 스텁(stub)의 상호 관계를 설명하기 위해 사용되는 블록도.FIG. 3 is a block diagram used to illustrate the interrelationship of parent windows, child windows, and child window stubs in a preferred embodiment of the present invention. FIG.

도 4는 본 발명의 양호한 실시예의 윈도우의 초기화를 실행하기 위한 양호한 실시예에서 사용된 단계들을 도시하는 흐름도.4 is a flow chart showing the steps used in the preferred embodiment for performing initialization of a window of the preferred embodiment of the present invention.

도 5a, 도 5b 및 도 5c는 본 발명의 양호한 실시예의 윈도우의 동작 행동을 실행하기 위한 양호한 실시예에서 사용되는 단계들을 도시하는 흐름도.5A, 5B and 5C are flow charts showing the steps used in the preferred embodiment for performing the operating behavior of the window of the preferred embodiment of the present invention.

도 6a 및 6b는 일례의 대화 상자의 스크린 숏(screen shot)을 도시하는 도면.6A and 6B show screen shots of an example dialog box.

도 7a 및 7b는 본 발명의 양호한 실시예의 셧다운 처리를 실행하기 위한 양호한 실시예에서 사용되는 단계들을 도시하는 흐름도.7A and 7B are flowcharts showing the steps used in the preferred embodiment for carrying out the shutdown process of the preferred embodiment of the present invention.

본 발명의 특징들에 대해 첨부 도면을 참조하여 텍스트에서 보다 상세히 설명하기로 한다.The features of the present invention will be described in more detail in the text with reference to the accompanying drawings.

도 1은 본 발명의 양호한 실시예의 컴퓨터 시스템의 블록도이다. 컴퓨터 시스템(100)은 개선된 IBM 개인용 컴퓨터 300PL이다. 그러나, 본 발명은 어느 한 형식이나 어느 한 유형의 컴퓨터 시스템에 제한되지는 않는다. 본 발명은 도 1에서 도시한 모든 구성 요소들을 갖는 컴퓨터 시스템 또는 특정 구성 요소의 배열에 제한되지 않는다. 예컨대, 본 발명은 네트워크 컴퓨터 또는 핸드 헬드 디바이스로 사용되는 것과 같은 많은 네트워크 중심 환경에서 실시될 수 있다. 그러므로, 여기서워드 시스템은 본 발명을 실시하기 충분한 속성을 보유한 디바이스를 일반적으로 참조하기 위해 사용된다.1 is a block diagram of a computer system of a preferred embodiment of the present invention. Computer system 100 is an improved IBM personal computer 300PL. However, the invention is not limited to either form or type of computer system. The present invention is not limited to a computer system having all the components shown in FIG. 1 or an arrangement of specific components. For example, the invention may be practiced in many network-centric environments, such as those used as network computers or hand held devices. Therefore, the word system is used here to generally refer to a device having sufficient attributes to practice the invention.

도시한 바와 같이, 컴퓨터 시스템(100)은 네트워크 어댑터(110), 디스플레이 어댑터(110), 보조 기억장치 어댑터(125), 메인 메모리(135)에 연결된 메인 또는 중앙 처리 장치(CPU)(105)를 포함한다. 이러한 시스템의 구성 요소들은 시스템 버스(130)를 사용하여 상호 연결된다.As shown, the computer system 100 may include a main or central processing unit (CPU) 105 connected to the network adapter 110, the display adapter 110, the auxiliary storage adapter 125, and the main memory 135. Include. The components of such a system are interconnected using a system bus 130.

CPU(105)는 인텔사가 제조한 550 MHz 펜티엄 프로세서이다. 그러나, 본 발명은 어느 하나의 형식의 프로세서에 제한되지 않으며, 본 발명은 코프로세서 또는 보조 프로세서와 같은 어느 다른 유형의 프로세서를 이용하여 실시될 수 있음을 이해하여야 한다.The CPU 105 is a 550 MHz Pentium processor manufactured by Intel Corporation. However, it is to be understood that the present invention is not limited to any type of processor, and that the present invention may be practiced using any other type of processor, such as a coprocessor or coprocessor.

보조 기억 장치 어댑터(125)를 사용하여 대용량 기억 장치(하드 디스크 드라이브와 같은)를 컴퓨터 시스템(100)에 연결한다. 디스플레이 어댑터(120)는 디스플레이 장치를 컴퓨터 시스템(100)에 직접 연결하기 위해 사용된다. 네트워크 어댑터(110)는 컴퓨터 시스템(100)을 다른 컴퓨터 시스템에 연결하기 위해 사용된다.Auxiliary storage adapter 125 is used to connect mass storage devices (such as hard disk drives) to computer system 100. Display adapter 120 is used to directly connect a display device to computer system 100. Network adapter 110 is used to connect computer system 100 to another computer system.

도시한 바와 같이, 메인 메모리(135)는 운영 체제(140), 윈도우 환경(150), 윈도우 환경(160), 윈도우 환경(170)을 포함한다. 또한 동 도 1에는 응용 프로그램(155)과 응용 프로그램 부기능(165)이 도시되고 있다. 컴퓨터 시스템(100)의 유저는 키보드 및/또는 포인팅 장치(도시 안됨)를 사용하여 이러한 프로그램들과 대화한다.As shown, the main memory 135 includes an operating system 140, a window environment 150, a window environment 160, and a window environment 170. In addition, FIG. 1 illustrates an application program 155 and an application program subfunction 165. A user of computer system 100 interacts with these programs using a keyboard and / or pointing device (not shown).

응용 프로그램(155)과 응용 프로그램 부기능(165 및 175)은 윈도우 환경(150)과 관련이 있으며, 응용 프로그램 부기능(165, 175)은 윈도우 환경(160, 170)과 관련되는 것으로서 관찰되어야 한다. 전술한 발명의 배경에서 설명한 바와 같이, 양호한 실시예의 윈도우 환경은 일정한 방식으로 윈도우, 메뉴, 다른 시스템 항목들을 디스플레이하고 다루기 위해 사용된다. 이 명세서를 읽는 사람은 이러한 특별한 환경이 이점과 단점을 각각 가짐을 이해하여야 하는데, 이러한 이점과 단점이 왜 단일 컴퓨터 시스템에서 복수 윈도우 환경이 이용되는 지에 대한 이유이다.Application 155 and application subfunctions 165 and 175 are associated with window environment 150 and application subfunctions 165 and 175 should be observed as being associated with window environment 160 and 170. . As described in the Background of the Invention above, the preferred embodiment window environment is used to display and manipulate windows, menus, and other system items in a consistent manner. The reader of this specification should understand that this particular environment has advantages and disadvantages, respectively, which are the reasons why multiple window environments are used in a single computer system.

양호한 실시예의 운영 체제(140)는 마이크로소프트사가 시판하고 라이센스를 갖고 있는 Windows 95(상표명)로서 업계에 알려져 있다. Windows 95는 윈도우 환경(150)이 운영 체제(140)의 일부로서 도시되고 있는 그 자신의 윈도우 환경을 결합하고 있다. 양호한 실시예의 운영 체제와의 관련성 때문에, 윈도우 환경(150)을 원시 윈도우 환경(native windowing environment)이라고 부른다. 양호한 실시예에서 윈도우 환경(160)은 선마이크로시스템사가 시판하고 라이센스를 갖고 있는 Java Runtime Environment(상표명)로서 업계에 알려진 실행 시간 환경에 의해서 제공된다.Operating system 140 of the preferred embodiment is known in the industry as Windows 95 (trade name) marketed and licensed by Microsoft. Windows 95 incorporates its own windowing environment in which the windowing environment 150 is shown as part of the operating system 140. Because of its relevance to the operating system of the preferred embodiment, the window environment 150 is called a native windowing environment. In a preferred embodiment, the Windows environment 160 is provided by a runtime environment known in the industry as a Java Runtime Environment (trade name) marketed and licensed by Sun Microsystems.

컴퓨터 시스템(100)은 그의 프로그램들로 하여금 그들이 단일의 대용량의 기억 장치 엔티티에 엑세스하는 듯이 행동하게 하는(즉, 메인 메모리(135) 및 HDD와 같은 복수의 소형 기억 장치 엔티티에 엑세스하는 대신에) 공지의 가상 어드레싱 메카니즘을 이용한다. 그러므로, 어떤 메카니즘과 구성이 메인 메모리(135)에 상주하도록 도시되고 있으며 당업자라면 이러한 프로그램들은 동시에 메인 메모리(135)에서 모두 완전하게 포함될 필요는 없음을 인지할 것이다. 예를 들면, 운영 체제(140)는 CPU(105)에서 실행되는 동안 메인 메모리(135)에 상주하나, 다른 시간 동안에는 부착된 HDD에 상주할 것이다(여기서 사용된 메모리란 용어는 일반적으로 기억 장치를 구성하는 특정 물리적 장치와 관계없이 컴퓨터 시스템의 전체 가상 어드레스 공간에 미치는 기억 장치를 지칭한다.).Computer system 100 allows its programs to act as if they are accessing a single mass storage entity (ie, instead of accessing multiple small storage entities such as main memory 135 and HDD). A known virtual addressing mechanism is used. Therefore, certain mechanisms and configurations are shown to reside in main memory 135 and those skilled in the art will recognize that such programs do not need to be completely included in main memory 135 at the same time. For example, operating system 140 resides in main memory 135 while running on CPU 105, but will reside on an attached HDD for another time (the term memory used herein generally refers to storage devices). Refers to storage that affects the entire virtual address space of a computer system, regardless of the particular physical device it comprises).

최종의 예비적인 사항으로서, 본 발명이 완전하게 기능하는 컴퓨터 시스템을 고려하여 기술되는 동안 발명이 속하는 기술 분야의 숙련자라면 본 발명의 메카니즘이 각종 형태의 프로그램 제품으로서 분산될 수 있음을 이해할 것이다. 본 발명은 실제적으로 분산을 실행하기 위해 사용되는 특정 유형의 신호 저장 매체와 관계없이 동일하게 적용한다. 신호 저장 매체의 예는 다음과 같다. 즉 플로피 디스크, 하드 디스크 드라이브와 같은 기록 가능한 형태의 매체, 디지탈 및 아날로그 통신 링크와 같은 CD-ROM 및 전송형 매체의 예가 있다.As a preliminary prerequisite, those skilled in the art will appreciate that the mechanisms of the present invention may be distributed as various forms of program products while the present invention is described in view of fully functional computer systems. The present invention applies equally regardless of the particular type of signal storage medium used to actually perform the dispersion. Examples of signal storage media are as follows. Examples are recordable forms of media such as floppy disks, hard disk drives, CD-ROMs and transmission media such as digital and analog communication links.

도 2는 양호한 실시예의 윈도우 환경에 의해서 제공된 기능들의 일부를 도시하는 블록도이다. 이러한 기능들은 윈도우 환경(150)과 관련된 것으로서 도시되고 있으며, 이러한 일반적인 동일 특징들이 양호한 실시예의 다른 윈도우 환경에서 찾을 수 있다. 또한 도시된 기능들은 양호한 실시예의 윈도우 환경 및/또는 일반적인 윈도우 환경에 의해서 제공된 것들의 짧은 리스트 만을 나타내고 있음을 이해하여야 한다. 이러한 기능들은 프로그램 개발자들로 하여금 동일한 인터페이스를 이용하여 기록된 다른 프로그램과 유사하게 그들의 프로그램을 행동하게 하는 표준 인터페이스가 된다. 예를 들면, 개발자 A는 소정의 윈도우 환경에 의해서 제공된 표준 인터페이스를 이용하여 체크 상자를 작성할 수 있다. 나중에 개발자 B는 상이한 체크 상자를 작성하기 위해 동일한 인터페이스를 사용할 수 있으며 두 체크 상자는 일반적으로 동일한 외관과 행동을 공유할 것이다.2 is a block diagram illustrating some of the functions provided by the window environment of the preferred embodiment. These functions are shown as related to the window environment 150, and these general same features can be found in other window environments of the preferred embodiment. It should also be understood that the illustrated functions represent only a short list of those provided by the window environment and / or general window environment of the preferred embodiment. These functions become standard interfaces that allow program developers to behave their programs similarly to other programs written using the same interface. For example, developer A can create a check box using a standard interface provided by a given window environment. Later, developer B can use the same interface to create different check boxes, and both check boxes will generally share the same appearance and behavior.

도 3은 양호한 실시예의 윈도우 환경, 부모 윈도우, 자식 윈도우, 자식 윈도우 스텁의 상호 관계를 설명하기 위해 사용되는 블록도이다. 이를 위해 부모 윈도우 및 자식 윈도우는 서로 관련될 유저에게 나타나는 어느 두개의 윈도우로 고려되어야 한다. 양호한 실시예에서, 모든 부모 윈도우는 일반적으로 모든 자식 윈도우에 공통인 기능을 제공한다. 예를 들면, 부모 윈도우는 전형적으로 타이틀 바를 갖는 베이직 윈도우와 하나 이상의 버튼(예, Windows 95 운영 체제의 윈도우 환경에서 OK 버튼, CANCEL 버튼, APPLY 버튼)을 제공한다.3 is a block diagram used to illustrate the interrelationship between the window environment, parent window, child window, and child window stub of the preferred embodiment. For this purpose, the parent window and the child window should be considered as two windows appearing to the user to be related to each other. In a preferred embodiment, all parent windows generally provide functionality common to all child windows. For example, a parent window typically provides a basic window with a title bar and one or more buttons (eg, OK button, CANCEL button, APPLY button in the Windows environment of the Windows 95 operating system).

도시한 바와 같이 도 3에서 각각의 부모 윈도우는 상이한 윈도우 환경을 이용하여 생성되었다. 양호한 실시예에서 부모 윈도우(152, 162, 172)는 이들이 중첩된 형태로 한번에 하나씩 유저에게 디스플레이될 수 있도록 서로 병렬로 작성될 수 있다. 즉, 부모 윈도우가 상이한 윈도우 환경의 인터페이스를 이용하여 작성될지라도 부모 윈도우가 실제로 사용되고 있다는 효과를 유저에게 부여하면서 서로의 상부에서 부모 윈도우가 보여질 수 있도록 부모 윈도우는 서로 닮도록(즉, 타이틀 바, 보더, 버튼) 설계된다.As shown, each parent window in FIG. 3 was created using a different window environment. In a preferred embodiment the parent windows 152, 162, 172 can be created in parallel with each other such that they can be displayed to the user one at a time in a superimposed form. In other words, even if the parent window is created using an interface of a different window environment, the parent window is similar to each other (ie, title bar) so that the parent window can be displayed on top of each other while giving the user the effect that the parent window is actually being used. , Borders, buttons) are designed.

하나의 자식 윈도우는 각각의 부모 윈도우와 관련이 있는 양호한 실시예도 본 발명도 단일 자식 윈도우-부모 윈도우 쌍에 제한되지 않음을 이해하여야 한다. 복수 자식 윈도우는 동일 윈도우 환경을 이용하여 생성될 수 있다. 자식윈도우(154)는 부모 윈도우(152)와 관련이 있고, 자식 윈도우(164)는 부모 윈도우(162)와 관련이 있으며, 자식 윈도우(174)는 부모 윈도우(172)와 관련이 있다.It is to be understood that one child window is not limited to a single child window-parent window pair nor to the preferred embodiment associated with each parent window. The plurality of child windows may be generated using the same window environment. Child window 154 is associated with parent window 152, child window 164 is associated with parent window 162, and child window 174 is associated with parent window 172.

자식 윈도우 스텁은 다른 부모 윈도우와 관련된 기능에 엑세스가 제공되는 수단이다. 예를 들면, 개발자가 프로그램[즉, 응용 프로그램(155)]을 기록하고, 또한 윈도우 환경(150)을 이용한 부기능[부기능(157)으로 도시한 바와 같이]과 윈도우 환경(160)을 이용한 부기능을 기록한다고 가정하면, 개발자는 자식 윈도우 스텁(156)을 작성하여 부모 윈도우(162)와 그의 자식 윈도우[자식 윈도우(166)]로의 엑세스를 제공한다. 또한 부모 윈도우(162)에 엑세스한 후 부모 윈도우(152)로의 유저 리턴 엑세스를 용이하게 하기 위해 사용되는 자식 윈도우 스텁(164)가 제공된다. 유저가 양호한 실시예에서 동작하는 방식에 대해서 도 5a, 도 5b 및 5c를 참조하여 보다 상세히 설명하기로 한다. 그러나, 지금은 상이한 부모 윈도우(그리고 그의 관련 부기능)로의 유저 엑세스는 적절한 자식 윈도우 스텁(또한 여기서 선택 항목으로서 지칭됨)의 선택을 통해 달성된다고 말하기로 한다. 다음에 유저는 적절한 자식 윈도우를 통해 원하는 프로그램 또는 부기능에 엑세스 할 수 있다.Child window stubs are the means by which access is provided to functions associated with other parent windows. For example, a developer may record a program (i.e., an application 155), and may also use sub-functions (as shown by sub-function 157) and window environment 160 using window environment 150. Assuming a subfunction is recorded, the developer creates a child window stub 156 to provide access to the parent window 162 and its child windows (child windows 166). Also provided is a child window stub 164 that is used to facilitate user return access to the parent window 152 after accessing the parent window 162. The manner in which the user operates in the preferred embodiment will be described in more detail with reference to FIGS. 5A, 5B and 5C. However, it is now said that user access to different parent windows (and their associated subfunctions) is achieved through the selection of the appropriate child window stub (also referred to herein as a selection). The user can then access the desired program or subfunction through the appropriate child window.

도 4는 양호한 실시예의 자식 윈도우의 초기화를 실행하기 위해 양호한 실시예에서 사용되는 단계들을 도시하는 흐름도이다. 도 3의 윈도우의 초기화의 설명을 용이하게 하기 위해 도 4에 주목하여야 한다. 그러므로, 이 명세서를 읽는 사람들은 도 3과 도 4와 관련한 설명을 읽어야만 한다.4 is a flow chart showing the steps used in the preferred embodiment to perform initialization of the child window of the preferred embodiment. Attention should be paid to FIG. 4 to facilitate the description of the initialization of the window of FIG. 3. Therefore, those reading this specification should read the description with respect to FIGS. 3 and 4.

초기화 프로세스는 유저가 하나 이상의 부모 윈도우와 관련된 프로그램의 실행을 요구할 때 블록(400)에서 시작한다. 유저 요구는 통상 유저가 프로그램 또는 기능을 시작할 때 발생한다. 설명의 편의상 이 명세서를 읽는 사람들은 유저가 부모 윈도우(152)와 관련된 프로그램, 즉 응용 프로그램(155)의 실행을 요구한다고 가정한다. 블록(405)에서, 부모 윈도우(152)는 그의 윈도우 환경[즉, 윈도우 환경(150)]에 의해서 규정된 방식으로 초기화된다. 그러나, 초기화는 여기서 "작성(creation)" 및 "활성화(activation)"라고 지칭되는 2개의 부분으로 분할됨에 주목해야 한다. 대부분 도 4를 참조하여 작성 단계에 대해서 설명하고, 활성화 단계에 대해서는 도 5 및 도 6과 관련 텍스트에서 기술된다. 작성 단계는 어느 자식 윈도우들이 유사하게 초기화를 필요로 하도록 부모 윈도우와 함께 등록되는 지를 결정하는 것을 포함한다.The initialization process begins at block 400 when the user requires execution of a program associated with one or more parent windows. User requests typically occur when a user starts a program or function. For convenience of explanation, those reading this specification assume that the user requires the execution of a program associated with the parent window 152, i. At block 405, the parent window 152 is initialized in a manner defined by its window environment (ie, window environment 150). However, it should be noted that the initialization is divided into two parts, referred to herein as "creation" and "activation." Most of the creation steps will be described with reference to FIG. 4, and the activation steps are described in FIGS. 5 and 6 and related texts. The creation step includes determining which child windows are similarly registered with the parent window to require initialization.

도 3에 도시한 바와 같이, 자식 윈도우(154, 156, 158)는 부모 윈도우(152)와 관련이 있으며, 이는 이들이 서로 초기화를 필요로 하고 있음을 의미하는 것이다. 자식 윈도우(154)의 작성은 윈도우 환경(150)의 자식 윈도우(블록 152)를 위해 규정된 방식으로 다루어진다. 그러나, 자식 윈도우 스텁(156, 158)은 다른 윈도우 환경과 관련이 있으며, 그에 따라 특별한 취급을 필요로 한다. 자식 윈도우 스텁(156)은 부모 윈도우(152)가 그의 등록(블록 415)을 검출할 때 부모 윈도우(152)에 의해서 실행하도록 만들어진다. 당업자라면 실행을 위해 자식 윈도우 스텁(156)이 만들어지는 정확한 방식이 발행 시 윈도우 환경에 특별함을 이해하여야 할 것이다. 예를 들면, 자식 윈도우 스텁(156)는 부모 윈도우(152)에 의해서 직접 불러오거나, 자식 윈도우 스텁(156)은 어떤 다른 수단을 통해 간접적으로 호출될 수 있다. 부모 윈도우(162) 및 그의 자식 윈도우에 관한 필요한 저장 정보에 엑세스하는 자식 윈도우 스텁(156)은 자식 윈도우(166)(블록420)를 작성하기 위해 진행한다. 자식 윈도우(166)는 부모 윈도우(162)와 관련된 메인 부기능이며, 적절한 때 부모 윈도우(162)와 관련되게 하는 방식으로 작성된다.As shown in FIG. 3, the child windows 154, 156, 158 are associated with the parent window 152, meaning that they need to be initialized with each other. Creation of the child window 154 is handled in the manner defined for the child window (block 152) of the window environment 150. However, child window stubs 156 and 158 are associated with other windowing environments and therefore require special handling. Child window stub 156 is made to execute by parent window 152 when parent window 152 detects its registration (block 415). Those skilled in the art will appreciate that the exact manner in which the child window stub 156 is created for execution is specific to the window environment at the time of publication. For example, child window stub 156 may be called directly by parent window 152, or child window stub 156 may be called indirectly through some other means. The child window stub 156, which accesses the necessary storage information about the parent window 162 and its child windows, proceeds to create a child window 166 (block 420). Child window 166 is the main subfunction associated with parent window 162 and is created in such a way as to be associated with parent window 162 when appropriate.

다음에 자식 윈도우 스텁(156)은 자식 윈도우(166)(블록 430)에 대한 필요한 작성 정보를 검색한다. 작성 정보는 자식 윈도우 정의(즉, 탭 타이틀, 크기)와 커미트(commit) 및 취소 핸들러를 포함한다. 탭 타이틀을 사용하여 부모 윈도우의 각 자식 윈도우에 대한 특정 탭들(예컨대, 도 6a의 탭(605)과 탭(610)을 참조)을 식별한다. 부모 윈도우들은 (1) 모두 동일 크기이어야 하고 (2) 가장 큰 자식 윈도우를 하우징하기 충분히 커야만 하기 때문에 크기가 중요하다. 커미트 및 취소 핸들러가 도 7에 도시되며 관련 텍스트에서 설명된다.Child window stub 156 then retrieves the necessary creation information for child window 166 (block 430). Creation information includes child window definitions (ie, tab titles, sizes) and commit and cancel handlers. The tab title is used to identify specific tabs (eg, see tab 605 and tab 610 of FIG. 6A) for each child window of the parent window. The size is important because the parent windows must be (1) all the same size and (2) large enough to house the largest child window. Commit and cancel handlers are shown in FIG. 7 and described in the related text.

프로세스 블록(440)은 블록(415-430)의 처리가 자식 윈도우 스텁(158)과 관련된 구성을 작성하기 위해 반복되어야 함을 보여주기 위한 것이다. 또한, 블록(415-430)의 처리가 각 부가 윈도우 환경(즉, 각 자식 윈도우)에 대해서 만 발생함에 주목하여야 한다. 그러므로, 부모 윈도우(162)가 하나 대신에 2개의 부기능을 제공하도록 구성되었다면, 부모 윈도우(152)는 필요한 엑세스를 제공하는 2개의 자식 윈도우 스텁을 가지나 블록(415-430)의 처리는 윈도우 환경(160)에 대해서 반복될 필요는 없다.Process block 440 is to show that the processing of blocks 415-430 must be repeated to create the configuration associated with the child window stub 158. It should also be noted that the processing of blocks 415-430 only occurs for each additional window environment (ie, each child window). Thus, if parent window 162 is configured to provide two sub-functions instead of one, parent window 152 has two child window stubs that provide the necessary access, but processing of blocks 415-430 is a windowing environment. Need not be repeated for 160.

일단 모든 윈도우가 초기화된 다음, 부모 윈도우(152)와 자식 윈도우(154)는 활성화되어 유저(처리 블록 450)에게 디스플레이된다. 다음에 유저는 자식윈도우(154)(즉, 부기능 157)와 관련된 부기능을 선택하여 실행할 수 있다.Once all windows have been initialized, the parent window 152 and child window 154 are activated and displayed to the user (processing block 450). The user can then select and execute the subfunction associated with the child window 154 (ie, subfunction 157).

도 5a, 도 5b 및 도 5c는 양호한 실시예의 자식 윈도우의 동작 행동을 실행하기 위한 양호한 실시예에서 사용되는 단계들을 도시하는 흐름도이다. 도 4와 같이, 도 5a, 5b 및 5c는 도 3과 관련하여 도시되었다. 그러므로, 이 명세서를 읽는 사람들은 도 3, 도 5a, 5b 및 5c를 참조하여 상세한 설명을 읽어야 만 한다.5A, 5B and 5C are flow charts showing the steps used in the preferred embodiment for performing the operational behavior of the child window of the preferred embodiment. As with FIG. 4, FIGS. 5A, 5B and 5C are shown in relation to FIG. 3. Therefore, those reading this specification should read the detailed description with reference to FIGS. 3, 5A, 5B and 5C.

여기서 유저는 부기능(165)을 활성화하기를 원한다고 가정한다. 이를 위해 유저는 자식 윈도우 스텁(156)(도 5의 블록 500)을 선택한다. 자식 윈도우 스텁(156)은 부모 윈도우(162)가 작성되었는 지를 판단함으로서 응답한다(블록 502). 부모 윈도우가 작성되지 않았다면, 자식 윈도우 스텁(156)은 처리 블록(504)에서 부모 윈도우(162)를 작성하고 부모 윈도우(162)가 자식 윈도우 스텁(164, 168)을 작성하도록 부모 윈도우 자체와 그의 동기(즉, 자식 윈도우 154 및 158)에 대한 정보를 패스한다. 다음에 자식 윈도우 스텁(156)은 선택된 부기능과 관련된 자식 윈도우가 사전에 활성화되었는 지를 판단한다(처리 블록 506). 활성화가 필요하면, 자식 윈도우 스텁(156)은 그 자체 및 자식 윈도우(166)(블록 508)를 디스플레이하기 위해 부모 윈도우(162)에 명령하기 전, 자식 윈도우(166)(블록 508)를 활성화하기 위해 진행한다. 다음에 자식 윈도우 스텁(156)은 부모 윈도우 자체를 감추기 위해 부모 윈도우(152)에 명령한다(여기서, 그 자체를 숨기기 위해 이전 부모 윈도우에 명령하기 전, 다음 부모 윈도우를 디스플레이하기 위한 설계 선택에 주목한다. 이 기술은 어떤 환경에서 유저에게 인지할 수 있는 스크린 플래싱/플리커를 줄이기 위한 것이다. 보여주고 숨기는 윈도우를 지시하기 위해 사용되는 인터페이스는 포함된 윈도우 환경에서 특별한 것임에 주목해야 한다. 이러한 기능들은 당업자에게는 공지되어 있어 여기서 이에 대한 더 이상의 상세한 설명은 생략하기로 한다.). 다음에 부모 윈도우(162)와 자식 윈도우(166)가 유저에게 디스플레이된다(블록 514).Here it is assumed that the user wants to activate the subfunction 165. To do this, the user selects a child window stub 156 (block 500 in FIG. 5). Child window stub 156 responds by determining whether parent window 162 has been created (block 502). If the parent window has not been created, the child window stub 156 creates the parent window 162 at processing block 504 and the parent window itself and its parent window 162 to create the child window stubs 164 and 168. Pass information about synchronization (ie, child windows 154 and 158). Child window stub 156 then determines whether the child window associated with the selected subfunction has been activated beforehand (processing block 506). If activation is needed, child window stub 156 activates child window 166 (block 508) before instructing parent window 162 to display itself and child window 166 (block 508). To proceed. The child window stub 156 then instructs the parent window 152 to hide the parent window itself (note the design choice for displaying the next parent window before instructing the previous parent window to hide itself). This technique aims to reduce the user's perceptible screen flashing / flicker in any environment, and it is important to note that the interface used to indicate a window to show and hide is unique in the included window environment. It is known to those skilled in the art and further detailed description thereof will be omitted. Parent window 162 and child window 166 are then displayed to the user (block 514).

다음에 유저는 부기능(165)을 실행하는 것이 가능하다. 부모 윈도우(152)의 숨김과 자식 윈도우(162)의 보여주기는 2개의 상이한 부모 윈도우가 사용되고 2개의 부모 윈도우가 상이한 윈도우 환경을 이용하여 작성되고 생성됨을 인식하지 않도록 매우 신속히 발생하는 것이다.The user can then execute the subfunction 165. The hiding of parent window 152 and the showing of child window 162 occur very quickly so that two different parent windows are used and not aware that two parent windows are created and created using different window environments.

유저가 자식 윈도우(166)에서 부기능(165)과의 대화를 완료할 때, 유저는 부기능(157) 또는 부기능(175)을 실행하는 것을 결정할 수 있다. 부기능(157)이 선택되었다고 가정하면, 유저는 전술한 바와 같이 부기능(157)으로의 액세스와 함께(즉 자식 윈도우 154를 통해) 부모 윈도우(152)로의 엑세스 역경로를 제공하는 윈도우 스텁(164)을 선택할 것이다. 부모 윈도우(162)는 자식 윈도우 스텁(164)의 선택을 검출하고 자식 윈도우 스텁(156)에 유저 행동(519)을 알린다. 다음에 자식 윈도우 스텁(156)는 다음에 부모 윈도우(152)에 지령하여 그자체 및 자식 윈도우(154)(블록 520)를 디스플레이하고 부모 윈도우(162)에 지령하고 자체를 숨긴다(블록 524). 부모 윈도우(152) 및 자식 윈도우(154)는 유저에게 디스플레이된다(블록 526).When the user completes a conversation with the subfunction 165 in the child window 166, the user may decide to execute the subfunction 157 or the subfunction 175. Assuming sub-function 157 has been selected, the user can access the sub-function 157, as described above, with a window stub that provides access backpath to parent window 152 (i.e., through child window 154). 164). Parent window 162 detects selection of child window stub 164 and informs child window stub 156 of user behavior 519. Child window stub 156 then instructs parent window 152 to display itself and child window 154 (block 520), instructs parent window 162, and hides itself (block 524). Parent window 152 and child window 154 are displayed to the user (block 526).

다시 도 5c로 돌아가서, 부기능(165)을 선택하는 대신에 유저는 부기능(175)에 엑세스하길 원하면, 유저는 부기능(175)(즉 자식 윈도우(178)를 통해)으로의 엑세스를 부모 윈도우(172)로의 엑세스 경로를 제공한다. 부모 윈도우(162)는 자식윈도우 스텁(168)이 선택되었음을 검출하고 부모 윈도우(152)로 하여금 자식 윈도우 스텁(158)를 디스플레이하게 하는 자식 윈도우 스텁(156)에게 알린다.Returning back to FIG. 5C, instead of selecting subfunction 165, if the user wants to access subfunction 175, the user has parent access to subfunction 175 (ie, through child window 178). Provide an access path to window 172. Parent window 162 detects that child window stub 168 is selected and notifies child window stub 156 that causes parent window 152 to display child window stub 158.

활성화 시, 자식 윈도우 스텁(158)은 부모 윈도우(172)가 작성(블록 528)되는 지를 판단한다. 그렇지 않다면, 자식 윈도우 스텁(158)은 부모 윈도우(172)를 작성하고(블록 530), 자식 윈도우 스텁(174, 176)으로 하여금 작성되게 한다. 다음에 자식 윈도우 스텁(158)은 자식 윈도우(178)가 활성화 상태인지를 판단하며(블록 532), 활성화 상태가 아니면 자식 윈도우(178)를 활성화한다(블록 544). 자식 윈도우 스텁(158)는 부모 윈도우(172)에 지령하여 그 자체 및 자식 윈도우(178)를 디스플레이한다(블록 540). 다음에 자식 윈도우 스텁(156)은 부모 윈도우(162)에 지령하여 그 자체를 숨긴다. 부모 윈도우(172)와 자식 윈도우(178)는 유저에게 디스플레이된다(블록 514). 다음에 유저는 부기능(175)을 실행하는 것이 가능하다.Upon activation, child window stub 158 determines whether parent window 172 is created (block 528). If not, child window stub 158 creates parent window 172 (block 530) and causes child window stubs 174 and 176 to be created. Child window stub 158 then determines whether child window 178 is active (block 532) and activates child window 178 if it is not active (block 544). Child window stub 158 instructs parent window 172 to display itself and child window 178 (block 540). The child window stub 156 then instructs the parent window 162 to hide itself. Parent window 172 and child window 178 are displayed to the user (block 514). Next, the user can execute the sub function 175.

도 6a 및 6b는 양호한 실시예의 메카니즘을 이용하여 구성된 대화 상자의 스크린 도면이다. 이 스크린 도면은 어떻게 부모 윈도우, 자식 윈도우, 자식 윈도우 스텁이 유저에게 도시되는 지를 보여준다. 이 명세서를 읽는 사람들은 이 실시예의 목적이 전기물과 통계 부기능이 상이한 윈도우 환경을 이용하여 기록됨을 보여주기 위한 것임을 이해하여야 한다. 도 6a에 도시한 바와 같이 상기 예는 Joe V. Good란 이름의 가상의 야구 선수에 대한 정보에 관한 것이다. 전술한 바와 같이, 부모 윈도우는 유저에게 보여주는 많은 기본적인 구성 요소를 제공한다. 여기서, 부모 윈도우(600)는 기본적인 윈도우, 윈도우 보더, 타이틀 바, 뷰 버튼, 취소 버튼을 제공한다. 자식 윈도우(605)는 전기물 부기능을 보여주는 활성화 상태이다. 통계적자식 윈도우(610)는 비활성화 상태이고 자식 윈도우 스텁은 선택 항목에 의해서만 표현된다. 유저가 선택 항목(610)을 선택하면, 부모 윈도우(600)는 자동적으로 숨겨지며 자식 윈도우(655)를 따라 부모 윈도우(650)는 그 위치에서 보여진다. 다시 이러한 전환은 매우 신속히 발생하는데, 이는 유저가 2개의 상이한 부모 윈도우가 사용되거나 2개의 상이한 세트의 윈도우와 부기능이 상이한 윈도우 환경을 이용하여 작성된다는 것을 인식하지 못한다는 것을 의미한다.6A and 6B are screen diagrams of dialog boxes constructed using the mechanism of the preferred embodiment. This screen drawing shows how parent windows, child windows, and child window stubs are shown to the user. Those reading this specification should understand that the purpose of this embodiment is to show that electrical and statistical subfunctions are recorded using different window environments. As shown in Fig. 6A, the example relates to information about a fictional baseball player named Joe V. Good. As mentioned above, the parent window provides many basic components to show to the user. Here, the parent window 600 provides a basic window, window border, title bar, view button, and cancel button. The child window 605 is in an active state showing the electrical subfunction. Statistical child window 610 is inactive and child window stubs are represented only by selections. When the user selects the selection item 610, the parent window 600 is automatically hidden and the parent window 650 along the child window 655 is shown at that location. Again this transition happens very quickly, meaning that the user does not realize that two different parent windows are used or that two different sets of windows and sub-functions are created using different window environments.

도 7a 및 7b는 양호한 실시예의 윈도우의 차단 처리를 실행하기 위한 양호한 실시예에서 사용되는 단계들을 보여주는 흐름도이다. 차단은 유저가 클로즈 이벤트를 생성하는 선택을 행할 때 발생한다. 클로즈 이벤트는 유저가 대화 상자(예, 도 6a 및 6b에 도시한 바와 같이 "OK" 또는 "뷰")에서 커미트 버튼 또는 취소 버튼(예, 도 6a 및 6 b의 "취소 버튼을 참조)을 선택함으로써 특정 기능을 실행하는 것을 판단할 때 발생한다. 당업자라면 "커미트"와 "취소"란 용어가 여기서 사용되고, 진행 또는 회피되는 다른 유저 행동이 본 발명의 사상 및 범위내에 속함을 이해할 수 있을 것이다.7A and 7B are flowcharts showing the steps used in the preferred embodiment for executing the blocking process of the window of the preferred embodiment. The blocking occurs when the user makes a choice to generate a closed event. A close event is selected by a user in a dialog box (e.g., "OK" or "view" as shown in FIGS. 6A and 6B) or a cancel button (e.g., see the "Cancel button" in FIGS. 6A and 6B). The term " commit " and " cancel " are used herein and other user actions that proceed or are avoided are within the spirit and scope of the present invention.

도 7a는 클로즈 이벤트가 원시 윈도우 환경에 의해서 수신될 때 부모 윈도우 및 자식 윈도우/스텁의 차단 처리를 실행하기 위해 사용되는 단계들을 도시한다. 이 특허에서 사용된 바와 같이, 클로즈 이벤트는 차단 처리로 하여금 발생하게 하는 어떤 이벤트이다. 또 다른 방식으로 말하자면, 클로즈 이벤트는 실행을 종결하여야만 한다는 것을 응용 프로그램이 통보받는 이벤트이다. 이러한 통보는 운영 체제 또는 유저에 의해서 개시될 수 있다. 유저가 잘 알려진 "OK" 버튼 또는"CANCEL" 버튼을 선택할 때 유저 개시 클로즈 이벤트의 예가 발생한다. 프로그램적으로 클로즈 이벤트가 원시 윈도우 환경[즉, 양호한 실시예의 경우에서 윈도우 환경(150)]에 의해서 직접 또는 또 다른 윈도우 환경[즉, 양호한 실시예의 경우 윈도우 환경(160, 170)]으로부터 간접적으로 수신될 수 있음을 이해하여야 한다.7A illustrates the steps used to perform blocking processing of a parent window and a child window / stub when a close event is received by the native window environment. As used in this patent, a close event is any event that causes a blocking process to occur. In another way, a closed event is an event in which an application is notified that execution must be terminated. Such notification may be initiated by the operating system or the user. An example of a user initiated close event occurs when the user selects a well known " OK " or " CANCEL " button. Programmatically close events are received directly by the native window environment (ie, window environment 150 in the preferred embodiment) or indirectly from another window environment (ie, window environment 160, 170 in the preferred embodiment). It should be understood that it can be.

클로즈 이벤트는 부모 윈도우(152)에 의해서 블록(700)에서 검출된다. 당업자라면 응용 프로그램을 차단하기 전에 때때로 커미트 선택이라고 불리는 OK 버튼의 선택에서 데이터 정당화가 필요함을 알 수 있을 것이다. 데이터 정당화 기술은 잘 이해될 수 있으며 본 발명의 이익 및 이점을 위해서는 중요하지 않다. 그러므로 여기서 이 기술에 대해서는 기술되지 않는다.The close event is detected at block 700 by the parent window 152. Those skilled in the art will appreciate that data justification is required in the selection of an OK button, sometimes called a commit selection, before blocking the application. Data justification techniques are well understood and are not important for the benefit and benefit of the present invention. Therefore, this description is not described here.

각각의 등록된 자식 윈도우 스텁에 대해서, 부모 윈도우(152)는 관련된 자식 윈도우 스텁을 일렬로 불러올 것이다(블록 720). 자식 윈도우 스텁은 그의 관련 부모 윈도우[즉, 이 경우 부모 윈도우(162) 또는 윈도우(172)]가 존재하는 지를 판단한다(블록 740). 부모 윈도우가 존재하지 않으면, 자식 윈도우 스텁은 차단 처리가 필요하지 않음을 아는 데 이것은 부모 윈도우(152)가 계속해서 보다 많은 윈도우 스텁에 대해서 체크할 수 있다는 것을 의미하는 것이다. 부모 윈도우가 존재하면, 자식 윈도우 스텁은 부모 윈도우에 클로즈 이벤트의 발생을 통보한다(블록 745). 다음에 제어는 보다 많은 자식 윈도우 스텁을 체크하는 부모 윈도우로 복귀한다(블록 725). 일단 부모 윈도우가 그의 모든 자식 윈도우를 순회한 다음, 디스플레이 스크린에서 그 자체 및 그의 모든 자식 윈도우를 제거하며(블록 727), 실행을 종결한다(블록 730). 이러한 자식 윈도우 제거 단계는 발행 시 특정 윈도우 환경 및 내용에 따라 가변할 수 있다. Microsoft Windows(상표명) 환경에서, 예컨대 각 자식 윈도우는 차단을 통보받고 지시를 받으며, 각 자식 윈도우는 데이터를 절약하고 메모리 및 다른 자원을 명시적으로 자유롭게 하기 위한 기회를 자식 윈도우에 부여한다. 한편, Java(상표명) 환경에서, 데이터가 또한 절약될 수 있으나 자식 윈도우에 대한 참조는 간단히 해제되는데, 이는 다가오는 가비지 수집 사이클에 대한 자원 해제로 해결되는 것이다.For each registered child window stub, the parent window 152 will load the associated child window stub in line (block 720). The child window stub determines whether its associated parent window (ie, parent window 162 or window 172 in this case) exists (block 740). If the parent window does not exist, the child window stub knows that no blocking process is needed, meaning that parent window 152 can continue to check for more window stubs. If the parent window exists, the child window stub notifies the parent window of the occurrence of the close event (block 745). Control then returns to the parent window checking for more child window stubs (block 725). Once the parent window traverses all of its child windows, it then removes itself and all of its child windows from the display screen (block 727) and terminates execution (block 730). The step of removing the child window may vary according to a specific window environment and contents at the time of publication. In a Microsoft Windows ™ environment, for example, each child window is informed of the block and is instructed, and each child window gives the child window an opportunity to save data and explicitly free memory and other resources. On the other hand, in a Java ™ environment, data can also be saved, but references to child windows are simply released, which is solved by the release of resources for the upcoming garbage collection cycle.

도 7b는 클로즈 이벤트가 비원시(non-native) 윈도우 환경에 의해서 수신될 때 부모 윈도우 및 자식 윈도우/스텁의 셧다운 처리를 실행하기 위해 사용된다. 다시, 언급한 바와 같이 클로즈 이벤트는 윈도우 환경에 의해서 직접 또는 또 다른 윈도우 환경으로부터 간접적으로 수신될 수 있다. 클로즈 이벤트는 부모 윈도우[양호한 실시예에서 부모 윈도우(162) 또는 부모 윈도우(172)중 어느 하나]에 의해서 블록(752)에서 검출된다. 부모 윈도우는 먼저 차단 플래그가 설정되었는 지를 판단한다(블록 7730. 차단 플래그가 설정되었다면, 처리는 차단 처리가 이 부모 윈도우에 대해서 필요하지 않을 때 블록(770)에서 종결한다. 차단 플래그가 설정되지 않았다면, 블록(775)에서 차단 플래그가 설정된다. 다음에 부모 윈도우는 클로즈 이벤트가 원시 윈도우 스텁[양호한 실시예의 경우 윈도우 스텁(156)]으로부터 유래한 이벤트인지를 판단하는 블록(777)에서 처리가 계속 진행된다. 원시 윈도우 스텁으로부터 통보가 오지 않으면, 원시 윈도우 환경으로의 클로즈 이벤트의 통지는 필요하지 않으며, 그 결과 부모 윈도우는 그의 자식 윈도우 또는 윈도우들을 차단하기 위해 진행하고 디스플레이 스크린에서 그 자체를 제거한다(블록 767). 통지가 원시윈도우 스텁으로부터 유래하지 않으면, 클로즈 이벤트의 통지는 그의 자식 윈도우 또는 윈도우들을 차단하기 전에 원시 자식 윈도우 스텁을 통해 제공되며(블록 780), 그 자체를 디스플레이 스크린으로부터 제거한다(블록 767).7B is used to perform shutdown processing of the parent window and child window / stub when a close event is received by a non-native window environment. Again, as mentioned, the close event may be received by the window environment directly or indirectly from another window environment. The close event is detected at block 752 by the parent window (either parent window 162 or parent window 172 in the preferred embodiment). The parent window first determines if a block flag has been set (block 7730. If the block flag is set, processing terminates at block 770 when block processing is not needed for this parent window. The block flag is set at block 775. The parent window then continues processing at block 777 to determine if the close event is an event originating from a native window stub (window stub 156 in the preferred embodiment). If no notification comes from the native window stub, notification of a close event to the native window environment is not necessary, so that the parent window proceeds to block its child window or windows and removes itself from the display screen. (Block 767) If the notification does not come from the native window stub, close it Notification of the event is provided through the raw child window stub before blocking its child window or windows (block 780) and removes itself from the display screen (block 767).

일단, 부모 윈도우가 모든 그의 자식 스텁 윈도우를 순회한 다음, 그 자체 및 모든 그의 자식 윈도우를 디스플레이 스크린으로부터 제거하며(블록 767), 실행을 종결한다(블록 770).Once the parent window traverses all its child stub windows, then it removes itself and all its child windows from the display screen (block 767) and terminates execution (block 770).

여기서 설명한 실시예들과 예들은 본 발명과 그의 실용상 응용을 최상으로 설명하기 위해 제시되었고 그에 따라 당업자라면 본 발명의 이용이 가능하다. 그러나, 당업자라면 전술한 설명 및 예들은 예증의 목적으로 제시된 것임을 이해할 것이다. 기술된 설명은 본 발명을 개시된 정확한 형태로 제한하거나 배타적인 것을 의도하지는 않는다. 많은 변형 및 수정은 첨부된 청구항 사상과 범위를 일탈하지 않는 교시 내용을 고려하여 가능하다.The embodiments and examples described herein have been presented to best illustrate the invention and its practical application, and thus enable those skilled in the art to make use of the invention. However, one of ordinary skill in the art appreciates that the foregoing description and examples are presented for purposes of illustration. The written description is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the teachings without departing from the spirit and scope of the appended claims.

본 발명은 상이한 윈도우 환경으로부터의 윈도우 부구성 요소를 호한성있게 단일 윈도우 그룹으로서 디스플레이할 수 있게 한다.The present invention makes it possible to display window subcomponents from different window environments as a single window group.

Claims (15)

디스플레이 장치에 윈도우를 디스플레이하기 위한 컴퓨터 구현 방법으로,A computer-implemented method for displaying a window on a display device, 유저로부터의 요청에 응답하여 제1 부모 윈도우와 제1 자식 윈도우를 디스플레이하기 위한 단계-상기 제1 자식 윈도우는 제1 윈도우 환경에 의해서 생성된다-와,Displaying the first parent window and the first child window in response to a request from a user, wherein the first child window is generated by a first window environment; 상기 유저의 요청 시 제2 자식 윈도우를 디스플레이하는 단계-상기 제2 자식 윈도우는 제2 윈도우 환경에 의해서 생성된다-Displaying a second child window upon the user's request, the second child window being generated by a second window environment; 를 포함하는 컴퓨터 구현 방법.Computer implemented method comprising a. 제1항에 있어서, 제2 자식 윈도우를 디스플레이하는 상기 단계는 상기 제2 자식 윈도우를 디스플레이하기 전에 상기 제1 부모 윈도우를 제2 부모 윈도우와 중첩하는 단계를 포함하며, 상기 제2 부모 윈도우는 상기 제2 윈도우 환경에 의해서 생성되는 것인 컴퓨터 구현 방법.The method of claim 1, wherein displaying the second child window comprises overlapping the first parent window with a second parent window prior to displaying the second child window. And wherein the computer-implemented method is generated by the second window environment. 제1항에 있어서, 상기 유저의 요청 시 제3 자식 윈도우를 디스플레이하는 단계를 더 포함하며, 상기 제3 자식 윈도우는 제3 윈도우 환경에 의해 생성되는 것인 컴퓨터 구현 방법.The computer implemented method of claim 1 further comprising displaying a third child window at the request of the user, wherein the third child window is generated by a third window environment. 제1항에 있어서, 상기 유저의 요청 시 제3 자식 윈도우를 디스플레이하는 단계를 더 포함하며, 상기 제3 자식 윈도우는 제3 윈도우 환경에 의해서 생성되는 것인 컴퓨터 구현 방법.The computer-implemented method of claim 1, further comprising displaying a third child window upon request of the user, wherein the third child window is generated by a third window environment. 디스플레이 장치에서 윈도우를 디스플레이하기 위한 컴퓨터 구현 방법으로서,A computer-implemented method for displaying a window on a display device, 유저로부터의 요청에 응답하여 제1 부모 윈도우와 제1 자식 윈도우를 디스플레이하기 위한 단계-상기 제1 자식 윈도우는 제1 윈도우 환경에 의해서 생성된다-와,Displaying the first parent window and the first child window in response to a request from a user, wherein the first child window is generated by a first window environment; 상기 유저의 요청 시 제2 자식 윈도우를 디스플레이하기 위한 단계-상기 제2 자식 윈도우는 제2 윈도우 환경에 의해서 생성되며, 상기 제2 자식 윈도우는 상기 제2 자식 윈도우가 상기 제2 윈도우 환경에 의해서 생성됨을 상기 유저에게 경보(alert)하는 것을 피하는 방식으로 디스플레이된다-Displaying a second child window at the request of the user, wherein the second child window is generated by a second window environment, and the second child window is created by the second window environment Is displayed in a manner that avoids alerting the user- 를 포함하는 컴퓨터 구현 방법.Computer implemented method comprising a. 제5항에 있어서, 상기 제2 자식 윈도우를 디스플레이하기 위한 단계는 상기 제2 자식 윈도우를 디스플레이하기 전에 상기 제1 부모 윈도우를 제2 부모 윈도우와 중첩하는 단계를 포함하며, 상기 제2 부모 윈도우는 상기 제2 윈도우 환경에 의해서 생성되는 것인 컴퓨터 구현 방법.6. The method of claim 5, wherein displaying the second child window comprises overlapping the first parent window with a second parent window before displaying the second child window. Computer generated by the second window environment. 제6항에 있어서, 상기 유저의 요청 시 제3 자식 윈도우를 디스플레이하는 단계를 더 포함하며, 상기 제3 자식 윈도우는 상기 제2 윈도우 환경에 의해서 생성되는 것인 컴퓨터 구현 방법.7. The computer-implemented method of claim 6, further comprising displaying a third child window at the request of the user, wherein the third child window is generated by the second window environment. 제5항에 있어서, 상기 유저의 요청 시 제3 자식 윈도우를 디스플레이하는 단계를 더 포함하며, 상기 제3 자식 윈도우는 제3 윈도우 환경에 의해서 생성되는 것인 컴퓨터 구현 방법.6. The computer-implemented method of claim 5, further comprising displaying a third child window at the request of the user, wherein the third child window is generated by a third window environment. 신호 저장 매체와,Signal storage media, 상기 신호 저장 매체에 저장된 프로그램을 포함하는 프로그램 제품으로서, 상기 프로그램은,A program product comprising a program stored in said signal storage medium, said program comprising: 유저로부터의 요청에 응답하여 부모 윈도우와 제1 자식 윈도우를 디스플레이하기 위한 단계-상기 제1 자식 윈도우는 제1 윈도우 환경에 의해서 생성된다-와,Displaying a parent window and a first child window in response to a request from a user, wherein the first child window is created by a first window environment; 상기 유저의 요청 시 제2 자식 윈도우를 디스플레이하기 위한 단계-상기 제2 자식 윈도우는 제2 윈도우 환경에 의해서 생성된다-Displaying a second child window upon the user's request, the second child window being created by a second window environment 실행하도록 구성된 프로그램 제품.Program product configured to run. 신호 저장 매체와Signal storage media and 상기 신호 저장 매체에 저장된 프로그램을 포함하는 프로그램 제품으로서, 상기 프로그램은,A program product comprising a program stored in said signal storage medium, said program comprising: 유저로부터의 요청에 응답하여 부모 윈도우와 제1 자식 윈도우를 디스플레이하기 위한 단계-상기 제1 자식 윈도우는 제1 윈도우 환경에 의해서 생성된다-와,Displaying a parent window and a first child window in response to a request from a user, wherein the first child window is created by a first window environment; 상기 유저의 요청 시 제2 자식 윈도우를 디스플레이하기 위한 단계-상기 제2 자식 윈도우는 제2 윈도우 환경에 의해서 생성되고, 상기 제2 자식 윈도우는 상기 제2 자식 윈도우가 상기 제2 윈도우 환경에 의해서 생성됨을 상기 유저에게 경보하는 것을 피하는 방식으로 디스플레이된다-Displaying a second child window at the request of the user; the second child window is generated by a second window environment, and the second child window is created by the second window environment. Is displayed in a manner that avoids alerting the user- 를 실행하도록 구성되는 프로그램 제품.Program products that are configured to run. 처리 유니트와,Processing unit, 메모리와,With memory, 상기 처리 유니트에서 실행하기 위한 상기 메모리에 저장된 프로그램을 포함하는 시스템으로서, 상기 프로그램은,A system comprising a program stored in said memory for execution in said processing unit, said program comprising: 유저로부터의 요청에 응답하여 제1 부모 윈도우와 제1 자식 윈도우를 디스플레이하기 위한 단계-상기 제1 자식 윈도우는 제1 윈도우 환경에 의해서 생성된다-와,Displaying the first parent window and the first child window in response to a request from a user, wherein the first child window is generated by a first window environment; 상기 유저의 요청 시 제2 자식 윈도우를 디스플레이하기 위한 단계-상기 제2 자식 윈도우는 제2 윈도우 환경에 의해서 생성되고, 상기 제2 자식 윈도우는 상기 제2 자식 윈도우가 상기 제2 윈도우 환경에 의해서 생성됨을 상기 유저에게 경보하는 것을 피하는 방식으로 디스플레이된다-Displaying a second child window at the request of the user; the second child window is generated by a second window environment, and the second child window is created by the second window environment. Is displayed in a manner that avoids alerting the user- 를 실행하도록 구성되는 시스템.The system is configured to run. 제11항에 있어서, 상기 제2 자식 윈도우를 디스플레이하기 위한 단계는 상기 제2 자식 윈도우를 디스플레이하기 전에 상기 제1 부모 윈도우를 제2 부모 윈도우와 중첩하는 단계를 포함하며, 상기 제2 부모 윈도우는 상기 제2 윈도우 환경에 의해서 생성되는 것인 컴퓨터 구현 방법.12. The method of claim 11, wherein displaying the second child window comprises overlapping the first parent window with a second parent window before displaying the second child window. Computer generated by the second window environment. 제12항에 있어서, 상기 유저의 요청 시 제3 자식 윈도우를 디스플레이하는 단계를 더 포함하며, 상기 제3 자식 윈도우는 상기 제2 윈도우 환경에 의해서 생성되는 것인 컴퓨터 구현 방법.13. The computer-implemented method of claim 12, further comprising displaying a third child window at the request of the user, wherein the third child window is generated by the second window environment. 제11항에 있어서, 상기 유저의 요청 시 제3 자식 윈도우를 디스플레이하는 단계를 더 포함하며, 상기 제3 자식 윈도우는 제3 윈도우 환경에 의해서 생성되는 것인 컴퓨터 구현 방법.12. The computer-implemented method of claim 11, further comprising displaying a third child window upon request of the user, wherein the third child window is generated by a third window environment. 신호 저장 매체와,Signal storage media, 상기 신호 저장 매체에 저장된 프로그램를 포함하는 프로그램 제품으로서, 상기 프로그램은,A program product comprising a program stored in said signal storage medium, said program comprising: 유저로부터의 요청에 응답하여 부모 윈도우, 제1 자식 윈도우, 제2 선택 항목을 디스플레이하는 단계-상기 제1 자식 윈도우는 제1 윈도우 환경에 의해서 생성되며, 상기 선택 항목은 제2 윈도우 환경을 통해 엑세스 가능한 정보를 나타낸다-Displaying a parent window, a first child window, and a second selection item in response to a request from a user, wherein the first child window is created by a first window environment, the selection item being accessed through a second window environment Indicates possible information 를 실행하도록 구성되는 프로그램 제품.Program products that are configured to run.
KR10-2001-0024594A 2000-05-31 2001-05-07 Method and system for displaying window sub-components from different windowing environments as a single window grouping KR100480656B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US58425000A 2000-05-31 2000-05-31
US09/584,250 2000-05-31

Publications (2)

Publication Number Publication Date
KR20010109085A true KR20010109085A (en) 2001-12-08
KR100480656B1 KR100480656B1 (en) 2005-04-06

Family

ID=24336553

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0024594A KR100480656B1 (en) 2000-05-31 2001-05-07 Method and system for displaying window sub-components from different windowing environments as a single window grouping

Country Status (3)

Country Link
JP (1) JP2002023913A (en)
KR (1) KR100480656B1 (en)
TW (1) TW531707B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012015199A2 (en) * 2010-07-27 2012-02-02 (주)잉카인터넷 Method of executing an additional process linked to a main process

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4839049B2 (en) * 2005-09-20 2011-12-14 クラリオン株式会社 Information processing apparatus and display screen control method
CN106020601A (en) * 2016-05-16 2016-10-12 乐视控股(北京)有限公司 Interface display management method and device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2552071B2 (en) * 1992-03-31 1996-11-06 インターナショナル・ビジネス・マシーンズ・コーポレイション Method and system for simultaneously presenting multiple windows supported by different graphic user interfaces
JPH07129355A (en) * 1993-11-05 1995-05-19 Canon Inc Device and method for displaying screen
JPH086753A (en) * 1994-06-15 1996-01-12 Oki Electric Ind Co Ltd Method and device for managing window
JPH11282600A (en) * 1998-03-30 1999-10-15 Sanyo Electric Co Ltd Multi-window display device and storage medium
KR100341782B1 (en) * 1998-08-26 2002-09-27 삼성전자 주식회사 Multi-split management device for windows

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012015199A2 (en) * 2010-07-27 2012-02-02 (주)잉카인터넷 Method of executing an additional process linked to a main process
WO2012015199A3 (en) * 2010-07-27 2012-05-03 (주)잉카인터넷 Method of executing an additional process linked to a main process

Also Published As

Publication number Publication date
JP2002023913A (en) 2002-01-25
KR100480656B1 (en) 2005-04-06
TW531707B (en) 2003-05-11

Similar Documents

Publication Publication Date Title
US20190361571A1 (en) Managing a floating window
US20200218437A1 (en) Visual Characteristics of User Interface Elements in a Unified Interest Layer
US5754809A (en) Perspective windowing technique for computer graphical user interface
US7523409B2 (en) Methods and systems for operating multiple web pages in a single window
US6201539B1 (en) Method and system for customizing a data processing system graphical user interface
US20100205559A1 (en) Quick-launch desktop application
US20070101291A1 (en) Linked widgets
US8635543B2 (en) Multiple UI paradigms within a single application
US20140173407A1 (en) Progressively triggered auto-fill
US9665381B2 (en) Combining interfaces of shell applications and sub-applications
KR20110090903A (en) Surfacing and management of window-specific controls
EP1955129A2 (en) Multiple dashboards
KR20060041873A (en) Hosted application as a designer in an integrated development environment
TW200917121A (en) Application bar browsing of tabbed-view applications
EP2024875A2 (en) Content editing protected view
JP2006506698A (en) Multimedia file tooltip
US20050114792A1 (en) Method and system for exchanging information with a process using a window display port
KR100480656B1 (en) Method and system for displaying window sub-components from different windowing environments as a single window grouping
Raggi et al. Booting Ubuntu for the First Time
Stanek Windows Vista: the definitive guide
Kotecha Windows 7 in easy steps
Thomas et al. Booting Ubuntu for the First Time
Thomas Booting Linux for the First Time

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
LAPS Lapse due to unpaid annual fee