cdesktopenv/cde/programs/dtksh/examples/TextCutBuf1.src

115 lines
3.0 KiB
Plaintext

XCOMM! CDE_INSTALLATION_TOP/bin/dtksh
XCOMM $XConsortium: TextCutBuf1.src /main/3 1996/04/23 20:18:52 drk $
XCOMM #########################################################################
XCOMM (c) Copyright 1993, 1994 Hewlett-Packard Company
XCOMM (c) Copyright 1993, 1994 International Business Machines Corp.
XCOMM (c) Copyright 1993, 1994 Sun Microsystems, Inc.
XCOMM (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
XCOMM Novell, Inc.
XCOMM #########################################################################
XCOMM
XCOMM This sample shell script demonstrates how the Text cut, copy and paste
XCOMM facilities work.
XCOMM
XCOMM Pushbutton Callback: cut the currently select text
Cut()
{
if XmTextCut $TEXT $(XtLastTimestampProcessed "-" $(XtDisplay "-" $TEXT));
then
echo "Cut occurred"
else
echo "No primary selection"
fi
}
XCOMM Pushbutton Callback: copy the currently select text
Copy()
{
if XmTextCopy $TEXT $(XtLastTimestampProcessed "-" $(XtDisplay "-" $TEXT));
then
echo "Copy occurred"
else
echo "No primary selection"
fi
}
XCOMM Pushbutton Callback: clear the text selection
ClearSelection()
{
XmTextClearSelection $TEXT $(XtLastTimestampProcessed "-" $(XtDisplay "-" $TEXT))
}
XCOMM Pushbutton Callback: paste the cut buffer at the current insertion position
Paste()
{
if XmTextPaste $TEXT; then
echo "Paste occurred"
else
echo "No primary selection"
fi
}
XCOMM ###################### Create the Main UI ###############################
XtInitialize TOPLEVEL textCutBuf1 TextCutBuf1 "$0" "$@"
XtSetValues $TOPLEVEL allowShellResize:True
XtCreateManagedWidget FORM form XmForm $TOPLEVEL \
XtCreateManagedWidget TEXT text XmText $FORM \
topAttachment:ATTACH_FORM \
topOffset:10 \
leftAttachment:ATTACH_FORM \
leftOffset:10 \
rightAttachment:ATTACH_FORM \
rightOffset:10 \
columns:40 \
value:"This is the default string"
XtCreateManagedWidget TEXT2 text2 XmText $FORM \
topAttachment:ATTACH_WIDGET \
topWidget:$TEXT \
topOffset:10 \
leftAttachment:ATTACH_FORM \
leftOffset:10 \
rightAttachment:ATTACH_FORM \
rightOffset:10 \
bottomAttachment:ATTACH_FORM \
bottomOffset:10 \
columns:40 \
editable:False
XtRealizeWidget $TOPLEVEL
XtCreateApplicationShell TOPLEVEL2 textCutBuf1a TopLevelShell
XtCreateManagedWidget RC rc XmRowColumn $TOPLEVEL2 \
orientation:HORIZONTAL \
numColumns:2 \
packing:PACK_COLUMN
XtCreateManagedWidget PB1 pb1 XmPushButton $RC \
labelString:"Cut Selection"
XtAddCallback $PB1 activateCallback "Cut"
XtCreateManagedWidget PB2 pb2 XmPushButton $RC \
labelString:"Copy Selection"
XtAddCallback $PB2 activateCallback "Copy"
XtCreateManagedWidget PB3 pb3 XmPushButton $RC \
labelString:"Paste"
XtAddCallback $PB3 activateCallback "Paste"
XtCreateManagedWidget PB4 pb4 XmPushButton $RC \
labelString:"Clear Selection"
XtAddCallback $PB4 activateCallback "ClearSelection"
XtRealizeWidget $TOPLEVEL2
XtMainLoop