1 /* vibforms.h 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: vibforms.h 27 * 28 * Author: Jonathan Kans, Sergei Egorov (EnumPopup code) 29 * 30 * Version Creation Date: 1/22/95 31 * 32 * $Revision: 6.22 $ 33 * 34 * File Description: 35 * 36 * Modifications: 37 * -------------------------------------------------------------------------- 38 * 39 * ========================================================================== 40 */ 41 42 #ifndef _VIBFORMS_ 43 #define _VIBFORMS_ 44 45 #ifndef _VIBRANT_ 46 #include <vibrant.h> 47 #endif 48 49 #ifdef __cplusplus 50 extern "C" { 51 #endif 52 53 54 typedef Nlm_Int4 Nlm_UIEnum, PNTR Nlm_UIEnumPtr; 55 56 typedef struct Nlm_enum_field_assoc { 57 Nlm_CharPtr name; 58 Nlm_UIEnum value; 59 } Nlm_EnumFieldAssoc, PNTR Nlm_EnumFieldAssocPtr, Nlm_EnumFieldAlist[]; 60 61 #define ENUM_ALIST(name) Nlm_EnumFieldAssoc name[] = { 62 #define END_ENUM_ALIST { NULL, 0 } }; 63 64 #ifdef WIN_MAC 65 extern Pointer Nlm_currentFormDataPtr; 66 extern Nlm_IteM PNTR Nlm_globalMenuItemList; 67 extern Nlm_Int2 Nlm_globalMenuListSize; 68 #endif 69 70 /* enum value -> name */ 71 extern Nlm_CharPtr Nlm_GetEnumName (Nlm_UIEnum val, Nlm_EnumFieldAssocPtr al); 72 73 /* enum field <-> popup list UI */ 74 /* returns TRUE and enum in pdef if default is selected */ 75 extern Nlm_Boolean Nlm_InitEnumPopup (Nlm_PopuP lst, Nlm_EnumFieldAssocPtr al, Nlm_UIEnumPtr pdef); 76 extern void Nlm_SetEnumPopup (Nlm_PopuP lst, Nlm_EnumFieldAssocPtr al, Nlm_UIEnum val); 77 /* returns TRUE and enum in pdef if selection exists */ 78 extern Nlm_Boolean Nlm_GetEnumPopup (Nlm_PopuP lst, Nlm_EnumFieldAssocPtr al, Nlm_UIEnumPtr pval); 79 80 extern Nlm_CharPtr Nlm_GetEnumPopupByName (Nlm_PopuP lst, Nlm_EnumFieldAssocPtr al); 81 extern void Nlm_SetEnumPopupByName (Nlm_PopuP lst, Nlm_EnumFieldAssocPtr al, Nlm_CharPtr name); 82 83 extern Nlm_Boolean Nlm_WhereInEnumPopup (Nlm_EnumFieldAssocPtr al, Nlm_CharPtr name, Nlm_UIEnumPtr pval); 84 extern void Nlm_SortEnumFieldAlist (Nlm_EnumFieldAssocPtr alist); 85 extern Nlm_EnumFieldAssocPtr Nlm_DuplicateEnumFieldAlist (Nlm_EnumFieldAssocPtr alist); 86 extern Nlm_EnumFieldAssocPtr Nlm_FreeEnumFieldAlist (Nlm_EnumFieldAssocPtr alist); 87 extern Nlm_EnumFieldAssocPtr Nlm_MakeEnumFieldAlistFromValNodeList (ValNodePtr vlist); 88 89 /* convenience functions that create the popup, set extra object data, init the popup, and set the value */ 90 extern Nlm_PopuP Nlm_CreateEnumPopupListInitVal (Nlm_GrouP prnt, Nlm_Boolean macLike, Nlm_PupActnProc actn, 91 Nlm_VoidPtr data, Nlm_EnumFieldAssocPtr al, Nlm_UIEnum val); 92 extern Nlm_PopuP Nlm_CreateEnumPopupListInitName (Nlm_GrouP prnt, Nlm_Boolean macLike, Nlm_PupActnProc actn, 93 Nlm_VoidPtr data, Nlm_EnumFieldAssocPtr al, Nlm_CharPtr name); 94 95 typedef void (*Nlm_HandleActnProc) PROTO((Nlm_Handle)); 96 void CDECL Nlm_RepeatProcOnHandles VPROTO((Nlm_HandleActnProc proc, ...)); 97 98 extern void Nlm_SafeShow (Nlm_Handle a); 99 extern void Nlm_SafeHide (Nlm_Handle a); 100 extern void Nlm_SafeEnable (Nlm_Handle a); 101 extern void Nlm_SafeDisable (Nlm_Handle a); 102 extern void Nlm_SafeSetValue (Nlm_Handle a, Nlm_Int2 value); 103 extern void Nlm_SafeSetStatus (Nlm_Handle a, Nlm_Boolean status); 104 extern void Nlm_SafeSetTitle (Nlm_Handle a, Nlm_CharPtr title); 105 106 extern Nlm_CharPtr Nlm_SaveStringFromText (Nlm_TexT t); 107 extern Nlm_CharPtr Nlm_JustSaveStringFromText (Nlm_TexT t); 108 extern ValNodePtr Nlm_SetTextFromVnp (Nlm_TexT t, ValNodePtr vnp); 109 extern ValNodePtr Nlm_GetVnpFromText (Nlm_TexT t, ValNodePtr vnp, Nlm_Boolean last); 110 extern Nlm_Int2 Nlm_MaxStringWidths (Nlm_CharPtr PNTR strs); 111 extern Nlm_CharPtr Nlm_WidestString (Nlm_CharPtr PNTR strs); 112 extern Nlm_Int2 Nlm_MaxAlistWidths (Nlm_EnumFieldAssocPtr al); 113 extern Nlm_CharPtr Nlm_WidestAlist (Nlm_EnumFieldAssocPtr al); 114 extern Nlm_GrouP Nlm_MultiLinePrompt (Nlm_GrouP prnt, Nlm_CharPtr text, Nlm_Int2 maxWidth, Nlm_FonT font); 115 extern Nlm_GrouP Nlm_MultiLinePromptEx (Nlm_GrouP prnt, Nlm_CharPtr text, Nlm_Int2 maxWidth, Nlm_FonT font, Nlm_Boolean stripSpaces); 116 117 extern void Nlm_JustInvalObject (Nlm_Handle a); 118 119 /* extern Nlm_CharPtr Nlm_TrimSpacesAroundString (Nlm_CharPtr str); - now in ncbistr.h */ 120 /* extern Nlm_Boolean Nlm_StringHasNoText (Nlm_CharPtr str); - now in ncbistr.h */ 121 extern Nlm_Boolean Nlm_TextHasNoText (Nlm_TexT t); 122 123 /***************************************************************************** 124 * 125 * DialoG is a stand-alone Vibrant complex object. 126 * 127 *****************************************************************************/ 128 129 typedef struct Nlm_dialog { 130 Nlm_VoidPtr dummy; 131 } HNDL Nlm_DialoG; 132 133 typedef void (*Nlm_ToDialogFunc) (Nlm_DialoG, Pointer); 134 typedef Pointer (*Nlm_FromDialogFunc) (Nlm_DialoG); 135 typedef void (*Nlm_DialogActnFunc) (Nlm_DialoG); 136 typedef ValNodePtr (*Nlm_DialogTestFunc) (Nlm_DialoG); 137 typedef void (*Nlm_DialogMessageFunc) (Nlm_DialoG, Nlm_Int2); 138 typedef Nlm_Boolean (*Nlm_DialogInOutFunc) (Nlm_DialoG, Nlm_CharPtr filename); 139 140 /* 141 Place DIALOG_MESSAGE_BLOCK at the head of the 142 dialog-specific extra object data structure 143 */ 144 145 #define DIALOG_MESSAGE_BLOCK \ 146 Nlm_DialoG dialog; \ 147 Nlm_DialogActnFunc actproc; \ 148 Nlm_ToDialogFunc todialog; \ 149 Nlm_FromDialogFunc fromdialog; \ 150 Nlm_DialogTestFunc testdialog; \ 151 Nlm_DialogMessageFunc dialogmessage; \ 152 Nlm_DialogInOutFunc importdialog; \ 153 Nlm_DialogInOutFunc exportdialog; \ 154 Nlm_Int4 intvalue; \ 155 Nlm_VoidPtr userdata; 156 157 typedef struct Nlm_basedialog { 158 DIALOG_MESSAGE_BLOCK 159 } PNTR Nlm_BaseDialogPtr; 160 161 extern void Nlm_PointerToDialog (Nlm_DialoG d, Pointer data); 162 extern Pointer Nlm_DialogToPointer (Nlm_DialoG d); 163 extern ValNodePtr Nlm_TestDialog (Nlm_DialoG d); 164 extern void Nlm_SendMessageToDialog (Nlm_DialoG d, Nlm_Int2 mssg); 165 extern Nlm_Boolean Nlm_ImportDialog (Nlm_DialoG d, Nlm_CharPtr filename); 166 extern Nlm_Boolean Nlm_ExportDialog (Nlm_DialoG d, Nlm_CharPtr filename); 167 168 extern void Nlm_SetDialogActnProc (Nlm_DialoG d, Nlm_DialogActnFunc actproc); 169 170 /* popup list autonomous dialogs - copies alist, frees on cleanup */ 171 172 typedef struct alistdialogdata { 173 DIALOG_MESSAGE_BLOCK 174 Nlm_PopuP pop; 175 Nlm_EnumFieldAssoc PNTR alist; 176 } Nlm_AlistDialogData, PNTR Nlm_AlistDialogPtr; 177 178 /* convenience function that creates enumerated popup as a dialog, copies alist, cleans up on freeing */ 179 extern Nlm_PopuP Nlm_CreateEnumPopupDialog (Nlm_GrouP prnt, Nlm_Boolean macLike, Nlm_PupActnProc actn, 180 Nlm_EnumFieldAssocPtr al, Nlm_UIEnum val, Pointer userdata); 181 182 /* convenience function that creates enumerated single list as a dialog, copies alist, cleans up on freeing */ 183 extern Nlm_LisT Nlm_CreateEnumListDialog (Nlm_GrouP prnt, Nlm_Int2 width, Nlm_Int2 height, Nlm_LstActnProc actn, 184 Nlm_EnumFieldAssocPtr al, Nlm_UIEnum val, Pointer userdata); 185 /***************************************************************************** 186 * 187 * A form is a general collection of associated Vibrant objects. 188 * Like the DialoG, a handle to which ObjectExtra data is attached, 189 * the ForM is itself a window to which data is attached. 190 * 191 *****************************************************************************/ 192 193 typedef struct Nlm_form { 194 Nlm_VoidPtr dummy; 195 } HNDL Nlm_ForM; 196 197 typedef void (*Nlm_ToFormFunc) (Nlm_ForM, Pointer); 198 typedef Pointer (*Nlm_FromFormFunc) (Nlm_ForM); 199 typedef void (*Nlm_FormActnFunc) (Nlm_ForM); 200 typedef ValNodePtr (*Nlm_FormTestFunc) (Nlm_ForM); 201 typedef void (*Nlm_FormMessageFunc) (Nlm_ForM, Nlm_Int2); 202 typedef Nlm_Boolean (*Nlm_FormInOutFunc) (Nlm_ForM, Nlm_CharPtr filename); 203 204 #define FORM_MESSAGE_BLOCK \ 205 Nlm_ForM form; \ 206 Nlm_FormActnFunc actproc; \ 207 Nlm_ToFormFunc toform; \ 208 Nlm_FromFormFunc fromform; \ 209 Nlm_FormTestFunc testform; \ 210 Nlm_FormMessageFunc formmessage; \ 211 Nlm_FormInOutFunc importform; \ 212 Nlm_FormInOutFunc exportform; \ 213 Nlm_IteM PNTR menuitemlist; \ 214 Nlm_Int2 menulistsize; \ 215 Nlm_FormMessageFunc appmessage; \ 216 Nlm_Uint2 input_entityID; \ 217 Nlm_Uint4 input_itemID; \ 218 Nlm_Uint2 input_itemtype; \ 219 Nlm_Uint2 this_itemtype; \ 220 Nlm_Uint2 this_subtype; \ 221 Nlm_Uint2 procid; \ 222 Nlm_Uint2 proctype; \ 223 BIG_ID docuid; \ 224 Nlm_Int2 doctype; \ 225 Nlm_VoidPtr objectDataPtr; \ 226 Nlm_VoidPtr userDataPtr; \ 227 Nlm_FreeProc cleanupuser; \ 228 Nlm_Uint2 userkey; \ 229 Nlm_CharPtr filepath; \ 230 WndActnProc activate; 231 232 typedef struct Nlm_baseform { 233 FORM_MESSAGE_BLOCK 234 } PNTR Nlm_BaseFormPtr; 235 236 extern void Nlm_PointerToForm (Nlm_ForM f, Pointer data); 237 extern Pointer Nlm_FormToPointer (Nlm_ForM f); 238 extern ValNodePtr Nlm_TestForm (Nlm_ForM f); 239 extern void Nlm_SendMessageToForm (Nlm_ForM f, Nlm_Int2 mssg); 240 extern Nlm_Boolean Nlm_ImportForm (Nlm_ForM f, Nlm_CharPtr filename); 241 extern Nlm_Boolean Nlm_ExportForm (Nlm_ForM f, Nlm_CharPtr filename); 242 243 244 /* The following functions remove a window */ 245 extern void Nlm_StdCloseWindowProc (Nlm_WindoW w); 246 extern void Nlm_StdCancelButtonProc (Nlm_ButtoN b); 247 248 /* The following functions instead send a VIB_MSG_CLOSE message to a form */ 249 extern void Nlm_StdSendCloseWindowMessageProc (Nlm_WindoW w); 250 extern void Nlm_StdSendCancelButtonMessageProc (Nlm_ButtoN b); 251 252 extern void Nlm_SetFormActnProc (Nlm_ForM f, Nlm_FormActnFunc actproc); 253 254 /* StdAcceptFormButtonProc hides the form, calls the actproc, and removes the form */ 255 /* StdSendAcceptButtonMessageProc instead sends a VIB_MSG_ACCEPT message to a form */ 256 extern void Nlm_StdAcceptFormButtonProc (Nlm_ButtoN b); 257 extern void Nlm_StdSendAcceptButtonMessageProc (Nlm_ButtoN b); 258 259 /* StdCleanupExtraProc MemFree's the extra data */ 260 /* StdCleanupFormProc MemFree's the menuitemlist and then the extra data */ 261 extern void Nlm_StdCleanupExtraProc (Nlm_GraphiC g, Nlm_VoidPtr data); 262 extern void Nlm_StdCleanupFormProc (Nlm_GraphiC g, Nlm_VoidPtr data); 263 264 /***************************************************************************** 265 * 266 * Messages are meant to be passed to dialogs and forms. Some messages are 267 * sent by the application (e.g., init, enter, reset, redraw), while most are 268 * from menu items. Numbers greater than NUM_VIB_MSG may be used by individual 269 * applications, but note that NUM_VIB_MSG may change over time, so application 270 * messages should be defined as NUM_VIB_MSG + ###. 271 * 272 * Forms can handle some messages, and could be designed to pass others back to 273 * the application (e.g., communicated via an app property pointer, and set in 274 * the form's appmessage slot) for special servicing. 275 * 276 *****************************************************************************/ 277 278 #define VIB_MSG_INIT 1 279 #define VIB_MSG_ENTER 2 280 #define VIB_MSG_RESET 3 281 #define VIB_MSG_REDRAW 4 282 283 #define VIB_MSG_NEW 6 284 #define VIB_MSG_OPEN 7 285 #define VIB_MSG_SAVE 8 286 #define VIB_MSG_SAVE_AS 9 287 #define VIB_MSG_CLOSE 10 288 #define VIB_MSG_QUIT 11 289 #define VIB_MSG_ACCEPT 12 290 291 #define VIB_MSG_IMPORT 15 292 #define VIB_MSG_EXPORT 16 293 #define VIB_MSG_PRINT 17 294 #define VIB_MSG_ABOUT 18 295 #define VIB_MSG_HELP 19 296 297 298 #define VIB_MSG_CUT 21 299 #define VIB_MSG_COPY 22 300 #define VIB_MSG_PASTE 23 301 #define VIB_MSG_DELETE 24 302 #define VIB_MSG_UNDO 25 303 304 #define VIB_MSG_CHANGE 27 305 #define VIB_MSG_SELECT 28 306 307 #define NUM_VIB_MSG 30 308 309 /***************************************************************************** 310 * 311 * FormCommandItem creates a menu item whose action is to send the designated 312 * message to the specified form. It will register the item handle in the 313 * form's menuitemlist, or in the Mac's globalMenuItemList. These handles can 314 * then be accessed for disable/enable or for changing the item title. 315 * 316 *****************************************************************************/ 317 318 extern Nlm_IteM Nlm_FormCommandItem (Nlm_MenU m, Nlm_CharPtr title, Nlm_BaseFormPtr bfp, Nlm_Int2 mssg); 319 extern Nlm_IteM Nlm_FindFormMenuItem (Nlm_BaseFormPtr bfp, Nlm_Int2 mssg); 320 extern void Nlm_SetFormMenuItem (Nlm_BaseFormPtr bfp, Nlm_Int2 mssg, Nlm_IteM itm); 321 extern Nlm_Int2 Nlm_RegisterFormMenuItemName (Nlm_CharPtr title); 322 323 /***************************************************************************** 324 * 325 * Folder tabs object is implemented as an opaque dialog. Tool bar has a 326 * slightly different appearance. Folder tabs should be used in forms where 327 * every page should be visited. Tool bars are for viewers where different 328 * formats are shown in different pages. 329 * 330 *****************************************************************************/ 331 332 typedef void (*Nlm_TabActnProc) (Nlm_VoidPtr, Nlm_Int2, Nlm_Int2); 333 334 extern Nlm_DialoG Nlm_CreateFolderTabs (Nlm_GrouP h, Nlm_CharPtr PNTR titles, Nlm_Int2 initPage, 335 Nlm_Int2 maxPerLine, Nlm_Int2 indentNextLine, 336 Nlm_FonT font, Nlm_Int2 horizMargin, Nlm_Int2 vertMargin, 337 Nlm_Int2 spaceBtwn, Nlm_Int2 cornerTaper, Nlm_Int2 endExt, 338 Nlm_TabActnProc changeView, Pointer userdata); 339 #ifdef WIN_MSWIN 340 #define SYSTEM_FOLDER_TAB programFont,20,5,2,6,10 341 #define PROGRAM_FOLDER_TAB systemFont,10,5,2,4,5 342 #else 343 #define SYSTEM_FOLDER_TAB systemFont,20,5,2,6,10 344 #define PROGRAM_FOLDER_TAB programFont,10,5,2,4,5 345 #endif 346 347 extern void Nlm_ReleaseFolderTabButtons (Nlm_PaneL p, Nlm_PoinT pt); 348 extern void Nlm_SetFolderTabButton (Nlm_GraphiC a, Nlm_Int2 value, Nlm_Boolean savePort); 349 extern Nlm_DialoG Nlm_CreateFolderTabButtons (Nlm_GrouP h, Nlm_CharPtr PNTR titles, Nlm_Int2 initPage, 350 Nlm_Int2 maxPerLine, Nlm_Int2 indentNextLine, 351 Nlm_FonT font, Nlm_Int2 horizMargin, Nlm_Int2 vertMargin, 352 Nlm_Int2 spaceBtwn, Nlm_Int2 cornerTaper, Nlm_Int2 endExt, 353 Nlm_TabActnProc changeView, Pointer userdata); 354 extern void Nlm_SetFolderTabTitle (Nlm_DialoG dialog, Nlm_Int2 iTab, Nlm_CharPtr title); 355 356 extern Nlm_DialoG Nlm_CreateTextTabs (Nlm_GrouP h, Nlm_CharPtr PNTR titles, Nlm_Int2 initPage, 357 Nlm_Int2 maxPerLine, Nlm_Int2 indentNextLine, 358 Nlm_FonT font, Nlm_Int2 horizMargin, Nlm_Int2 vertMargin, 359 Nlm_Int2 spaceBtwn, Nlm_TabActnProc changeView, 360 Pointer userdata); 361 362 #define SYSTEM_TEXT_TAB systemFont,16,16,5 363 #define PROGRAM_TEXT_TAB programFont,14,14,5 364 365 /***************************************************************************** 366 * 367 * A tag list is an arbitrary opaque spreadsheet dialog. 368 * 369 *****************************************************************************/ 370 371 #define MAX_TAGLIST_ROWS 8 372 #define MAX_TAGLIST_COLS 12 373 #define STD_TAG_SPACING 2 374 375 #define TAGLIST_TEXT 1 376 #define TAGLIST_POPUP 2 377 #define TAGLIST_LIST 3 378 #define TAGLIST_PROMPT 4 379 380 typedef void (*TaglistCallback) PROTO ((Pointer userdata)); 381 382 typedef struct Nlm_taglist { 383 DIALOG_MESSAGE_BLOCK 384 Nlm_Int2 rows; 385 Nlm_Int2 cols; 386 Nlm_Uint2Ptr types; 387 Nlm_Handle control [MAX_TAGLIST_ROWS * MAX_TAGLIST_COLS]; 388 Nlm_EnumFieldAssocPtr PNTR alists; 389 Nlm_BaR bar; 390 Nlm_BaR left_bar; 391 Nlm_Int2 max; 392 Nlm_Boolean noExtend; 393 ValNodePtr vnp; 394 TaglistCallback PNTR callbacks; 395 Pointer callback_data; 396 ButtoN clear_btns [MAX_TAGLIST_ROWS]; 397 Boolean ask_before_clear; 398 } Nlm_TagList, PNTR Nlm_TagListPtr; 399 400 extern Nlm_DialoG Nlm_CreateTagListDialog (Nlm_GrouP h, Nlm_Uint2 rows, Nlm_Uint2 cols, 401 Nlm_Int2 spacing, Nlm_Uint2Ptr types, 402 Nlm_Uint2Ptr textWidths, 403 Nlm_EnumFieldAssocPtr PNTR alists, 404 Nlm_ToDialogFunc tofunc, Nlm_FromDialogFunc fromfunc); 405 406 extern Nlm_DialoG CreateTagListDialogEx (Nlm_GrouP h, Nlm_Uint2 rows, Nlm_Uint2 cols, 407 Nlm_Int2 spacing, Nlm_Uint2Ptr types, 408 Nlm_Uint2Ptr textWidths, Nlm_EnumFieldAssocPtr PNTR alists, 409 Nlm_Boolean useBar, Nlm_Boolean noExtend, 410 Nlm_ToDialogFunc tofunc, Nlm_FromDialogFunc fromfunc); 411 412 extern Nlm_DialoG CreateTagListDialogExEx (Nlm_GrouP h, Nlm_Uint2 rows, Nlm_Uint2 cols, 413 Nlm_Int2 spacing, Nlm_Uint2Ptr types, 414 Nlm_Uint2Ptr textWidths, Nlm_EnumFieldAssocPtr PNTR alists, 415 Nlm_Boolean useBar, Nlm_Boolean noExtend, 416 Nlm_ToDialogFunc tofunc, Nlm_FromDialogFunc fromfunc, 417 TaglistCallback PNTR callbacks, Pointer callback_data, 418 Boolean useLeftBar); 419 420 extern Nlm_DialoG CreateTagListDialogEx3 (Nlm_GrouP h, Nlm_Uint2 rows, Nlm_Uint2 cols, 421 Nlm_Int2 spacing, Nlm_Uint2Ptr types, 422 Nlm_Uint2Ptr textWidths, Nlm_EnumFieldAssocPtr PNTR alists, 423 Nlm_Boolean useBar, Nlm_Boolean noExtend, 424 Nlm_ToDialogFunc tofunc, Nlm_FromDialogFunc fromfunc, 425 TaglistCallback PNTR callbacks, Pointer callback_data, 426 Boolean useLeftBar, Boolean useClearBtns); 427 428 extern Nlm_CharPtr Nlm_ExtractTagListColumn (Nlm_CharPtr source, Nlm_Int2 col); 429 extern Nlm_CharPtr ReplaceTagListColumn (CharPtr source, CharPtr new_value, Int2 col); 430 431 #ifdef WIN_MAC 432 #define currentFormDataPtr Nlm_currentFormDataPtr 433 #define globalMenuItemList Nlm_globalMenuItemList 434 #define globalMenuListSize Nlm_globalMenuListSize 435 #endif 436 #define UIEnum Nlm_UIEnum 437 #define UIEnumPtr Nlm_UIEnumPtr 438 #define EnumFieldAssoc Nlm_EnumFieldAssoc 439 #define EnumFieldAssocPtr Nlm_EnumFieldAssocPtr 440 #define EnumFieldAlist Nlm_EnumFieldAlist 441 #define GetEnumName Nlm_GetEnumName 442 #define InitEnumPopup Nlm_InitEnumPopup 443 #define SetEnumPopup Nlm_SetEnumPopup 444 #define GetEnumPopup Nlm_GetEnumPopup 445 #define GetEnumPopupByName Nlm_GetEnumPopupByName 446 #define SetEnumPopupByName Nlm_SetEnumPopupByName 447 #define WhereInEnumPopup Nlm_WhereInEnumPopup 448 #define SortEnumFieldAlist Nlm_SortEnumFieldAlist 449 #define DuplicateEnumFieldAlist Nlm_DuplicateEnumFieldAlist 450 #define FreeEnumFieldAlist Nlm_FreeEnumFieldAlist 451 #define MakeEnumFieldAlistFromValNodeList Nlm_MakeEnumFieldAlistFromValNodeList 452 #define CreateEnumPopupListInitVal Nlm_CreateEnumPopupListInitVal 453 #define CreateEnumPopupListInitName Nlm_CreateEnumPopupListInitName 454 #define HandleActnProc Nlm_HandleActnProc 455 #define RepeatProcOnHandles Nlm_RepeatProcOnHandles 456 #define SafeShow Nlm_SafeShow 457 #define SafeHide Nlm_SafeHide 458 #define SafeEnable Nlm_SafeEnable 459 #define SafeDisable Nlm_SafeDisable 460 #define SafeSetValue Nlm_SafeSetValue 461 #define SafeSetStatus Nlm_SafeSetStatus 462 #define SafeSetTitle Nlm_SafeSetTitle 463 #define TrimSpacesAroundString Nlm_TrimSpacesAroundString 464 #define SaveStringFromText Nlm_SaveStringFromText 465 #define JustSaveStringFromText Nlm_JustSaveStringFromText 466 #define SetTextFromVnp Nlm_SetTextFromVnp 467 #define GetVnpFromText Nlm_GetVnpFromText 468 #define MaxStringWidths Nlm_MaxStringWidths 469 #define WidestString Nlm_WidestString 470 #define MaxAlistWidths Nlm_MaxAlistWidths 471 #define WidestAlist Nlm_WidestAlist 472 #define MultiLinePrompt Nlm_MultiLinePrompt 473 #define MultiLinePromptEx Nlm_MultiLinePromptEx 474 #define JustInvalObject Nlm_JustInvalObject 475 #define StringHasNoText Nlm_StringHasNoText 476 #define TextHasNoText Nlm_TextHasNoText 477 #define DialoG Nlm_DialoG 478 #define ToDialogFunc Nlm_ToDialogFunc 479 #define FromDialogFunc Nlm_FromDialogFunc 480 #define DialogActnFunc Nlm_DialogActnFunc 481 #define DialogTestFunc Nlm_DialogTestFunc 482 #define DialogMessageFunc Nlm_DialogMessageFunc 483 #define DialogInOutFunc Nlm_DialogInOutFunc 484 #define BaseDialogPtr Nlm_BaseDialogPtr 485 #define PointerToDialog Nlm_PointerToDialog 486 #define DialogToPointer Nlm_DialogToPointer 487 #define TestDialog Nlm_TestDialog 488 #define SendMessageToDialog Nlm_SendMessageToDialog 489 #define ImportDialog Nlm_ImportDialog 490 #define ExportDialog Nlm_ExportDialog 491 #define SetDialogActnProc Nlm_SetDialogActnProc 492 #define AlistDialogData Nlm_AlistDialogData 493 #define AlistDialogPtr Nlm_AlistDialogPtr 494 #define CreateEnumPopupDialog Nlm_CreateEnumPopupDialog 495 #define CreateEnumListDialog Nlm_CreateEnumListDialog 496 #define ForM Nlm_ForM 497 #define ToFormFunc Nlm_ToFormFunc 498 #define FromFormFunc Nlm_FromFormFunc 499 #define FormActnFunc Nlm_FormActnFunc 500 #define FormTestFunc Nlm_FormTestFunc 501 #define FormMessageFunc Nlm_FormMessageFunc 502 #define FormInOutFunc Nlm_FormInOutFunc 503 #define BaseFormPtr Nlm_BaseFormPtr 504 #define PointerToForm Nlm_PointerToForm 505 #define FormToPointer Nlm_FormToPointer 506 #define TestForm Nlm_TestForm 507 #define SendMessageToForm Nlm_SendMessageToForm 508 #define ImportForm Nlm_ImportForm 509 #define ExportForm Nlm_ExportForm 510 #define StdCloseWindowProc Nlm_StdCloseWindowProc 511 #define StdCancelButtonProc Nlm_StdCancelButtonProc 512 #define StdSendCloseWindowMessageProc Nlm_StdSendCloseWindowMessageProc 513 #define StdSendCancelButtonMessageProc Nlm_StdSendCancelButtonMessageProc 514 #define SetFormActnProc Nlm_SetFormActnProc 515 #define StdAcceptFormButtonProc Nlm_StdAcceptFormButtonProc 516 #define StdSendAcceptButtonMessageProc Nlm_StdSendAcceptButtonMessageProc 517 #define StdCleanupExtraProc Nlm_StdCleanupExtraProc 518 #define StdCleanupFormProc Nlm_StdCleanupFormProc 519 #define TabActnProc Nlm_TabActnProc 520 #define FormCommandItem Nlm_FormCommandItem 521 #define FindFormMenuItem Nlm_FindFormMenuItem 522 #define SetFormMenuItem Nlm_SetFormMenuItem 523 #define RegisterFormMenuItemName Nlm_RegisterFormMenuItemName 524 #define CreateFolderTabs Nlm_CreateFolderTabs 525 #define ReleaseFolderTabButtons Nlm_ReleaseFolderTabButtons 526 #define SetFolderTabButton Nlm_SetFolderTabButton 527 #define CreateFolderTabButtons Nlm_CreateFolderTabButtons 528 #define SetFolderTabTitle Nlm_SetFolderTabTitle 529 #define CreateTextTabs Nlm_CreateTextTabs 530 #define TagList Nlm_TagList 531 #define TagListPtr Nlm_TagListPtr 532 #define CreateTagListDialog Nlm_CreateTagListDialog 533 #define ExtractTagListColumn Nlm_ExtractTagListColumn 534 535 #ifdef __cplusplus 536 } 537 #endif 538 539 #endif /* ndef _DLOGUTIL_ */ 540 541