up

EP 0463250:
Data processing apparatus user interface and data processing apparatus with such an interface.

Data Sheet

EC Classification:
G06F3/033A1 ; G06F9/46R2
IPC Classification:
G06F3/033 ; G06F9/46
Priority Number(s):
EP19900307114 19900628
Application Number:
EP19900307114 19900628
Requested Patent:
[_] EP0463250, B1
Applicant(s)::
IBM (US)
Inventor(s):
KANE JACQUELINE (IE); DOYLE MARY THERESA (IE)
Publication date:
1992-01-02
Patent Number:
EP0463250
Invention:
Data processing apparatus user interface and data processing apparatus with such an interface.

Application

Description


   Description

   This invention relates to the field of data processing. More
   particularly, this invention relates to the field of user interfaces
   for data processing apparatus.
   The user interface of a piece of data processing apparatus is a term
   that is used to describe the way that apparatus interacts with its
   user. A particularly important part of a user interface is the way the
   apparatus displays information the user of the device. Considerable
   attention is directed at this aspect of user interfaces, and one
   approach that has been successfully adopted is the so called
   'windowing interface'.
   In a windowing system such as that used in the Operating System/2
   computer program produced by International Business Machines
   Corporation (Operating System/2 is a trade mark of International
   Business Machines Corporation), the display is divided into a number
   of rectangular areas each displaying a piece of text or graphics as
   appropriate. The windows can be compared to pieces of paper on a desk
   top, with each window capable of overlapping and obscuring windows
   having a lower priority in the display. More recent windows systems
   also provide multiprocessing facilities with which several application
   programs may be concurrently active. A window may be dedicated to a
   particular application such as word processing or spreadsheet or
   alternatively to different threads within a single application, e.g. a
   window may be allocated to each different part of a word processing
   application such as pagination, printing, spell checking and the like
   - different activities on different documents can be controlled
   concurrently through each window.
   One feature of these windowing systems is the provision of so called
   dialog boxes using which data relating to a preceding action can be
   entered. An example of this would be if a window displayed a list of
   names and telephone numbers, a possible action for selection would be
   to edit the details of an entry. The user would highlight the entry
   concerned in the list names and then select the action of edit from
   the list of actions. Having done this the system would display a
   dialog box possibly overlapping a portion of the window containing the
   names list. The dialog box would display the full details of that
   entry, and then by moving around and over typing portions the entry
   can be edited.
   Dialog boxes in existing systems fall into two categories. The is
   first is modeless dialog boxes, which are such that when they are
   produced they can be completed at any time, and any other action can
   be taken in another window whilst the dialog box is still displayed.
   The second is modal dialog boxes, which come in two forms. System
   modal dialog boxes are such that when produced no other action may be
   made by the user until that system modal dialog box has been completed
   and removed. Application modal dialog boxes are such that when
   produced no action may be made by the user within the application to
   which that dialog box belongs until the dialog box has been completed
   and removed.
   The present invention is concerned with the problem of producing data
   processing apparatus with a user interface that is easier to
   understand and work with.
   Viewed from one aspect the invention provides a method of manipulating
   data stored by a data processing apparatus having a windowing user
   interface comprising the steps of:
   detecting a user input requesting display for manipulation of data
   within a logically defined division of an application program
   executing on said data processing apparatus,
   creating a dialog window displaying said data for manipulation,
   storing mode data indicating said dialog window within said logically
   defined division is being displayed, and
   upon a subsequent request to manipulate data within a given logically
   defined division, rejecting said subsequent request if said mode data
   indicates a dialog window for said logically defined division is being
   displayed and said subsequent request is determined to be of a type
   capable of conflicting with manipulation being made using said dialog
   window being displayed.
   The invention both recognises and solves the problem that whilst
   ensuring data integrity within an application is maintained it is
   important not to excessively restrict the different actions a user may
   wish to undertake with the data processing apparatus.
   The modeless dialog boxes allow the user complete freedom to undertake
   other actions with the system, but suffer from the disadvantage of not
   protecting the user from taking actions which disrupt data integrity,
   e.g the user can have open a dialog box for editing an entry in data
   database, whilst at the same deleting that entry in the database using
   another part of the application.
   The modal dialog boxes, either application or system modal, do protect
   the user from producing integrity problems, but suffer from the
   disadvantage of restricting the users freedom more than is truely
   necessary.
   The invention provides a mechanism that is responsive to whether or
   not a dialog box within a part of an application is already open and
   whether the further request is capable of creating a data integrity
   problem with that change being made in the dialog box already open.
   Thus, data integrity is protected whilst the restriction of actions
   possible is held to only a part of the application and also to only
   requests that could cause data integrity problems.
   An example would be a database application for manipulating a list of
   peoples' telephone numbers or a list of books. The type of actions you
   may wish to take against each of these lists would be edit an item,
   add an item, delete an item or sort the list. The list of users and
   books are quite separate and so would be defined to be within
   different logically defined divisions of the program - changes to
   either list wouldn't effect the integrity of the other.
   Within a given list if it is decided to edit the details of a
   particular user then the user is selected from the list of users and
   the edit action selected from the list of actions thereby triggering
   production of an edit dialog box for that user. Once that dialog box
   was open then the other actions which pose a threat to data integrity
   would be blocked until the editing had been finished and the edit
   dialog box removed.
   A preferred feature of the invention is that said mode data of said
   dialog window stores an identifier to said logically defined division,
   said logically defined division identifier being used for directing
   movement of a cursor between said dialog window and said logically
   defined division to switch activity therebetween. This feature allows
   the user to move between the dialog window and other parts of the
   logically defined division thereby giving a clear visual indication of
   the link between them. This is particularly useful when more than one
   dialog box is displayed, each relating to a different logically
   defined division of the application. In such circumstance each
   logically defined division could have a number of dialog boxes
   associated with it each being independently movable. The display could
   become jumbled and the user may become confused as to which elements
   of the display relate to one another. By providing a mechanism for
   rapidly moving focus (i.e. cursor and active status) by preferably
   using repeated operation of a single key on a keyboard the link
   between the items is made clear and rapid movement between them is
   possible.
   In preferred embodiments of the invention if said subsequent request
   does not conflict then a subsequent dialog window is created for said
   logically defined division and any further subsequent request is
   tested for conflict with all manipulations being made using dialog
   windows within that logically defined division. This feature allows
   more than one dialog box to be created within a logically division to
   aid the flexibility of the system and yet still protects data
   integrity. An example would be if the edit telephone number list
   dialog window included an option of displaying STD (national dialling)
   codes within another dialog window. This option would be allowed to be
   activated as no conflict in integrity could arise.
   In preferred embodiments of the invention said mode data for each
   dialog box provides an identifier to one or more other dialog windows
   of said logically defined division, said dialog window identifier
   being used for directing movement of a cursor between dialog windows
   within said logically defined division to switch activity
   therebetween. The dialog windows within a logically defined division
   may be thought of as forming a chain of dialog windows between which
   the user can move to manipulate data within that logically defined
   division. The provision of this pointer enables the application to
   move between dialog windows in response to a single command, such as
   use of the cursor keys. The movement between dialog boxes can be
   considered as equivalent to movement between links in a chain.
   A further preferred feature of the invention is that said logically
   defined division stores an identifier to a main application action
   menu, said main application menu identifier being used for directing
   movement of a cursor between said logically defined division and said
   main application action menu to switch activity therebetween. In this
   way the complete chain of all dialog windows for a given logically
   defined division, the root action menu for the given logically defined
   division and the main application action menu can be quickly moved
   between and a clear visual indication of their hierarchical
   relationship given.
   Viewed from a second aspect the invention provides a data processing
   apparatus having a display, a windowing user interface and dialog box
   control logic for:
   detecting a user input from a user input device requesting display for
   manipulation of data within a logically defined division of an
   application program executing on said data processing apparatus,
   creating a dialog window displaying said data for manipulation,
   storing mode data indicating said dialog window within said logically
   defined division is being displayed, and
   upon a subsequent request to manipulate data within a given logically
   defined division, rejecting said subsequent request if said mode data
   indicates a dialog window for said logically defined division is being
   displayed and said subsequent request is determined to be of a type
   capable of conflicting with manipulation being made using said dialog
   window being displayed.
   An embodiment of the invention will now be described, by way of
   example only, with reference to the accompanying drawings in which:
   Figure 1 illustrates a windowing user interface having a plurality of
   logically defined divisions.
   Figure 2 illustrates the selection of an action within one logically
   defined division.
   Figure 3 illustrates a dialog box within one logically defined
   division.
   Figure 4 illustrates a second level dialog box.
   Figure 5 is a flow diagram illustrating the operation of an embodiment
   of the invention.
   Figure 6 is a schematic illustration of a data processing apparatus
   using the present invention.
   Figure 7 is a schematic illustration of a data structure used in
   controlling the interaction of dialog boxes in one embodiment of the
   invention.
   Figure 1 illustrates a database application having a windowing user
   interface and a number of logically defined divisions within the
   application program. The program provides access to a list of
   telephone numbers and peoples names via window 2 and to a list of
   books via window 4. The telephone list and the book list are separate
   logically defined divisions within the program since changes in one do
   not effect the data integrity of the other. In order to carry out a
   function on one of the items in the telephone list that item is
   selected by manipulation of the cursor. The selected item 6 is
   highlighted within the list.
   Figure 2 illustrates the next step in the manipulation of the data. A
   pull down menu 8 from the root action bar menu 10 is selected. The
   user then highlights a particular action 12 he wishes to perform on
   the selected item 6.
   Figure 3 illustrates the response to this action selection. The pulled
   down menu is no longer displayed and an edit telephone list dialog box
   14 is created. This edit telephone list dialog box displays details of
   the selected item 6 which may be edited by the user. When the user has
   finished with editing the changes can either be saved or discarded
   using the "Save" or "Cancel" buttons within the dialog box 14. If
   during the editing of the telephone list the user wishes to refer to a
   list of STD telephone codes then a second level dialog box 16 can be
   selected by activating the "STD" button.
   Figure 4 illustrates the display with both first and second level
   dialog boxes. It will be seen that the display is now becoming
   complicated. This illustrates why there is a need to protect the user
   from making changes which could interfere with data integrity. With a
   large number of different windows being displayed it would be easy for
   the user to become confused as to which window related to which
   particular action he wished to make. In order to help the user
   recognise the link between the various windows a facility is provided
   for moving between the various portions of a logically defined
   division. By pressing a particular function key the system moves the
   focus (i.e. changes which window is active) to the main application
   menu bar of the logically defined division that is currently active.
   By manipulating the cursor keys the user may then successively bring
   the focus to the various other elements within the logically defined
   division.
   The system menu 18 is available on each window and allows the
   selection of actions which apply to the form of the window itself
   rather than the function it is performing. When the cursor is moved
   between the elements within a logically defined division using the
   function key and cursor keys (chaining process) it is placed on top of
   the system menu in each window since all windows have a system menu
   and it is often the system menu functions that are desired to be used.
   The system menu is initially displayed in the form of a symbol which
   must be selected to produce the display of the various actions within
   the system menu.
   Figure 5 is a flow diagram illustrating the operation of an
   embodiment. At step 20 the system receives a user input requesting
   manipulation, e.g. the user has manipulated the cursor to pick a
   selected item 6 and a selected action 8. At step 22 the system creates
   the first level dialog box. At step 24 the system stores the mode data
   indicating to that dialog box which logical division of the
   application it belongs to and also indicating to the logical division
   that a dialog box has been created within it. At step 26 the system
   receives another user input requesting a further manipulation, e.g.
   STD code list selection. At step 28 the system reads the stored mode
   data to determine where a dialog box has already been created for that
   logical division. At step 30 the system determines whether the
   subsequent request received at step 26 is one that conflicts with the
   existing dialog box created at step 22. This test could be performed
   by comparing the subsequent request with a list of requests that are
   known to be capable of producing conflicts with the dialog box created
   at step 22.
   If the result for steps 28 and 30 are both YES then at step 32 the
   request is rejected. If either of the steps 28 and 30 produce a result
   of NO then at step 34 the system creates the second level dialog box
   and at step 36 the system stores the mode data indicating the
   relationship between the first and second level dialog boxes for use
   when chaining the dialog boxes together. The process then terminates.
   Figure 6 schematically illustrates a data processing apparatus 42
   embodying the invention. The data processing apparatus 42 comprises a
   data processing unit 38 and a display 40. The data processing unit 38
   includes a central processor unit 44, a dialog box control program
   storage area 46 and an application program storage area 48. The
   central processor unit 44 acting under control of the dialog box
   control program stored in dialog box control program storage 46 acts
   as logic for carrying out the functions with which the present
   invention is concerned. The central processor unit 44 acting under the
   control of the application program stored within the application
   program storage area 48 acts as logic to provide the data base
   application program described earlier.
   It will be appreciated that whilst the present invention has been
   described in terms of a general purpose computer acting under the
   control of a computer program it would be possible (although in
   practice difficult and expensive) to embody the invention in special
   purpose hardware. Similarly, it will be appreciated that the invention
   is not restricted to the use of any particular computer language.
   Figure 7 illustrates a data structure that can be used within the
   Presentation Manager program discussed earlier to store the mode data
   indicating the connection between the various items within the
   logically defined division. Within the Presentation Manager
   environment the application system records data indicating what
   logically defined division of the program is currently active, i.e.
   stores the window handle of the currently active logical division.
   When focus is changed between logically defined divisions the
   application updates this store. This is illustrated as store 50. The
   Presentation Manager environment also provides a facility for use by
   dialog boxes and windows for storing pointers to data structures
   designated offset QWL_USER. The central processor unit 44 acting under
   the control of the dialog box control program may store data in and
   access data from these data structures using the WinSetWindowULong and
   WinQueryWindowULong commands within the Presentation Manager
   environment. The dialog boxes each store within this storage 52 data
   pointing to the previous item within the logical division chain and
   the following item within the logical division chain. In this way
   second and lower level dialog box point to the previous and next
   dialog box within the chain and the first level dialog box points to
   the route action menu 10 for that logically defined division and the
   next (second level) dialog box within the chain. It will be
   appreciated that the above is just one example of a storage structure
   that may be used to control the relationship between the various items
   within the logically defined division.
     _________________________________________________________________

   Data supplied from the esp@cenet database - l2

