1 /* $Id: ddvpanel.h,v 1.30 2000/07/12 22:22:42 hurwitz 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: ddvpanel.h 27 * 28 * Author: Patrick Durand 29 * 30 * Version Creation Date: 06/19/99 31 * 32 * $Revision: 1.30 $ 33 * 34 * File Description: 35 * 36 * Modifications: 37 * -------------------------------------------------------------------------- 38 * $Log: ddvpanel.h,v $ 39 * Revision 1.30 2000/07/12 22:22:42 hurwitz 40 * added delete block to DDV 41 * 42 * Revision 1.29 2000/07/08 20:43:58 vakatov 43 * Get all "#include" out of the 'extern "C" { }' scope; other cleanup... 44 * 45 * Revision 1.28 2000/07/05 19:23:14 lewisg 46 * add two panes to ddv, update msvc project files 47 * 48 * Revision 1.27 2000/06/30 22:31:51 hurwitz 49 * added merge block function for DDV 50 * 51 * Revision 1.26 2000/06/02 19:57:04 hurwitz 52 * added a query dialog when converting from pairwise multiple to true multiple, bug fix of double freeing of a seqAlignPtr 53 * 54 * Revision 1.25 2000/05/15 22:00:36 hurwitz 55 * put save-edits query into DDV_SlaveQuit where it belongs 56 * 57 * Revision 1.24 2000/04/29 21:49:24 kans 58 * removed bad characters on Mac 59 * 60 * Revision 1.23 2000/04/27 20:05:55 kans 61 * added stub functions for Sequin 62 * 63 * Revision 1.22 2000/04/27 19:57:59 hurwitz 64 * scroll to aligned block on launch of DDE 65 * 66 * Revision 1.21 2000/04/21 23:00:50 hurwitz 67 * can launch DDE from DDV 68 * 69 * Revision 1.20 2000/04/10 21:41:26 lewisg 70 * move alignment menus into ddv, udv from cn3d 71 * 72 * Revision 1.19 2000/04/10 20:58:42 hurwitz 73 * added GUI controls for DeleteBlock in DDE 74 * 75 * Revision 1.18 2000/04/07 16:21:08 hurwitz 76 * made delete block faster, added delete block to edit menu 77 * 78 * Revision 1.17 2000/03/21 14:21:47 durand 79 * fixed a problem with menus setup 80 * 81 * Revision 1.16 2000/03/14 22:08:21 hurwitz 82 * undo and redo working properly, restore-original function added 83 * 84 * Revision 1.15 2000/03/10 23:01:43 hurwitz 85 * added undo and redo functions, first pass 86 * 87 * Revision 1.14 2000/03/06 22:45:58 hurwitz 88 * can shift right boundary of an aligned block left and right, DDVRuler updates added 89 * 90 * Revision 1.13 2000/02/08 14:10:43 durand 91 * made extern the functions DDV_UpdateHScrollVal and 92 * 93 * Revision 1.12 2000/02/04 16:05:41 durand 94 * add click action to select a row 95 * 96 * Revision 1.11 2000/01/26 13:38:55 durand 97 * update the GUI for the editor. Add functions to create the data to be used by the editor 98 * 99 * Revision 1.10 2000/01/10 15:09:45 durand 100 * Use Entrez instead of ID1 101 * 102 * Revision 1.9 1999/12/07 21:40:14 durand 103 * add mouse modes menu and caret facility for the editor 104 * 105 * Revision 1.8 1999/12/06 16:19:20 durand 106 * add GoTo facility to DDV 107 * 108 * Revision 1.7 1999/12/03 23:17:23 lewisg 109 * Patrick's new global update msg, argument passing when launching ddv, experimental editing 110 * 111 * Revision 1.6 1999/11/30 17:29:00 durand 112 * fix a problem of redeclaration of the function DDV_CloseData 113 * 114 * Revision 1.5 1999/11/29 15:26:26 durand 115 * designed a new GUI to fix problems under MacOS, Linux and SGI 116 * 117 * Revision 1.4 1999/10/22 20:12:47 durand 118 * add Export command (text, HTML and Phylip formats) 119 * 120 * Revision 1.3 1999/10/20 13:17:19 durand 121 * add display for disc. SeqAlign tails 122 * 123 * Revision 1.2 1999/10/15 21:57:37 durand 124 * add a UI for display options 125 * 126 * Revision 1.1 1999/09/30 14:10:29 durand 127 * add ddv to toolkit 128 * 129 * Revision 1.5 1999/09/09 21:55:07 durand 130 * instantiate the Fle|Close command of DDV 131 * 132 * Revision 1.4 1999/07/01 14:08:08 durand 133 * the loader functions of DDV or now in ddvopen.c 134 * 135 * Revision 1.2 1999/06/28 22:07:22 durand 136 * add loader functions and clean the code with Lint and Purify 137 * 138 * Revision 1.1 1999/06/19 17:21:08 durand 139 * add Vibrant DDV code 140 * 141 * 142 * 143 * ========================================================================== 144 */ 145 146 #ifndef _DDVPANEL_ 147 #define _DDVPANEL_ 148 149 #include <udviewer.h> 150 #include <ddvmain.h> 151 152 #undef NLM_EXTERN 153 #ifdef NLM_IMPORT 154 #define NLM_EXTERN NLM_IMPORT 155 #else 156 #define NLM_EXTERN extern 157 #endif 158 159 #ifdef __cplusplus 160 extern "C" { 161 #endif 162 163 /****************************************************************************** 164 165 Data structures 166 167 ******************************************************************************/ 168 typedef struct ddvdispstylesmsg {/*used by the Display Styles Dlg box*/ 169 WindoW hWinMain; /*DDV main window handle*/ 170 ButtoN chk2;/*use color display chk box*/ 171 ButtoN chk3;/*show left tail chk box*/ 172 ButtoN chk4;/*show right tail chk box*/ 173 GrouP g1; /*main group for Highlight unaligned regions"*/ 174 GrouP g2; /*"Spacer" group for Highlight unaligned regions"*/ 175 GrouP g5; /*"seq. justification" group for Highlight unaligned regions"*/ 176 GrouP g12; /*BSP ruler style group*/ 177 TexT edit1; /*size TexT */ 178 LisT BspNames;/*list of BSP names*/ 179 } DdvDispStylesMSG, PNTR DdvDispStylesMSGPtr; 180 181 typedef struct ddvexporttextemsg {/*used by the Display Styles Dlg box*/ 182 WindoW hWinMain; /*DDV main window handle*/ 183 ButtoN chk2;/*show number*/ 184 ButtoN chk3;/*show ticks*/ 185 ButtoN chk4;/*Use block of 10 letters*/ 186 ButtoN chk5;/*Display strand orientation*/ 187 ButtoN chk6;/*Display BioSeq coordinates*/ 188 ButtoN ok; 189 PopuP pop; /*list of available formats*/ 190 TexT edit1; /*filename */ 191 } DdvExportTexteMSG, PNTR DdvExportTexteMSGPtr; 192 193 194 /****************************************************************************** 195 196 Defines 197 198 ******************************************************************************/ 199 200 #define DDV_DEFAULT_PARAG_SIZE 70 201 202 #define MOVE_ROW_LEFT 0 203 #define MOVE_ROW_RIGHT 1 204 #define MOVE_LEFT_BOUNDARY_LEFT 2 205 #define MOVE_LEFT_BOUNDARY_RIGHT 3 206 #define MOVE_RIGHT_BOUNDARY_LEFT 4 207 #define MOVE_RIGHT_BOUNDARY_RIGHT 5 208 #define DDE_PREV 6 209 #define DDE_NEXT 7 210 #define DDE_ORIG 8 211 #define DDE_DELETE_BLOCK 9 /* for DDE */ 212 #define DDE_CREATE_BLOCK 10 213 #define DDE_LAUNCH_EDITOR 11 214 #define DDE_MERGE_BLOCKS 12 215 #define DDE_SPLIT_BLOCK 13 216 #define DDV_DELETE_BLOCK 14 /* for DDV */ 217 218 219 /****************************************************************************** 220 221 Global varaibles 222 223 ******************************************************************************/ 224 extern Char szAppName[]; 225 extern Char szAppName2[]; 226 227 228 /****************************************************************************** 229 230 Exported functions 231 232 ******************************************************************************/ 233 extern void DDV_EnableGotoTBItems(WindoW hParent,Boolean bEnable); 234 extern void DDV_WhatSize(DdvMainPtr dmp); 235 extern void DDV_InitPanelData(UDVPanelDataPtr pdp); 236 extern void DDV_SetupWin (WindoW w,Boolean bInit); 237 extern void DDV_Resize_DDV (PaneL p, Boolean bInit); 238 extern void DDV_WinMainResize (WindoW w); 239 extern void DDV_UpdateVScrollVal(PaneL p,Boolean bInit,Int4 CurPos); 240 extern void DDV_UpdateHScrollVal(PaneL p,Boolean bInit,Int4 CurPos); 241 extern void DDV_VHScrl(PaneL p,UnDViewerGraphDataPtr gdp, Int4 newval, Int4 oldval, 242 Boolean IsVscroll); 243 extern void DDV_VScrlProc (BaR sb, SlatE s, Int4 newval, Int4 oldval); 244 extern void DDV_HScrlProc (BaR sb, SlatE s, Int4 newval, Int4 oldval); 245 extern Boolean DDV_CreateViewerPanel(WindoW w,DdvMainWinPtr dmwp, 246 SAM_ViewGlobal *vgp,Boolean bEditor); 247 NLM_EXTERN void DDV_SetMenuFocus(WindoW w); 248 extern void DDV_SetupMenus(WindoW w,Boolean isID1Ok,Boolean bEditor, 249 SAM_ViewGlobal *vgp); 250 extern void DDV_WinMainResize (WindoW w); 251 extern void DDV_WinMainCleanup (GraphiC g, VoidPtr data); 252 extern void DDV_WinMainProgQuit(WindoW w); 253 extern void DDV_InitGraphGlobal(DdvMainPtr dmp); 254 extern void DDV_CloseData(DdvMainWinPtr mWin_d,Boolean bFinalExit); 255 extern void DDV_SetRulerAttribInPGP(ValNodePtr ParaG_Head, Uint1 RulerStyle); 256 extern void DDV_SortPGPLineNum(ValNodePtr PNTR Head, Int4 nBsp); 257 extern void DDV_CleanupDDVPdata_g (DdvMainPtr dmp); 258 extern void DDV_TimerProc (WindoW w); 259 NLM_EXTERN void DDVResetProc (PaneL p); 260 261 NLM_EXTERN void DDV_Save(ButtoN g); 262 NLM_EXTERN void DDV_NoSave(ButtoN g); 263 NLM_EXTERN void DDV_Cancel(ButtoN g); 264 NLM_EXTERN void DDV_FileCloseIt(WindoW hWinMain); 265 NLM_EXTERN void DDV_SaveEdits(DdvMainPtr dmp, Boolean UpdateDDV); 266 267 #ifdef __cplusplus 268 } 269 #endif 270 271 #undef NLM_EXTERN 272 #ifdef NLM_EXPORT 273 #define NLM_EXTERN NLM_EXPORT 274 #else 275 #define NLM_EXTERN 276 #endif 277 278 #endif /* ndef _DDVPANEL_ */ 279