Browse Prior Art Database

Extending Runtime Drag/Drop Flexibility

IP.com Disclosure Number: IPCOM000114738D
Original Publication Date: 1995-Jan-01
Included in the Prior Art Database: 2005-Mar-29
Document File: 2 page(s) / 99K

Publishing Venue

IBM

Related People

Johnson, DK: AUTHOR [+3]

Abstract

Disclosed is a method used by the Window Management System (WMS), an IBM* Presentation Manager* (PM) based extension tool to provide runtime flexibility for drag/drop decisions. WMS insulates the WMS application from most direct PM programming and acts as a layer between the application and PM. Writing to the WMS interface allows for easy portability for those applications that wish to run on multiple platforms.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 51% of the total text.

Extending Runtime Drag/Drop Flexibility

      Disclosed is a method used by the Window Management System
(WMS), an IBM* Presentation Manager* (PM) based extension tool to
provide runtime flexibility for drag/drop decisions.  WMS insulates
the WMS application from most direct PM programming and acts as a
layer between the application and PM.  Writing to the WMS interface
allows for easy portability for those applications that wish to run
on multiple platforms.

      WMS provides extensive container drag/drop support that
includes the handling of all of the direct PM drag/drop manipulation.
The WMS application is able to define which objects are allowed to be
dragged and the objects on which they are allowed to be dropped.
These drag/drop rules are generally indicated at compile time by a
flat ASCII file, which adheres to certain WMS-defined syntax rules
and is parsed using a WMS tag language compiler into files that are
used at run time to initialize various WMS structures including the
container structure and the container record structures.  These
structures contain fields defining the type of a particular object as
well as the object types that are allowed to be dropped on that
object.

      Although this is an acceptable algorithm for most applications,
there are instances when an application needs to override the
drag/drop rules at runtime.  The LAN Server product, for example,
allows the drop of object A on object B at all times except when
object B has been marked as a template.  The user of the LAN Server
product has the option to mark or unmark object B as a template at
any time.  This disclosure describes the method used by WMS to
provide this type of runtime capability to a WMS application.

      WMS solves the drag/drop problem described earlier by sending
the WMS application a message (WMS_DRAG_OVER) during the time that a
container record is being dragged, but before the actual drop occurs.
This allows the application to examine the records being dragged as
well as whether they are being dragged over a certain container
record or over the white space of a container.  The application
returns a boolean value to WMS in response to the message.  If TRUE
is returned, the drop proceeds normally with WMS examining the preset
fields of the container and container records in question to
determine if the drop should be allowed.  If FALSE is returned, the
drop is disallowed no matter how the container and container record
fields are set up.  WMS informs PM that the drop is not allowed and
requests that PM display the NOT sign during the drag.  Note that if
the application does not respond to this message, the default WMS
panel procedure is to return TRUE t...