Claims


   Claims

   1. A method of manipulating data stored by a data processing apparatus
   having a windowing user interface comprising the steps of:
   detecting a user input requesting display for manipulation of data
   within a logically defined division of an application program
   executing on said data processing apparatus,
   creating a dialog window displaying said data for manipulation,
   storing mode data indicating said dialog window within said logically
   defined division is being displayed, and
   upon a subsequent request to manipulate data within a given logically
   defined division, rejecting said subsequent request if said mode data
   indicates a dialog window for said logically defined division is being
   displayed and said subsequent request is determined to be of a type
   capable of conflicting with manipulation being made using said dialog
   window being displayed.
   2. A method as claimed in claim 1, wherein said mode data of said
   dialog window stores an identifier to said logically defined division,
   said logically defined division identifier being used for directing
   movement of a cursor between said dialog window and said logically
   defined division to switch activity therebetween.
   3. A method as claimed in any of claims 1 or 2, wherein if said
   subsequent request does not conflict then a subsequent dialog window
   is created for said logically defined division and any further
   subsequent request is tested for conflict with all manipulations being
   made using dialog windows within that logically defined division.
   4. A method as claimed in claim 3, wherein said mode data for each
   dialog box provides an identifier to one or more other dialog windows
   of said logically defined division, said dialog window identifier
   being used for directing movement of a cursor between dialog windows
   within said logically defined division to switch activity
   therebetween.
   5. A method as claimed in any of claims 2 to 5, wherein said logically
   defined division stores an identifier to a main application action
   menu, said main application menu identifier being used for directing
   movement of a cursor between said logically defined division and said
   main application action menu to switch activity therebetween.
   6. A method as claimed in any of claims 2 to 5, wherein said movement
   of said cursor is affected by repeated operation of a key on a
   keyboard.
   7. A data processing apparatus having a display, a windowing user
   interface and dialog box control logic for:
   detecting a user input from a user input device requesting display for
   manipulation of data within a logically defined division of an
   application program executing on said data processing apparatus,
   creating a dialog window displaying said data for manipulation,
   storing mode data indicating said dialog window within said logically
   defined division is being displayed, and
   upon a subsequent request to manipulate data within a given logically
   defined division, rejecting said subsequent request if said mode data
   indicates a dialog window for said logically defined division is being
   displayed and said subsequent request is determined to of a type
   capable of conflicting with manipulation being made using said dialog
   window being displayed.
   8. A data processing apparatus as claimed in claim 7, wherein said
   mode data of said dialog window stores an identifier to said logically
   defined division, said logically defined division identifier being
   used for directing movement of a cursor between said dialog window and
   said logically defined division to switch activity therebetween.
   9. A data processing apparatus as claimed in any of claims 7 or 8,
   wherein if said subsequent request does not conflict then a subsequent
   dialog window is created for said logically defined division and any
   further subsequent request is tested for conflict with all
   manipulations being made using dialog windows within that logically
   defined division.
   10. A data processing apparatus as claimed in claim 9, wherein said
   mode data for each dialog box provides an identifier to one or more
   other dialog windows of said logically defined division, said dialog
   window identifier being used for directing movement of a cursor
   between dialog windows within said logically defined division to
   switch activity therebetween.
   11. A data processing apparatus as claimed in any of claims 8 to 10,
   wherein said logically defined division stores an identifier to a main
   application action menu, said main application menu identifier being
   used for directing movement of a cursor between said logically defined
   division and said main application action menu to switch activity
   therebetween.
   12. A data processing apparatus as claimed in any of claims 8 to 11,
   wherein said movement of said cursor is affected by repeated operation
   of a key on a keyboard.
     _________________________________________________________________

   Data supplied from the esp@cenet database - l2


