/[MITgcm]/MITgcm/tools/mpack-1.6/macndlog.c
ViewVC logotype

Annotation of /MITgcm/tools/mpack-1.6/macndlog.c

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Tue Aug 26 20:45:25 2003 UTC (20 years, 8 months ago) by edhill
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint58l_post, checkpoint64z, checkpoint51k_post, checkpoint57t_post, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint57o_post, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint52l_pre, checkpoint52e_pre, hrcube4, checkpoint58e_post, mitgcm_mapl_00, checkpoint52n_post, checkpoint52j_post, checkpoint53d_post, checkpoint58u_post, checkpoint58w_post, checkpoint54a_pre, checkpoint51o_pre, checkpoint57m_post, checkpoint55c_post, checkpoint54e_post, checkpoint52e_post, checkpoint57s_post, checkpoint51n_pre, checkpoint54a_post, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint53c_post, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint57k_post, checkpoint55d_pre, checkpoint57d_post, checkpoint51l_post, checkpoint57g_post, checkpoint51q_post, checkpoint64, checkpoint65, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint57b_post, checkpoint57c_pre, checkpoint51j_post, checkpoint58r_post, checkpoint55j_post, checkpoint56b_post, checkpoint57i_post, checkpoint57y_post, hrcube_1, checkpoint57e_post, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, branch-netcdf, checkpoint52d_pre, checkpoint52l_post, checkpoint55h_post, checkpoint58n_post, checkpoint53b_post, checkpoint58x_post, checkpoint52k_post, checkpoint52b_pre, checkpoint57g_pre, checkpoint54b_post, checkpoint53b_pre, checkpoint55b_post, checkpoint58t_post, checkpoint58h_post, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint54d_post, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint56c_post, checkpoint52m_post, checkpoint57y_pre, checkpoint55, checkpoint53a_post, checkpoint57f_pre, checkpoint57a_post, checkpoint54, checkpoint58q_post, checkpoint54f_post, checkpoint57v_post, checkpoint59q, checkpoint59p, checkpoint55g_post, checkpoint59r, checkpoint51o_post, checkpoint51p_post, checkpoint58j_post, checkpoint52a_pre, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint55f_post, checkpoint59c, checkpoint59b, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint59j, checkpoint57r_post, checkpoint59, checkpoint58, checkpoint57a_pre, checkpoint55i_post, checkpoint57, checkpoint56, checkpoint51i_post, checkpoint53, checkpoint52, checkpoint51f_post, checkpoint52d_post, eckpoint57e_pre, checkpoint51r_post, checkpoint52a_post, checkpoint57h_done, checkpoint58f_post, checkpoint52b_post, checkpoint53g_post, checkpoint52f_post, branchpoint-genmake2, checkpoint57x_post, checkpoint57n_post, checkpoint52c_post, checkpoint58d_post, checkpoint58c_post, checkpoint57w_post, checkpoint57p_post, checkpint57u_post, checkpoint57f_post, checkpoint58a_post, checkpoint51h_pre, checkpoint51l_pre, checkpoint58i_post, checkpoint57q_post, checkpoint51g_post, checkpoint58g_post, ecco_c52_e35, hrcube5, checkpoint58o_post, checkpoint57z_post, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint57c_post, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint58y_post, checkpoint55e_post, checkpoint58k_post, checkpoint52i_post, checkpoint52j_pre, checkpoint58v_post, checkpoint53f_post, checkpoint55a_post, checkpoint51t_post, checkpoint53d_pre, checkpoint54c_post, checkpoint58s_post, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint58p_post, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q, checkpoint51n_post, checkpoint57j_post, checkpoint61z, checkpoint61x, checkpoint61y, checkpoint58b_post, checkpoint57h_pre, checkpoint51i_pre, checkpoint58m_post, checkpoint57l_post, checkpoint52i_pre, checkpoint51u_post, checkpoint52h_pre, checkpoint52f_pre, checkpoint57h_post, hrcube_2, hrcube_3, checkpoint56a_post, checkpoint51m_post, checkpoint51s_post, checkpoint55d_post, HEAD
Branch point for: branch-nonh, branch-genmake2, tg2-branch, checkpoint51n_branch, netcdf-sm0
File MIME type: text/plain
Initial check-in of the CMU "mpack" utility.  This allows us to (portably)
send MITgcm output as MIME-encoded email messages and will be used by the
"testreport" script.  The CMU license is basically an "AS-IS" statement.

