1 /* macrodlg.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: macrodlg.h 27 * 28 * Author: Colleen Bollin 29 * 30 * Version Creation Date: 11/23/2007 31 * 32 * $Revision: 1.44 $ 33 * 34 * File Description: 35 * 36 * Modifications: 37 * -------------------------------------------------------------------------- 38 * Date Name Description of modification 39 * ------- ---------- ----------------------------------------------------- 40 * 41 * 42 * ========================================================================== 43 */ 44 45 #ifndef MACRODLG_H 46 #define MACRODLG_H 47 48 #ifdef __cplusplus 49 extern "C" { 50 #endif 51 52 #include <objmacro.h> 53 #include <macroapi.h> 54 55 typedef void (*MacroCloseCallback) (Pointer userdata, Pointer callback_data); 56 NLM_EXTERN void LaunchMacroEditorMenuItem (IteM i); 57 NLM_EXTERN void LaunchMacroEditor (Uint2 entityID, CharPtr filename, MacroCloseCallback callback, Pointer callback_data); 58 NLM_EXTERN void SelectiveMacroRun (ValNodePtr macro_list); 59 60 61 /* moved from macrodlg.c for being used in EraseAllFieldsWhenBlank() in sequin10.c: J. Chen */ 62 typedef struct tabcolumnconfiglistdialog { 63 DIALOG_MESSAGE_BLOCK 64 DoC column_list_doc; 65 DialoG edit_col_dlg; 66 Nlm_ChangeNotifyProc change_notify; 67 Pointer change_userdata; 68 TabColumnConfigPtr PNTR column_list; 69 CharPtr PNTR first_values; 70 Int4Ptr blank_list; 71 Int4 num_columns; 72 Int4 current_column; 73 } TabColumnConfigListDlgData, PNTR TabColumnConfigListDlgPtr; 74 75 76 NLM_EXTERN DialoG TabColumnConfigDialog 77 (GrouP h, 78 CharPtr title, 79 Int4 num_blank, 80 Nlm_ChangeNotifyProc change_notify, 81 Pointer change_userdata); 82 NLM_EXTERN DialoG TabColumnConfigListDialog (GrouP h, ValNodePtr first_values, ValNodePtr blank_list, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 83 NLM_EXTERN void ChangeDataForTabColumnConfigListDialog (DialoG d, ValNodePtr first_values, ValNodePtr blank_list); 84 NLM_EXTERN void PopulateTabConfigListColumnListDoc (DialoG d); 85 NLM_EXTERN DialoG MatchTypeDialog (GrouP g, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 86 /* for ID match location */ 87 NLM_EXTERN DialoG IdMatchLocationDlg (GrouP h, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 88 NLM_EXTERN Uint1 GetMatchLocationFromIdMatchLocationDlg (DialoG d); 89 NLM_EXTERN void SetMatchLocationInIdMatchLocationDlg (DialoG d, Uint1 match_location); 90 91 92 NLM_EXTERN DialoG FeatureTypeDialog (GrouP h, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 93 NLM_EXTERN Uint2 GetFeatureTypeFromFeatureTypeDialog (DialoG d); 94 NLM_EXTERN void SetFeatureTypeInFeatureTypeDialog (DialoG d, Uint2 feature); 95 NLM_EXTERN DialoG FeatureTypeDialogMulti (GrouP h, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 96 NLM_EXTERN DialoG StringConstraintDialog (GrouP h, CharPtr label, Boolean clear_btn, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 97 NLM_EXTERN DialoG ComplexConstraintDialog (GrouP h, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 98 NLM_EXTERN void ChangeComplexConstraintFieldType (DialoG d, Uint2 qual_type, ValNodePtr rna_type, Int2 feat_type); 99 typedef enum { 100 eComplexConstraintType_source = 1, 101 eComplexConstraintType_cdsgeneprot, 102 eComplexConstraintType_pub, 103 eComplexConstraintType_feature_field, 104 eComplexConstraintType_rna_field, 105 eComplexConstraintType_molinfo_field, 106 eComplexConstraintType_seqid, 107 eComplexConstraintType_string, 108 eComplexConstraintType_loc 109 } EComplexConstraintType; 110 NLM_EXTERN void SetComplexConstraintType (DialoG d, EComplexConstraintType constraint_type); 111 112 113 114 NLM_EXTERN DialoG ConstraintSetDialog (GrouP h, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 115 NLM_EXTERN void SetConstraintSetDefaultConstraintType (DialoG d, Uint1 constraint_type); 116 NLM_EXTERN DialoG SequenceConstraintDialog (GrouP h, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 117 NLM_EXTERN DialoG MolInfoBlockDialog (GrouP h, Boolean edit, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 118 NLM_EXTERN void SingleAECRMacroAction (Uint2 entityID, Boolean indexer_version, Uint1 AECR_action_type, Uint1 AECR_qual_type); 119 NLM_EXTERN void MacroApplyKeyword (Uint2 entityID, Boolean indexer_version); 120 121 NLM_EXTERN DialoG LocationConstraintDialog (GrouP h, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 122 123 NLM_EXTERN Uint2 TwoStepExistingText (Int4 num_found, Boolean non_text, Boolean allow_multi); 124 125 NLM_EXTERN ForM SingleParseAction (Uint2 entityID); 126 127 NLM_EXTERN DialoG MolinfoFieldChoiceDialog (GrouP h, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 128 129 /* for adding features */ 130 typedef struct applyfeaturedetails { 131 Boolean add_mrna; 132 ValNodePtr fields; 133 ValNodePtr src_fields; 134 } ApplyFeatureDetailsData, PNTR ApplyFeatureDetailsPtr; 135 136 NLM_EXTERN DialoG ApplyFeatureDetailsDialog (GrouP h, Uint1 featdef_type, ApplyFeatureDetailsPtr details, Boolean indexer_version, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 137 NLM_EXTERN ApplyFeatureDetailsPtr ApplyFeatureDetailsNew (ApplyFeatureActionPtr action); 138 NLM_EXTERN ApplyFeatureDetailsPtr ApplyFeatureDetailsFree (ApplyFeatureDetailsPtr details); 139 NLM_EXTERN DialoG ParseDstDialog (GrouP h, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 140 NLM_EXTERN DialoG CapChangeDialogEx(GrouP h, Nlm_ChangeNotifyProc, Pointer change_userdata, Boolean allow_none); 141 NLM_EXTERN DialoG CapChangeDialog (GrouP h, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 142 NLM_EXTERN void SetCapChangeDialogValue (DialoG d, Int4 cap_change); 143 NLM_EXTERN Int2 GetCapChangeDialogValue (DialoG d); 144 NLM_EXTERN DialoG TextPortionDialog (GrouP h, Boolean inside, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 145 146 NLM_EXTERN ForM SingleMacroAction (Uint2 entityID, Boolean indexer_version); 147 NLM_EXTERN void GenericMacroActionForm (Uint2 entityID, ValNodePtr action, Boolean indexer_version); 148 149 NLM_EXTERN DialoG StructuredCommentDatabaseNameDialog (GrouP h, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 150 NLM_EXTERN DialoG RemoveDuplicateFeatActionDialog (GrouP h, Boolean edit, Nlm_ChangeNotifyProc change_notify, Pointer change_userdata); 151 152 NLM_EXTERN void EditMacroTemplate (void); 153 NLM_EXTERN void LaunchMacroTemplateEditor (IteM i); 154 155 NLM_EXTERN void LaunchSuspectProductRuleEditor (IteM i); 156 157 #ifdef __cplusplus 158 } 159 #endif 160 161 #endif 162