Granted Patent


Claims as Graphics

OCR result

 
gocr ep0463250-001

                   Europäisches Patentamt
_  _   European patent ofice
Ofice europeen des brevets       _ publication number. O _63 250 B 1
_             EUROPEA_ PATE_T SPECIFICATIO_
g Date or publ_icat_ion or patent spec_ircat_ion.      _ lnt. cl.'. _06F 3I033, G06F 9146
O_.02.95 Bulletin 95I05
_ Application number. 9o3ol__,.o
_ Date or riling. 28.o6.ao
_ Data Processing aPParatus user interface and data Processing aPParatus with such an interface.
g Date of publication of application.          _ lnventor. Kane, Jacqueline
02.O_.92 Bulletin 92IO_                  _8 Dromawling Road,
Beaumont
Dublin 9 (IE)
g Publication of the grant of the patent =          ,ln,Ve,ntOf _ DwOYle,1,MäY ThefeSä
O_.02.95 Bulletin 95I05                 Shänäkt_ln  OO  OUftl
Co. Dublin (IE)
_ Designated Contracting States.
DE FR GB                      _ Representative. Moss, Robert Douglas
IBM United Kingdom Limited
_                              lntellectual Property Department
Ref_fenCeS Cited _                     HufSley Päfk
EuPS_AA_ O, 3g_622 836g6g                     Winchester Hampshire S02_ 2Jhl (GB)
US__A__ 8,02 02_
_ ProPrietor. International Business Machines
Corporation
Old Orchard Road
Armonk, hl.Y. _050, (US)
_
_
__
_
__
_    Note. w.ith.in n.ine months from the publ.icat.ion of the ment.ion of the grant of the European patent any
_    penon may give notice to the European patent orrice or opposition to the European patent gra'nte_.
_    Notice of opposition shall be fled in a written reasoned statement. It shall not be deemed to have been
W    fled until the opposition fee has been paid (Art. 99(1) European patent convention).
Jouve, 18, rue Saint-Denis, 75001 PARIS


