Blame tests/DragAndDrop/DNDDrag.c

Packit b099d7
/* $XConsortium: DNDDrag.c /main/5 1995/07/15 21:00:05 drk $ */
Packit b099d7
/*
Packit b099d7
 * Motif
Packit b099d7
 *
Packit b099d7
 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are free software; you can
Packit b099d7
 * redistribute them and/or modify them under the terms of the GNU
Packit b099d7
 * Lesser General Public License as published by the Free Software
Packit b099d7
 * Foundation; either version 2 of the License, or (at your option)
Packit b099d7
 * any later version.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are distributed in the hope that
Packit b099d7
 * they will be useful, but WITHOUT ANY WARRANTY; without even the
Packit b099d7
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
Packit b099d7
 * PURPOSE. See the GNU Lesser General Public License for more
Packit b099d7
 * details.
Packit b099d7
 *
Packit b099d7
 * You should have received a copy of the GNU Lesser General Public
Packit b099d7
 * License along with these librararies and programs; if not, write
Packit b099d7
 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Packit b099d7
 * Floor, Boston, MA 02110-1301 USA
Packit b099d7
 * 
Packit b099d7
 */
Packit b099d7
/*
Packit b099d7
 * HISTORY
Packit b099d7
 */
Packit b099d7
#include <testlib.h>
Packit b099d7
Packit b099d7
Packit b099d7
Packit b099d7
void
Packit b099d7
StartDrag (Widget w, XtPointer client_data, XtPointer call_data)
Packit b099d7
{
Packit b099d7
   XmDragStartCallbackStruct *DragStruct = (XmDragStartCallbackStruct *)call_data
Packit b099d7
;
Packit b099d7
   if (strcmp (UserData,"1") == 0)
Packit b099d7
     {
Packit b099d7
       DragStruct->doit = False;
Packit b099d7
       printf ("Sorry, can't drag!\n");
Packit b099d7
     }
Packit b099d7
   else if (strcmp (UserData,"2") == 0)
Packit b099d7
       DragStruct->doit = True;
Packit b099d7
Packit b099d7
}
Packit b099d7
Packit b099d7
Packit b099d7
void  
Packit b099d7
main (int argc, char **argv)
Packit b099d7
{
Packit b099d7
Packit b099d7
    int n;
Packit b099d7
    Arg args[MAX_ARGS];
Packit b099d7
    XmString tcs;
Packit b099d7
    Widget Frame1;
Packit b099d7
    Widget Label1;
Packit b099d7
    Widget xmDisplay;
Packit b099d7
Packit b099d7
Packit b099d7
    CommonTestInit(argc, argv);
Packit b099d7
Packit b099d7
    if (UserData == NULL)
Packit b099d7
      UserData = "1";
Packit b099d7
Packit b099d7
    xmDisplay = XmGetXmDisplay (display);
Packit b099d7
Packit b099d7
    XtAddCallback (xmDisplay,XmNdragStartCallback,StartDrag,(XtPointer)NULL);
Packit b099d7
    
Packit b099d7
    n = 0;
Packit b099d7
    Frame1 = XmCreateFrame(Shell1, "Frame1", args, n);
Packit b099d7
    XtManageChild(Frame1);
Packit b099d7
Packit b099d7
Packit b099d7
    
Packit b099d7
    n = 0;
Packit b099d7
    tcs = XmStringCreate("Non-draggable label", XmFONTLIST_DEFAULT_TAG);
Packit b099d7
    XtSetArg(args[n], XmNlabelString, tcs);  n++;
Packit b099d7
    XtSetArg(args[n], XmNalignment, XmALIGNMENT_CENTER); n++;
Packit b099d7
    XtSetArg(args[n], XmNrecomputeSize, TRUE); n++;
Packit b099d7
    Label1 = XmCreateLabel(Frame1, "Label1", args, n);
Packit b099d7
    XtManageChild(Label1);
Packit b099d7
Packit b099d7
    XmStringFree(tcs);
Packit b099d7
Packit b099d7
    XtRealizeWidget (Shell1);
Packit b099d7
Packit b099d7
    CommonPause();
Packit b099d7
    CommonPause();
Packit b099d7
Packit b099d7
    XtAppMainLoop(app_context);
Packit b099d7
Packit b099d7
  }
Packit b099d7
Packit b099d7