|
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 |
* HISTORY
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#ifdef REV_INFO
|
|
Packit |
b099d7 |
#ifndef lint
|
|
Packit |
b099d7 |
static char rcsid[] = "$XConsortium: DNDIcon2.c /main/11 1996/10/07 14:51:28 drk $"
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* (c) Copyright 1987, 1988, 1989 HEWLETT-PACKARD COMPANY */
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* file: DNDIcon2.c
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* This tests the various Icons used during a Drag and Drop transaction.
|
|
Packit |
b099d7 |
* This test needs to be expanded to include changing of icons on the fly,
|
|
Packit |
b099d7 |
* and test that the new icons correctly override the default icons.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include <signal.h>
|
|
Packit |
b099d7 |
#include <stdio.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include <testlib.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include <Xm/Screen.h>
|
|
Packit |
b099d7 |
#include <Xm/DragDrop.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include <X11/keysym.h>
|
|
Packit |
b099d7 |
#include <X11/Xatom.h>
|
|
Packit |
b099d7 |
#include <X11/cursorfont.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include "DNDIcons.h"
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define MAX_DROPSITES 100
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static Widget CreatePushButton();
|
|
Packit |
b099d7 |
static void Quit();
|
|
Packit |
b099d7 |
static void StartDrag();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
enum {DEFAULT_OP, OP_ICON1, OP_ICON2, OP_ICON3};
|
|
Packit |
b099d7 |
enum {DEFAULT_STATE, STATE_ICON1, STATE_ICON2, STATE_ICON3};
|
|
Packit |
b099d7 |
enum {DEFAULT_SRC, SRC_ICON1, SRC_ICON2, SRC_ICON3};
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static char translations[] =
|
|
Packit |
b099d7 |
"#override \
|
|
Packit |
b099d7 |
Ctrl<Key>t: XtDisplayTranslations()\n\
|
|
Packit |
b099d7 |
Ctrl<Key>a: XtDisplayAccelerators()\n\
|
|
Packit |
b099d7 |
Ctrl<Key>i: XtDisplayInstalledAccelerators()\n\
|
|
Packit |
b099d7 |
Ctrl<Key>q: Quit()";
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static char dragTranslations[] =
|
|
Packit |
b099d7 |
"#override \
|
|
Packit |
b099d7 |
Ctrl<Key>t: XtDisplayTranslations()\n\
|
|
Packit |
b099d7 |
Ctrl<Key>a: XtDisplayAccelerators()\n\
|
|
Packit |
b099d7 |
Ctrl<Key>i: XtDisplayInstalledAccelerators()\n\
|
|
Packit |
b099d7 |
<Btn2Down>: StartDrag()\n\
|
|
Packit |
b099d7 |
Ctrl<Key>q: Quit()";
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static XtActionsRec myactions[] = {
|
|
Packit |
b099d7 |
{"Quit", (XtActionProc)Quit},
|
|
Packit |
b099d7 |
{"StartDrag", (XtActionProc)StartDrag},
|
|
Packit |
b099d7 |
};
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XlationRepRec{
|
|
Packit |
b099d7 |
String str;
|
|
Packit |
b099d7 |
XtTranslations xlation;
|
|
Packit |
b099d7 |
}XlationRepRec, *XlationRep;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _AppDataRec{
|
|
Packit |
b099d7 |
XlationRepRec xlation1;
|
|
Packit |
b099d7 |
XlationRepRec xlation2;
|
|
Packit |
b099d7 |
Cardinal numShells, numRows, numCols;
|
|
Packit |
b099d7 |
Boolean applyAccelerators;
|
|
Packit |
b099d7 |
Boolean applyOverrides;
|
|
Packit |
b099d7 |
}AppDataRec, *AppData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtResource appResources[] = {
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
"xlations1", XtCTranslations, XtRString,
|
|
Packit |
b099d7 |
sizeof(String), XtOffset(AppData, xlation1.str),
|
|
Packit |
b099d7 |
XtRString, (XtPointer)translations,
|
|
Packit |
b099d7 |
},
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
"xlations1", XtCTranslations, XtRTranslationTable,
|
|
Packit |
b099d7 |
sizeof(XtTranslations), XtOffset(AppData, xlation1.xlation),
|
|
Packit |
b099d7 |
XtRString, (XtPointer)translations,
|
|
Packit |
b099d7 |
},
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
"xlations2", XtCTranslations, XtRString,
|
|
Packit |
b099d7 |
sizeof(String), XtOffset(AppData, xlation2.str),
|
|
Packit |
b099d7 |
XtRString, (XtPointer)dragTranslations,
|
|
Packit |
b099d7 |
},
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
"xlations2", XtCTranslations, XtRTranslationTable,
|
|
Packit |
b099d7 |
sizeof(XtTranslations), XtOffset(AppData, xlation2.xlation),
|
|
Packit |
b099d7 |
XtRString, (XtPointer)dragTranslations,
|
|
Packit |
b099d7 |
},
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
"applyAccelerators", "ApplyAccelerators", XtRBoolean,
|
|
Packit |
b099d7 |
sizeof(Boolean), XtOffset(AppData, applyAccelerators),
|
|
Packit |
b099d7 |
XtRImmediate, (XtPointer) True,
|
|
Packit |
b099d7 |
},
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
"applyOverrides", "ApplyOverrides", XtRBoolean,
|
|
Packit |
b099d7 |
sizeof(Boolean), XtOffset(AppData, applyOverrides),
|
|
Packit |
b099d7 |
XtRImmediate, (XtPointer) True,
|
|
Packit |
b099d7 |
},
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
"numShells", "NumShells", XtRCardinal,
|
|
Packit |
b099d7 |
sizeof(Cardinal), XtOffset(AppData, numShells),
|
|
Packit |
b099d7 |
XtRImmediate, (XtPointer) 1,
|
|
Packit |
b099d7 |
},
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
"numRows", "NumRows", XtRInt,
|
|
Packit |
b099d7 |
sizeof(Cardinal), XtOffset(AppData, numRows),
|
|
Packit |
b099d7 |
XtRImmediate, (XtPointer) 2,
|
|
Packit |
b099d7 |
},
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
"numCols", "NumCols", XtRInt,
|
|
Packit |
b099d7 |
sizeof(Cardinal), XtOffset(AppData, numCols),
|
|
Packit |
b099d7 |
XtRImmediate, (XtPointer) 3,
|
|
Packit |
b099d7 |
},
|
|
Packit |
b099d7 |
};
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget myDC;
|
|
Packit |
b099d7 |
Atom COMPOUND_TEXT;
|
|
Packit |
b099d7 |
Atom DELETE;
|
|
Packit |
b099d7 |
Atom NULL_ATOM;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget xmDisplay;
|
|
Packit |
b099d7 |
Widget xmScreen;
|
|
Packit |
b099d7 |
Widget defCopyIcon, defMoveIcon, defLinkIcon;
|
|
Packit |
b099d7 |
Widget defVIcon, defInvIcon, defNoneIcon, defSrcIcon;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget opIcon1, opIcon2, opIcon3;
|
|
Packit |
b099d7 |
Widget stateIcon1, stateIcon2, stateIcon3;
|
|
Packit |
b099d7 |
Widget srcIcon1, srcIcon2, srcIcon3;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget opIcon, stateIcon, srcIcon;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
int opIcon_value, stateIcon_value, srcIcon_value;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Boolean use_instruction_box;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
unsigned char initiatorProtocolStyle;
|
|
Packit |
b099d7 |
unsigned char receiverProtocolStyle;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Boolean use_small_icons;
|
|
Packit |
b099d7 |
Boolean no_background;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget Form;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget Whichanim_Pulldown;
|
|
Packit |
b099d7 |
Widget Whichanim_Option;
|
|
Packit |
b099d7 |
Widget DragUnderHighLight, DragUnderShadowOut, DragUnderShadowIn,
|
|
Packit |
b099d7 |
DragUnderNone, DragUnderPixmap;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget WhichdropAct_Pulldown;
|
|
Packit |
b099d7 |
Widget WhichdropAct_Option;
|
|
Packit |
b099d7 |
Widget dropActive, dropInactive;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget WhichdropOp_Pulldown;
|
|
Packit |
b099d7 |
Widget WhichdropOp_Option;
|
|
Packit |
b099d7 |
Widget dropMoveCopy, dropMoveOnly, dropCopyOnly, dropLinkOnly,
|
|
Packit |
b099d7 |
dropMoveLink, dropCopyLink, dropAll, dropNone;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget WhichdragOp_Pulldown;
|
|
Packit |
b099d7 |
Widget WhichdragOp_Option;
|
|
Packit |
b099d7 |
Widget dragMoveCopy, dragMoveOnly, dragCopyOnly, dragLinkOnly,
|
|
Packit |
b099d7 |
dragMoveLink, dragCopyLink, dragAll, dragNone;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget WhichBlend_Pulldown;
|
|
Packit |
b099d7 |
Widget WhichBlend_Option;
|
|
Packit |
b099d7 |
Widget blendAll, blendStateSource, blendJustSource, blendNone;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget WhichOpAttach_Pulldown;
|
|
Packit |
b099d7 |
Widget WhichOpAttach_Option;
|
|
Packit |
b099d7 |
Widget Op_northwest, Op_north, Op_northeast, Op_east, Op_southeast,
|
|
Packit |
b099d7 |
Op_south, Op_southwest, Op_west, Op_center;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget WhichStateAttach_Pulldown;
|
|
Packit |
b099d7 |
Widget WhichStateAttach_Option;
|
|
Packit |
b099d7 |
Widget State_northwest, State_north, State_northeast, State_east,
|
|
Packit |
b099d7 |
State_southeast, State_south, State_southwest, State_west, State_center;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget WhichForeground_Pulldown;
|
|
Packit |
b099d7 |
Widget WhichForeground_Option;
|
|
Packit |
b099d7 |
Widget redFG, blackFG, yellowFG, greenFG, whiteFG;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget WhichBackground_Pulldown;
|
|
Packit |
b099d7 |
Widget WhichBackground_Option;
|
|
Packit |
b099d7 |
Widget redBG, blackBG, yellowBG, greenBG, whiteBG;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget WhichOpIcon_Pulldown;
|
|
Packit |
b099d7 |
Widget WhichOpIcon_Option;
|
|
Packit |
b099d7 |
Widget OpIcon1, OpIcon2, OpIcon3, defOpIcon;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget WhichStateIcon_Pulldown;
|
|
Packit |
b099d7 |
Widget WhichStateIcon_Option;
|
|
Packit |
b099d7 |
Widget StateIcon1, StateIcon2, StateIcon3, defStateIcon;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget WhichSrcIcon_Pulldown;
|
|
Packit |
b099d7 |
Widget WhichSrcIcon_Option;
|
|
Packit |
b099d7 |
Widget SrcIcon1, SrcIcon2, SrcIcon3, defSrcIcon;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget ApplyChanges;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
unsigned char animationStyle;
|
|
Packit |
b099d7 |
unsigned char dropActivity;
|
|
Packit |
b099d7 |
unsigned char dropOperations;
|
|
Packit |
b099d7 |
unsigned char dragOperations;
|
|
Packit |
b099d7 |
unsigned char blendModel;
|
|
Packit |
b099d7 |
unsigned char Op_attachment, State_attachment;
|
|
Packit |
b099d7 |
Pixel cursorForeground;
|
|
Packit |
b099d7 |
Pixel cursorBackground;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Pixel redPixel, blackPixel, yellowPixel, greenPixel, whitePixel;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget dropSites[MAX_DROPSITES];
|
|
Packit |
b099d7 |
int numDropSites;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
FILE *outfp;
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Boolean change_op = False;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void Quit (void )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
printf("Begin exiting ... please standby ... \n");
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
fflush(outfp);
|
|
Packit |
b099d7 |
fclose(outfp);
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
exit(0);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static Boolean DragConvertProc(w, selection, target, typeRtn, valueRtn,
|
|
Packit |
b099d7 |
lengthRtn, formatRtn, max_lengthRtn,
|
|
Packit |
b099d7 |
client_data, request_id)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
Atom *selection;
|
|
Packit |
b099d7 |
Atom *target;
|
|
Packit |
b099d7 |
Atom *typeRtn;
|
|
Packit |
b099d7 |
XtPointer *valueRtn;
|
|
Packit |
b099d7 |
unsigned long *lengthRtn;
|
|
Packit |
b099d7 |
int *formatRtn;
|
|
Packit |
b099d7 |
unsigned long *max_lengthRtn;
|
|
Packit |
b099d7 |
XtPointer client_data;
|
|
Packit |
b099d7 |
XtRequestId *request_id;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
char *string = "return value";
|
|
Packit |
b099d7 |
int ok;
|
|
Packit |
b099d7 |
XTextProperty tmp_prop;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (*target != COMPOUND_TEXT && *target != DELETE)
|
|
Packit |
b099d7 |
return(False);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (*target == COMPOUND_TEXT) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
ok = 0;
|
|
Packit |
b099d7 |
ok = XmbTextListToTextProperty(display, &string, 1,
|
|
Packit |
b099d7 |
XCompoundTextStyle, &tmp_prop);
|
|
Packit |
b099d7 |
if (ok != Success)
|
|
Packit |
b099d7 |
return(False);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
*valueRtn = (char *) tmp_prop.value;
|
|
Packit |
b099d7 |
*lengthRtn = tmp_prop.nitems;
|
|
Packit |
b099d7 |
*typeRtn = COMPOUND_TEXT;
|
|
Packit |
b099d7 |
*formatRtn = 8;
|
|
Packit |
b099d7 |
return(True);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
if (*target == DELETE) {
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
fprintf(outfp, "DELETE target encountered\n");
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
*typeRtn = NULL_ATOM;
|
|
Packit |
b099d7 |
*valueRtn = NULL;
|
|
Packit |
b099d7 |
*lengthRtn = 0;
|
|
Packit |
b099d7 |
*formatRtn = 8;
|
|
Packit |
b099d7 |
return(True);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void DragMotionCallback(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget dc;
|
|
Packit |
b099d7 |
Widget opIcon, stateIcon;
|
|
Packit |
b099d7 |
XmDragMotionCallback DragMotion;
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
Cardinal n;
|
|
Packit |
b099d7 |
static int count = 0;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dc = w;
|
|
Packit |
b099d7 |
DragMotion = (XmDragMotionCallback )call_data;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (change_op == True) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (count == 0) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNoperationCursorIcon, &opIcon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNstateCursorIcon, &stateIcon); n++;
|
|
Packit |
b099d7 |
XtGetValues(dc, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, Op_attachment); n++;
|
|
Packit |
b099d7 |
XtSetValues(opIcon, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, State_attachment); n++;
|
|
Packit |
b099d7 |
XtSetValues(stateIcon, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
count++;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
fprintf(outfp, "Drag Motion! \n");
|
|
Packit |
b099d7 |
fprintf(outfp, "operation = %d\n", DragMotion->operation);
|
|
Packit |
b099d7 |
fprintf(outfp, "dropSiteStatus = %d\n", DragMotion->dropSiteStatus);
|
|
Packit |
b099d7 |
fprintf(outfp, "x = %d\n", DragMotion->x);
|
|
Packit |
b099d7 |
fprintf(outfp, "y = %d\n", DragMotion->y);
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void DnDFinishCallback(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmDragContext dc;
|
|
Packit |
b099d7 |
XmDragDropFinishCallback DndFinish;
|
|
Packit |
b099d7 |
Widget source_icon, state_icon, op_icon;
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dc = (XmDragContext)w;
|
|
Packit |
b099d7 |
DndFinish = (XmDragDropFinishCallback )call_data;
|
|
Packit |
b099d7 |
source_icon = state_icon = op_icon = NULL;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
fprintf(outfp, "DND Finish! \n");
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void DropFinishCallback(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmDragContext dc;
|
|
Packit |
b099d7 |
XmDropFinishCallback DropFinish;
|
|
Packit |
b099d7 |
Widget source_icon, state_icon, op_icon;
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dc = (XmDragContext)w;
|
|
Packit |
b099d7 |
DropFinish = (XmDropFinishCallback )call_data;
|
|
Packit |
b099d7 |
source_icon = state_icon = op_icon = NULL;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsourceCursorIcon, &source_icon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNstateCursorIcon, &state_icon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNoperationCursorIcon, &op_icon); n++;
|
|
Packit |
b099d7 |
XtGetValues((Widget) dc, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
fprintf(outfp, "Drop Finish! \n");
|
|
Packit |
b099d7 |
fprintf(outfp, "operation = %d\n", DropFinish->operation);
|
|
Packit |
b099d7 |
fprintf(outfp, "dropSiteStatus = %d\n", DropFinish->dropSiteStatus);
|
|
Packit |
b099d7 |
fprintf(outfp, "dropAction = %d\n", DropFinish->dropAction);
|
|
Packit |
b099d7 |
fprintf(outfp, "completionStatus = %d\n", DropFinish->completionStatus);
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void DropSiteEnterCallback(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmDragContext dc;
|
|
Packit |
b099d7 |
XmDropSiteEnterCallback DropSiteEnter;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dc = (XmDragContext)w;
|
|
Packit |
b099d7 |
DropSiteEnter = (XmDropSiteEnterCallback )call_data;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
fprintf(outfp, "Drop Site Enter! \n");
|
|
Packit |
b099d7 |
fprintf(outfp, "operation = %d\n", DropSiteEnter->operation);
|
|
Packit |
b099d7 |
fprintf(outfp, "dropSiteStatus = %d\n", DropSiteEnter->dropSiteStatus);
|
|
Packit |
b099d7 |
fprintf(outfp, "x = %d\n", DropSiteEnter->x);
|
|
Packit |
b099d7 |
fprintf(outfp, "y = %d\n", DropSiteEnter->y);
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void DropSiteLeaveCallback(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmDragContext dc;
|
|
Packit |
b099d7 |
XmDropSiteLeaveCallback DropSiteLeave;
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dc = (XmDragContext)w;
|
|
Packit |
b099d7 |
DropSiteLeave = (XmDropSiteLeaveCallback )call_data;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
fprintf(outfp, "Drop Site Leave! \n");
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void DropStartCallback(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmDragContext dc;
|
|
Packit |
b099d7 |
XmDropStartCallback DropStart;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dc = (XmDragContext)w;
|
|
Packit |
b099d7 |
DropStart = (XmDropStartCallback )call_data;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
fprintf(outfp, "Drop Start! \n");
|
|
Packit |
b099d7 |
fprintf(outfp, "operation = %d\n", DropStart->operation);
|
|
Packit |
b099d7 |
fprintf(outfp, "dropSiteStatus = %d\n", DropStart->dropSiteStatus);
|
|
Packit |
b099d7 |
fprintf(outfp, "dropAction = %d\n", DropStart->dropAction);
|
|
Packit |
b099d7 |
fprintf(outfp, "x = %d\n", DropStart->x);
|
|
Packit |
b099d7 |
fprintf(outfp, "y = %d\n", DropStart->y);
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void TopLEnterCallback(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmDragContext dc;
|
|
Packit |
b099d7 |
XmTopLevelEnterCallback TopLEnter;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dc = (XmDragContext)w;
|
|
Packit |
b099d7 |
TopLEnter = (XmTopLevelEnterCallback )call_data;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
fprintf(outfp, "TopLevel Enter! \n");
|
|
Packit |
b099d7 |
fprintf(outfp, "window = %ld\n", TopLEnter->window);
|
|
Packit |
b099d7 |
fprintf(outfp, "x = %d\n", TopLEnter->x);
|
|
Packit |
b099d7 |
fprintf(outfp, "y = %d\n", TopLEnter->y);
|
|
Packit |
b099d7 |
fprintf(outfp, "dragProtocolStyle = %d\n", TopLEnter->dragProtocolStyle);
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void TopLLeaveCallback(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmDragContext dc;
|
|
Packit |
b099d7 |
XmTopLevelLeaveCallback TopLLeave;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dc = (XmDragContext)w;
|
|
Packit |
b099d7 |
TopLLeave = (XmTopLevelLeaveCallback )call_data;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
fprintf(outfp, "TopLevel Leave! \n");
|
|
Packit |
b099d7 |
fprintf(outfp, "window = %ld\n", TopLLeave->window);
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void CreateDefaultDragIcons(w)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Pixmap defCopyPix, defMovePix, defLinkPix;
|
|
Packit |
b099d7 |
Pixmap defVPix, defInvPix, defNonePix, defSrcPix;
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
static int count = 0;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (count == 0) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (use_small_icons == False) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
defCopyPix = XCreateBitmapFromData(display, XtWindow(w),
|
|
Packit |
b099d7 |
defCopy_bits,
|
|
Packit |
b099d7 |
defCopy_width, defCopy_height);
|
|
Packit |
b099d7 |
defMovePix = XCreateBitmapFromData(display, XtWindow(w),
|
|
Packit |
b099d7 |
defMove_bits, defMove_width,
|
|
Packit |
b099d7 |
defMove_height);
|
|
Packit |
b099d7 |
defLinkPix = XCreateBitmapFromData(display, XtWindow(w),
|
|
Packit |
b099d7 |
defLink_bits, defLink_width,
|
|
Packit |
b099d7 |
defLink_height);
|
|
Packit |
b099d7 |
defVPix = XCreateBitmapFromData(display, XtWindow(w), defV_bits,
|
|
Packit |
b099d7 |
defV_width, defV_height);
|
|
Packit |
b099d7 |
defInvPix = XCreateBitmapFromData(display, XtWindow(w), defInv_bits,
|
|
Packit |
b099d7 |
defInv_width, defInv_height);
|
|
Packit |
b099d7 |
defNonePix = XCreateBitmapFromData(display, XtWindow(w),
|
|
Packit |
b099d7 |
defNone_bits,
|
|
Packit |
b099d7 |
defNone_width, defNone_height);
|
|
Packit |
b099d7 |
defSrcPix = XCreateBitmapFromData(display, XtWindow(w), defSrc_bits,
|
|
Packit |
b099d7 |
defSrc_width, defSrc_height);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, defCopy_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, defCopy_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, defCopy_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, defCopy_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, defCopyPix); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, Op_attachment); n++;
|
|
Packit |
b099d7 |
defCopyIcon = XmCreateDragIcon(w, "defCopyIcon", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, defMove_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, defMove_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, defMove_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, defMove_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, defMovePix); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, Op_attachment); n++;
|
|
Packit |
b099d7 |
defMoveIcon = XmCreateDragIcon(w, "defMoveIcon", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, defLink_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, defLink_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, defLink_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, defLink_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, defLinkPix); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, Op_attachment); n++;
|
|
Packit |
b099d7 |
defLinkIcon = XmCreateDragIcon(w, "defLinkIcon", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, defV_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, defV_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, defV_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, defV_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, defVPix); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, State_attachment); n++;
|
|
Packit |
b099d7 |
defVIcon = XmCreateDragIcon(w, "defVIcon", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, defInv_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, defInv_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, defInv_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, defInv_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, defInvPix); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, State_attachment); n++;
|
|
Packit |
b099d7 |
defInvIcon = XmCreateDragIcon(w, "defInvIcon", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, defNone_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, defNone_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, defNone_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, defNone_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, defNonePix); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, State_attachment); n++;
|
|
Packit |
b099d7 |
defNoneIcon = XmCreateDragIcon(w, "defNoneIcon", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, defSrc_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, defSrc_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, defSrc_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, defSrc_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, defSrcPix); n++;
|
|
Packit |
b099d7 |
defSrcIcon = XmCreateDragIcon(w, "defSrcIcon", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
else {
|
|
Packit |
b099d7 |
defCopyPix = XCreateBitmapFromData(display, XtWindow(w),
|
|
Packit |
b099d7 |
copy_bits,
|
|
Packit |
b099d7 |
copy_width, copy_height);
|
|
Packit |
b099d7 |
defMovePix = XCreateBitmapFromData(display, XtWindow(w),
|
|
Packit |
b099d7 |
move_bits, move_width,
|
|
Packit |
b099d7 |
move_height);
|
|
Packit |
b099d7 |
defLinkPix = XCreateBitmapFromData(display, XtWindow(w),
|
|
Packit |
b099d7 |
link_bits, link_width,
|
|
Packit |
b099d7 |
link_height);
|
|
Packit |
b099d7 |
defVPix = XCreateBitmapFromData(display, XtWindow(w), valid_bits,
|
|
Packit |
b099d7 |
valid_width, valid_height);
|
|
Packit |
b099d7 |
defInvPix = XCreateBitmapFromData(display, XtWindow(w),
|
|
Packit |
b099d7 |
invalid_bits, invalid_width,
|
|
Packit |
b099d7 |
invalid_height);
|
|
Packit |
b099d7 |
defNonePix = XCreateBitmapFromData(display, XtWindow(w),
|
|
Packit |
b099d7 |
none_bits, none_width,
|
|
Packit |
b099d7 |
none_height);
|
|
Packit |
b099d7 |
defSrcPix = XCreateBitmapFromData(display, XtWindow(w), src_bits,
|
|
Packit |
b099d7 |
src_width, src_height);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, copy_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, copy_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, copy_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, copy_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, defCopyPix); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, Op_attachment); n++;
|
|
Packit |
b099d7 |
defCopyIcon = XmCreateDragIcon(w, "defCopyIcon", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, move_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, move_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, move_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, move_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, defMovePix); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, Op_attachment); n++;
|
|
Packit |
b099d7 |
defMoveIcon = XmCreateDragIcon(w, "defMoveIcon", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, link_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, link_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, link_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, link_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, defLinkPix); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, Op_attachment); n++;
|
|
Packit |
b099d7 |
defLinkIcon = XmCreateDragIcon(w, "defLinkIcon", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, valid_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, valid_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, valid_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, valid_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, defVPix); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, State_attachment); n++;
|
|
Packit |
b099d7 |
defVIcon = XmCreateDragIcon(w, "defVIcon", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, invalid_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, invalid_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, invalid_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, invalid_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, defInvPix); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, State_attachment); n++;
|
|
Packit |
b099d7 |
defInvIcon = XmCreateDragIcon(w, "defInvIcon", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, none_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, none_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, none_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, none_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, defNonePix); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, State_attachment); n++;
|
|
Packit |
b099d7 |
defNoneIcon = XmCreateDragIcon(w, "defNoneIcon", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, src_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, src_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, src_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, src_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, defSrcPix); n++;
|
|
Packit |
b099d7 |
defSrcIcon = XmCreateDragIcon(w, "defSrcIcon", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
count++;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
else {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, Op_attachment); n++;
|
|
Packit |
b099d7 |
XtSetValues(defCopyIcon, args, n);
|
|
Packit |
b099d7 |
XtSetValues(defMoveIcon, args, n);
|
|
Packit |
b099d7 |
XtSetValues(defLinkIcon, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, State_attachment); n++;
|
|
Packit |
b099d7 |
XtSetValues(defVIcon, args, n);
|
|
Packit |
b099d7 |
XtSetValues(defInvIcon, args, n);
|
|
Packit |
b099d7 |
XtSetValues(defNoneIcon, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdefaultCopyCursorIcon, defCopyIcon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdefaultMoveCursorIcon, defMoveIcon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdefaultLinkCursorIcon, defLinkIcon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdefaultValidCursorIcon, defVIcon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdefaultInvalidCursorIcon, defInvIcon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdefaultNoneCursorIcon, defNoneIcon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdefaultSourceCursorIcon, defSrcIcon); n++;
|
|
Packit |
b099d7 |
XtSetValues(xmScreen, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void CreateOtherDragIcons(w)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Pixmap opPix, statePix, srcPix;
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
static int count = 0;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (count == 0) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
opPix = XCreateBitmapFromData(display, XtWindow(w), opIcon1_bits,
|
|
Packit |
b099d7 |
opIcon1_width, opIcon1_height);
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, opIcon1_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, opIcon1_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, opIcon1_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, opIcon1_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, opPix); n++;
|
|
Packit |
b099d7 |
opIcon1 = XmCreateDragIcon(w, "opIcon1", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
opPix = XCreateBitmapFromData(display, XtWindow(w), opIcon2_bits,
|
|
Packit |
b099d7 |
opIcon2_width, opIcon2_height);
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, opIcon2_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, opIcon2_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, opIcon2_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, opIcon2_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, opPix); n++;
|
|
Packit |
b099d7 |
opIcon2 = XmCreateDragIcon(w, "opIcon2", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
opPix = XCreateBitmapFromData(display, XtWindow(w), opIcon3_bits,
|
|
Packit |
b099d7 |
opIcon3_width, opIcon3_height);
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, opIcon3_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, opIcon3_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, opIcon3_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, opIcon3_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, opPix); n++;
|
|
Packit |
b099d7 |
opIcon3 = XmCreateDragIcon(w, "opIcon3", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
statePix = XCreateBitmapFromData(display, XtWindow(w), stateIcon1_bits,
|
|
Packit |
b099d7 |
stateIcon1_width, stateIcon1_height);
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, stateIcon1_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, stateIcon1_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, stateIcon1_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, stateIcon1_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, statePix); n++;
|
|
Packit |
b099d7 |
stateIcon1 = XmCreateDragIcon(w, "stateIcon1", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
statePix = XCreateBitmapFromData(display, XtWindow(w), stateIcon2_bits,
|
|
Packit |
b099d7 |
stateIcon2_width, stateIcon2_height);
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, stateIcon2_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, stateIcon2_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, stateIcon2_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, stateIcon2_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, statePix); n++;
|
|
Packit |
b099d7 |
stateIcon2 = XmCreateDragIcon(w, "stateIcon2", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
statePix = XCreateBitmapFromData(display, XtWindow(w), stateIcon3_bits,
|
|
Packit |
b099d7 |
stateIcon3_width, stateIcon3_height);
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, stateIcon3_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, stateIcon3_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, stateIcon3_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, stateIcon3_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, statePix); n++;
|
|
Packit |
b099d7 |
stateIcon3 = XmCreateDragIcon(w, "stateIcon3", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
srcPix = XCreateBitmapFromData(display, XtWindow(w),
|
|
Packit |
b099d7 |
srcIcon1_bits,
|
|
Packit |
b099d7 |
srcIcon1_width,
|
|
Packit |
b099d7 |
srcIcon1_height);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, srcIcon1_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, srcIcon1_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, srcIcon1_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, srcIcon1_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, srcPix); n++;
|
|
Packit |
b099d7 |
srcIcon1 = XmCreateDragIcon(w, "srcIcon1", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
srcPix = XCreateBitmapFromData(display, XtWindow(w), srcIcon2_bits,
|
|
Packit |
b099d7 |
srcIcon2_width, srcIcon2_height);
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, srcIcon2_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, srcIcon2_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, srcIcon2_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, srcIcon2_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, srcPix); n++;
|
|
Packit |
b099d7 |
srcIcon2 = XmCreateDragIcon(w, "srcIcon2", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
srcPix = XCreateBitmapFromData(display, XtWindow(w), srcIcon3_bits,
|
|
Packit |
b099d7 |
srcIcon3_width, srcIcon3_height);
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, srcIcon3_width); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, srcIcon3_height); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotX, srcIcon3_x_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNhotY, srcIcon3_y_hot); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdepth, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpixmap, srcPix); n++;
|
|
Packit |
b099d7 |
srcIcon3 = XmCreateDragIcon(w, "srcIcon3", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
count++;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
else {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, Op_attachment); n++;
|
|
Packit |
b099d7 |
XtSetValues(opIcon1, args, n);
|
|
Packit |
b099d7 |
XtSetValues(opIcon2, args, n);
|
|
Packit |
b099d7 |
XtSetValues(opIcon3, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, State_attachment); n++;
|
|
Packit |
b099d7 |
XtSetValues(stateIcon1, args, n);
|
|
Packit |
b099d7 |
XtSetValues(stateIcon2, args, n);
|
|
Packit |
b099d7 |
XtSetValues(stateIcon3, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void SetDefaultDragIcons(w)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdefaultCopyCursorIcon, defCopyIcon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdefaultMoveCursorIcon, defMoveIcon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdefaultLinkCursorIcon, defLinkIcon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdefaultValidCursorIcon, defVIcon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdefaultInvalidCursorIcon, defInvIcon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdefaultNoneCursorIcon, defNoneIcon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdefaultSourceCursorIcon, defSrcIcon); n++;
|
|
Packit |
b099d7 |
XtSetValues(xmScreen, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void StartDrag(w, event)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XEvent *event;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static Boolean first_drag = True;
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
Cardinal n;
|
|
Packit |
b099d7 |
Atom exportList[1];
|
|
Packit |
b099d7 |
static XtCallbackRec DragMotionCB[2] =
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
{DragMotionCallback,NULL},
|
|
Packit |
b099d7 |
{NULL, NULL}
|
|
Packit |
b099d7 |
};
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static XtCallbackRec DnDFinishCB[2] =
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
{DnDFinishCallback,NULL},
|
|
Packit |
b099d7 |
{NULL, NULL}
|
|
Packit |
b099d7 |
};
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static XtCallbackRec DropFinishCB[2] =
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
{DropFinishCallback,NULL},
|
|
Packit |
b099d7 |
{NULL, NULL}
|
|
Packit |
b099d7 |
};
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static XtCallbackRec DropSiteEnterCB[2] =
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
{DropSiteEnterCallback,NULL},
|
|
Packit |
b099d7 |
{NULL, NULL}
|
|
Packit |
b099d7 |
};
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static XtCallbackRec DropSiteLeaveCB[2] =
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
{DropSiteLeaveCallback,NULL},
|
|
Packit |
b099d7 |
{NULL, NULL}
|
|
Packit |
b099d7 |
};
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static XtCallbackRec DropStartCB[2] =
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
{DropStartCallback,NULL},
|
|
Packit |
b099d7 |
{NULL, NULL}
|
|
Packit |
b099d7 |
};
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static XtCallbackRec TopLEnterCB[2] =
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
{TopLEnterCallback,NULL},
|
|
Packit |
b099d7 |
{NULL, NULL}
|
|
Packit |
b099d7 |
};
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static XtCallbackRec TopLLeaveCB[2] =
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
{TopLLeaveCallback,NULL},
|
|
Packit |
b099d7 |
{NULL, NULL}
|
|
Packit |
b099d7 |
};
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CreateDefaultDragIcons(w);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CreateOtherDragIcons(w);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* If it is the first drag initiated, get the current opIcon and
|
|
Packit |
b099d7 |
* stateIcon values. This is to avoid calling SetValues on a
|
|
Packit |
b099d7 |
* NULL opIcon or stateIcon.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
if (first_drag == True) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (opIcon_value != DEFAULT_OP) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
switch(opIcon_value) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
case OP_ICON1:
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
opIcon = opIcon1;
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
case OP_ICON2:
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
opIcon = opIcon2;
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
case OP_ICON3:
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
opIcon = opIcon3;
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (stateIcon_value != DEFAULT_STATE) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
switch(stateIcon_value) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
case STATE_ICON1:
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
stateIcon = stateIcon1;
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
case STATE_ICON2:
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
stateIcon = stateIcon2;
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
case STATE_ICON3:
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
stateIcon = stateIcon3;
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
first_drag = False;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (opIcon_value != DEFAULT_OP) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, Op_attachment); n++;
|
|
Packit |
b099d7 |
XtSetValues(opIcon, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (stateIcon_value != DEFAULT_STATE) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNattachment, State_attachment); n++;
|
|
Packit |
b099d7 |
XtSetValues(stateIcon, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
exportList[0] = COMPOUND_TEXT;
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNconvertProc, DragConvertProc); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdragDropFinishCallback, DnDFinishCB); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdragMotionCallback, DragMotionCB); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdropFinishCallback, DropFinishCB); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdropSiteEnterCallback, DropSiteEnterCB); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdropSiteLeaveCallback, DropSiteLeaveCB); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdropStartCallback, DropStartCB); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopLevelEnterCallback, TopLEnterCB); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopLevelLeaveCallback, TopLLeaveCB); n++;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNexportTargets, exportList); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNnumExportTargets, 1); n++;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNcursorForeground, cursorForeground); n++;
|
|
Packit |
b099d7 |
if (no_background == False)
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNcursorBackground, cursorBackground); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdragOperations, dragOperations); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNblendModel, blendModel); n++;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (opIcon_value != DEFAULT_OP) {
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNoperationCursorIcon, opIcon); n++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
if (stateIcon_value != DEFAULT_STATE) {
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNstateCursorIcon, stateIcon); n++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
if (srcIcon_value != DEFAULT_SRC) {
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsourceCursorIcon, srcIcon); n++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
myDC = XmDragStart(w, event, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void HandleDrag(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmDragProcCallback DragProc;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
DragProc = (XmDragProcCallback)call_data;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
fprintf(outfp, "DragProc !\n");
|
|
Packit |
b099d7 |
fprintf(outfp, "x = %d\n", DragProc->x);
|
|
Packit |
b099d7 |
fprintf(outfp, "y = %d\n", DragProc->y);
|
|
Packit |
b099d7 |
fprintf(outfp, "dropSiteStatus = %d\n", DragProc->dropSiteStatus);
|
|
Packit |
b099d7 |
fprintf(outfp, "operations = %d\n", DragProc->operations);
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void DropTransferCallback(w, closure, seltype, type, value,
|
|
Packit |
b099d7 |
length, format)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer closure ;
|
|
Packit |
b099d7 |
Atom *seltype ;
|
|
Packit |
b099d7 |
Atom *type ;
|
|
Packit |
b099d7 |
XtPointer value ;
|
|
Packit |
b099d7 |
unsigned long *length ;
|
|
Packit |
b099d7 |
int *format ;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XTextProperty tmp_prop;
|
|
Packit |
b099d7 |
int num_vals;
|
|
Packit |
b099d7 |
int ok;
|
|
Packit |
b099d7 |
char *total_tmp_value = NULL;
|
|
Packit |
b099d7 |
char **tmp_value;
|
|
Packit |
b099d7 |
int malloc_size = 0;
|
|
Packit |
b099d7 |
char *actual_value;
|
|
Packit |
b099d7 |
int actual_length = 0;
|
|
Packit |
b099d7 |
Cardinal i;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (*length)
|
|
Packit |
b099d7 |
if (*type == COMPOUND_TEXT) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tmp_prop.value = (unsigned char *) value;
|
|
Packit |
b099d7 |
tmp_prop.encoding = *type;
|
|
Packit |
b099d7 |
tmp_prop.format = 8;
|
|
Packit |
b099d7 |
tmp_prop.nitems = *length;
|
|
Packit |
b099d7 |
num_vals = 0;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
ok = 0;
|
|
Packit |
b099d7 |
ok = XmbTextPropertyToTextList(display, &tmp_prop, &tmp_value,
|
|
Packit |
b099d7 |
&num_vals);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (num_vals && (ok == Success || ok > 0)) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
for (i = 0; i < num_vals; i++)
|
|
Packit |
b099d7 |
malloc_size += strlen(*tmp_value + i);
|
|
Packit |
b099d7 |
total_tmp_value = XtMalloc ((unsigned) malloc_size + 1);
|
|
Packit |
b099d7 |
total_tmp_value[0] = '\0';
|
|
Packit |
b099d7 |
for (i = 0; i < num_vals ; i++)
|
|
Packit |
b099d7 |
strcat(total_tmp_value, *tmp_value + i);
|
|
Packit |
b099d7 |
actual_value = total_tmp_value;
|
|
Packit |
b099d7 |
actual_length = strlen(total_tmp_value);
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
fprintf(stderr, "the transfer value is : %s\n", actual_value);
|
|
Packit |
b099d7 |
fprintf(stderr, "the length of transfer is : %d\n",
|
|
Packit |
b099d7 |
actual_length);
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
XFreeStringList(tmp_value);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
else {
|
|
Packit |
b099d7 |
if (value) {
|
|
Packit |
b099d7 |
XtFree((char *)value);
|
|
Packit |
b099d7 |
value = NULL;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
actual_length = -1;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
if (actual_length != -1) {
|
|
Packit |
b099d7 |
if (*type == COMPOUND_TEXT)
|
|
Packit |
b099d7 |
fprintf(outfp, "the transfer value is : %s\n", actual_value);
|
|
Packit |
b099d7 |
else if (*type == XA_PIXMAP)
|
|
Packit |
b099d7 |
fprintf(outfp, "the transfer value is of type pixmap\n");
|
|
Packit |
b099d7 |
else if (*type == XA_BITMAP)
|
|
Packit |
b099d7 |
fprintf(outfp, "the transfer value is of type bitmap\n");
|
|
Packit |
b099d7 |
else if (*type == NULL_ATOM)
|
|
Packit |
b099d7 |
fprintf(outfp, "the transfer value is of type NULL\n");
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* You no longer need it, so free it */
|
|
Packit |
b099d7 |
if (total_tmp_value != NULL)
|
|
Packit |
b099d7 |
XtFree(total_tmp_value);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void HandleDrop(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmDropProcCallback DropProc;
|
|
Packit |
b099d7 |
Widget dc;
|
|
Packit |
b099d7 |
XmDropTransferEntryRec transferEntries[2];
|
|
Packit |
b099d7 |
XmDropTransferEntry transferList;
|
|
Packit |
b099d7 |
Cardinal numTransfers = 0;
|
|
Packit |
b099d7 |
Cardinal numExportTargets;
|
|
Packit |
b099d7 |
Atom *exportTargets;
|
|
Packit |
b099d7 |
Cardinal numImportTargets;
|
|
Packit |
b099d7 |
Atom *importTargets;
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
char *string = "TestString";
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
DropProc = (XmDropProcCallback)call_data;
|
|
Packit |
b099d7 |
dc = DropProc->dragContext;
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNexportTargets, &exportTargets); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNnumExportTargets, &numExportTargets); n++;
|
|
Packit |
b099d7 |
XtGetValues(dc, args, n);
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNimportTargets, &importTargets); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNnumImportTargets, &numImportTargets); n++;
|
|
Packit |
b099d7 |
XmDropSiteRetrieve(w, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
fprintf(outfp, "DropProc !\n");
|
|
Packit |
b099d7 |
fprintf(outfp, "x = %d\n", DropProc->x);
|
|
Packit |
b099d7 |
fprintf(outfp, "y = %d\n", DropProc->y);
|
|
Packit |
b099d7 |
fprintf(outfp, "dropSiteStatus = %d\n", DropProc->dropSiteStatus);
|
|
Packit |
b099d7 |
fprintf(outfp, "operation = %d\n", DropProc->operation);
|
|
Packit |
b099d7 |
fprintf(outfp, "dropAction = %d\n", DropProc->dropAction);
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
transferEntries[0].target = COMPOUND_TEXT;
|
|
Packit |
b099d7 |
transferEntries[0].client_data = string;
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
if (XmTargetsAreCompatible(display, exportTargets, numExportTargets,
|
|
Packit |
b099d7 |
importTargets, numImportTargets) == False) {
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtransferStatus, XmTRANSFER_FAILURE); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNnumDropTransfers, 0); n++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
else {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (DropProc->operation & XmDROP_MOVE ||
|
|
Packit |
b099d7 |
DropProc->operation & XmDROP_COPY) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (DropProc->operation & XmDROP_MOVE) {
|
|
Packit |
b099d7 |
transferEntries[1].target = DELETE;
|
|
Packit |
b099d7 |
transferEntries[1].client_data = NULL;
|
|
Packit |
b099d7 |
numTransfers = 2;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
else
|
|
Packit |
b099d7 |
numTransfers = 1;
|
|
Packit |
b099d7 |
transferList = transferEntries;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdropTransfers, transferList); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNnumDropTransfers, numTransfers); n++;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
else {
|
|
Packit |
b099d7 |
if (DropProc->operation & XmDROP_LINK)
|
|
Packit |
b099d7 |
fprintf(stderr, "Link Operation currently not supported\n");
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtransferStatus, XmTRANSFER_FAILURE); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNnumDropTransfers, 0); n++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtransferProc, DropTransferCallback); n++;
|
|
Packit |
b099d7 |
XmDropTransferStart(dc, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static int ProtoError(dpy, ev)
|
|
Packit |
b099d7 |
Display *dpy;
|
|
Packit |
b099d7 |
XErrorEvent *ev;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
fprintf(stderr, "Proto Error\n");
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
fflush(outfp);
|
|
Packit |
b099d7 |
fclose(outfp);
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
exit(0);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void DragUnderHighLightCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
animationStyle = XmDRAG_UNDER_HIGHLIGHT;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void DragUnderShadowOutCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
animationStyle = XmDRAG_UNDER_SHADOW_OUT;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void DragUnderShadowInCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
animationStyle = XmDRAG_UNDER_SHADOW_IN;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void DragUnderPixmapCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
animationStyle = XmDRAG_UNDER_PIXMAP;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void DragUnderNoneCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
animationStyle = XmDRAG_UNDER_SHADOW_OUT;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dropActiveCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dropActivity = XmDROP_SITE_ACTIVE;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dropInactiveCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dropActivity = XmDROP_SITE_INACTIVE;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dropMoveCopyCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dropOperations = XmDROP_MOVE | XmDROP_COPY;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dropMoveOnlyCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dropOperations = XmDROP_MOVE;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dropCopyOnlyCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dropOperations = XmDROP_COPY;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dropLinkOnlyCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dropOperations = XmDROP_LINK;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dropMoveLinkCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dropOperations = XmDROP_MOVE | XmDROP_LINK;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dropCopyLinkCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dropOperations = XmDROP_COPY | XmDROP_LINK;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dropAllCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dropOperations = XmDROP_MOVE | XmDROP_COPY | XmDROP_LINK;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dropNoneCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dropOperations = XmDROP_NOOP;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dragMoveCopyCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dragOperations = XmDROP_MOVE | XmDROP_COPY;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dragMoveOnlyCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dragOperations = XmDROP_MOVE;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dragCopyOnlyCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dragOperations = XmDROP_COPY;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dragLinkOnlyCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dragOperations = XmDROP_LINK;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dragMoveLinkCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dragOperations = XmDROP_MOVE | XmDROP_LINK;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dragCopyLinkCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dragOperations = XmDROP_COPY | XmDROP_LINK;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dragAllCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dragOperations = XmDROP_MOVE | XmDROP_COPY | XmDROP_LINK;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void dragNoneCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dragOperations = XmDROP_NOOP;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void blendStateSourceCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
blendModel = XmBLEND_STATE_SOURCE;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void blendJustSourceCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
blendModel = XmBLEND_JUST_SOURCE;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void blendAllCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
blendModel = XmBLEND_ALL;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void blendNoneCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
blendModel = XmBLEND_NONE;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void Op_northwestCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Op_attachment = XmATTACH_NORTH_WEST;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void Op_northCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Op_attachment = XmATTACH_NORTH;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void Op_northeastCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Op_attachment = XmATTACH_NORTH_EAST;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void Op_eastCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Op_attachment = XmATTACH_EAST;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void Op_southeastCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Op_attachment = XmATTACH_SOUTH_EAST;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void Op_southCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Op_attachment = XmATTACH_SOUTH;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void Op_southwestCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Op_attachment = XmATTACH_SOUTH_WEST;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void Op_westCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Op_attachment = XmATTACH_WEST;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void Op_centerCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Op_attachment = XmATTACH_CENTER;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void State_northwestCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
State_attachment = XmATTACH_NORTH_WEST;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void State_northCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
State_attachment = XmATTACH_NORTH;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void State_northeastCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
State_attachment = XmATTACH_NORTH_EAST;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void State_eastCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
State_attachment = XmATTACH_EAST;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void State_southeastCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
State_attachment = XmATTACH_SOUTH_EAST;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void State_southCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
State_attachment = XmATTACH_SOUTH;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void State_southwestCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
State_attachment = XmATTACH_SOUTH_WEST;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void State_westCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
State_attachment = XmATTACH_WEST;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void State_centerCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
State_attachment = XmATTACH_CENTER;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void redFGCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
cursorForeground = redPixel;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void blackFGCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
cursorForeground = blackPixel;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void yellowFGCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
cursorForeground = yellowPixel;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void greenFGCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
cursorForeground = greenPixel;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void whiteFGCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
cursorForeground = whitePixel;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void redBGCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
cursorBackground = redPixel;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void blackBGCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
cursorBackground = blackPixel;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void yellowBGCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
cursorBackground = yellowPixel;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void greenBGCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
cursorBackground = greenPixel;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void whiteBGCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
cursorBackground = whitePixel;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void OpIcon1CB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
opIcon_value = OP_ICON1;
|
|
Packit |
b099d7 |
opIcon = opIcon1;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void OpIcon2CB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
opIcon_value = OP_ICON2;
|
|
Packit |
b099d7 |
opIcon = opIcon2;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void OpIcon3CB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
opIcon_value = OP_ICON3;
|
|
Packit |
b099d7 |
opIcon = opIcon3;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void defOpIconCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
opIcon_value = DEFAULT_OP;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void StateIcon1CB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
stateIcon_value = STATE_ICON1;
|
|
Packit |
b099d7 |
stateIcon = stateIcon1;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void StateIcon2CB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
stateIcon_value = STATE_ICON2;
|
|
Packit |
b099d7 |
stateIcon = stateIcon2;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void StateIcon3CB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
stateIcon_value = STATE_ICON3;
|
|
Packit |
b099d7 |
stateIcon = stateIcon3;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void defStateIconCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
stateIcon_value = DEFAULT_STATE;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void SrcIcon1CB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
srcIcon_value = SRC_ICON1;
|
|
Packit |
b099d7 |
srcIcon = srcIcon1;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void SrcIcon2CB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
srcIcon_value = SRC_ICON2;
|
|
Packit |
b099d7 |
srcIcon = srcIcon2;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void SrcIcon3CB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
srcIcon_value = SRC_ICON3;
|
|
Packit |
b099d7 |
srcIcon = srcIcon3;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void defSrcIconCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
srcIcon_value = DEFAULT_SRC;
|
|
Packit |
b099d7 |
return;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*ARGSUSED*/
|
|
Packit |
b099d7 |
static void ApplyChangesCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
int i, n;
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNanimationStyle, animationStyle); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdropSiteActivity, dropActivity); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdropSiteOperations, dropOperations); n++;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
for (i = 0; i < numDropSites; i++)
|
|
Packit |
b099d7 |
XmDropSiteUpdate(dropSites[i], args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
void main (argc, argv)
|
|
Packit |
b099d7 |
unsigned int argc;
|
|
Packit |
b099d7 |
char **argv;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
int n, i, j, k, l;
|
|
Packit |
b099d7 |
AppDataRec appDataRec, *appData;
|
|
Packit |
b099d7 |
Widget topLevel, BulletinB, PushBtn, Text;
|
|
Packit |
b099d7 |
XEvent event;
|
|
Packit |
b099d7 |
char name[80];
|
|
Packit |
b099d7 |
Atom importList[1];
|
|
Packit |
b099d7 |
Widget *buttons;
|
|
Packit |
b099d7 |
Cardinal numButtons;
|
|
Packit |
b099d7 |
XmString tcs;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
appData = &appDataRec;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
use_instruction_box = True;
|
|
Packit |
b099d7 |
use_small_icons = False;
|
|
Packit |
b099d7 |
no_background = False;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
initiatorProtocolStyle = XmDRAG_PREFER_RECEIVER;
|
|
Packit |
b099d7 |
receiverProtocolStyle = XmDRAG_PREFER_PREREGISTER;
|
|
Packit |
b099d7 |
animationStyle = XmDRAG_UNDER_HIGHLIGHT;
|
|
Packit |
b099d7 |
dropActivity = XmDROP_SITE_ACTIVE;
|
|
Packit |
b099d7 |
dropOperations = XmDROP_MOVE | XmDROP_COPY;
|
|
Packit |
b099d7 |
dragOperations = XmDROP_COPY;
|
|
Packit |
b099d7 |
blendModel = XmBLEND_ALL;
|
|
Packit |
b099d7 |
Op_attachment = XmATTACH_SOUTH_EAST;
|
|
Packit |
b099d7 |
State_attachment = XmATTACH_NORTH_EAST;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
sprintf(name, "%s.out", argv[0]);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if ((outfp = fopen(name, "w+")) == NULL) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
fprintf(stderr, "Can not open output file %s.out. Trying in /tmp\n",
|
|
Packit |
b099d7 |
argv[0]);
|
|
Packit |
b099d7 |
sprintf(name, "/tmp/%s.out", argv[0]);
|
|
Packit |
b099d7 |
if ((outfp = fopen(name, "w+")) == NULL) {
|
|
Packit |
b099d7 |
fprintf(stderr, "Can not open output file /tmp/%s.out. Exiting\n",
|
|
Packit |
b099d7 |
argv[0]);
|
|
Packit |
b099d7 |
exit(0);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XSetErrorHandler(ProtoError);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonTestInit(argc, argv);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (UserData != NULL)
|
|
Packit |
b099d7 |
ProcessCommandArgs();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAppAddActions(app_context, (XtActionList)myactions, XtNumber(myactions));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtGetApplicationResources(Shell1, (XtPointer)appData,
|
|
Packit |
b099d7 |
appResources, XtNumber(appResources), NULL, 0);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* try out stuffing the translations directly in */
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtranslations, appData->xlation1.xlation); n++;
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Set the initiatorProtocolStyle and receiverProtocolStyle resources
|
|
Packit |
b099d7 |
* if asked to from the command line.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
xmDisplay = XmGetXmDisplay(display);
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdragInitiatorProtocolStyle,
|
|
Packit |
b099d7 |
initiatorProtocolStyle); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdragReceiverProtocolStyle,
|
|
Packit |
b099d7 |
receiverProtocolStyle); n++;
|
|
Packit |
b099d7 |
XtSetValues(xmDisplay, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtRealizeWidget(Shell1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
redPixel = CommonGetColor("red");
|
|
Packit |
b099d7 |
blackPixel = CommonGetColor("black");
|
|
Packit |
b099d7 |
yellowPixel = CommonGetColor("yellow");
|
|
Packit |
b099d7 |
greenPixel = CommonGetColor("green");
|
|
Packit |
b099d7 |
whitePixel = CommonGetColor("white");
|
|
Packit |
b099d7 |
cursorForeground = redPixel;
|
|
Packit |
b099d7 |
cursorBackground = whitePixel;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xmScreen = XmGetXmScreen(screen);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
COMPOUND_TEXT = XmInternAtom(XtDisplay(Shell1), "COMPOUND_TEXT", False);
|
|
Packit |
b099d7 |
DELETE = XmInternAtom(XtDisplay(Shell1), "DELETE", False);
|
|
Packit |
b099d7 |
NULL_ATOM = XmInternAtom(XtDisplay(Shell1), "NULL", False);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Create Outer Form */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
Form = XmCreateForm(Shell1, "Form", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Form);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
Whichanim_Pulldown = XmCreatePulldownMenu(Shell1, "Whichanim_Pulldown",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
DragUnderHighLight = CreatePushButton(Whichanim_Pulldown, "HighLight");
|
|
Packit |
b099d7 |
DragUnderShadowOut = CreatePushButton(Whichanim_Pulldown, "ShadowOut");
|
|
Packit |
b099d7 |
DragUnderShadowIn = CreatePushButton(Whichanim_Pulldown, "ShadowIn");
|
|
Packit |
b099d7 |
DragUnderNone = CreatePushButton(Whichanim_Pulldown, "None");
|
|
Packit |
b099d7 |
DragUnderPixmap = CreatePushButton(Whichanim_Pulldown, "Pixmap");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(DragUnderHighLight, XmNactivateCallback,
|
|
Packit |
b099d7 |
DragUnderHighLightCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(DragUnderShadowOut, XmNactivateCallback,
|
|
Packit |
b099d7 |
DragUnderShadowOutCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(DragUnderShadowIn, XmNactivateCallback,
|
|
Packit |
b099d7 |
DragUnderShadowInCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(DragUnderNone, XmNactivateCallback,
|
|
Packit |
b099d7 |
DragUnderNoneCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(DragUnderPixmap, XmNactivateCallback,
|
|
Packit |
b099d7 |
DragUnderPixmapCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsensitive, False); n++;
|
|
Packit |
b099d7 |
XtSetValues(DragUnderPixmap, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringLtoRCreate("Animation Style ",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmenuHistory, DragUnderHighLight); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsubMenuId, Whichanim_Pulldown); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightOffset, 5); n++;
|
|
Packit |
b099d7 |
Whichanim_Option = XmCreateOptionMenu(Form, "Whichanim_Option",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
XtManageChild(Whichanim_Option);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
WhichdropAct_Pulldown = XmCreatePulldownMenu(Shell1,
|
|
Packit |
b099d7 |
"WhichdropAct_Pulldown",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dropActive = CreatePushButton(WhichdropAct_Pulldown, "Active");
|
|
Packit |
b099d7 |
dropInactive = CreatePushButton(WhichdropAct_Pulldown, "Inactive");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(dropActive, XmNactivateCallback, dropActiveCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(dropInactive, XmNactivateCallback, dropInactiveCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringLtoRCreate("Drop Activity ",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmenuHistory, dropActive); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsubMenuId, WhichdropAct_Pulldown); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopWidget, Whichanim_Option); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightOffset, 5); n++;
|
|
Packit |
b099d7 |
WhichdropAct_Option = XmCreateOptionMenu(Form, "WhichdropAct_Option",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
XtManageChild(WhichdropAct_Option);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
WhichdropOp_Pulldown = XmCreatePulldownMenu(Shell1, "WhichdropOp_Pulldown",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dropMoveCopy = CreatePushButton(WhichdropOp_Pulldown, "Move_n_Copy");
|
|
Packit |
b099d7 |
dropMoveOnly = CreatePushButton(WhichdropOp_Pulldown, "MoveOnly");
|
|
Packit |
b099d7 |
dropCopyOnly = CreatePushButton(WhichdropOp_Pulldown, "CopyOnly");
|
|
Packit |
b099d7 |
dropLinkOnly = CreatePushButton(WhichdropOp_Pulldown, "LinkOnly");
|
|
Packit |
b099d7 |
dropMoveLink = CreatePushButton(WhichdropOp_Pulldown, "Move_n_Link");
|
|
Packit |
b099d7 |
dropCopyLink = CreatePushButton(WhichdropOp_Pulldown, "Copy_n_Link");
|
|
Packit |
b099d7 |
dropAll = CreatePushButton(WhichdropOp_Pulldown, "All");
|
|
Packit |
b099d7 |
dropNone = CreatePushButton(WhichdropOp_Pulldown, "None");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(dropMoveCopy, XmNactivateCallback, dropMoveCopyCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(dropMoveOnly, XmNactivateCallback, dropMoveOnlyCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(dropCopyOnly, XmNactivateCallback, dropCopyOnlyCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(dropLinkOnly, XmNactivateCallback, dropLinkOnlyCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(dropMoveLink, XmNactivateCallback, dropMoveLinkCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(dropCopyLink, XmNactivateCallback, dropCopyLinkCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(dropAll, XmNactivateCallback, dropAllCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(dropNone, XmNactivateCallback, dropNoneCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringLtoRCreate("Drop Operations ",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmenuHistory, dropMoveCopy); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsubMenuId, WhichdropOp_Pulldown); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopWidget, WhichdropAct_Option); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightOffset, 5); n++;
|
|
Packit |
b099d7 |
WhichdropOp_Option = XmCreateOptionMenu(Form, "WhichdropOp_Option",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
XtManageChild(WhichdropOp_Option);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
WhichdragOp_Pulldown = XmCreatePulldownMenu(Shell1, "WhichdragOp_Pulldown",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
dragMoveCopy = CreatePushButton(WhichdragOp_Pulldown, "Move_n_Copy");
|
|
Packit |
b099d7 |
dragMoveOnly = CreatePushButton(WhichdragOp_Pulldown, "MoveOnly");
|
|
Packit |
b099d7 |
dragCopyOnly = CreatePushButton(WhichdragOp_Pulldown, "CopyOnly");
|
|
Packit |
b099d7 |
dragLinkOnly = CreatePushButton(WhichdragOp_Pulldown, "LinkOnly");
|
|
Packit |
b099d7 |
dragMoveLink = CreatePushButton(WhichdragOp_Pulldown, "Move_n_Link");
|
|
Packit |
b099d7 |
dragCopyLink = CreatePushButton(WhichdragOp_Pulldown, "Copy_n_Link");
|
|
Packit |
b099d7 |
dragAll = CreatePushButton(WhichdragOp_Pulldown, "All");
|
|
Packit |
b099d7 |
dragNone = CreatePushButton(WhichdragOp_Pulldown, "None");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(dragMoveCopy, XmNactivateCallback, dragMoveCopyCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(dragMoveOnly, XmNactivateCallback, dragMoveOnlyCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(dragCopyOnly, XmNactivateCallback, dragCopyOnlyCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(dragLinkOnly, XmNactivateCallback, dragLinkOnlyCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(dragMoveLink, XmNactivateCallback, dragMoveLinkCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(dragCopyLink, XmNactivateCallback, dragCopyLinkCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(dragAll, XmNactivateCallback, dragAllCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(dragNone, XmNactivateCallback, dragNoneCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringLtoRCreate("Drag Operations ",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmenuHistory, dragCopyOnly); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsubMenuId, WhichdragOp_Pulldown); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopWidget, WhichdropOp_Option); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightOffset, 5); n++;
|
|
Packit |
b099d7 |
WhichdragOp_Option = XmCreateOptionMenu(Form, "WhichdragOp_Option",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
XtManageChild(WhichdragOp_Option);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
WhichBlend_Pulldown = XmCreatePulldownMenu(Shell1, "WhichBlend_Pulldown",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
blendAll = CreatePushButton(WhichBlend_Pulldown, "All");
|
|
Packit |
b099d7 |
blendStateSource = CreatePushButton(WhichBlend_Pulldown, "State_n_Source");
|
|
Packit |
b099d7 |
blendJustSource = CreatePushButton(WhichBlend_Pulldown, "JustSource");
|
|
Packit |
b099d7 |
blendNone = CreatePushButton(WhichBlend_Pulldown, "None");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(blendAll, XmNactivateCallback, blendAllCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(blendStateSource, XmNactivateCallback,
|
|
Packit |
b099d7 |
blendStateSourceCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(blendJustSource, XmNactivateCallback,
|
|
Packit |
b099d7 |
blendJustSourceCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(blendNone, XmNactivateCallback, blendNoneCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringLtoRCreate("Blend Model ",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmenuHistory, blendAll); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsubMenuId, WhichBlend_Pulldown); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopWidget, WhichdragOp_Option); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightOffset, 5); n++;
|
|
Packit |
b099d7 |
WhichBlend_Option = XmCreateOptionMenu(Form, "WhichBlend_Option",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
XtManageChild(WhichBlend_Option);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
WhichOpAttach_Pulldown = XmCreatePulldownMenu(Shell1,
|
|
Packit |
b099d7 |
"WhichOpAttach_Pulldown",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Op_northwest = CreatePushButton(WhichOpAttach_Pulldown, "NorthWest");
|
|
Packit |
b099d7 |
Op_north = CreatePushButton(WhichOpAttach_Pulldown, "North");
|
|
Packit |
b099d7 |
Op_northeast = CreatePushButton(WhichOpAttach_Pulldown, "NorthEast");
|
|
Packit |
b099d7 |
Op_east = CreatePushButton(WhichOpAttach_Pulldown, "East");
|
|
Packit |
b099d7 |
Op_southeast = CreatePushButton(WhichOpAttach_Pulldown, "SouthEast");
|
|
Packit |
b099d7 |
Op_south = CreatePushButton(WhichOpAttach_Pulldown, "South");
|
|
Packit |
b099d7 |
Op_southwest = CreatePushButton(WhichOpAttach_Pulldown, "SouthWest");
|
|
Packit |
b099d7 |
Op_west = CreatePushButton(WhichOpAttach_Pulldown, "West");
|
|
Packit |
b099d7 |
Op_center = CreatePushButton(WhichOpAttach_Pulldown, "Center");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(Op_northwest, XmNactivateCallback, Op_northwestCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(Op_north, XmNactivateCallback, Op_northCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(Op_northeast, XmNactivateCallback, Op_northeastCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(Op_east, XmNactivateCallback, Op_eastCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(Op_southeast, XmNactivateCallback, Op_southeastCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(Op_south, XmNactivateCallback, Op_southCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(Op_southwest, XmNactivateCallback, Op_southwestCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(Op_west, XmNactivateCallback, Op_westCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(Op_center, XmNactivateCallback, Op_centerCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringLtoRCreate("OpIcon Attachment ",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmenuHistory, Op_southeast); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsubMenuId, WhichOpAttach_Pulldown); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopWidget, WhichBlend_Option); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightOffset, 5); n++;
|
|
Packit |
b099d7 |
WhichOpAttach_Option = XmCreateOptionMenu(Form, "WhichOpAttach_Option",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
XtManageChild(WhichOpAttach_Option);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
WhichStateAttach_Pulldown = XmCreatePulldownMenu(Shell1,
|
|
Packit |
b099d7 |
"WhichStateAttach_Pulldown",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
State_northwest = CreatePushButton(WhichStateAttach_Pulldown, "NorthWest");
|
|
Packit |
b099d7 |
State_north = CreatePushButton(WhichStateAttach_Pulldown, "North");
|
|
Packit |
b099d7 |
State_northeast = CreatePushButton(WhichStateAttach_Pulldown, "NorthEast");
|
|
Packit |
b099d7 |
State_east = CreatePushButton(WhichStateAttach_Pulldown, "East");
|
|
Packit |
b099d7 |
State_southeast = CreatePushButton(WhichStateAttach_Pulldown, "SouthEast");
|
|
Packit |
b099d7 |
State_south = CreatePushButton(WhichStateAttach_Pulldown, "South");
|
|
Packit |
b099d7 |
State_southwest = CreatePushButton(WhichStateAttach_Pulldown, "SouthWest");
|
|
Packit |
b099d7 |
State_west = CreatePushButton(WhichStateAttach_Pulldown, "West");
|
|
Packit |
b099d7 |
State_center = CreatePushButton(WhichStateAttach_Pulldown, "Center");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(State_northwest, XmNactivateCallback, State_northwestCB,
|
|
Packit |
b099d7 |
NULL);
|
|
Packit |
b099d7 |
XtAddCallback(State_north, XmNactivateCallback, State_northCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(State_northeast, XmNactivateCallback, State_northeastCB,
|
|
Packit |
b099d7 |
NULL);
|
|
Packit |
b099d7 |
XtAddCallback(State_east, XmNactivateCallback, State_eastCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(State_southeast, XmNactivateCallback, State_southeastCB,
|
|
Packit |
b099d7 |
NULL);
|
|
Packit |
b099d7 |
XtAddCallback(State_south, XmNactivateCallback, State_southCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(State_southwest, XmNactivateCallback, State_southwestCB,
|
|
Packit |
b099d7 |
NULL);
|
|
Packit |
b099d7 |
XtAddCallback(State_west, XmNactivateCallback, State_westCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(State_center, XmNactivateCallback, State_centerCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringLtoRCreate("StateIcon Attachment ",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmenuHistory, State_northeast); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsubMenuId, WhichStateAttach_Pulldown); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopWidget, WhichOpAttach_Option); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightOffset, 5); n++;
|
|
Packit |
b099d7 |
WhichStateAttach_Option = XmCreateOptionMenu(Form,
|
|
Packit |
b099d7 |
"WhichStateAttach_Option",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
XtManageChild(WhichStateAttach_Option);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
WhichForeground_Pulldown = XmCreatePulldownMenu(Shell1,
|
|
Packit |
b099d7 |
"WhichForeground_Pulldown",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
redFG = CreatePushButton(WhichForeground_Pulldown, "Red");
|
|
Packit |
b099d7 |
blackFG = CreatePushButton(WhichForeground_Pulldown, "Black");
|
|
Packit |
b099d7 |
yellowFG = CreatePushButton(WhichForeground_Pulldown, "Yellow");
|
|
Packit |
b099d7 |
greenFG = CreatePushButton(WhichForeground_Pulldown, "Green");
|
|
Packit |
b099d7 |
whiteFG = CreatePushButton(WhichForeground_Pulldown, "White");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(redFG, XmNactivateCallback, redFGCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(blackFG, XmNactivateCallback, blackFGCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(yellowFG, XmNactivateCallback, yellowFGCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(greenFG, XmNactivateCallback, greenFGCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(whiteFG, XmNactivateCallback, whiteFGCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringLtoRCreate("Cursor Foreground ",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmenuHistory, redFG); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsubMenuId, WhichForeground_Pulldown); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopWidget, WhichStateAttach_Option); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightOffset, 5); n++;
|
|
Packit |
b099d7 |
WhichForeground_Option = XmCreateOptionMenu(Form, "WhichForeground_Option",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
XtManageChild(WhichForeground_Option);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
WhichBackground_Pulldown = XmCreatePulldownMenu(Shell1,
|
|
Packit |
b099d7 |
"WhichBackground_Pulldown",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
redBG = CreatePushButton(WhichBackground_Pulldown, "Red");
|
|
Packit |
b099d7 |
blackBG = CreatePushButton(WhichBackground_Pulldown, "Black");
|
|
Packit |
b099d7 |
yellowBG = CreatePushButton(WhichBackground_Pulldown, "Yellow");
|
|
Packit |
b099d7 |
greenBG = CreatePushButton(WhichBackground_Pulldown, "Green");
|
|
Packit |
b099d7 |
whiteBG = CreatePushButton(WhichBackground_Pulldown, "White");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(redBG, XmNactivateCallback, redBGCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(blackBG, XmNactivateCallback, blackBGCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(yellowBG, XmNactivateCallback, yellowBGCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(greenBG, XmNactivateCallback, greenBGCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(whiteBG, XmNactivateCallback, whiteBGCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringLtoRCreate("Cursor Background ",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmenuHistory, whiteBG); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsubMenuId, WhichBackground_Pulldown); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopWidget, WhichForeground_Option); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightOffset, 5); n++;
|
|
Packit |
b099d7 |
WhichBackground_Option = XmCreateOptionMenu(Form, "WhichBackground_Option",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
XtManageChild(WhichBackground_Option);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
WhichOpIcon_Pulldown = XmCreatePulldownMenu(Shell1, "WhichOpIcon_Pulldown",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
OpIcon1 = CreatePushButton(WhichOpIcon_Pulldown, "OpIcon1");
|
|
Packit |
b099d7 |
OpIcon2 = CreatePushButton(WhichOpIcon_Pulldown, "OpIcon2");
|
|
Packit |
b099d7 |
OpIcon3 = CreatePushButton(WhichOpIcon_Pulldown, "OpIcon3");
|
|
Packit |
b099d7 |
defOpIcon = CreatePushButton(WhichOpIcon_Pulldown, "default");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(OpIcon1, XmNactivateCallback, OpIcon1CB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(OpIcon2, XmNactivateCallback, OpIcon2CB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(OpIcon3, XmNactivateCallback, OpIcon3CB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(defOpIcon, XmNactivateCallback, defOpIconCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringLtoRCreate("Op Icon ",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmenuHistory, defOpIcon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsubMenuId, WhichOpIcon_Pulldown); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopWidget, WhichBackground_Option); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightOffset, 5); n++;
|
|
Packit |
b099d7 |
WhichOpIcon_Option = XmCreateOptionMenu(Form, "WhichOpIcon_Option",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
XtManageChild(WhichOpIcon_Option);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
WhichStateIcon_Pulldown = XmCreatePulldownMenu(Shell1,
|
|
Packit |
b099d7 |
"WhichStateIcon_Pulldown",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
StateIcon1 = CreatePushButton(WhichStateIcon_Pulldown, "StateIcon1");
|
|
Packit |
b099d7 |
StateIcon2 = CreatePushButton(WhichStateIcon_Pulldown, "StateIcon2");
|
|
Packit |
b099d7 |
StateIcon3 = CreatePushButton(WhichStateIcon_Pulldown, "StateIcon3");
|
|
Packit |
b099d7 |
defStateIcon = CreatePushButton(WhichStateIcon_Pulldown, "default");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(StateIcon1, XmNactivateCallback, StateIcon1CB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(StateIcon2, XmNactivateCallback, StateIcon2CB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(StateIcon3, XmNactivateCallback, StateIcon3CB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(defStateIcon, XmNactivateCallback, defStateIconCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringLtoRCreate("State Icon ",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmenuHistory, defStateIcon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsubMenuId, WhichStateIcon_Pulldown); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopWidget, WhichOpIcon_Option); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightOffset, 5); n++;
|
|
Packit |
b099d7 |
WhichStateIcon_Option = XmCreateOptionMenu(Form, "WhichStateIcon_Option",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
XtManageChild(WhichStateIcon_Option);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
WhichSrcIcon_Pulldown = XmCreatePulldownMenu(Shell1,
|
|
Packit |
b099d7 |
"WhichSrcIcon_Pulldown",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
SrcIcon1 = CreatePushButton(WhichSrcIcon_Pulldown, "SrcIcon1");
|
|
Packit |
b099d7 |
SrcIcon2 = CreatePushButton(WhichSrcIcon_Pulldown, "SrcIcon2");
|
|
Packit |
b099d7 |
SrcIcon3 = CreatePushButton(WhichSrcIcon_Pulldown, "SrcIcon3");
|
|
Packit |
b099d7 |
defSrcIcon = CreatePushButton(WhichSrcIcon_Pulldown, "default");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(SrcIcon1, XmNactivateCallback, SrcIcon1CB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(SrcIcon2, XmNactivateCallback, SrcIcon2CB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(SrcIcon3, XmNactivateCallback, SrcIcon3CB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(defSrcIcon, XmNactivateCallback, defSrcIconCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringLtoRCreate("Src Icon ",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmenuHistory, defSrcIcon); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsubMenuId, WhichSrcIcon_Pulldown); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopWidget, WhichStateIcon_Option); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightOffset, 5); n++;
|
|
Packit |
b099d7 |
WhichSrcIcon_Option = XmCreateOptionMenu(Form, "WhichSrcIcon_Option",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
XtManageChild(WhichSrcIcon_Option);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopWidget, WhichSrcIcon_Option); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbottomAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbottomOffset, 5); n++;
|
|
Packit |
b099d7 |
ApplyChanges = XmCreatePushButton(Form, "ApplyChanges", args, n);
|
|
Packit |
b099d7 |
XtManageChild(ApplyChanges);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(ApplyChanges, XmNactivateCallback,
|
|
Packit |
b099d7 |
ApplyChangesCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
for (i = 0; i < appData->numShells; i++) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
sprintf(name, "topLevel%d",i);
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
topLevel = XtCreatePopupShell(name, topLevelShellWidgetClass, Shell1,
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
sprintf(name, "BulletinB%d",i);
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
BulletinB = XmCreateBulletinBoard(topLevel, name, args, n);
|
|
Packit |
b099d7 |
XtManageChild(BulletinB);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
for (j = 0; j < appData->numCols; j++)
|
|
Packit |
b099d7 |
for (k = 0; k < appData->numRows; k++) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNx, 10 + j * 100); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNy, 10 + k * 100); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, 90); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, 90); n++;
|
|
Packit |
b099d7 |
if (appData->applyOverrides) {
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtranslations,
|
|
Packit |
b099d7 |
appData->xlation2.xlation); n++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
sprintf(name, "PushBtn%d", (j * appData->numRows) + k);
|
|
Packit |
b099d7 |
PushBtn = XmCreatePushButton(BulletinB, name, args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushBtn);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (appData->applyAccelerators)
|
|
Packit |
b099d7 |
XtInstallAccelerators(PushBtn, BulletinB);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Register even numbered buttons as dropSites */
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNchildren, &buttons); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNnumChildren, &numButtons); n++;
|
|
Packit |
b099d7 |
XtGetValues(BulletinB, args, n);
|
|
Packit |
b099d7 |
for (l = 0; l < numButtons; l++) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (l % 2 != 0)
|
|
Packit |
b099d7 |
continue;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
importList[0] = COMPOUND_TEXT;
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdragProc, HandleDrag); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdropProc, HandleDrop); n++;
|
|
Packit |
b099d7 |
if (l != 2) {
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNimportTargets, importList); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNnumImportTargets, 1); n++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (numDropSites >= MAX_DROPSITES) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
fprintf(stderr, "Trying to register too many dropSites\n");
|
|
Packit |
b099d7 |
#ifdef DEBUG
|
|
Packit |
b099d7 |
fflush(outfp);
|
|
Packit |
b099d7 |
fclose(outfp);
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
exit(0);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmDropSiteRegister(buttons[l], args, n);
|
|
Packit |
b099d7 |
dropSites[numDropSites] = buttons[l];
|
|
Packit |
b099d7 |
numDropSites++;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNx, 10); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNy, 10 + k * 100); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, k * 100); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNeditMode, XmMULTI_LINE_EDIT); n++;
|
|
Packit |
b099d7 |
sprintf(name, "Text%d",i);
|
|
Packit |
b099d7 |
Text = XmCreateText(BulletinB, name, args, n);
|
|
Packit |
b099d7 |
XtManageChild(Text);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtPopup(topLevel, XtGrabNone);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
opIcon_value = DEFAULT_OP;
|
|
Packit |
b099d7 |
stateIcon_value = DEFAULT_STATE;
|
|
Packit |
b099d7 |
srcIcon_value = DEFAULT_SRC;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (use_instruction_box == True) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAppMainLoop(app_context);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static Widget CreatePushButton(Widget parent, char *label)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget widget;
|
|
Packit |
b099d7 |
register int n;
|
|
Packit |
b099d7 |
Arg args[3];
|
|
Packit |
b099d7 |
XmString tcs;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringLtoRCreate(label, XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, CommonGetColor("darkgreen")); n++;
|
|
Packit |
b099d7 |
widget = XmCreatePushButton(parent, label, args, n);
|
|
Packit |
b099d7 |
XtManageChild(widget);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
return(widget);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define WORD_LEN 32
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
ProcessCommandArgs()
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
char *user_data;
|
|
Packit |
b099d7 |
char next_word[WORD_LEN + 1];
|
|
Packit |
b099d7 |
int num_spaces;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
user_data = UserData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
while (*user_data != '\0') {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
get_next_word(user_data, next_word, &num_spaces);
|
|
Packit |
b099d7 |
user_data += (strlen(next_word) + num_spaces);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (strcmp(next_word, "-I") == 0) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
get_next_word(user_data, next_word, &num_spaces);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (strcmp(next_word, "P") == 0)
|
|
Packit |
b099d7 |
initiatorProtocolStyle = XmDRAG_PREREGISTER;
|
|
Packit |
b099d7 |
else if (strcmp(next_word, "D") == 0)
|
|
Packit |
b099d7 |
initiatorProtocolStyle = XmDRAG_DYNAMIC;
|
|
Packit |
b099d7 |
else if (strcmp(next_word, "N") == 0)
|
|
Packit |
b099d7 |
initiatorProtocolStyle = XmDRAG_NONE;
|
|
Packit |
b099d7 |
else if (strcmp(next_word, "DO") == 0)
|
|
Packit |
b099d7 |
initiatorProtocolStyle = XmDRAG_DROP_ONLY;
|
|
Packit |
b099d7 |
else if (strcmp(next_word, "PD") == 0)
|
|
Packit |
b099d7 |
initiatorProtocolStyle = XmDRAG_PREFER_DYNAMIC;
|
|
Packit |
b099d7 |
else if (strcmp(next_word, "PP") == 0)
|
|
Packit |
b099d7 |
initiatorProtocolStyle = XmDRAG_PREFER_PREREGISTER;
|
|
Packit |
b099d7 |
else if (strcmp(next_word, "PR") == 0)
|
|
Packit |
b099d7 |
initiatorProtocolStyle = XmDRAG_PREFER_RECEIVER;
|
|
Packit |
b099d7 |
else
|
|
Packit |
b099d7 |
initiatorProtocolStyle = XmDRAG_PREFER_RECEIVER;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
user_data += (strlen(next_word) + num_spaces);
|
|
Packit |
b099d7 |
continue;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (strcmp(next_word, "-R") == 0) {
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
get_next_word(user_data, next_word, &num_spaces);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (strcmp(next_word, "P") == 0)
|
|
Packit |
b099d7 |
receiverProtocolStyle = XmDRAG_PREREGISTER;
|
|
Packit |
b099d7 |
else if (strcmp(next_word, "D") == 0)
|
|
Packit |
b099d7 |
receiverProtocolStyle = XmDRAG_DYNAMIC;
|
|
Packit |
b099d7 |
else if (strcmp(next_word, "N") == 0)
|
|
Packit |
b099d7 |
receiverProtocolStyle = XmDRAG_NONE;
|
|
Packit |
b099d7 |
else if (strcmp(next_word, "DO") == 0)
|
|
Packit |
b099d7 |
receiverProtocolStyle = XmDRAG_DROP_ONLY;
|
|
Packit |
b099d7 |
else if (strcmp(next_word, "PD") == 0)
|
|
Packit |
b099d7 |
receiverProtocolStyle = XmDRAG_PREFER_DYNAMIC;
|
|
Packit |
b099d7 |
else if (strcmp(next_word, "PP") == 0)
|
|
Packit |
b099d7 |
receiverProtocolStyle = XmDRAG_PREFER_PREREGISTER;
|
|
Packit |
b099d7 |
/* Prefer Receiver is not allowed if the client is a receiver */
|
|
Packit |
b099d7 |
else
|
|
Packit |
b099d7 |
receiverProtocolStyle = XmDRAG_PREFER_PREREGISTER;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
user_data += (strlen(next_word) + num_spaces);
|
|
Packit |
b099d7 |
continue;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (strcmp(next_word, "-noinstruct") == 0) {
|
|
Packit |
b099d7 |
use_instruction_box = False;
|
|
Packit |
b099d7 |
continue;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (strcmp(next_word, "-smallicons") == 0) {
|
|
Packit |
b099d7 |
use_small_icons = True;
|
|
Packit |
b099d7 |
continue;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (strcmp(next_word, "-nobackground") == 0) {
|
|
Packit |
b099d7 |
no_background = True;
|
|
Packit |
b099d7 |
continue;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (strcmp(next_word, "-changeop") == 0) {
|
|
Packit |
b099d7 |
change_op = True;
|
|
Packit |
b099d7 |
continue;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
free(UserData);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
get_next_word(source, dest, spaces)
|
|
Packit |
b099d7 |
char *source;
|
|
Packit |
b099d7 |
char *dest;
|
|
Packit |
b099d7 |
int *spaces;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
int space_count;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
space_count = 0;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
while (isspace(*source)) {
|
|
Packit |
b099d7 |
source++;
|
|
Packit |
b099d7 |
space_count++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
while (!isspace(*source) && *source != '\0' && n < WORD_LEN) {
|
|
Packit |
b099d7 |
*dest++ = *source++;
|
|
Packit |
b099d7 |
n++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
*dest = '\0';
|
|
Packit |
b099d7 |
*spaces = space_count;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|