gocr ep0463250-002

                        1              EP O _63 250 B_             2
Description                            come in two forms. System modal dialog boxes are
such that when produced no other action may be
DA_A PROCESSING APPARATUS USER            made by the user until that system modal dialog box
INTERFACE                             has been completed and removed. Application modal
_   dialog boxes are such that when produced no action
This invention relates to the field ofdata process-      may be made by the user within the application to
ing. More particularly, this invention relates to the      which that dialog box belongs until the dialog box has
field ofuser interfaces fordata processing apparatus.      been completed and removed.
The user interface of a piece of data processing        The present invention is concerned with the prob-
apparatus is a term that is used to describe the way   1o   lem of producing data processing apparatus with a
that apparatus interacts with its user. A particularly      user interface that is easier to understand and work
important part of a user interface is the way the ap-      with.
paratus displays information the user of the device.        Viewed from one aspect the invention provides a
Considerable attention is directed at this aspect of      method of manipulating data stored by a data proc-
user interfaces, and one approach that has been suc-   1_   essing apparatus having a windowing user interface,
cessfully adopted is the so called 'windowing inter-      said method comprising the steps of.
face'.                                     detecting a user input requesting display for
In a windowing system such as that used in the      manipulation ofdata within a logically defined division
Operating Systeml2 computer program produced by      ofan application program being executed by said data
International Business Machines Corporation (Oper-   2o   processing apparatus,
ating Systeml2 is a trade mark of lnternational Busi-          creating a dialog window displaying said data
ness Machines Corporation), the display is divided      for manipulation,
into a number of rectangular areas each displaying a          storing mode data which indicates that said di-
piece of text or graphics as appropriate. The windows      alog window within said logically defined division is
can be compared to pieces of paper on a desk top,   2_   being displayed, and
with each window capable ofoverlapping and obscur-          upon a subsequent request to manipulate data
ing windows having a lower priority in the display.      within a given logically defined division, rejecting said
More recent windows systems also provide multipro-      subsequent request if said mode data indicates that
cessing facilities with which several application pro-      a dialog window for said logically defined division is
grams may be concurrently active. Awindow may be   3o   being displayed and said subsequent request is de-
dedicated to a particular application such as word      termined to be of a type which may conflict with ma-
processing orspreadsheet oralternatively to different      nipulation being made using said dialog window being
threads within a single application, e.g. a window may      displayed.
be allocated to each different part of a word process-        The invention both recognises and solves the
ing application such as pagination, printing, spell   3_   problem that whilst ensuring data integrity within an
checking and the like - different activities on different      application is maintained it is important not to exces-
documents can be controlled concurrently through      sively restrict the different actions a user may wish to
each window.                            undertake with the data processing apparatus.
One feature of these windowing systems is the        The modeless dialog boxes allow the user com-
provision of so called dialog boxes using which data   4o   plete freedom to undertake otheractions with the sys-
relating to a preceding action can be entered. An ex-      tem, but suffer from the disadvantage of not protect-
ample of this would be if a window displayed a list of      ing the userfrom taking actions which disrupt data in-
names and telephone numbers, a possible action for      tegrity, e.g the user can have open a dialog box for
selection would be to edit the details of an entry. The      editing an entry in data database, whilst at the same
user would highlight the entry concerned in the list   4_   deleting that entry in the database using another part
names and then select the action of edit from the list      of the application.
ofactions. Having done this the system would display        The modal dialog boxes, eitherapplication orsys-
a dialog box possibly overlapping a portion ofthe win-      tem modal, do protect the user from producing integ-
dow containing the names list. The dialog box would      rity problems, but suffer from the disadvantage of re-
display the full details of that entry, and then by mov-   _o   stricting the users freedom more than is truely nec-
ing around and over typing portions the entry can be      essary.
edited.                                  The invention provides a mechanism that is re-
Dialog boxes in existing systems fall into two cat-      sponsive to whether or not a dialog box within a part
egories. The is first is modeless dialog boxes, which      ofan application is already open and whether the fur-
are such that when they are produced they can be   __   ther request is capable of creating a data integrity
completed at any time, and any other action can be      problem with that change being made in the dialog
taken in another window whilst the dialog box is still      box already open. Thus, data integrity is protected
displayed. The second is modal dialog boxes, which      whilst the restriction ofactions possible is held to only
2


gocr ep0463250-003

                        3              EP O _63 250 B_             4
