NCBI C Toolkit Cross Reference

C/ddv/ddvmain.h


  1 /*  $Id: ddvmain.h,v 1.44 2000/07/17 13:32:33 lewisg Exp $
  2 * ===========================================================================
  3 *
  4 *                            PUBLIC DOMAIN NOTICE
  5 *            National Center for Biotechnology Information (NCBI)
  6 *
  7 *  This software/database is a "United States Government Work" under the
  8 *  terms of the United States Copyright Act.  It was written as part of
  9 *  the author's official duties as a United States Government employee and
 10 *  thus cannot be copyrighted.  This software/database is freely available
 11 *  to the public for use. The National Library of Medicine and the U.S.
 12 *  Government do not place any restriction on its use or reproduction.
 13 *  We would, however, appreciate having the NCBI and the author cited in
 14 *  any work or product based on this material
 15 *
 16 *  Although all reasonable efforts have been taken to ensure the accuracy
 17 *  and reliability of the software and data, the NLM and the U.S.
 18 *  Government do not and cannot warrant the performance or results that
 19 *  may be obtained by using this software or data. The NLM and the U.S.
 20 *  Government disclaim all warranties, express or implied, including
 21 *  warranties of performance, merchantability or fitness for any particular
 22 *  purpose.
 23 *
 24 * ===========================================================================
 25 *
 26 * File Name:  ddvmain.h
 27 *
 28 * Author:  Patrick Durand
 29 *
 30 * Version Creation Date:   06/19/99
 31 *
 32 * $Revision: 1.44 $
 33 *
 34 * File Description: 
 35 *
 36 * Modifications:
 37 * --------------------------------------------------------------------------
 38 * $Log: ddvmain.h,v $
 39 * Revision 1.44  2000/07/17 13:32:33  lewisg
 40 * move DDV_args out of the library
 41 *
 42 * Revision 1.43  2000/07/17 12:38:53  kans
 43 * DDV_myargs is extern in header, instantiated in ddvpanel.c, since it is accessed from that library file
 44 *
 45 * Revision 1.42  2000/07/14 22:24:56  lewisg
 46 * fix scroll, click, visual c++ build bugs.  add command line arg parse to ddv
 47 *
 48 * Revision 1.41  2000/07/12 22:22:42  hurwitz
 49 * added delete block to DDV
 50 *
 51 * Revision 1.40  2000/07/10 14:38:07  lewisg
 52 * move seqalign and sequentry data from window to panels
 53 *
 54 * Revision 1.39  2000/07/08 20:43:58  vakatov
 55 * Get all "#include" out of the 'extern "C" { }' scope;  other cleanup...
 56 *
 57 * Revision 1.38  2000/07/05 19:23:13  lewisg
 58 * add two panes to ddv, update msvc project files
 59 *
 60 * Revision 1.37  2000/07/05 18:42:16  hurwitz
 61 * added split block function to DDV
 62 *
 63 * Revision 1.36  2000/06/30 22:31:51  hurwitz
 64 * added merge block function for DDV
 65 *
 66 * Revision 1.35  2000/06/27 20:46:38  hurwitz
 67 * fixed bugs with select rectangle, added select row option
 68 *
 69 * Revision 1.34  2000/06/15 17:33:18  hurwitz
 70 * used view seqAlignPtr to get original (bug fix), and started working on left/right/center justify for DDE
 71 *
 72 * Revision 1.33  2000/05/19 13:48:31  hurwitz
 73 * made a version of DDE that doesn't allow aligned gaps, changed wording for adding new rows
 74 *
 75 * Revision 1.32  2000/05/15 23:39:34  lewisg
 76 * shred cblast, add menu items for gapped/ungapped, fix pdbheaders
 77 *
 78 * Revision 1.31  2000/04/26 21:54:27  hurwitz
 79 * added save function to tell AlnMgr about edits made in DDE
 80 *
 81 * Revision 1.30  2000/04/21 23:00:50  hurwitz
 82 * can launch DDE from DDV
 83 *
 84 * Revision 1.29  2000/04/18 19:50:24  lewisg
 85 * add deselect menu item
 86 *
 87 * Revision 1.28  2000/04/17 13:30:43  durand
 88 * removed g_hParent and unused functions DDV_LaunchAlignViewer and DDV_LaunchAlignEditor
 89 *
 90 * Revision 1.27  2000/04/10 21:41:26  lewisg
 91 * move alignment menus into ddv, udv from cn3d
 92 *
 93 * Revision 1.26  2000/04/10 20:58:42  hurwitz
 94 * added GUI controls for DeleteBlock in DDE
 95 *
 96 * Revision 1.25  2000/04/07 16:21:08  hurwitz
 97 * made delete block faster, added delete block to edit menu
 98 *
 99 * Revision 1.24  2000/03/27 22:15:05  lewisg
100 * add show/hide row dialog
101 *
102 * Revision 1.23  2000/03/25 00:22:09  hurwitz
103 * put DDE_StackPtr in DDV_Main, add to stack inside DDE api's, added insert char, delete char, home and end keyboard control
104 *
105 * Revision 1.22  2000/03/14 22:08:21  hurwitz
106 * undo and redo working properly, restore-original function added
107 *
108 * Revision 1.21  2000/03/10 23:01:43  hurwitz
109 * added undo and redo functions, first pass
110 *
111 * Revision 1.20  2000/03/06 22:45:58  hurwitz
112 * can shift right boundary of an aligned block left and right, DDVRuler updates added
113 *
114 * Revision 1.19  2000/03/01 22:49:41  lewisg
115 * import bioseq, neatlyindex, get rid of dead code
116 *
117 * Revision 1.18  2000/02/04 16:05:41  durand
118 * add click action to select a row
119 *
120 * Revision 1.17  2000/01/26 13:38:55  durand
121 * update the GUI for the editor. Add functions to create the data to be used by the editor
122 *
123 * Revision 1.16  2000/01/12 21:52:17  durand
124 * add import function; update menus when DDV is loaded from Cn3D
125 *
126 * Revision 1.15  2000/01/11 15:05:23  durand
127 * remove network stuff
128 *
129 * Revision 1.14  2000/01/10 15:09:45  durand
130 * Use Entrez instead of ID1
131 *
132 * Revision 1.13  1999/12/20 20:20:41  lewisg
133 * allow cn3d to do color and ddv to do case when both are running
134 *
135 * Revision 1.12  1999/12/07 21:40:14  durand
136 * add mouse modes menu and caret facility for the editor
137 *
138 * Revision 1.11  1999/12/03 23:17:23  lewisg
139 * Patrick's new global update msg, argument passing when launching ddv, experimental editing
140 *
141 * Revision 1.10  1999/11/29 15:26:25  durand
142 * designed a new GUI to fix problems under MacOS, Linux and SGI
143 *
144 * Revision 1.9  1999/11/09 17:09:00  durand
145 * transfer some functions from ddvgraph to ddvcreate, so that ddvcreate remains Vibrant free and can be compiled with BLAST
146 *
147 * Revision 1.8  1999/11/03 21:29:48  durand
148 * add CTRL and SHFT keys for mouse selection. redesign the loader functions of DDV to properly register the message callbacks
149 *
150 * Revision 1.7  1999/10/29 14:15:40  durand
151 * add simple mouse selection functions
152 *
153 * Revision 1.6  1999/10/23 14:54:34  durand
154 * resolve external symbol g_hParent
155 *
156 * Revision 1.5  1999/10/22 20:12:47  durand
157 * add Export command (text, HTML and Phylip formats)
158 *
159 * Revision 1.4  1999/10/22 14:19:43  durand
160 * update the code for the startup functions of DDV drawing panel
161 *
162 * Revision 1.3  1999/10/20 13:17:19  durand
163 * add display for disc. SeqAlign tails
164 *
165 * Revision 1.2  1999/10/15 21:57:36  durand
166 * add a UI for display options
167 *
168 * Revision 1.1  1999/09/30 14:10:27  durand
169 * add ddv to toolkit
170 *
171 * Revision 1.7  1999/09/23 19:06:50  lewisg
172 * increase maxtemp number of cached sequences
173 *
174 * Revision 1.6  1999/09/21 14:19:08  durand
175 * add mouse click management layout
176 *
177 * Revision 1.5  1999/09/09 21:55:07  durand
178 * instantiate the Fle|Close command of DDV
179 *
180 * Revision 1.4  1999/07/20 14:58:01  durand
181 * use the Color Manager to display colored MSA
182 *
183 * Revision 1.3  1999/06/30 14:57:21  durand
184 * update DDV loader functions
185 *
186 * Revision 1.2  1999/06/28 22:07:21  durand
187 * add loader functions and clean the code with Lint and Purify
188 *
189 * Revision 1.1  1999/06/19 17:21:07  durand
190 * add Vibrant DDV code
191 *
192 *
193 *
194 * ==========================================================================
195 */
196 
197 #ifndef _DDVMAIN_
198 #define _DDVMAIN_
199 
200 #include <ncbi.h>
201 #include <vibrant.h>
202 #include <ddvopen.h>
203 #include <pgppop.h>
204 #include <ddvcolor.h>
205 #include <ddvcreate.h>
206 
207 
208 #ifdef __cplusplus
209 extern "C" {
210 #endif
211 
212 
213 /******************************************************************************
214 
215         ERROR / Information messages from DDV_OPEN module 
216 
217 ******************************************************************************/
218 #define DVV_MSG_M_OK 1
219 
220 /******************************************************************************
221 
222         defines
223 
224 ******************************************************************************/
225 
226 /* maximum number of sequences to hold in memory */
227 #define DDV_MAXTEMP 500 
228 /*caret style */
229 #define DDV_CARET_BAR 1
230 /*mouse mode*/
231 #define DDV_MOUSEMODE_QUERY           0
232 #define DDV_MOUSEMODE_SELECT          1
233 #define DDV_MOUSEMODE_EDIT            2
234 #define DDV_MOUSEMODE_CREATEBLOCK     3
235 #define DDV_MOUSEMODE_LAUNCHEDITOR    4
236 #define DDV_MOUSEMODE_SELECT_ONE_ROW  5
237 #define DDV_MOUSEMODE_MERGEBLOCKS1    6
238 #define DDV_MOUSEMODE_MERGEBLOCKS2    7
239 #define DDV_MOUSEMODE_SPLITBLOCK      8
240 #define DDV_MOUSEMODE_DELETEBLOCK     9
241 
242 /*timer control*/
243 #define DDV_SET_TIMER 1
244 #define DDV_TEST_TIMER 2
245 /*action associated with the timer*/
246 #define DDV_INVAL_REGION 1
247 #define DDV_NOTHING 2
248 
249 /******************************************************************************
250 
251         Data structures
252 
253 ******************************************************************************/
254 /*used to display the caret (editor mode only)*/
255 typedef struct ddvcaretinfo{
256         Int4  old_row;/*zero-based values; display coordinates*/
257         Int4  old_col;
258         Int4  new_row;/*zero-based values; display coordinates*/
259         Int4  new_col;
260         Uint1 style; /*see DDV_CARET_* defines */
261 } DDVCaretInfo, PNTR DDVCaretInfoPtr;
262 
263 /*used to remember the selected row (editor mode only)*/
264 typedef struct ddveditrowinfo{
265         Int4  curEditRow;/*zero-based values; row for applying delete, move*/
266         Int4  curMasterRow;/*zero-based values; this row is the master*/
267 } DDVEditRowInfo, PNTR DDVEditRowInfoPtr;
268 
269 typedef struct ddv_global{
270         DDV_ColorGlobal * colorp;
271 } DDV_Global, PNTR DDV_GlobalPtr;
272 
273 typedef struct ddvmenu {
274         /*file menu*/
275         MenU File;
276         IteM FileOpen;/*open file command*/
277         IteM EntrezOpen;/*open from ID1 command*/
278         IteM FileClose;/*close file command*/
279   IteM SaveEdits;/* save changes made in editor*/
280         IteM FileExport;/*export a seqalign*/
281     IteM ImportSeq;/* import a sequence */
282     IteM ImportNucSeqAlign;/* import a nuc SeqAlign */
283     IteM ImportProtSeqAlign;/* import a prot SeqAlign */
284     IteM Hide;/* show/hide dialog */
285         IteM QuitViewer;/*close the viewer*/
286         /*Edit menu*/
287         MenU Edit;
288         IteM DeleteRow;
289         IteM MoveRowLeft;
290         IteM MoveRowRight;
291   IteM LeftBoundaryLeft;
292   IteM LeftBoundaryRight;
293   IteM RightBoundaryLeft;
294   IteM RightBoundaryRight;
295   IteM DeleteBlock;
296   IteM CreateBlock;
297   IteM Prev;
298   IteM Next;
299   IteM Orig;
300     /*Align menu */
301     MenU Align;
302     MenU AddRow;
303     MenU FromFile;
304     MenU FromNet;
305     IteM Deselect;
306     IteM BlastFile;
307     IteM BlastNet;
308         /*Options menu*/
309         MenU Options;
310         IteM DispStyles;/*display styles*/
311         ChoicE MouseMode;/*mouse mode (query, selection, edit)*/
312     ChoicE Justify;/*justify (left, right, center)*/
313     IteM ShowLowerPanel;
314         IteM ConfigNet;/*Entrez Network Conf. dlg*/
315   IteM LaunchEditor;
316   IteM MergeBlocks;
317   IteM SplitBlock;
318   IteM DeleteDDVBlock;
319         } DdvMenu, PNTR DdvMenuPtr;
320 
321 typedef struct ddvmsadata {
322         MsaParaGPopList pgp_l;/*ParaG list*/
323         Uint2                   entityID;/*currently displayed SeqAlign*/
324         Uint2                   itemID;/*  */
325         } DdvMSAData, PNTR DdvMSADataPtr;
326 
327 typedef struct ddvmainwin {
328         Boolean UseNetwork;
329                 /*main win menu*/
330         DdvMenu MainMenu;/*menu command list*/
331         ButtoN  gotoBtn;
332         TexT    gotoValRow;
333         TexT    gotoValCol;
334         GrouP   StatusGroup;
335         GrouP   StatusGroupLower;
336         Boolean Show_logo;
337         FonT    f1;     /*tree fonts used to display the software logo*/
338         FonT    f2;
339         FonT    f3;
340                 /*viewer data used only when AutonomeViewer is TRUE */
341         Boolean AutonomeViewer;/*viewer is standalone ?*/
342         WindoW  hWndMain;/*handle to the main window*/
343         PaneL   hWndDDV;/*handle of the current DDV panel*/
344     PaneL   hUpperPanel;/*handle of the upper DDV panel (the multiple)*/
345     PaneL   hLowerPanel;/*handle of the DDV panel (the pairwise) */
346         PrompT   InfoPanel;
347         PrompT   UpperInfoPanel;
348         PrompT   LowerInfoPanel;
349                 /*use to open a file*/
350         UdvFetchSeqEntryProc  fetchSepProc;/*function to get a gi over the Network*/
351         Nlm_ItmActnProc   NetCfgMenuProc;
352         StartNetworkProc  NetStartProc;
353     Boolean EditAllowed;  /* editing is allowed */
354         }DdvMainWin,PNTR DdvMainWinPtr;
355 
356 typedef struct ddvtimerdata {
357         Int4 col;/*one-based; disp coord*/
358         Int4 row;/*one-based; disp coord*/
359         Int2 delay;
360         Uint1 status;
361         Uint1 action;
362 }DdvTimerData, PNTR DdvTimerDataPtr;
363 
364 typedef struct ddvmain {
365     WindoW             hParent;
366     PaneL              hWndDDV;/*panel's handle*/
367     UnDViewerGraphData GrData;/*graphical data*/
368     DdvMSAData         MSA_d;/*data to display*/
369     DDV_Global         Globals;/*shared color data, among others*/
370     UDV_mouse_select   ms;/*mouse selection info*/
371     DDV_Disp_Opt       ddo;
372     DDVCaretInfo       dci;/*caret position and style (editor only)*/
373     DDVEditRowInfo     deri;/*some rows info to apply edit commands*/
374     DdvTimerData       dtd;/*last goto position*/
375     Uint1              MouseMode;
376     Uint1              SavedMouseMode;
377     Uint2              userkey;
378     Uint2              procid;
379     Uint2              proctype;
380     Int4               MasterViewer;/*the viewer launching ddv*/
381     Boolean                bEditor;/*true if use DDV with editor functions*/
382     DDE_StackPtr       dsp;/*data for editor*/
383     Int4               BlockIndex;/*the first block of merge 2 blocks*/
384     Int4               SaveCol;/*col where split line is drawn*/
385                 /*SAP list when open a File or fetch an DB entry*/
386         ValNodePtr              vnp_ali;/*SeqAlign List*/
387         DdvOpenData        dod;/*what is open in DDV*/  
388         } DdvMain, PNTR DdvMainPtr;
389 
390 #define NUMARGS 2
391 extern Args DDV_myargs[NUMARGS];
392 
393 #ifdef __cplusplus
394 }
395 #endif
396 
397 #endif /* ndef _DDVMAIN_ */
398 
399 

source navigation ]   [ diff markup ]   [ identifier search ]   [ freetext search ]   [ file search ]  

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.