1 edhill 1.1 /* macndlog.c -- dialog utilities for nifty application library
2     */
3     /* (C) Copyright 1995 by Carnegie Mellon University
4     * All Rights Reserved.
5     *
6     * Permission to use, copy, modify, distribute, and sell this software
7     * and its documentation for any purpose is hereby granted without
8     * fee, provided that the above copyright notice appear in all copies
9     * and that both that copyright notice and this permission notice
10     * appear in supporting documentation, and that the name of Carnegie
11     * Mellon University not be used in advertising or publicity
12     * pertaining to distribution of the software without specific,
13     * written prior permission. Carnegie Mellon University makes no
14     * representations about the suitability of this software for any
15     * purpose. It is provided "as is" without express or implied
16     * warranty.
17     *
18     * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
19     * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
20     * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
21     * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22     * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
23     * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
24     * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
25     * SOFTWARE.
26     */
27     /* (C) Copyright 1990-1995 by Christopher J. Newman
28     * All Rights Reserved.
29     *
30     * Permission to use, copy, modify, distribute, and sell this software and its
31     * documentation for any purpose is hereby granted without fee, provided that
32     * the above copyright notice appear in all copies and that both that
33     * copyright notice and this permission notice appear in supporting
34     * documentation, and that the name of Christopher J. Newman not be used in
35     * advertising or publicity pertaining to distribution of the software without
36     * specific, written prior permission. Christopher J. Newman makes no
37     * representations about the suitability of this software for any purpose. It
38     * is provided "as is" without express or implied warranty.
39     *
40     * CHRISTOPHER J. NEWMAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
41     * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT
42     * SHALL CHRISTOPHER J. NEWMAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR
43     * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
44     * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
45     * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
46     * OF THIS SOFTWARE.
47     *
48     * Author: Christopher J. Newman
49     * Message: This is a nifty program.
50     */
51    
52     #ifndef THINK_C
53     #include <ToolUtils.h>
54     #endif
55     #include <Balloons.h>
56     #include "macnapp.h"
57    
58     /* enable/disable menus for a moveable modal dialog
59     */
60     void NAmodalMenus(int begin)
61     {
62     short i, end;
63     MenuHandle mh;
64    
65     /* unhilite menus */
66     HiliteMenu(0);
67    
68     /* everything but the edit/apple/help menus */
69     for (i = mFile; (mh = NAmenuh(i)); ++i) {
70     if (i != mEdit) {
71     if (begin) DisableItem(mh, 0);
72     else EnableItem(mh, 0);
73     }
74     }
75    
76     /* kill the help items */
77     mh = NAmenuh(mApple);
78     i = NAappleitems;
79     if (NAhelpcount) {
80     HMGetHelpMenuHandle(&mh);
81     i = NAhelpcount + 1;
82     }
83     for (end = NAhelpitems + i; i <= end; ++i) {
84     if (begin) DisableItem(mh, i);
85     else EnableItem(mh, i);
86     }
87    
88     DrawMenuBar();
89     }
90    
91     /* enable/disable a control in a dialog window
92     */
93     void NAenableDItem(DialogPtr dialog, short item, Boolean on)
94     {
95     short type;
96     Handle ctrl;
97     short ty;
98     Rect box;
99    
100     GetDItem(dialog, item, &ty, &ctrl, &box);
101     type = ty;
102     if (on) type &= ~itemDisable;
103     else type |= itemDisable;
104     if (type == (editText | itemDisable)) {
105     type = statText;
106     } else if (type == statText) {
107     type = editText;
108     }
109     SetDItem(dialog, item, type, ctrl, &box);
110     }
111    
112     /* hilite a control in a dialog window
113     */
114     void NAhiliteDItem(DialogPtr dialog, short item, short how)
115     {
116     Handle ctrl;
117     short type;
118     Rect box;
119     PenState tmpPen;
120    
121     GetDItem(dialog, item, &type, &ctrl, &box);
122     if (type & ctrlItem) {
123     HiliteControl((ControlHandle) ctrl, how);
124     } else if (type & (statText | editText)) {
125     GetPenState(&tmpPen);
126     PenNormal();
127     if (how == 255) PenPat(QD(gray));
128     InsetRect(&box, -3, -3);
129     FrameRect(&box);
130     SetPenState(&tmpPen);
131     }
132     }
133    
134     /* make an item visible/invisible in a dialog window
135     */
136     void NAvisibleDItem(DialogPtr dialog, short item, Boolean show)
137     {
138     if (show) ShowDItem(dialog, item);
139     else HideDItem(dialog, item);
140     }
141    
142     /* set the text in a dialog item
143     */
144     void NAsetIText(DialogPtr dialog, short item, PCstr *str)
145     {
146     Handle texth;
147    
148     NAgetDHandle(dialog, item, &texth);
149     SetIText(texth, str);
150     }
151    
152     /* get the text in a dialog item
153     */
154     void NAgetIText(DialogPtr dialog, short item, PCstr *str)
155     {
156     Handle texth;
157    
158     NAgetDHandle(dialog, item, &texth);
159     GetIText(texth, str);
160     SetClen(str);
161     }
162    
163     /* set the appropriate radio buttons
164     */
165     short NAradioSet(DialogPtr dialog, short firstitem, short lastitem, short setting)
166     {
167     short item;
168     ControlHandle ctrl;
169    
170     for (item = firstitem; item <= lastitem; item++) {
171     NAgetDHandle(dialog, item, &ctrl);
172     SetCtlValue(ctrl, item == setting ? 1 : 0);
173     }
174    
175     return (setting - firstitem);
176     }
177    
178     /* get the itemno of the active radio button
179     */
180     short NAradioGet(DialogPtr dialog, short firstitem, short lastitem)
181     {
182     short item;
183     ControlHandle ctrl;
184    
185     for (item = firstitem; item <= lastitem; item++) {
186     NAgetDHandle(dialog, item, &ctrl);
187     if (GetCtlValue(ctrl)) return (item);
188     }
189    
190     return (firstitem);
191     }
192    
193     /* handle the edit menu for a dialog window
194     */
195     short NAdialogMenu(na_win *win, WORD menu, WORD item)
196     {
197     MenuHandle mh = NAmenuh(mEdit);
198     DialogPeek dpeek = (DialogPeek) win->pwin;
199     short result = NA_NOTPROCESSED;
200    
201     switch (menu) {
202     case 0:
203     if ((*dpeek->textH)->selStart != (*dpeek->textH)->selEnd) {
204     EnableItem(mh, iCopy);
205     EnableItem(mh, iCut);
206     EnableItem(mh, iClear);
207     }
208     EnableItem(mh, iPaste);
209     if ((*dpeek->textH)->teLength > 0) EnableItem(mh, iSelAll);
210     break;
211     case mEdit:
212     switch (item) {
213     case iCut:
214     DlgCut(win->pwin);
215     ZeroScrap();
216     TEToScrap();
217     break;
218     case iCopy:
219     DlgCopy(win->pwin);
220     ZeroScrap();
221     TEToScrap();
222     break;
223     case iClear:
224     DlgDelete(win->pwin);
225     break;
226     case iPaste:
227     DlgPaste(win->pwin);
228     break;
229     case iSelAll:
230     SelIText(win->pwin, dpeek->editField + 1, 0, 32767);
231     break;
232     }
233     result = NA_PROCESSED;
234     break;
235     }
236     if (menu != 0) DisableItem(mh, iSelAll);
237    
238     return (result);
239     }

  ViewVC Help
Powered by ViewVC 1.1.22