a part ofthe application and also to only requests that      defined division, said dialog window identifier being
could cause data integrity problems.               used for directing movement of a cursor between di-
An example would be a database application for      alog windows within said logically defined division to
manipulating a list of peoples' telephone numbers or      switch activity therebetween. The dialog windows
a list of books. The type of actions you may wish to   _   within a logically defined division may be thought of
take against each ofthese lists would be edit an item,      as forming a chain of dialog windows between which
add an item, delete an item or sort the list. The list of      the user can move to manipulate data within that log-
users and books are quite separate and so would be      ically defined division. The provision of this pointer
defined to be within different logically defined divi-      enables the application to move between dialog win-
sions of the program - changes to either list wouldn't   1o   dows in response to a single command, such as use
effect the integrity of the other.                  of the cursor keys. The movement between dialog
Within a given list if it is decided to edit the details      boxes can be considered as equivalent to movement
of a particular user then the user is selected from the      between links in a chain.
Iist of users and the edit action selected from the list        Afurther preferred feature of the invention is that
of actions thereby triggering production of an edit di-   1_   said logically defined division stores an identifier to a
alog box for that user. Once that dialog box was open      main application action menu, said main application
then the other actions which pose a threat to data in-      menu identifier being used for directing movement of
tegritywould be blocked until the editing had been fin-      a cursor between said logically defined division and
ished and the edit dialog box removed.              said main application action menu to switch activity
A preferred feature of the invention is that said   2o   therebetween. In this way the complete chain ofall di-
mode data of said dialog window stores an identifier      alog windows for a given logically defined division,
to said logically defined division, said logically de-      the root action menu forthe given logically defined di-
fined division identifier being used fordirecting move-      vision and the main application action menu can be
ment ofa cursor between said dialog windowand said      quickly moved between and a clear visual indication
Iogically defined division to switch activity therebetw-   2_   of their hierarchical relationship given.
een. This feature allows the user to move between        Viewed from a second aspect the invention pro-
the dialog window and other parts of the logically de-      vides a data processing apparatus having a display,
fined division thereby giving a clear visual indication      a windowing user interface and dialog box control log-
of the link between them. This is particularly useful      ic for.
when more than one dialog box is displayed, each re-   3o      detecting a user input from a user input device
Iating to a different logically defined division ofthe ap-      requesting display for manipulation of data within a
plication. In such circumstance each logically defined      logically defined division of an application program
division could have a number of dialog boxes associ-      being executed by said data processing apparatus,
ated with it each being independently movable. The          creating a dialog window displaying said data
display could become jumbled and the user may be-   3_   for manipulation,
come confused as to which elements of the display          storing mode data which indicates that said di-
relate to one another. By providing a mechanism for      alog window within said logically defined division is
rapidly moving focus (i.e. cursor and active status) by      being displayed, and
preferably using repeated operation ofa single key on          upon a subsequent request to manipulate data
a keyboard the link between the items is made clear   4o   within a given logically defined division, rejecting said
and rapid movement between them is possible.         subsequent request if said mode data indicates that
In preferred embodiments of the invention if said      a dialog window for said logically defined division is
subsequent request does not conflict then a subse-      being displayed and said subsequent request is de-
quent dialog window is created for said logically de-      termined to be of a type which may conflict with ma-
fined division and any further subsequent request is   4_   nipulation being made using said dialog window being
tested for conflict with all manipulations being made      displayed.
using dialog windows within that logically defined di-        An embodiment of the invention will now be de-
vision. This feature allows more than one dialog box      scribed, by way ofexample only, with reference to the
to be created within a logically division to aid the flex-      accompanying drawings in which.
ibility of the system and yet still protects data integri-   _o     Figure 1 illustrates a windowing user interface
ty. An example would be ifthe edit telephone number      having a plurality of logically defined divisions.
Iist dialog window included an option of displaying         Figure 2 illustrates the selection ofan action with-
STD (national dialling) codes within another dialog      in one logically defined division.
window. This option would be allowed to be activated         Figure 3 illustrates a dialog box within one logi-
as no conflict in integrity could arise.            __   cally defined division.
In preferred embodiments of the invention said         Figure 4 illustrates a second level dialog box.
mode data for each dialog box provides an identifier        Figure 5 is a flow diagram illustrating the opera-
to one or more other dialog windows of said logically      tion of an embodiment of the invention.
3


gocr ep0463250-004

                        5              EP O _63 250 B_             6
Figure 6 is a schematic illustration ofa data proc-      function key and cursor keys (chaining process) it is
essing apparatus using the present invention.          placed on top of the system menu in each window
Figure 7 is a schematic illustration ofa data struc-      since all windows have a system menu and it is often
ture used in controlling the interaction ofdialog boxes      the system menu functions that are desired to be
in one embodiment of the invention.            _   used. The system menu is initially displayed in the
Figure 1 illustrates a database application having      form of a symbol which must be selected to produce
a windowing user interface and a number of logically      the display of the various actions within the system
defined divisions within the application program. The      menu.
program provides access to a list of telephone num-        Figure 5 is a flow diagram illustrating the opera-
bers and peoples names via window 2 and to a list of   1o   tion ofan embodiment. At step 20 the system receives
books via window 4. The telephone list and the book      a user input requesting manipulation, e.g. the user
Iist are separate logically defined divisions within the      has manipulated the cursor to pick a selected item 6
program since changes in one do not effect the data      and a selected action 8. At step 22 the system creates
integrity of the other. In order to carry out a function      the first level dialog box. At step 24 the system stores
on one of the items in the telephone list that item is   1_   the mode data indicating to that dialog box which log-
selected by manipulation of the cursor. The selected      ical division of the application it belongs to and also
item 6 is highlighted within the list.                indicating to the logical division that a dialog box has
Figure 2 illustrates the next step in the manipula-      been created within it. At step 26 the system receives
tion of the data. A pull down menu 8 from the root ac-      another user input requesting a further manipulation,
tion bar menu 1 O is selected. The user then highlights   2o   e.g. STD code list selection. At step 28 the system
a particular action 1 2 he wishes to perform on the se-      reads the stored mode data to determine where a di-
Iected item 6.                            alog box has already been created for that logical di-
Figure 3 illustrates the response to this action se-      vision. At step 30 the system determines whether the
Iection. The pulled down menu is no longer displayed      subsequent request received at step 26 is one that
and an edit telephone list dialog box 14 is created.   2_   conflicts with the existing dialog box created at step
This edit telephone list dialog box displays details of      22. This test could be performed by comparing the
the selected item 6 which may be edited by the user.      subsequent request with a list of requests that are
When the user has finished with editing the changes      known to be capable of producing conflicts with the
can either be saved or discarded using the ''Save'' or      dialog box created at step 22.
''Cancel'' buttons within the dialog box 14. Ifduring the   3o     lfthe resultfor steps 28 and 30 are both YES then
editing ofthe telephone list the userwishes to refer to      at step 32 the request is rejected. Ifeither ofthe steps
a list of STD telephone codes then a second level di-      28 and 30 produce a result of NO then at step 34 the
alog box 16 can be selected by activating the ''STD''      system creates the second level dialog box and at
button.                                step 36 the system stores the mode data indicating
Figure 4 illustrates the display with both first and   3_   the relationship between the first and second level di-
second level dialog boxes. It will be seen that the dis-      alog boxes for use when chaining the dialog boxes to-
play is now becoming complicated. This illustrates      gether. The process then terminates.
why there is a need to protect the user from making         Figure 6 schematically illustrates a data process-
changes which could interfere with data integrity.      ing apparatus 42 embodying the invention. The data
With a large number of different windows being dis-   4o   processing apparatus 42 comprises a data process-
played it would be easy for the user to become con-      ing unit 38 and a display 40. The data processing unit
fused as to which window related to which particular      38 includes a central processor unit 44, a dialog box
action he wished to make. In order to help the user      control program storage area 46 and an application
recognise the link between the various windows a fa-      program storage area 48. The central processor unit
cility is provided for moving between the various por-   4_   44 acting under control of the dialog box control pro-
tions ofa logically defined division. By pressing a par-      gram stored in dialog box control program storage 46
ticular function key the system moves the focus (i.e.      acts as logic for carrying out the functions with which
changes which window is active) to the main applica-      the present invention is concerned. The central proc-
tion menu bar of the logically defined division that is      essor unit 44 acting under the control of the applica-
currently active. By manipulating the cursor keys the   _o   tion program stored within the application program
user may then successively bring the focus to the va-      storage area 48 acts as logic to provide the data base
rious other elements within the logically defined divi-      application program described earlier.
sion.                                    It will be appreciated that whilst the present in-
The system menu 1 8 is available on each window      vention has been described in terms ofa general pur-
and allows the selection of actions which apply to the   __   pose computeracting underthe control ofa computer
form of the window itself rather than the function it is      program it would be possible (although in practice dif-
performing. When the cursor is moved between the      ficult and expensive) to embody the invention in spe-
elements within a logically defined division using the      cial purpose hardware. Similarly, it will be appreciat-
_


