convert all Imakefile LinuxDistribution to LinuxArchitecture.
[oweals/cde.git] / cde / programs / dtksh / examples / TextCutBuf1.src
1 XCOMM! CDE_INSTALLATION_TOP/bin/dtksh
2 XCOMM  $XConsortium: TextCutBuf1.src /main/3 1996/04/23 20:18:52 drk $
3
4 XCOMM #########################################################################
5 XCOMM   (c) Copyright 1993, 1994 Hewlett-Packard Company        
6 XCOMM   (c) Copyright 1993, 1994 International Business Machines Corp.
7 XCOMM   (c) Copyright 1993, 1994 Sun Microsystems, Inc.
8 XCOMM   (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
9 XCOMM       Novell, Inc.
10 XCOMM #########################################################################
11
12
13 XCOMM 
14 XCOMM  This sample shell script demonstrates how the Text cut, copy and paste
15 XCOMM  facilities work.
16 XCOMM 
17
18 XCOMM  Pushbutton Callback: cut the currently select text
19 Cut()
20 {
21    if XmTextCut $TEXT $(XtLastTimestampProcessed "-" $(XtDisplay "-" $TEXT)); 
22    then
23       echo "Cut occurred"
24    else
25       echo "No primary selection"
26    fi
27 }
28
29 XCOMM  Pushbutton Callback: copy the currently select text
30 Copy()
31 {
32    if XmTextCopy $TEXT $(XtLastTimestampProcessed "-" $(XtDisplay "-" $TEXT)); 
33    then
34       echo "Copy occurred"
35    else
36       echo "No primary selection"
37    fi
38 }
39
40 XCOMM  Pushbutton Callback: clear the text selection
41 ClearSelection()
42 {
43    XmTextClearSelection $TEXT $(XtLastTimestampProcessed "-" $(XtDisplay "-" $TEXT))
44 }
45
46 XCOMM  Pushbutton Callback: paste the cut buffer at the current insertion position
47 Paste()
48 {
49    if XmTextPaste $TEXT; then
50       echo "Paste occurred"
51    else
52       echo "No primary selection"
53    fi
54 }
55
56
57 XCOMM ###################### Create the Main UI ###############################
58
59 XtInitialize TOPLEVEL textCutBuf1 TextCutBuf1 "$0" "$@"
60 XtSetValues $TOPLEVEL allowShellResize:True
61
62 XtCreateManagedWidget FORM form XmForm $TOPLEVEL \
63
64 XtCreateManagedWidget TEXT text XmText $FORM \
65         topAttachment:ATTACH_FORM \
66         topOffset:10 \
67         leftAttachment:ATTACH_FORM \
68         leftOffset:10 \
69         rightAttachment:ATTACH_FORM \
70         rightOffset:10 \
71         columns:40 \
72         value:"This is the default string"
73
74 XtCreateManagedWidget TEXT2 text2 XmText $FORM \
75         topAttachment:ATTACH_WIDGET \
76         topWidget:$TEXT \
77         topOffset:10 \
78         leftAttachment:ATTACH_FORM \
79         leftOffset:10 \
80         rightAttachment:ATTACH_FORM \
81         rightOffset:10 \
82         bottomAttachment:ATTACH_FORM \
83         bottomOffset:10 \
84         columns:40 \
85         editable:False
86
87 XtRealizeWidget $TOPLEVEL
88
89 XtCreateApplicationShell TOPLEVEL2 textCutBuf1a TopLevelShell
90
91 XtCreateManagedWidget RC rc XmRowColumn $TOPLEVEL2 \
92          orientation:HORIZONTAL \
93          numColumns:2 \
94          packing:PACK_COLUMN 
95
96 XtCreateManagedWidget PB1 pb1 XmPushButton $RC \
97         labelString:"Cut Selection"
98 XtAddCallback $PB1 activateCallback "Cut"
99
100 XtCreateManagedWidget PB2 pb2 XmPushButton $RC \
101         labelString:"Copy Selection"
102 XtAddCallback $PB2 activateCallback "Copy"
103
104 XtCreateManagedWidget PB3 pb3 XmPushButton $RC \
105         labelString:"Paste"
106 XtAddCallback $PB3 activateCallback "Paste"
107
108 XtCreateManagedWidget PB4 pb4 XmPushButton $RC \
109         labelString:"Clear Selection"
110 XtAddCallback $PB4 activateCallback "ClearSelection"
111
112 XtRealizeWidget $TOPLEVEL2
113
114 XtMainLoop