51 #include <wx/msgdlg.h>
90 descr +=
"publication ";
101 variables += GetExistingTextVariables(
m_ArgList);
158 string rt_var =
"obj";
161 if (
function.
empty()) {
163 function +=
"(\"" + path +
"\", ";
167 function +=
"(" + rt_var +
", ";
172 function +=
"(\"" + path +
"\", ";
249 string rt_var =
"obj";
250 bool found_constraint =
false;
252 if (found_constraint) {
253 function += resolve_func;
256 auto pos = field_name.find_last_of(
'-');
258 if (found_constraint) {
259 function +=
"(" + rt_var +
", ";
262 function +=
"(\"" + field_name.substr(0, pos) +
"\", ";
264 function +=
"\"" + field_name.substr(pos + 1) +
"\", ";
266 else if (path.find(
',') !=
NPOS) {
267 vector<string> tokens;
272 string rt_var =
"obj";
276 function +=
"(" + rt_var +
", \"" + tokens[0] +
"\", \"" + tokens[1] +
"\", ";
280 function +=
"(\"" + path +
"\", ";
318 string descr =
"Apply '";
329 variables += GetExistingTextVariables(
m_ArgList);
354 for (
auto& it : constraints) {
355 if (it.second.find(field) !=
NPOS) {
368 bool found_constraint =
false;
371 if (found_constraint) {
375 function +=
"\"" + rt_var +
".data.strs\"";
422 if (date && date->
IsStd()) {
423 const auto& std_date = date->
GetStd();
424 if (std_date.IsSetYear() && std_date.IsSetMonth() && std_date.IsSetDay()) {
453 return CMacroFunction_SetPubPMID::GetFuncName() +
"(" +
kNewValue +
");";
479 string rt_var =
"obj";
486 string rt_var =
"obj";
489 function += CMacroFunction_SetPubAuthorMI::GetFuncName();
490 function +=
"(" + rt_var +
", ";
505 function = CMacroFunction_SetSerialNumber::GetFuncName() +
"(";
508 function = CMacroFunction_SetPubCitation::GetFuncName() +
"(";
525 vector<string> funcs{ CMacroFunction_SetPubPMID::GetFuncName(),
532 CMacroFunction_SetPubAuthorMI::GetFuncName(),
537 CMacroFunction_SetSerialNumber::GetFuncName(),
538 CMacroFunction_SetPubCitation::GetFuncName(),
544 funcs.reserve(funcs.size() + pub_fncs.size());
545 funcs.insert(funcs.end(), pub_fncs.begin(), pub_fncs.end());
568 res += get<1>(
names);
573 res += get<2>(
names);
577 res += get<0>(
names);
580 res +=
" " + get<3>(
names);
582 res =
"'" + res +
"'";
591 for (
auto& it : authors) {
593 if (author_name.empty())
598 descr += author_name;
600 descr =
"Apply " + descr +
" to publication authors (";
604 descr +=
"overwrite existing text";
607 descr +=
"ignore new text when existing text is present";
611 descr += existing_text;
622 for (
unsigned int i = 0;
i < authors.size(); ++
i) {
624 if (get<0>(authors[
i]).
empty()) {
627 variables +=
kLast + nr +
" = %" + get<0>(authors[
i]) +
"%\n";
628 variables +=
kFirst + nr +
" = %" + get<1>(authors[
i]) +
"%\n";
629 variables +=
kMiddle + nr +
" = %" + get<2>(authors[
i]) +
"%\n";
630 variables +=
kSuffix + nr +
" = %" + get<3>(authors[
i]) +
"%\n";
633 if (!variables.empty()) {
634 variables.pop_back();
656 if (!
function.
empty())
function +=
"\n";
663 if (!
function.
empty())
function +=
"\n";
680 const auto& args = fn_it.m_FArgs;
681 auto last_it = args.find(
kLast);
682 if (last_it != args.end()) {
683 author->
SetName().SetName().SetLast(last_it->second);
685 auto first_it = args.find(
kFirst);
686 if (first_it != args.end()) {
687 author->
SetName().SetName().SetFirst(first_it->second);
689 auto mi_it = args.find(
kMiddle);
690 if (mi_it != args.end()) {
691 const string middle_init = mi_it->second;
693 string initials = macro::CMacroFunction_AuthorFix::s_GetFirstNameInitials(author->
GetName().
GetName().
GetFirst());
695 initials.append(middle_init);
699 initials.append(
".");
701 author->
SetName().SetName().SetInitials(initials);
703 auto suffix_it = args.find(
kSuffix);
704 if (suffix_it != args.end()) {
705 author->
SetName().SetName().SetSuffix(suffix_it->second);
707 auth_list.
SetNames().SetStd().push_back(author);
754 string rt_var =
"obj";
757 function += CMacroFunction_SetStructCommField::GetFuncName();
767 function +=
"(\"" + rt_var +
".label.str\", ";
780 return { CMacroFunction_SetStructCommField::GetFuncName(),
783 macro::CMacroFunction_Resolve::GetFuncName()
805 if (desc && desc->
IsUser()) {
810 return "Apply new structured comment with '" +
prefix +
"' database name";
815 static const char* s_field =
"strcomm_field";
821 static const char* s_value =
"new_value";
832 m_Seqdesc->SetUser().SetType().SetStr(
"StructuredComment");
835 for (
auto& it :
m_Seqdesc->GetUser().GetData()) {
836 if (it->IsSetData() && it->GetData().IsStr() &&
837 it->IsSetLabel() && it->GetLabel().IsStr()) {
838 string fieldname = it->GetLabel().GetStr();
842 string value = it->GetData().GetStr();
843 if (!variables.empty()) {
860 string rt_var =
"obj";
862 function +=
"(\"" +
prefix +
"\", \"eAddQual\");";
865 function +=
"\n" + CMacroFunction_SetStructCommField::GetFuncName();
884 auto dbname_it = fn_it.m_FArgs.find(
kNewValue);
885 if (dbname_it != fn_it.m_FArgs.end()) {
886 dbname = dbname_it->second;
893 auto& user_obj = strcomm.
SetUser();
894 user_obj.
SetType().SetStr(
"StructuredComment");
900 const auto& args = fn_it.m_FArgs;
901 if (
NStr::EqualNocase(fn_it.m_FName, CMacroFunction_SetStructCommField::GetFuncName())) {
904 if (field_it != args.end() && value_it != args.end()) {
905 string field_name = field_it->second;
906 string field_value = value_it->second;
911 user_obj.AddField(field_name, field_value);
915 user_obj.AddField(field_name, field_value);
953 bool modified = (new_target !=
m_Target);
982 gene_field =
"gene " + gene_field;
986 function +=
"(\"gene\", " + gene_field +
", ";
991 string rt_var =
"obj";
994 if (
function.
empty()) {
996 function +=
"(\"" + path +
"\", ";
1000 function +=
"(" + rt_var +
", ";
1003 else if (path.find(
',') !=
NPOS) {
1004 vector<string> tokens;
1008 string rt_var =
"obj";
1012 function += macro::CMacroFunction_AddorSetGbQual::GetFuncName();
1013 function +=
"(" + rt_var +
", \"" + tokens[0] +
"\", \"" +
m_ArgList[
kFeatQual].GetValue() +
"\", ";
1019 function +=
"(" + rt_var +
", \"" + tokens[0] +
"\", \"" + tokens[1] +
"\", ";
1024 function +=
"(\"" + path +
"\", ";
1040 return { CMacroFunction_Resolve::GetFuncName(),
1044 CMacroFunction_UpdatemRNAProduct::GetFuncName()
1076 bool modified = (new_target !=
m_Target);
1104 function = CMacroFunction_SetCodonsRecognized::GetFuncName();
1113 function +=
"(\"gene\", " + gene_field +
", ";
1121 if (path.find(
',') !=
NPOS) {
1122 vector<string> tokens;
1126 string rt_var =
"obj";
1130 function +=
"(" + rt_var +
", \"" + tokens[0] +
"\", \"" + tokens[1] +
"\", ";
1132 else if (path.find(
"::") !=
NPOS) {
1133 function = CMacroFunction_SetRnaProduct::GetFuncName();
1138 function +=
"(\"" + path +
"\", ";
1153 CMacroFunction_Resolve::GetFuncName(),
1155 CMacroFunction_SetRnaProduct::GetFuncName(),
1157 CMacroFunction_SetCodonsRecognized::GetFuncName()
1171 descr +=
", apply gene with ";
1173 descr +=
"'" + args[
kGeneLocus].GetValue() +
"' gene locus ";
1176 descr +=
"'" + args[
kGeneDescr].GetValue() +
"' gene description";
1182 string GetQualifierDescription(
const CArgumentList& args,
const string& qual,
const string& val)
1184 if (!args[qual].
Empty()) {
1185 return " with '" + args[
val].GetValue() +
"' " + args[qual].GetValue();
1190 string GetFeatLocation(
const CArgumentList& args,
const string& rt_var)
1192 string loc_fnc = rt_var +
" = ";
1201 if (from <= 0 || to <= 0 || from > to)
1204 loc_fnc +=
"(" + args[
kFromCoord].GetValue() +
", " + args[
kToCoord].GetValue() +
", ";
1211 string GetQualifierForFunction(
const CArgumentList& args,
const string& qual,
const string& val)
1213 if (args[val].
Empty())
1216 const string feat_name = args[
kFeatureType].GetValue();
1217 const string qualifier = args[qual].GetValue();
1219 if (qualifier ==
"allele") {
1220 return ", \"data.gene.allele\", " +
val;
1222 else if (qualifier ==
"gene_synonym") {
1223 return ", \"data.gene.syn\", " +
val;
1225 else if (qualifier ==
"locus_tag") {
1226 return ", \"data.gene.locus-tag\", " +
val;
1230 return ", \"qual.qual\", \"" + qualifier +
"\", \"qual.val\", " +
val;
1233 string GetApplyGeneFunction(
const CArgumentList& args,
const string& rt_var)
1236 applygene_func +=
"(" + rt_var;
1238 applygene_func +=
", \"data.gene.locus\", " +
kGeneLocus;
1241 applygene_func +=
", \"data.gene.desc\", " +
kGeneDescr;
1243 applygene_func +=
");";
1244 return applygene_func;
1259 fields.erase(fields.begin());
1305 const string rt_var =
"location";
1306 string function = GetFeatLocation(
m_ArgList, rt_var);
1307 if (
function.
empty())
1322 string applygene_func = GetApplyGeneFunction(
m_ArgList, rt_var);
1323 if (applygene_func.find(
",") !=
NPOS) {
1324 function +=
"\n" + applygene_func;
1329 constraints.insert(constraints.begin(), make_pair(
kEmptyStr, constraint));
1359 descr +=
"(add mRNA)";
1362 descr +=
"(do not add mRNA)";
1395 const string rt_var =
"location";
1396 string function = GetFeatLocation(
m_ArgList, rt_var);
1397 if (
function.
empty())
1410 string applygene_func = GetApplyGeneFunction(
m_ArgList, rt_var);
1411 if (applygene_func.find(
",") !=
NPOS) {
1412 function +=
"\n" + applygene_func;
1416 constraint +=
"(\"cds\") = 0";
1417 constraints.insert(constraints.begin(), make_pair(
kEmptyStr, constraint));
1443 bool for_removal =
false, to_create =
true;
1468 vector<CTempString> args;
1495 const string rt_var =
"location";
1496 string function = GetFeatLocation(
m_ArgList, rt_var);
1497 if (
function.
empty())
1503 string asn_path_to_feature;
1506 asn_path_to_feature =
"\"data.gene.locus\", " +
kGeneLocus;
1509 asn_path_to_feature =
"\"data.gene.desc\", " +
kGeneDescr;
1512 asn_path_to_feature =
"\"data.gene.locus\", \"\"";
1519 function +=
"(" + asn_path_to_feature +
", " + rt_var +
", " +
kAddRedundant;
1521 function +=
", \"data.gene.desc\", " +
kGeneDescr;
1532 if (!feat_is_gene) {
1533 string applygene_func = GetApplyGeneFunction(
m_ArgList, rt_var);
1534 if (applygene_func.find(
",") !=
NPOS) {
1535 function +=
"\n" + applygene_func;
1540 constraints.insert(constraints.begin(), make_pair(
kEmptyStr, constraint));
1573 string function = CMacroFunction_ApplyPmidToEntry::GetFuncName();
1576 function +=
", true";
1584 return { CMacroFunction_ApplyPmidToEntry::GetFuncName() };
1600 return "Apply publication with DOI name " +
m_ArgList[
kNewValue].GetValue() +
" and do DOI lookup";
1608 string function = CMacroFunction_ApplyDOIToEntry::GetFuncName();
1611 function +=
", true";
1619 return { CMacroFunction_ApplyDOIToEntry::GetFuncName() };
1624 :
CMacroActionItemData(
"Lookup DOI number and replace unpublished references with the looked up article")
1638 descr =
"Look up publications by DOI name";
1650 function = CMacroFunction_GlobalDOILookup::GetFuncName() +
"();";
1653 function = CMacroFunction_DOILookup::GetFuncName();
1661 return { CMacroFunction_DOILookup::GetFuncName(), CMacroFunction_GlobalDOILookup::GetFuncName() };
1674 x_LoadPanel(parent, CMacroFunction_SetAutodefOption::GetFuncName(), args);
1683 if (field.empty() ||
value.empty())
1686 string function = CMacroFunction_SetAutodefOption::GetFuncName();
1698 return { CMacroFunction_SetAutodefOption::GetFuncName()};
1710 x_LoadPanel(parent, CMacroFunction_AddUnverified::GetFuncName(), args);
1715 return "Apply Unverified " +
x_GetField() +
" user object";
1731 return CMacroFunction_AddUnverified::GetFuncName() +
"(\"" + field +
"\");";
1743 return "misassembled";
1746 return "contaminant";
1753 return { CMacroFunction_AddUnverified::GetFuncName() };
virtual string GetMacroDescription() const
virtual void x_AddParamPanel(wxWindow *parent)
CAddCDSFeatTreeItemData()
virtual string GetFunction(TConstraints &constraints) const
virtual vector< string > GetFunctionNames() const
virtual string GetVariables()
CAddFeatureTreeItemData()
virtual vector< string > GetFunctionNames() const
virtual string GetVariables()
virtual string GetMacroDescription() const
virtual void x_AddParamPanel(wxWindow *parent)
virtual string GetFunction(TConstraints &constraints) const
virtual string GetVariables()
virtual string GetFunction(TConstraints &constraints) const
CAddRNAFeatTreeItemData()
virtual vector< string > GetFunctionNames() const
virtual string GetMacroDescription() const
virtual void x_AddParamPanel(wxWindow *parent)
virtual vector< string > GetFunctionNames() const
bool SetData(const vector< CFuncWithArgs > &func_info)
virtual string GetMacroDescription() const
virtual void x_AddParamPanel(wxWindow *parent)
virtual string GetFunction(TConstraints &constraints) const
CApplyAuthorsTreeItemData()
virtual string GetVariables()
CMacroAuthorNamesPanel * m_AuthorsPanel
CApplyAutodefOptTreeItemData()
virtual void x_AddParamPanel(wxWindow *parent)
virtual string GetFunction(TConstraints &constraints) const
virtual vector< string > GetFunctionNames() const
virtual string GetFunction(TConstraints &constraints) const
virtual vector< string > GetFunctionNames() const
virtual void x_AddParamPanel(wxWindow *parent)
CApplyBsrcQualTreeItemData()
virtual const vector< string > & GetKeywords() const
virtual string GetMacroDescription() const
virtual void x_AddParamPanel(wxWindow *parent)
virtual string GetFunction(TConstraints &constraints) const
virtual vector< string > GetFunctionNames() const
CApplyDBLinkQualTreeItemData()
virtual string GetMacroDescription() const
virtual vector< string > GetFunctionNames() const
virtual void x_AddParamPanel(wxWindow *parent)
CApplyDOILookupTreeItemData()
virtual string GetFunction(TConstraints &constraints) const
virtual void x_AddParamPanel(wxWindow *parent)
CApplyDOIToEntryTreeItemData()
virtual string GetFunction(TConstraints &constraints) const
virtual string GetMacroDescription() const
virtual vector< string > GetFunctionNames() const
virtual vector< string > GetFunctionNames() const
virtual string GetMacroDescription() const
CApplyFeatQualTreeItemData()
virtual string GetFunction(TConstraints &constraints) const
virtual bool UpdateTarget()
virtual void x_AddParamPanel(wxWindow *parent)
CApplyMolinfoQualTreeItemData()
virtual string GetVariables()
virtual void x_AddParamPanel(wxWindow *parent)
virtual string GetMacroDescription() const
virtual string GetMacroDescription() const
virtual vector< string > GetFunctionNames() const
virtual string GetFunction(TConstraints &constraints) const
CApplyPmidToEntryTreeItemData()
virtual void x_AddParamPanel(wxWindow *parent)
virtual vector< string > GetFunctionNames() const
virtual void x_AddParamPanel(wxWindow *parent)
virtual string GetMacroDescription() const
CApplyProteinQualTreeItemData()
virtual string GetFunction(TConstraints &constraints) const
virtual string GetVariables()
virtual vector< string > GetFunctionNames() const
virtual string GetFunction(TConstraints &constraints) const
CApplyPubQualTreeItemData()
virtual void x_AddParamPanel(wxWindow *parent)
virtual void x_AddParamPanel(wxWindow *parent)
virtual string GetVariables()
virtual string GetMacroDescription() const
virtual string GetFunction(TConstraints &constraints) const
virtual vector< string > GetFunctionNames() const
CApplyQualTreeItemData(const string &description, EMacroFieldType type)
virtual bool UpdateTarget()
virtual string GetFunction(TConstraints &constraints) const
virtual string GetMacroDescription() const
virtual vector< string > GetFunctionNames() const
virtual void x_AddParamPanel(wxWindow *parent)
CApplyRNAQualTreeItemData()
virtual string GetMacroDescription() const
virtual void x_AddParamPanel(wxWindow *parent)
CApplyStrCommQualTreeItemData()
virtual string GetVariables()
virtual string GetFunction(TConstraints &constraints) const
virtual vector< string > GetFunctionNames() const
CApplyUnverifiedItemData()
virtual void x_AddParamPanel(wxWindow *parent)
virtual vector< string > GetFunctionNames() const
virtual string GetFunction(TConstraints &constraints) const
string x_GetField() const
virtual string GetMacroDescription() const
@Auth_list.hpp User-defined methods of the data storage class.
EMacroFieldType m_FieldType
for actions such as appply/edit/etc.
vector< string > x_GetPubFunctions() const
virtual void SetAuthors(const objects::CAuth_list &auth_list)
tuple< string, string, string, string > TNameTuple
TAuthorsVec GetAuthorNames() const
@end CMacroAuthorNamesPanel event handler declarations
vector< TNameTuple > TAuthorsVec
vector< string > GetFeatureTypes(bool for_removal=false, bool to_create=false, bool include_all=false) const
vector< string > GetRNATypes() const
string GetAsnPathToFieldName(const string &field, EMacroFieldType type, const string &target=kEmptyStr)
vector< string > GetncRNAClassTypes(bool include_any=true) const
static CMacroEditorContext & GetInstance()
vector< string > GetFeatQualifiers() const
const vector< string > & GetBsrcKeywords() const
string GetAsnPathToFeature(const string &feat_name) const
string GetAsnPathToAuthorFieldName(const string &author_name)
string GetAsnMolinfoValue(const string &molinfo_field, const string &choice)
vector< string > GetRNAProductnames(const string &rna_type) const
vector< string > GetFieldNames(EMacroFieldType type) const
@ ePubFieldType_AuthorLastName
@ ePubFieldType_AuthorFirstName
@ ePubFieldType_SerialNumber
@ ePubFieldType_DateMonth
@ ePubFieldType_AuthorConsortium
@ ePubFieldType_AuthorMiddleInitial
@ ePubFieldType_AuthorSuffix
static EPubFieldType GetTypeForLabel(string label)
static CRef< CDate > DateFromCollectionDate(const string &str) THROWS((CException))
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
string x_GetVariables(const vector< CTempString > &args) const
void x_LoadPanel(wxWindow *parent, const string &panel_name, const TArgumentsVector &arguments)
unique_ptr< CMacroPanelLoader > m_Panel
constructed panel for specifying function arguments
virtual bool UpdateTarget()
vector< pair< string, string > > TConstraints
constexpr const tuple_element< _Index, ct_const_tuple< _Types... > >::type & get(const ct_const_tuple< _Types... > &_Tuple) noexcept
static const struct name_t names[]
bool Empty(const CNcbiOstrstream &src)
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
void Error(CExceptionArgs_Base &args)
static CTempString GetFuncName()
bool StringsAreEquivalent(const string &name1, const string &name2)
static CTempString GetFuncName()
static CTempString GetFuncName()
static CTempString GetFuncName()
static CTempString GetFuncName()
static CTempString GetFuncName()
static CTempString GetFuncName()
static const char * sm_SeqNa
static const char * sm_FuncVolume
class CMacroFunction_SetPubVolIssuePages SetPubVolume(newValue, existing_text, delimiter,...
static CTempString GetFuncName()
static CTempString GetFuncName()
static CTempString GetFuncName()
bool IsStructVoucherPart(const string &field)
static CTempString GetFuncName()
static CTempString GetFuncName()
static CTempString GetFuncName()
static CTempString GetFuncName()
static const char * sm_DBLink
static CTempString GetFuncName()
static CTempString GetFuncName()
static CTempString GetFuncName()
static const char * sm_FuncPages
static CTempString GetFuncName()
static CTempString GetFuncName()
bool IsSatelliteSubfield(const string &field)
bool IsMobileElementTSubfield(const string &field)
static CTempString GetFuncName()
static CTempString GetFuncName()
static CTempString GetFuncName()
static const char * sm_Gene
static CTempString GetFuncName()
static const char * sm_FuncIssue
static CTempString GetFuncName()
void Reset(void)
Reset reference object.
TObjectType & GetNCObject(void) const
Get object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
static list< string > & Split(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)
Split a string using specified delimiters.
static bool EndsWith(const CTempString str, const CTempString end, ECase use_case=eCase)
Check if a string ends with a specified suffix value.
static bool IsBlank(const CTempString str, SIZE_TYPE pos=0)
Check if a string is blank (has no text).
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
static string UIntToString(unsigned int value, TNumToStringFlags flags=0, int base=10)
Convert UInt to string.
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
static bool Equal(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2, ECase use_case=eCase)
Test for equality of a substring with another string.
static string & ReplaceInPlace(string &src, const string &search, const string &replace, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)
Replace occurrences of a substring within a string.
static string & ToLower(string &str)
Convert string to lower case – string& version.
@ eNocase
Case insensitive compare.
void SetName(TName &value)
Assign a value to Name data member.
const TName & GetName(void) const
Get the Name member data.
void SetNames(TNames &value)
Assign a value to Names data member.
bool IsStd(void) const
Check if variant Std is selected.
void SetType(TType &value)
Assign a value to Type data member.
const TFirst & GetFirst(void) const
Get the First member data.
const TName & GetName(void) const
Get the variant data.
const TStd & GetStd(void) const
Get the variant data.
const TUser & GetUser(void) const
Get the variant data.
TUser & SetUser(void)
Select the variant.
bool IsUser(void) const
Check if variant User is selected.
char * dbname(DBPROCESS *dbproc)
Get name of current database.
static string s_GetFieldVar(unsigned int n)
static string s_GetValueVar(unsigned int n)
static string s_GetAddAuthorFunction(const string &nr, const string &existing_text)
static string s_GetNameForDescription(CMacroAuthorNamesPanel::TNameTuple names)
vector< macro::SArgMetaData > TArgumentsVector
CTempString UpdateTargetForFeatures(const string &feature, const string &qualifier, bool for_removal=false)
string GetResolveFuncForDBLink(const string &field, string &rt_var, TConstraints &constraints, bool &found_constraint)
void OnStructCommFieldChanged(CArgumentList &list, CArgument &arg)
bool MultipleValuesAllowed(const string &field)
void UpdateConstraintsForFeatures(TConstraints &constraints, const string &feature)
string GetStructCommQualDescr(const CArgumentList &arg_list)
string GetResolveFuncForSVPart(const string &field, const string &rt_var, TConstraints &constraints, bool &found_constraint)
string GetResolveFuncForMultiValuedQual(const string &field, const string &rt_var, TConstraints &constraints, bool remove_constraint)
string GetResolveFuncForQual(const string &container, const string &field, const string &rt_var, TConstraints &constraints, bool remove_constraint=true)
Generates the definition of rt_var based on input "field".
string GetUpdatemRNADescription(const CArgument &arg)
void OnDOILookupModeChanged(CArgumentList &list, CArgument &arg)
void OnProteinNameSingle(CArgumentList &list, CArgument &arg)
bool IsGeneField(const string &field_name)
CTempString UpdateTargetForRnas(const string &rna_type)
string GetResolveFuncForApplyAuthors(CPubFieldType::EPubFieldType type, const string &rt_var, TConstraints &constraints)
void WrapInQuotes(string &str)
string GetResolveFuncForStrCommQual(const string &field, const string &field_name, const string &rt_var, TConstraints &constraints)
void OnControlsAddRNAPanelSelected(CArgumentList &list, CArgument &arg)
void OnExistingTextChanged(CArgumentList &list, CArgument &arg)
string GetHandleOldValue(const string &type)
EMacroFieldType GetSourceTypeInSinglePanel(const CArgumentList &arg_list)
void OnRnaTypeChanged(CArgumentList &list, CArgument &arg)
void UpdateConstraintsForRnas(TConstraints &constraints, const CArgumentList &arg_list)
string GetDelimiterChar(const string &del)
string GetResolveFuncForPubQual(const string &field, string &rt_var, TConstraints &constraints)
void AppendUpdatemRNAFnc(bool update_mrna, string &function)
string GetExistingTextDescr(const CArgumentList &arg_list)
const string kApplyMultiple
const TArgumentsVector & GetApplyCDSArgs()
const string kAddRedundant
const string kProteinDescr
const TArgumentsVector & GetApplyPmidArgs()
const string kAddFeatQual3
const string kUnverMisassembled
const string kAddFeatVal2
const TArgumentsVector & GetUnverifiedArgs()
const TArgumentsVector & GetSetArgs()
const TArgumentsVector & GetDOILookupArgs()
const string kProteinName
const string kAddFeatVal4
const string kAddFeatQual1
const TArgumentsVector & GetOptionalArgs()
const string kExistingText
const TArgumentsVector & GetApplyRNAArgs()
const TArgumentsVector & GetBsrcArgs()
const string kUnverContamination
const string kAddFeatQual2
const string kAddFeatQual4
const TArgumentsVector & GetApplyOtherFeatureArgs()
const string kAddFeatVal1
const string kStrCommField
const string kFeatureType
const string kAddFeatVal3
constexpr bool empty(list< Ts... >) noexcept
void copy(Njn::Matrix< S > *matrix_, const Njn::Matrix< T > &matrix0_)
static const char * prefix[]
static const char * kMiddle
static const char *const features[]