gocr ep0463250-005

                            7                EP O _63 250 B_               8
ed that the invention is not restricted to the use of any       2.  A method as claimed in claim 1, wherein said
particular computer language.                        mode data of said dialog window stores an iden-
Figure 7 illustrates a data structure that can be          tifier to said logically defined division, said logi-
used within the Presentation Manager program dis-          cally defined division identifier being used for di-
cussed earlier to store the mode data indicating the   _      recting movement of a cursor between said dia-
connection between the various items within the log-          log window and said logically defined division to
ically defined division. Within the Presentation Man-          switch activity therebetween.
ager environment the application system records data
indicating what logically defined division of the pro-       3.  A method as claimed in any of claims 1 or 2,
gram is currently active, i.e. stores the window handle   1o      wherein if said subsequent request does not con-
of the currently active logical division. When focus is          flict, then a subsequent dialog window is created
changed between logically defined divisions the ap-          for said logically defined division and any further
plication updates this store. This is illustrated as store          subsequent request is tested for conflict with all
50. The Presentation Manager environment also pro-          manipulations being made using dialog windows
vides a facility for use by dialog boxes and windows   1_      within that logically defined division.
for storing pointers to data structures designated off-
set QWL-USER. The central processor unit 44 acting       _.  A method as claimed in claim 3, wherein said
under the control of the dialog box control program          mode data for each dialog box provides an iden-
may store data in and access data from these data          tifier to one or more other dialog windows of said
structures using the WinSetWindowULong and Win-   2o      logically defined division, said dialog window
QueryWindowULong commands within the Presenta-          identifier being used for directing movement of a
tion Manager environment. The dialog boxes each          cursor between dialog windows within said logi-
store within this storage 52 data pointing to the previ-          cally defined division to switch activity therebetw-
ous item within the logical division chain and the fol-          een.
Iowing item within the logical division chain. In this   2_
way second and lower level dialog box point to the       5.  A method as claimed in any of claims 2 to 5,
previous and next dialog box within the chain and the          wherein said logically defined division stores an
first level dialog box points to the route action menu          identifier to a main application action menu, said
1 O for that logically defined division and the next (sec-          main application menu identifier being used for
ond level) dialog box within the chain. It will be appre-   3o      directing movement ofa cursor between said log-
ciated that the above is just one example of a storage          ically defined division and said main application
structure that may be used to control the relationship          action menu to switch activity therebetween.
between the various items within the logically defined
division.                                    6.  A method as claimed in any of claims 2 to 5,
3_      wherein said movement of said cursor is affected
by repeated operation of a key on a keyboard.
Claims                                    l.  A data processing apparatus having a display, a
_.  A method of manipulating data stored by a data          windowing user interface and dialog box control
processing apparatus having a windowing user   4o      logic for.
interface, said method comprising the steps of.               detecting a user input from a user input de-
detecting a user input requesting display          vice requesting display for manipulation of data
for manipulation of data within a logically defined          within a logically defined division of an applica-
division ofan application program being executed          tion program being executed by said data proc-
by said data processing apparatus,            4_      essing apparatus,
creating a dialog window displaying said              creating a dialog window displaying said
data for manipulation,                           data for manipulation,
storing mode data which indicates that              storing mode data which indicates that
said dialog window within said logically defined          said dialog window within said logically defined
division is being displayed, and              _o      division is being displayed, and
upon a subsequent request to manipulate              upon a subsequent request to manipulate
data within said given logically defined division,          data within a given logically defined division, re-
rejecting said subsequent request if said mode         jecting said subsequent request ifsaid mode data
data indicates that a dialog window for said logi-          indicates that a dialog window for said logically
cally defined division is being displayed and said   __      defined division is being displayed and said sub-
subsequent request is determined to be of a type          sequent request is determined to of a type which
which may conflict with manipulation being made          may conflict with manipulation being made using
using said dialog window being displayed.              said dialog window being displayed.
5


gocr ep0463250-006

                          9               EP O _63 250 B_              IO
