XmDropSite(3)


NAME

   XmDropSite --- The DropSite Registry "XmDropSite"

SYNOPSIS

   #include <Xm/DragDrop.h>

DESCRIPTION

   A  client  registers  a  widget  or  gadget  as  a  drop site using the
   XmDropSiteRegister function. In  addition,  this  routine  defines  the
   behavior  and  capabilities  of  a  drop site by specifying appropriate
   resources. For example, the  XmNimportTargets  and  XmNnumImportTargets
   resources  identify  respectively the selection target types and number
   of types supported  by  a  drop  site.  The  visual  animation  effects
   associated with a drop site are also described with DropSite resources.

   Drop  site  animation  effects  that  occur  in response to the pointer
   entering a valid drop site are called drag-under  effects.  A  receiver
   can select from several animation styles supplied by the toolkit or can
   provide customized animation effects. Drag-under  effects  supplied  by
   the  toolkit  include  border  highlighting, shadow in/out drawing, and
   pixmap representation.

   When a preregister drag protocol style is used, the  toolkit  generates
   drag-under  visual  effects based on the value of the XmNanimationStyle
   resource. In dynamic mode, if the drop  site  XmNdragProc  resource  is
   NULL,  the  toolkit  also  provides  animation  effects  based  on  the
   XmNanimationStyle resource. Otherwise, if the  XmNdragProc  routine  is
   specified,  the receiver can either assume responsibility for animation
   effects (through the XmNdragProc routine) or rely  on  the  toolkit  to
   provide animation.  An application can either handle all or none of the
   animation effects for a particular drop site.  That is, an  application
   should never do a partial job of animation on a particular drop site.

   Drop  sites  may overlap. The initial stacking order corresponds to the
   order in which the  drop  sites  were  registered.  When  a  drop  site
   overlaps  another  drop  site,  the drag-under effects of the drop site
   underneath are clipped by the obscuring drop site(s).

   The XmDropSiteUpdate routine  sets  resources  for  a  widget  that  is
   registered  as  a drop site. XmDropSiteRetrieve gets drop site resource
   values previously specified for a registered widget. These routines are
   used instead of XtSetValues and XtGetValues.

   Classes
   XmDropSite does not inherit from any widget class.

   New Resources
   The  following  table  defines  a  set  of widget resources used by the
   programmer to specify data. To reference a resource by name or by class
   in  a  .Xdefaults  file,  remove  the  XmN  or  XmC  prefix and use the
   remaining letters. To specify one of the defined values for a  resource
   in  a  .Xdefaults  file,  remove  the  Xm  prefix and use the remaining
   letters (in either lowercase or uppercase, but include any  underscores
   between  words).  The  codes in the access column indicate if the given
   resource can be set at creation time (C), set by using XmDropSiteUpdate
   (S),  retrieved  by  using XmDropSiteRetrieve (G), or is not applicable
   (N/A).

   
                                          XmDropSiteResource Set                                       
   Name                     Class                    Type            Default                    Access 
   
   XmNanimationMask         XmCAnimationMask         Pixmap          XmUNSPECIFIED_PIXMAP       CSG    
   
   XmNanimationPixmap       XmCAnimationPixmap       Pixmap          XmUNSPECIFIED_PIXMAP       CSG    
   
   XmNanimationPixmapDepth  XmCAnimationPixmapDepth  int             0                          CSG    
   
   XmNanimationStyle        XmCAnimationStyle        unsigned char   XmDRAG_UNDER_HIGHLIGHT     CSG    
   
   XmNdragProc              XmCDragProc              XtCallbackProc  NULL                       CSG    
   
   XmNdropProc              XmCDropProc              XtCallbackProc  NULL                       CSG    
   
   XmNdropRectangles        XmCDropRectangles        XRectangle *    dynamic                    CSG    
   
   XmNdropSiteActivity      XmCDropSiteActivity      unsigned char   XmDROP_SITE_ACTIVE         CSG    
   
   XmNdropSiteOperations    XmCDropSiteOperations    unsigned char   XmDROP_MOVE | XmDROP_COPY  CSG    
   
   XmNdropSiteType          XmCDropSiteType          unsigned char   XmDROP_SITE_SIMPLE         CG     
   
   XmNimportTargets         XmCImportTargets         Atom *          NULL                       CSG    
   
   XmNnumDropRectangles     XmCNumDropRectangles     Cardinal        1                          CSG    
   
   XmNnumImportTargets      XmCNumImportTargets      Cardinal        0                          CSG    
   
   
   XmNanimationMask
             Specifies  a  mask  to  use  with  the  pixmap  specified  by
             XmNanimationPixmap    when    the    animation    style    is
             XmDRAG_UNDER_PIXMAP.

   XmNanimationPixmap
             Specifies  a  pixmap  for  drag-under  animation   when   the
             animation  style  is XmDRAG_UNDER_PIXMAP. The pixmap is drawn
             with its origin at the upper left corner of the bounding  box
             of  the drop site. If the drop site window is larger than the
             animation pixmap, the portion of the window  not  covered  by
             the pixmap will be tiled with the window's background color.

   XmNanimationPixmapDepth
             Specifies   the   depth   of  the  pixmap  specified  by  the
             XmNanimationPixmap resource. When the depth is 1, the  colors
             are taken from the foreground and background of the drop site
             widget. For any other value, drop site animation occurs  only
             if  the XmNanimationPixmapDepth matches the depth of the drop
             site window. Colors are derived from the current colormap.

   XmNanimationStyle
             Specifies the drag-under animation style  used  when  a  drag
             enters a valid drop site. The possible values are

             XmDRAG_UNDER_HIGHLIGHT
                       The drop site uses highlighting effects.

             XmDRAG_UNDER_SHADOW_OUT
                       The drop site uses an outset shadow.

             XmDRAG_UNDER_SHADOW_IN
                       The drop site uses an inset shadow.

             XmDRAG_UNDER_PIXMAP
                       The   drop   site  uses  the  pixmap  specified  by
                       XmNanimationPixmap to indicate that it can  receive
                       the drop.

             XmDRAG_UNDER_NONE
                       The  drop  site  does  not use animation effects. A
                       client using a dynamic protocol, may provide  drag-
                       under effects in its XmNdragProc routine.

   XmNdragProc
             Specifies  the  procedure  that is invoked when the drop site
             receives a crossing, motion, or  operation  changed  message.
             This  procedure  is  called  only  when a dynamic protocol is
             used.  The type of structure whose address is passed to  this
             procedure  is  XmDragProcCallbackStruct.   The reason sent to
             the procedure is one of the following:

                *  XmCR_DROP_SITE_ENTER_MESSAGE

                *  XmCR_DROP_SITE_LEAVE_MESSAGE

                *  XmCR_DRAG_MOTION

                *  XmCR_OPERATION_CHANGED

             The drag procedure may change the values of some  members  of
             the  XmDragProcCallbackStruct  passed  to it.  After the drag
             procedure returns, the  toolkit  uses  the  final  values  in
             initializing some members of the callback structure passed to
             the appropriate callbacks of the initiator (the DragContext's
             XmNdropSiteEnterCallback,           XmNdropSiteLeaveCallback,
             XmNdragMotionCallback,     or     XmNoperationChangedCallback
             callbacks).

   XmNdropProc
             Specifies   the   procedure  that  is  invoked  when  a  drop
             (excluding a cancel or interrupt action)  occurs  on  a  drop
             site  regardless  of the status of the drop site. The type of
             the structure whose address is passed to  this  procedure  is
             XmDropProcCallbackStruct. The reason sent to the procedure is
             XmCR_DROP_MESSAGE.

             The drop procedure may change the values of some  members  of
             the  XmDropProcCallbackStruct  passed  to it.  After the drop
             procedure returns, the  toolkit  uses  the  final  values  in
             initializing  some  members  of the XmDropStartCallbackStruct
             passed  to  the  initiator's  drop   start   callbacks   (the
             DragContext's XmNdropStartCallback callbacks).

   XmNdropRectangles
             Specifies  a  list of rectangles that describe the shape of a
             drop site. The locations of the rectangles  are  relative  to
             the origin of the enclosing object. When XmNdropRectangles is
             NULL, the drop site is assumed to be the  sensitive  area  of
             the     enclosing     widget.     If    XmNdropSiteType    is
             XmDROP_SITE_COMPOSITE, this resource cannot be  specified  by
             the application.

             Retrieving  this resource returns allocated memory that needs
             to be freed with the XtFree function.

   XmNdropSiteActivity
             Indicates whether a drop site  is  active  or  inactive.  The
             values   are  XmDROP_SITE_ACTIVE,  XmDROP_SITE_INACTIVE,  and
             XmDROP_SITE_IGNORE.  An active drop site can receive a  drop,
             whereas  an  inactive  drop site is dormant. An inactive drop
             site is treated as if it was not a registered drop  site  and
             any  drag-under  visuals  associated with entering or leaving
             the drop site do not occur. However, it  is  still  used  for
             clipping  drag-under  effects.  A value of XmDROP_SITE_IGNORE
             indicates  that  a  drop  site  should  be  ignored  for  all
             purposes.

   XmNdropSiteOperations
             Specifies  the set of valid operations associated with a drop
             site.  This  resource  is  a  bit  mask  that  is  formed  by
             combining one or more of the following values using a bitwise
             operation such as inclusive OR (|): XmDROP_COPY, XmDROP_LINK,
             and  XmDROP_MOVE.   The  value  XmDROP_NOOP for this resource
             indicates that no operations are valid.

   XmNdropSiteType
             Specifies the type of the drop site. The possible values are

             XmDROP_SITE_SIMPLE
                       The widget does not have  any  additional  children
                       that are registered as drop sites.

             XmDROP_SITE_COMPOSITE
                       The  widget  will have children that are registered
                       as drop sites.

   XmNimportTargets
             Specifies the list  of  target  atoms  that  this  drop  site
             accepts.

   XmNnumDropRectangles
             Specifies  the  number of rectangles in the XmNdropRectangles
             list. If the drop site type  is  XmDROP_SITE_COMPOSITE,  this
             resource can not be specified by the application.

   XmNnumImportTargets
             Specifies the number of atoms in the target atom list.

   Callback Information
   A  pointer  to  the  following  structure  is passed to the XmNdragProc
   routine when the drop site  receives  crossing,  motion,  or  operation
   changed messages:

   typedef struct
   {
           int reason;
           XEvent *event;
           Time timeStamp;
           Widget dragContext;
           Position x;
           Position y;
           unsigned char dropSiteStatus;
           unsigned char operation;
           unsigned char operations;
           Boolean animate;
   } XmDragProcCallbackStruct, *XmDragProcCallback;

   reason    Indicates why the callback was invoked.

   event     Points to the XEvent that triggered the callback.

   timeStamp Specifies the timestamp of the logical event.

   dragContext
             Specifies  the  ID  of the DragContext widget associated with
             the transaction.

   x         Indicates the x-coordinate of the  pointer  relative  to  the
             drop site.

   y         Indicates  the  y-coordinate  of  the pointer relative to the
             drop site.

   dropSiteStatus
             An IN/OUT member that indicates whether or not a drop site is
             valid.

             When     reason     is     XmCR_DROP_SITE_ENTER_MESSAGE    or
             XmCR_OPERATION_CHANGED,  or  reason  is  XmCR_DRAG_MOTION  or
             XmCR_DROP_SITE_LEAVE_MESSAGE  and  the  pointer is not in the
             same drop site as on the  previous  invocation  of  the  drag
             procedure,   the   toolkit   initializes   dropSiteStatus  to
             XmDROP_SITE_VALID if the DragContext's  XmNexportTargets  and
             the  DropSite's  XmNimportTargets  are  compatible and if the
             initial value of the operation  member  is  not  XmDROP_NOOP.
             Otherwise,   the   toolkit   initializes   dropSiteStatus  to
             XmDROP_SITE_INVALID.

             When     the     reason      is      XmCR_DRAG_MOTION      or
             XmCR_DROP_SITE_LEAVE_MESSAGE  and  the  pointer is within the
             same drop site as on the  previous  invocation  of  the  drag
             procedure,  the  toolkit  initializes  dropSiteStatus  to the
             value of dropSiteStatus at the time the  previous  invocation
             of the drag procedure returns.

             The  drag  procedure  may  change  the  value of this member.
             After the drag procedure returns, the toolkit uses the  final
             value  in  initializing  the  dropSiteStatus  member  of  the
             callback struct passed to the appropriate  callbacks  of  the
             initiator.

   operation An IN/OUT member that identifies an operation.

             The  toolkit  initializes operation by selecting an operation
             from the bitwise AND of the initial value of  the  operations
             member  and the value of the DropSite's XmNdropSiteOperations
             resource.   The  toolkit  searches   this   set   first   for
             XmDROP_MOVE,  then for XmDROP_COPY, then for XmDROP_LINK, and
             initializes operation to the first operation it finds in  the
             set.   If  the  toolkit finds none of these operations in the
             set, it initializes operation to XmDROP_NOOP.

             The drag procedure may  change  the  value  of  this  member.
             After  the drag procedure returns, the toolkit uses the final
             value in initializing the operation member  of  the  callback
             struct passed to the appropriate callbacks of the initiator.

   operations
             An  IN/OUT  member  that  indicates  the  set  of  operations
             supported for the source data.

             If the user does not  select  an  operation  (by  pressing  a
             modifier  key),  the  toolkit  initializes  operations to the
             value of the DragContext's  XmNdragOperations  resource.   If
             the  user  does  select an operation, the toolkit initializes
             operations to the bitwise AND of the corresponding  operation
             and   the   value   of  the  DragContext's  XmNdragOperations
             resource.  If the resulting set of operations is  empty,  the
             toolkit initializes operations to XmDROP_NOOP.

             The  drag  procedure  may  change  the  value of this member.
             After the drag procedure returns, the toolkit uses the  final
             value  in  initializing the operations member of the callback
             struct passed to the appropriate callbacks of the initiator.

   animate   An OUT member that  indicates  whether  the  toolkit  or  the
             receiver  client provides drag-under effects for a valid drop
             site. If animate is set to True, the  toolkit  provides  drop
             site  animation  per the XmNanimationStyle resource value; if
             it  is  set  to  False,  the  receiver  generates  drag-under
             animation effects.

   A  pointer  to  the  following  structure  is passed to the XmNdropProc
   routine when the drop site receives a drop message:

   typedef struct
   {
           int reason;
           XEvent *event;
           Time timeStamp;
           Widget dragContext;
           Position x;
           Position y;
           unsigned char dropSiteStatus;
           unsigned char operation;
           unsigned char operations;
           unsigned char dropAction;
   } XmDropProcCallbackStruct, *XmDropProcCallback;

   reason    Indicates why the callback was invoked.

   event     Specifies the XEvent that triggered the callback.

   timeStamp Specifies the timestamp of the logical event.

   dragContext
             Specifies the ID of the DragContext  widget  associated  with
             the transaction.

   x         Indicates  the  x-coordinate  of  the pointer relative to the
             drop site.

   y         Indicates the y-coordinate of the  pointer  relative  to  the
             drop site.

   dropSiteStatus
             An IN/OUT member that indicates whether or not a drop site is
             valid.

             The toolkit initializes dropSiteStatus  to  XmDROP_SITE_VALID
             if  the  DragContext's  XmNexportTargets  and  the DropSite's
             XmNimportTargets are compatible and if the initial  value  of
             the  operation  member  is  not  XmDROP_NOOP.  Otherwise, the
             toolkit initializes dropSiteStatus to XmDROP_SITE_INVALID.

             The drop procedure may  change  the  value  of  this  member.
             After  the drop procedure returns, the toolkit uses the final
             value  in  initializing  the  dropSiteStatus  member  of  the
             XmDropStartCallbackStruct  passed  to  the  initiator's  drop
             start  callbacks  (the   DragContext's   XmNdropStartCallback
             callbacks).

   operation An IN/OUT member that identifies an operation.

             The  toolkit  initializes operation by selecting an operation
             from the bitwise AND of the initial value of  the  operations
             member  and the value of the DropSite's XmNdropSiteOperations
             resource.   The  toolkit  searches   this   set   first   for
             XmDROP_MOVE,  then for XmDROP_COPY, then for XmDROP_LINK, and
             initializes operation to the first operation it finds in  the
             set.   If  it  finds  none of these operations in the set, it
             initializes operation to XmDROP_NOOP.

             The drop procedure may  change  the  value  of  this  member.
             After  the drop procedure returns, the toolkit uses the final
             value  in  initializing   the   operation   member   of   the
             XmDropStartCallbackStruct  passed  to  the  initiator's  drop
             start  callbacks  (the   DragContext's   XmNdropStartCallback
             callbacks).

   operations
             An  IN/OUT  member  that  indicates  the  set  of  operations
             supported for the source data.

             If the user does not  select  an  operation  (by  pressing  a
             modifier  key),  the  toolkit  initializes  operations to the
             value of the DragContext's  XmNdragOperations  resource.   If
             the  user  does  select an operation, the toolkit initializes
             operations to the bitwise AND of the corresponding  operation
             and   the   value   of  the  DragContext's  XmNdragOperations
             resource.  If the resulting set of operations is  empty,  the
             toolkit initializes operations to XmDROP_NOOP.

             The  drop  procedure  may  change  the  value of this member.
             After the drop procedure returns, the toolkit uses the  final
             value   in   initializing   the   operations  member  of  the
             XmDropStartCallbackStruct  passed  to  the  initiator's  drop
             start   callbacks   (the  DragContext's  XmNdropStartCallback
             callbacks).

   dropAction
             An IN/OUT member that identifies the action  associated  with
             the drop.  The possible values are

             XmDROP    A  drop  was  attempted. If the drop site is valid,
                       drop transfer handling proceeds.

             XmDROP_HELP
                       The user has requested help on the drop site.

             The drop procedure may  change  the  value  of  this  member.
             After  the drop procedure returns, the toolkit uses the final
             value  in  initializing  the   dropAction   member   of   the
             XmDropStartCallbackStruct  passed  to  the  initiator's  drop
             start  callbacks  (the   DragContext's   XmNdropStartCallback
             callbacks).

RELATED INFORMATION

   XmDragContext(3),  XmDragIcon(3),  XmDropSiteConfigureStackingOrder(3),
   XmDropSiteEndUpdate(3),                XmDropSiteQueryStackingOrder(3),
   XmDropSiteRegister(3),  XmDropSiteStartUpdate(3),  XmDropSiteUpdate(3),
   XmDropSiteUnregister(3),             XmDropTransfer(3),             and
   XmTargetsAreCompatible(3).

                                                             XmDropSite(3)





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.