8.  A data processing apparatus as claimed in claim         das genannte Dialogfenster innerhalb des ge-
7, wherein said mode data of said dialog window         nannten logisch definierten Bereichs angezeigt
stores an identifier to said logically defined divi-         wird, und
sion, said logically defined division identifier be-         Bearbeiten von Daten innerhalb des genannten
ing used for directing movement of a cursor be-   _      logischen Bereichs bei einer nachfolgenden An-
tween said dialog window and said logically de-         forderung, Zurückweisen der genannten nachfol-
fined division to switch activity therebetween.           genden Anforderung, wenn die genannten Mo-
dusdaten anzeigen, da_ ein Dialogfensterfürden
9.  Adata processing apparatus as claimed in any of         genannten logisch definierten Bereich angezeigt
claims 7 or 8, wherein if said subsequent request   1o     wird und da_ die genannte nachfolgende Anfor-
does not conflict, then a subsequent dialog win-         derung als solcher Typ erkannt wird, der mit die-
dow is created for said logically defined division         ser Datenbearbeitung unter Verwendung des ge-
and any further subsequent request is tested for         nannten angezeigten Dialogfensters zu einem
conflict with all manipulations being made using         Konflikt führen kann.
dialog windows within that logically defined divi-   1_
sion.                                 2.  Ein Verfahren gemä_ Anspruch 1, in dem die ge-
nannten Modusdaten des genannten Dialogfen-
_ O. A data processing apparatus as claimed in claim         sters eine Markierung zum genannten logisch de-
9, wherein said mode data for each dialog box         finierten Bereich speichern, wobei diese Markie-
provides an identifier to one or more other dialog   2o     rung des genannten logisch definierten Bereichs
windows ofsaid logically defined division, said di-         verwendet wird, um die Bewegung eines Cursors
alog window identifier being used for directing         zwischen dem genannten Dialogfenster und dem
movement of a cursor between dialog windows         genannten logisch definierten Bereich zu steu-
within said logically defined division to switch ac-         ern, so da_ ein Umschalten der Aktivität möglich
tivity therebetween.                    2_     ist.
__. Adata processing apparatus as claimed in any of      3.  Ein Verfahren gemä_ Anspruch 1 oder 2, in dem,
claims 8 to 1 O, wherein said logically defined di-         wenn die genannte nachfolgende Anforderung
vision stores an identifier to a main application         keinen Konflikt verursacht, für den genannten lo-
action menu, said main application menu identi-   3o     gisch definierten Bereich ein nachfolgendes Dia-
fier being used fordirecting movement ofa cursor         logfenster erstellt und jede weitere nachfolgende
between said logically defined division and said         Anforderung auf einen Konflikt hin geprüft wird,
main application action menu to switch activity         wobei alle Bearbeitungen unter Verwendung von
therebetween.                              Dialogfenstern innerhalb dieses logisch definier-
3_     ten Bereichs erfolgen.
_2. Adata processing apparatus as claimed in any of
claims 8 to 11, wherein said movement of said      _.  Ein Verfahren gemä_ Anspruch 3, in dem die ge-
cursor is affected by repeated operation of a key         nannten Modusdaten für jedes Dialogfeld eine
on a keyboard.                             Markierung zu einem oder mehreren anderen
4o     Dialogfenstern dieses logisch definierten Be-
reichs bereitstellen, wobei die Markierung des
Patentansprüche                             genannten Dialogfensters zur Steuerung der Be-
wegung eines Cursors zwischen Dialogfenstern
_.  Ein Verfahren zur Behandlung von Daten, die in         innerhalb des genannten logisch definierten Be-
einer Datenverarbeitungsanlage mit Benutzer-   4_     reichs verwendet wird, so da_ ein Umschalten
schnittstelle auf Fensterbasis gespeichert wer-         der Aktivität möglich ist.
den, wobei dieses Verfahren folgende Schritte
umfa_t.                               5.  Ein Verfahren gemä_ jedem der Ansprüche 2 bis
Feststellen einer Benutzereingabe, in der eine         4, in dem der genannte logisch definierte Bereich
Anzeige zur Behandlung von Daten innerhalb ei-   _o     eine Markierung zu einem Anwendungshaupt-
nes logisch definierten Bereichs eines Anwen-         menü speichert, wobei die Markierung des ge-
dungsprogramms, das auf der genannten Daten-         nannten Anwendungshauptmenüs zur Steue-
verarbeitungsanlage ausgeführt wird, angefor-         rung der Bewegung eines Cursors zwischen dem
dert wird;                                 genannten logisch definierten Bereich und dem
Erstellen eines Dialogfensters, in dem die ge-   __     genannten Anwendungshauptmenü verwendet
nannten zu behandelnden Daten angezeigt wer-         wird, so da_ ein Umschalten der Aktivität möglich
den;                                    ist.
Speichern von Modusdaten, die anzeigen, da_   6


gocr ep0463250-007

                          1 1              EP O _63 250 B_              12
6.  Ein Verfahren gemä_jedem der Ansprüche 2 bis         mehreren anderen Dialogfenstern dieses logisch
5, in dem die genannte Bewegung des genannten         definierten Bereichs bereitstellen, wobei die Mar-
Cursors durch wiederholte Betätigung einer Ta-         kierung des genannten Dialogfensters zur Steue-
ste auf der Tastatur beeinflu_t wird.                 rung der Bewegung eines Cursors zwischen Dia-
_      logfenstern innerhalb des genannten logisch de-
l.  Eine Datenverarbeitungsanlage mit einer Anzei-         finierten Bereichs verwendet wird, so da_ ein
ge, einer Benutzerschnittstelle auf Fensterbasis         Umschalten der Aktivität möglich ist.
und einer Dialogfeld-Steuerlogikfür.
Feststellen einer Benutzereingabe von einem       __. Eine Datenverarbeitungsanlage gemä_ jedem
Benutzereingabegerät, in der eine Anzeige zur   1o     der Ansprüche 8 bis 1 O, in dem der genannte lo-
Behandlung von Daten innerhalb eines logisch         gisch definierte Bereich eine Markierung zu ei-
definierten  Bereichs  eines  Anwendungspro-         nem Anwendungshauptmenü speichert, wobei
gramms, das auf der genannten Datenverarbei-         die Markierung des genannten Anwendungs-
tungsanlage ausgeführt wird, angefordert wird;          hauptmenüs zur Steuerung der Bewegung eines
Erstellen eines Dialogfensters, in dem die ge-   1_     Cursors zwischen dem genannten logisch defi-
nannten zu behandelnden Daten angezeigt wer-         nierten Bereich und dem genannten Anwen-
den;                                    dungshauptmenü verwendet wird, so da_ ein
Speichern von Modusdaten, die anzeigen, da_         Umschalten der Aktivität möglich ist.
das genannte Dialogfenster innerhalb des ge-
nannten logisch definierten Bereichs angezeigt   2o   _2. Ein Verfahren gemä_ jedem der Ansprüche 8 bis
wird, und                                 1 1, in dem die genannte Bewegung des genann-
Bearbeiten von Daten innerhalb des genannten         ten Cursors durch wiederholte Betätigung einer
Iogischen Bereichs bei einer nachfolgenden An-         Taste auf der Tastatur beeinflu_t wird.
forderung, Zurückweisen der genannten nachfol-
genden Anforderung, wenn die genannten Mo-   2_
dusdaten anzeigen, da_ ein Dialogfensterfürden       Revendications
genannten logisch definierten Bereich angezeigt
wird und da_ die genannte nachfolgende Anfor-      _.  Procédé de manipulation de données emmagasi-
derung als solcher Typ erkannt wird, der mit die-         nées par un appareil de traitement de données
ser Datenbearbeitung unter Verwendung des ge-   3o     ayant une interface utilisateur de fenetrage, ledit
nannten angezeigten Dialogfensters zu einem         procédé comprenant les étapes de.
Konflikt führen kann.                              détecter une entrée d'utilisateur deman-
dant un affichage en vue d'une manipulation de
8.  Eine  Datenverarbeitungsanlage  gemä_  An-         données dans une division définie logiquement
spruch 7, in dem die genannten Modusdaten des   3_     d'un programme d'application alors exécuté par
genannten Dialogfensters eine Markierung zum         ledit appareil de traitement de données,
genannten  logisch  definierten  Bereich  spei-             créer une fenetre de dialogue affichant
chern, wobei diese Markierung des genannten lo-         lesdites données pour manipulation;
gisch definierten Bereichs verwendet wird, um             emmagasiner des données de mode qui
die Bewegung eines Cursors zwischen dem ge-   4o     indiquent que ladite fenetre de dialogue dans la-
nannten Dialogfenster und dem genannten lo-         dite division définie logiquement est alors affi-
gisch definierten Bereich zu steuern, so da_ ein         chée, et
Umschalten der Aktivität möglich ist.                    Iors d'une demande suivante pour mani-
puler des données dans ladite division définie lo-
9.  Eine  Datenverarbeitungsanlage  gemä_  An-   4_     giquement, rejeter ladite demande suivante si
spruch 7 oder8, in dem, wenn die genannte nach-         lesdites données de mode indiquent qu'une fene-
folgende Anforderung  keinen  Konflikt verur-         tre de dialogue pour ladite division définie logi-
sacht, für den genannten logisch definierten Be-         quement est alors affichée et ladite demande sui-
reich ein nachfolgendes Dialogfenster erstellt         vante est déterminée comme étant d'un type qui
und jede weitere nachfolgende Anforderung auf   _o     peut etre en conflit avec une manipulation alors
einen Konflikt hin geprüft wird, wobei alle Bear-         effectuée en utilisant ladite fenetre de dialogue
beitungen unter Verwendung von Dialogfenstern         alors affichée.
innerhalb dieses logisch definierten Bereichs er-
folgen.                                2.  Procédé selon la revendication 1, dans lequel les-
__     dites données de mode de ladite fenetre de dia-
_ O. Eine  Datenverarbeitungsanlage  gemä_  An-         logue emmagasinent un identificateur de ladite
spruch 9, in dem die genannten Modusdaten für         division définie logiquement, ledit identificateur
jedes Dialogfeld eine Markierung zu einem oder         de division définie logiquement étant utilisé pour
l


gocr ep0463250-008

                            1 3               EP O _63 250 B_               14
diriger le déplacement d'un curseur entre ladite          lesdites données de mode indiquent qu'une fene-
fenetre de dialogue et ladite division définie logi-          tre de dialogue pour ladite division définie logi-
quement afin de commuter une activité entre el-          quement est alors affichée et ladite demande sui-
Ies.                                       vante est déterminée comme étant d'un type qui
_      peut etre en conflit avec une manipulation alors
3.  Procédé selon les revendications 1 ou 2, dans le-          effectuée en utilisant ladite fenetre de dialogue
quel ladite demande suivante n'entre pas en          alors affichée.
conflit, une autre fenetre de dialogue étant ainsi
créée pour ladite division définie logiquement et       8.  Appareil de traitement de données selon la re-
toute autre demande suivante étant testée pour   1o      vendication 7, dans lequel lesdites données de
conflit avec toutes les manipulations alors faites          mode de ladite fenetre de dialogue emmagasi-
utilisant des fenetres de dialogue dans cette di-          nent un identificateur de ladite division définie lo-
vision définie logiquement.                        giquement, ledit identificateur de division définie
Iogiquement étant utilisé pour diriger le déplace-
_.  Procédé selon la revendication 3, dan lequel les-   1_      ment d'un curseur entre ladite fenetre de dialo-
dites données de mode pour chaque cadre de          gue et ladite division définie logiquement afin de
dialogue fournissent un identificateur d'une ou          commuter une activité entre elles.
plusieurs autres fenetres de dialogue de ladite di-
vision définie logiquement, ledit identificateur de       9.  Appareil de traitement de données selon l'une
fenetre de dialogue étant utilisé pour diriger le dé-   2o      quelconque des revendications 7 ou 8, dans le-
placement d'un curseur entre des fenetres de          quel si ladite demande suivante n'est pas en
dialogue dans ladite division définie logiquement          conflit, une autre fenetre de dialogue est alors
afin de commuter une activité entre elles.              créée pour ladite division définie logiquement et
toute autre demande suivante est testée pour
5.  Procédé selon l'une quelconque des revendica-   2_      conflit avec toutes les manipulations alors faites
tions 2 à 4, dans lequel ladite division définie lo-          en utilisant des fenetres de dialogue dans cette
giquement emmagasine un identificateur d'un          division définie logiquement.
menu d'actions d'application principal, ledit iden-
tificateur de menu d'application principal étant       _ O. Système de traitement de données selon la re-
utilisé pour diriger le déplacement d'un curseur   3o      vendication 9, dans lequel lesdites données de
entre ladite division définie logiquement et ledit          mode pour chaque cadre de dialogue fournissent
menu d'actions d'application principal afin de          un identificateur de une ou plusieurs autres fene-
commuter une activité entre eux.                    tres de dialogue de ladite division définie logique-
ment, ledit identificateur de fenetre de dialogue
6.  Procédé selon l'une quelconque des revendica-   3_      étant utilisé pour diriger le déplacement d'un cur-
tions 2 à 5, dans lequel ledit déplacement dudit          seur entre des fenetres de dialogue dans ladite
curseur est affecté par une opération répétée          division définie logiquement afin de commuter
d'une touche d'un clavier.                         une activité entre elles.
l.  Appareil de traitement de données ayant un   4o   _ _. Appareil de traitement de données selon l'une
écran d'affichage, une interface utilisateur de fe-          quelconque des revendications 8 à 1 O, dans le-
netrage et une logique de controle de cadre de          quel ladite division définie logiquement emmaga-
dialogue pour.                                sine un identificateur de menu d'action d'applica-
détecter une entrée d'utilisateur depuis un          tion principal, ledit identificateur de menu d'appli-
dispositif d'entrée demandant un affichage pour   4_      cation principal étant utilisé pour diriger le dépla-
manipulation de données dans une division défi-          cement d'un curseur entre ladite division définie
nie logiquement d'un programme d'application          logiquement et ledit menu d'actions d'application
alors exécuté par ledit appareil de traitement de          principal afin de commuter une activité entre eux.
données,
créer une fenetre de dialogue affichant   _o   _ 2. Appareil de traitement de données selon l'une
Iesdites données pour manipulation;                  quelconque des revendications 8 à 1 1, dans le-
emmagasiner des données de mode qui          quel ledit déplacement dudit curseur est affecté
indiquent que ladite fenetre de dialogue dans la-          par une opération répétée d'une touche d'un cla-
dite division définie logiquement est alors affi-          vier.
chée, et                             __
Iors d'une demande suivante pour mani-
puler des données dans ladite division définie lo-
giquement, rejeter ladite demande suivante si   8