NCBI C++ ToolKit
find_asn1_dlg.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: find_asn1_dlg.cpp 47479 2023-05-02 13:24:02Z ucko $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
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 have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Authors: Igor Filippov
27  */
28 
29 
30 #include <ncbi_pch.hpp>
31 
32 ////@begin includes
33 ////@end includes
34 #include <util/xregexp/regexp.hpp>
42 #include <objects/seq/Pubdesc.hpp>
44 #include <objects/pub/Pub.hpp>
54 #include <objects/biblio/Affil.hpp>
67 #include <objmgr/feat_ci.hpp>
68 #include <objmgr/seqdesc_ci.hpp>
69 #include <objmgr/seq_entry_ci.hpp>
75 
76 #include <wx/button.h>
77 #include <wx/stattext.h>
78 #include <wx/msgdlg.h>
79 #include <wx/display.h>
80 
81 ////@begin XPM images
82 ////@end XPM images
83 
86 
87 IMPLEMENT_DYNAMIC_CLASS( CFindASN1Dlg, wxDialog )
88 
89 
90 
91 BEGIN_EVENT_TABLE( CFindASN1Dlg, wxDialog )
92 
93 ////@begin CFindASN1Dlg event table entries
99 EVT_CLOSE(CFindASN1Dlg::OnClose)
100 ////@end CFindASN1Dlg event table entries
101 
103 
104 
105 /*!
106  * CFindASN1Dlg constructors
107  */
108 
110 {
111  Init();
112 }
113 
115  wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
116  : m_TopSeqEntry(seh), m_CmdProcessor(cmdProcessor), m_SeqSubmit(submit)
117 {
118  Init();
119  Create(parent, id, caption, pos, size, style);
120  SetRegistryPath("Dialogs.Edit.FindASN1Dialog");
121  LoadSettings();
122 }
123 
124 static const char* kAutoCopy = "AutoCopy";
125 static const char* kFrameWidth = "Frame Width";
126 static const char* kFrameHeight = "Frame Height";
127 static const char* kFramePosX = "Frame Position X";
128 static const char* kFramePosY = "Frame Position Y";
129 
130 void CFindASN1Dlg::SetRegistryPath(const string& reg_path)
131 {
132  m_RegPath = reg_path;
133 }
134 
136 {
137  if (m_RegPath.empty())
138  return;
139 
141  CRegistryWriteView view = gui_reg.GetWriteView(m_RegPath);
142  if (m_AutoCopy)
143  view.Set(kAutoCopy, m_AutoCopy->GetValue());
144 
145  view.Set(kFrameWidth,GetScreenRect().GetWidth());
146  view.Set(kFrameHeight,GetScreenRect().GetHeight());
147  view.Set(kFramePosX,GetScreenPosition().x);
148  view.Set(kFramePosY,GetScreenPosition().y);
149 }
150 
151 
153 {
154  if (m_RegPath.empty())
155  return;
156 
158  CRegistryReadView view = gui_reg.GetReadView(m_RegPath);
159  if (m_AutoCopy)
160  m_AutoCopy->SetValue(view.GetBool(kAutoCopy));
161 
162  int width = view.GetInt(kFrameWidth, -1);
163  int height = view.GetInt(kFrameHeight, -1);
164  if (width >= 0 && height >= 0)
165  SetSize(wxSize(width,height));
166 
167  int pos_x = view.GetInt(kFramePosX, -1);
168  int pos_y = view.GetInt(kFramePosY, -1);
169 
170  if (pos_x >= 0 && pos_y >= 0)
171  {
172  int max_x = 0;
173  for (auto i = 0; i < wxDisplay::GetCount(); i++) // also see gui/widgets/wx/wx_utils.cpp:CorrectWindowRect() for alternative window position validation
174  {
175  wxDisplay display(i);
176  max_x += display.GetGeometry().GetWidth();
177  }
178  if (pos_x + width > max_x) pos_x = wxGetDisplaySize().GetWidth()-width-5;
179  if (pos_y + height > wxGetDisplaySize().GetHeight()) pos_y = wxGetDisplaySize().GetHeight()-height-5;
180 
181  SetPosition(wxPoint(pos_x,pos_y));
182  }
183 }
184 
185 /*!
186  * CFindASN1Dlg creator
187  */
188 
189 bool CFindASN1Dlg::Create( wxWindow* parent,
190  wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
191 {
192 ////@begin CFindASN1Dlg creation
193  SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
194  wxDialog::Create( parent, id, caption, pos, size, style );
195 
196  CreateControls();
197  if (GetSizer())
198  {
199  GetSizer()->SetSizeHints(this);
200  }
201  Centre();
202 ////@end CFindASN1Dlg creation
203 
204  return true;
205 }
206 
207 
208 /*!
209  * CFindASN1Dlg destructor
210  */
211 
213 {
214 ////@begin CFindASN1Dlg destruction
215  SaveSettings();
216 ////@end CFindASN1Dlg destruction
217 }
218 
219 
220 /*!
221  * Member initialisation
222  */
223 
225 {
226 ////@begin CFindASN1Dlg member initialisation
227  m_Find = NULL;
228  m_Replace = NULL;
229  m_AutoCopy = NULL;
230  m_EntireWord = NULL;
232 ////@end CFindASN1Dlg member initialisation
233 }
234 
235 
236 /*!
237  * Control creation for CFindASN1Dlg
238  */
239 
241 {
242 ////@begin CFindASN1Dlg content construction
243  CFindASN1Dlg* itemDialog1 = this;
244 
245  wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
246  itemDialog1->SetSizer(itemBoxSizer2);
247 
248  wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxHORIZONTAL);
249  itemBoxSizer2->Add(itemBoxSizer3, 0, wxALIGN_LEFT|wxALL, 5);
250 
251  wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxVERTICAL);
252  itemBoxSizer3->Add(itemBoxSizer4, 0, wxGROW|wxALL, 5);
253 
254  wxStaticText* text1 = new wxStaticText(itemDialog1, wxID_STATIC, _("Find"), wxDefaultPosition, wxDefaultSize, 0);
255  itemBoxSizer4->Add(text1, 1, wxALIGN_LEFT|wxALL, 5);
256 
257  wxStaticText* text2 = new wxStaticText(itemDialog1, wxID_STATIC, _("Replace"), wxDefaultPosition, wxDefaultSize, 0);
258  itemBoxSizer4->Add(text2, 1, wxALIGN_LEFT|wxALL, 5);
259 
260  wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL);
261  itemBoxSizer3->Add(itemBoxSizer5, 0, wxGROW|wxALL, 5);
262 
263  m_Find = new wxTextCtrl( itemDialog1, ID_FIND_TEXT, wxEmptyString, wxDefaultPosition, wxSize(400,-1), 0 );
264  itemBoxSizer5->Add(m_Find, 1, wxALIGN_LEFT|wxALL, 5);
265 
266  m_Replace = new wxTextCtrl( itemDialog1, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(400,-1), 0 );
267  itemBoxSizer5->Add(m_Replace, 1, wxALIGN_LEFT|wxALL, 5);
268 
269  wxButton* itemButton1 = new wxButton( itemDialog1, ID_COPY_BUTTON, _("Copy"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT);
270  itemBoxSizer3->Add(itemButton1, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
271 
272  m_AutoCopy = new wxCheckBox( itemDialog1, ID_AUTOCOPY_CHECKBOX, _("Auto-copy"), wxDefaultPosition, wxDefaultSize, 0 );
273  itemBoxSizer3->Add(m_AutoCopy, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
274 
275  wxBoxSizer* itemBoxSizer6 = new wxBoxSizer(wxHORIZONTAL);
276  itemBoxSizer2->Add(itemBoxSizer6, 0, wxALIGN_LEFT|wxALL, 5);
277 
278  m_CaseSensitive = new wxCheckBox( itemDialog1, wxID_ANY, _("Case Sensitive"), wxDefaultPosition, wxDefaultSize, 0 );
279  itemBoxSizer6->Add(m_CaseSensitive, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
280 
281  m_EntireWord = new wxCheckBox( itemDialog1, wxID_ANY, _("Entire Word"), wxDefaultPosition, wxDefaultSize, 0 );
282  itemBoxSizer6->Add(m_EntireWord, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
283 
284  wxBoxSizer* itemBoxSizer7 = new wxBoxSizer(wxHORIZONTAL);
285  itemBoxSizer2->Add(itemBoxSizer7, 0, wxEXPAND|wxALL, 5);
286 
287  wxButton* itemButton5 = new wxButton( itemDialog1, ID_REPLACE_BUTTON, _("Replace All"), wxDefaultPosition, wxDefaultSize, 0 );
288  itemBoxSizer7->Add(itemButton5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
289 
290  wxButton* itemButton6 = new wxButton( itemDialog1, ID_CLEAR_BUTTON, _("Clear"), wxDefaultPosition, wxDefaultSize, 0 );
291  itemBoxSizer7->Add(itemButton6, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
292 
293  wxButton* itemButton7 = new wxButton( itemDialog1, ID_FIND_ASN1_CANCEL_BUTTON, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
294  itemBoxSizer7->Add(itemButton7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
295 
296 ////@end CFindASN1Dlg content construction
297 
298 }
299 
300 
301 /*!
302  * Should we show tooltips?
303  */
304 
306 {
307  return true;
308 }
309 
310 /*!
311  * Get bitmap resources
312  */
313 
314 wxBitmap CFindASN1Dlg::GetBitmapResource( const wxString& name )
315 {
316  // Bitmap retrieval
317 ////@begin CFindASN1Dlg bitmap retrieval
318  wxUnusedVar(name);
319  return wxNullBitmap;
320 ////@end CFindASN1Dlg bitmap retrieval
321 }
322 
323 /*!
324  * Get icon resources
325  */
326 
327 wxIcon CFindASN1Dlg::GetIconResource( const wxString& name )
328 {
329  // Icon retrieval
330 ////@begin CFindASN1Dlg icon retrieval
331  wxUnusedVar(name);
332  return wxNullIcon;
333 ////@end CFindASN1Dlg icon retrieval
334 }
335 
336 void CFindASN1Dlg::OnCopyButton(wxCommandEvent& event )
337 {
338  m_Replace->SetValue(m_Find->GetValue());
339 }
340 
341 void CFindASN1Dlg::OnClearButton(wxCommandEvent& event )
342 {
343  m_Find->SetValue(wxEmptyString);
344  m_Replace->SetValue(wxEmptyString);
345 }
346 
347 void CFindASN1Dlg::OnFindText(wxCommandEvent& event )
348 {
349  if (m_AutoCopy->GetValue())
350  m_Replace->SetValue(m_Find->GetValue());
351 }
352 
353 void CFindASN1Dlg::OnReplaceButton(wxCommandEvent& event )
354 {
355  string find = m_Find->GetValue().ToStdString();
356  string replace = m_Replace->GetValue().ToStdString();
357 
358  NStr::ReplaceInPlace(find, "\r", "");
359  NStr::ReplaceInPlace(replace, "\r", "");
360  NStr::ReplaceInPlace(find, "\n", "");
361  NStr::ReplaceInPlace(replace, "\n", "");
362 
363  if (NStr::Find(find,"\"") != NPOS || NStr::Find(replace,"\"") != NPOS)
364  {
365  wxMessageBox(wxT("Quotes are not allowed in find and replace strings"), wxT("Error"), wxOK | wxICON_ERROR);
366  return;
367  }
368  if (m_EntireWord->GetValue())
369  {
370  find = "\\b" + CRegexp::Escape(find) + "\\b";
371  }
372  else
373  {
374  find = CRegexp::Escape(find);
375  }
376 
378  if (m_CaseSensitive->GetValue())
379  {
380  options = CRegexp::fCompile_default;
381  }
382  try
383  {
384  CRef<CCmdComposite> cmd(new CCmdComposite("Find and Replace ASN.1 action"));
385  for (CFeat_CI feat_ci(m_TopSeqEntry); feat_ci; ++feat_ci)
386  {
387  CSeq_feat_Handle fh = feat_ci->GetSeq_feat_Handle();
388  CRef<CSeq_feat> new_feat(new CSeq_feat);
389  new_feat->Assign(*fh.GetOriginalSeq_feat());
390  bool modified = ReplaceInFeature(new_feat, find, replace, options);
391  if (modified)
392  {
393  CIRef<IEditCommand> chgFeat(new CCmdChangeSeq_feat(fh, *new_feat));
394  if (chgFeat)
395  cmd->AddCommand(*chgFeat);
396  }
397  }
399  {
400  for ( CSeqdesc_CI desc_iter(*entry_it, CSeqdesc::e_not_set, 1); desc_iter; ++desc_iter)
401  {
402  if (desc_iter->IsMolinfo())
403  continue;
404 
405  CRef<CSeqdesc> new_desc(new CSeqdesc);
406  new_desc->Assign(*desc_iter);
407  bool modified = ReplaceInDesc(new_desc, find, replace, options);
408 
409  if (modified)
410  {
411  CRef<CCmdChangeSeqdesc> ecmd(new CCmdChangeSeqdesc(desc_iter.GetSeq_entry_Handle(), *desc_iter, *new_desc));
412  cmd->AddCommand (*ecmd);
413  }
414  }
415  }
416  if (m_SeqSubmit && m_SeqSubmit->IsSetSub())
417  {
418  const CSubmit_block &submit = m_SeqSubmit->GetSub();
419  CRef<CSubmit_block> new_submit(new CSubmit_block);
420  new_submit->Assign(submit);
421  bool modified = ReplaceInSubmit(new_submit, find, replace, options);
422  if (modified)
423  {
425  const CObject* actual = dynamic_cast<const CObject*>(&submit);
426  cmd->Add(const_cast<CObject*>(actual), CConstRef<CObject>(new_submit));
427  }
428  }
430  }
431  catch(const exception&)
432  {
433  wxMessageBox(wxT("Unable to perform requested substitution"), wxT("Error"), wxOK | wxICON_ERROR);
434  }
435 }
436 
438 {
439  string result;
440  result.reserve(input.size());
441  size_t quotes = 0;
442  for (size_t i = 0; i < input.size(); i++)
443  {
444  char c = input[i];
445  if (c == '"')
446  quotes++;
447  if ((c == '\r' || c == '\n') && quotes % 2 == 1)
448  {
449  continue;
450  }
451  result.push_back(c);
452  }
453  swap(result, input);
454 }
455 
456 
457 void CFindASN1Dlg::OnClose(wxCloseEvent& event)
458 {
459  SaveSettings();
460  event.Skip();
461 }
462 
463 void CFindASN1Dlg::OnCancelButton(wxCommandEvent& event )
464 {
465  Close();
466 }
467 
468 bool CFindASN1Dlg::ReplaceInFeature(CRef<CSeq_feat> new_feat, const string &find, const string &replace, CRegexp::TCompile options)
469 {
470  bool modified = false;
471  if (new_feat->IsSetComment())
472  {
473  const string &old_value = new_feat->GetComment();
474  string new_value = ReplaceValue(old_value, find, replace, options);
475  modified |= new_value != old_value;
476  new_feat->SetComment(new_value);
477  }
478  if (new_feat->IsSetTitle())
479  {
480  const string &old_value = new_feat->GetTitle();
481  string new_value = ReplaceValue(old_value, find, replace, options);
482  modified |= new_value != old_value;
483  new_feat->SetTitle(new_value);
484  }
485  if (new_feat->IsSetExcept_text())
486  {
487  const string &old_value = new_feat->GetExcept_text();
488  string new_value = ReplaceValue(old_value, find, replace, options);
489  modified |= new_value != old_value;
490  new_feat->SetExcept_text(new_value);
491  }
492  EDIT_EACH_GBQUAL_ON_SEQFEAT(qual, *new_feat)
493  {
494  if ((*qual)->IsSetQual())
495  {
496  const string &old_value = (*qual)->GetQual();
497  string new_value = ReplaceValue(old_value, find, replace, options);
498  modified |= new_value != old_value;
499  (*qual)->SetQual(new_value);
500  }
501  if ((*qual)->IsSetVal())
502  {
503  const string &old_value = (*qual)->GetVal();
504  string new_value = ReplaceValue(old_value, find, replace, options);
505  modified |= new_value != old_value;
506  (*qual)->SetVal(new_value);
507  }
508  }
509  EDIT_EACH_DBXREF_ON_SEQFEAT(dbtag, *new_feat)
510  {
511  modified |= ReplaceInDbxref(**dbtag, find, replace, options);
512  }
513  if (new_feat->IsSetData())
514  {
515  if (new_feat->GetData().IsGene())
516  {
517  if (new_feat->GetData().GetGene().IsSetLocus())
518  {
519  const string &old_value = new_feat->GetData().GetGene().GetLocus();
520  string new_value = ReplaceValue(old_value, find, replace, options);
521  modified |= new_value != old_value;
522  new_feat->SetData().SetGene().SetLocus(new_value);
523  }
524  if (new_feat->GetData().GetGene().IsSetAllele())
525  {
526  const string &old_value = new_feat->GetData().GetGene().GetAllele();
527  string new_value = ReplaceValue(old_value, find, replace, options);
528  modified |= new_value != old_value;
529  new_feat->SetData().SetGene().SetAllele(new_value);
530  }
531  if (new_feat->GetData().GetGene().IsSetDesc())
532  {
533  const string &old_value = new_feat->GetData().GetGene().GetDesc();
534  string new_value = ReplaceValue(old_value, find, replace, options);
535  modified |= new_value != old_value;
536  new_feat->SetData().SetGene().SetDesc(new_value);
537  }
538  if (new_feat->GetData().GetGene().IsSetMaploc())
539  {
540  const string &old_value = new_feat->GetData().GetGene().GetMaploc();
541  string new_value = ReplaceValue(old_value, find, replace, options);
542  modified |= new_value != old_value;
543  new_feat->SetData().SetGene().SetMaploc(new_value);
544  }
545  if (new_feat->GetData().GetGene().IsSetLocus_tag())
546  {
547  const string &old_value = new_feat->GetData().GetGene().GetLocus_tag();
548  string new_value = ReplaceValue(old_value, find, replace, options);
549  modified |= new_value != old_value;
550  new_feat->SetData().SetGene().SetLocus_tag(new_value);
551  }
552  if (new_feat->GetData().GetGene().IsSetDb())
553  {
554  for (auto dbtag : new_feat->SetData().SetGene().SetDb())
555  {
556  modified |= ReplaceInDbxref(*dbtag, find, replace, options);
557  }
558  }
559  if (new_feat->GetData().GetGene().IsSetSyn())
560  {
561  for (auto &syn : new_feat->SetData().SetGene().SetSyn())
562  {
563  const string &old_value = syn;
564  string new_value = ReplaceValue(old_value, find, replace, options);
565  modified |= new_value != old_value;
566  syn = new_value;
567  }
568  }
569  }
570  if (new_feat->GetData().IsProt())
571  {
572  if (new_feat->GetData().GetProt().IsSetDesc())
573  {
574  const string &old_value = new_feat->GetData().GetProt().GetDesc();
575  string new_value = ReplaceValue(old_value, find, replace, options);
576  modified |= new_value != old_value;
577  new_feat->SetData().SetProt().SetDesc(new_value);
578  }
579  if (new_feat->GetData().GetProt().IsSetName())
580  {
581  for (auto &str : new_feat->SetData().SetProt().SetName())
582  {
583  const string &old_value = str;
584  string new_value = ReplaceValue(old_value, find, replace, options);
585  modified |= new_value != old_value;
586  str = new_value;
587  }
588  }
589  if (new_feat->GetData().GetProt().IsSetEc())
590  {
591  for (auto &str : new_feat->SetData().SetProt().SetEc())
592  {
593  const string &old_value = str;
594  string new_value = ReplaceValue(old_value, find, replace, options);
595  modified |= new_value != old_value;
596  str = new_value;
597  }
598  }
599  if (new_feat->GetData().GetProt().IsSetActivity())
600  {
601  for (auto &str : new_feat->SetData().SetProt().SetActivity())
602  {
603  const string &old_value = str;
604  string new_value = ReplaceValue(old_value, find, replace, options);
605  modified |= new_value != old_value;
606  str = new_value;
607  }
608  }
609  if (new_feat->GetData().GetProt().IsSetDb())
610  {
611  for (auto dbtag : new_feat->SetData().SetProt().SetDb())
612  {
613  modified |= ReplaceInDbxref(*dbtag, find, replace, options);
614  }
615  }
616  }
617  if (new_feat->GetData().IsRna() && new_feat->GetData().GetRna().IsSetExt())
618  {
619  if (new_feat->GetData().GetRna().GetExt().IsName())
620  {
621  const string &old_value = new_feat->GetData().GetRna().GetExt().GetName();
622  string new_value = ReplaceValue(old_value, find, replace, options);
623  modified |= new_value != old_value;
624  new_feat->SetData().SetRna().SetExt().SetName(new_value);
625  }
626  if (new_feat->GetData().GetRna().GetExt().IsGen())
627  {
628  if (new_feat->GetData().GetRna().GetExt().GetGen().IsSetClass())
629  {
630  const string &old_value = new_feat->GetData().GetRna().GetExt().GetGen().GetClass();
631  string new_value = ReplaceValue(old_value, find, replace, options);
632  modified |= new_value != old_value;
633  new_feat->SetData().SetRna().SetExt().SetGen().SetClass(new_value);
634  }
635  if (new_feat->GetData().GetRna().GetExt().GetGen().IsSetProduct())
636  {
637  const string &old_value = new_feat->GetData().GetRna().GetExt().GetGen().GetProduct();
638  string new_value = ReplaceValue(old_value, find, replace, options);
639  modified |= new_value != old_value;
640  new_feat->SetData().SetRna().SetExt().SetGen().SetProduct(new_value);
641  }
642  if (new_feat->GetData().GetRna().GetExt().GetGen().IsSetQuals() && new_feat->GetData().GetRna().GetExt().GetGen().GetQuals().IsSet())
643  {
644  for (auto qual : new_feat->SetData().SetRna().SetExt().SetGen().SetQuals().Set())
645  {
646  if (qual->IsSetVal())
647  {
648  const string &old_value = qual->GetVal();
649  string new_value = ReplaceValue(old_value, find, replace, options);
650  modified |= new_value != old_value;
651  qual->SetVal(new_value);
652  }
653  }
654  }
655  }
656  }
657  if (new_feat->GetData().IsImp())
658  {
659  if (new_feat->GetData().GetImp().IsSetLoc())
660  {
661  const string &old_value = new_feat->GetData().GetImp().GetLoc();
662  string new_value = ReplaceValue(old_value, find, replace, options);
663  modified |= new_value != old_value;
664  new_feat->SetData().SetImp().SetLoc(new_value);
665  }
666  if (new_feat->GetData().GetImp().IsSetDescr())
667  {
668  const string &old_value = new_feat->GetData().GetImp().GetDescr();
669  string new_value = ReplaceValue(old_value, find, replace, options);
670  modified |= new_value != old_value;
671  new_feat->SetData().SetImp().SetDescr(new_value);
672  }
673  }
674  if (new_feat->GetData().IsRegion())
675  {
676  const string &old_value = new_feat->GetData().GetRegion();
677  string new_value = ReplaceValue(old_value, find, replace, options);
678  modified |= new_value != old_value;
679  new_feat->SetData().SetRegion(new_value);
680  }
681  if (new_feat->GetData().IsOrg())
682  {
683  modified |= ReplaceInOrg(new_feat->SetData().SetOrg(), find, replace, options);
684  }
685  if (new_feat->GetData().IsBiosrc())
686  {
687  modified |= ReplaceInBiosource(new_feat->SetData().SetBiosrc(), find, replace, options);
688  }
689  if (new_feat->GetData().IsPub())
690  {
691  modified |= ReplaceInPubdesc(new_feat->SetData().SetPub(), find, replace, options);
692  }
693  }
694  return modified;
695 }
696 
697 string CFindASN1Dlg::ReplaceValue(const string &input, const string &find, const string &replace, CRegexp::TCompile options)
698 {
699  CRegexpUtil replacer(input);
700  replacer.Replace( find, replace, options, CRegexp::fMatch_default, 0);
701  return replacer.GetResult();
702 }
703 
704 bool CFindASN1Dlg::ReplaceInDesc(CRef<CSeqdesc> new_desc, const string &find, const string &replace, CRegexp::TCompile options)
705 {
706  bool modified = false;
707  if (new_desc->IsName())
708  {
709  const string &old_value = new_desc->GetName();
710  string new_value = ReplaceValue(old_value, find, replace, options);
711  modified |= new_value != old_value;
712  new_desc->SetName(new_value);
713  }
714  if (new_desc->IsTitle())
715  {
716  const string &old_value = new_desc->GetTitle();
717  string new_value = ReplaceValue(old_value, find, replace, options);
718  modified |= new_value != old_value;
719  new_desc->SetTitle(new_value);
720  }
721  if (new_desc->IsComment())
722  {
723  const string &old_value = new_desc->GetComment();
724  string new_value = ReplaceValue(old_value, find, replace, options);
725  modified |= new_value != old_value;
726  new_desc->SetComment(new_value);
727  }
728  if (new_desc->IsRegion())
729  {
730  const string &old_value = new_desc->GetRegion();
731  string new_value = ReplaceValue(old_value, find, replace, options);
732  modified |= new_value != old_value;
733  new_desc->SetRegion(new_value);
734  }
735  if (new_desc->IsOrg())
736  {
737  modified |= ReplaceInOrg(new_desc->SetOrg(), find, replace, options);
738  }
739  if (new_desc->IsSource())
740  {
741  modified |= ReplaceInBiosource(new_desc->SetSource(), find, replace, options);
742  }
743  if (new_desc->IsGenbank())
744  {
745  if (new_desc->GetGenbank().IsSetSource())
746  {
747  const string &old_value = new_desc->GetGenbank().GetSource();
748  string new_value = ReplaceValue(old_value, find, replace, options);
749  modified |= new_value != old_value;
750  new_desc->SetGenbank().SetSource(new_value);
751  }
752  if (new_desc->GetGenbank().IsSetOrigin())
753  {
754  const string &old_value = new_desc->GetGenbank().GetOrigin();
755  string new_value = ReplaceValue(old_value, find, replace, options);
756  modified |= new_value != old_value;
757  new_desc->SetGenbank().SetOrigin(new_value);
758  }
759  if (new_desc->GetGenbank().IsSetDate())
760  {
761  const string &old_value = new_desc->GetGenbank().GetDate();
762  string new_value = ReplaceValue(old_value, find, replace, options);
763  modified |= new_value != old_value;
764  new_desc->SetGenbank().SetDate(new_value);
765  }
766  if (new_desc->GetGenbank().IsSetDiv())
767  {
768  const string &old_value = new_desc->GetGenbank().GetDiv();
769  string new_value = ReplaceValue(old_value, find, replace, options);
770  modified |= new_value != old_value;
771  new_desc->SetGenbank().SetDiv(new_value);
772  }
773  if (new_desc->GetGenbank().IsSetTaxonomy())
774  {
775  const string &old_value = new_desc->GetGenbank().GetTaxonomy();
776  string new_value = ReplaceValue(old_value, find, replace, options);
777  modified |= new_value != old_value;
778  new_desc->SetGenbank().SetTaxonomy(new_value);
779  }
780  if (new_desc->GetGenbank().IsSetExtra_accessions())
781  for (auto &str : new_desc->SetGenbank().SetExtra_accessions())
782  {
783  const string &old_value = str;
784  string new_value = ReplaceValue(old_value, find, replace, options);
785  modified |= new_value != old_value;
786  str = new_value;
787  }
788  if (new_desc->GetGenbank().IsSetKeywords())
789  for (auto &str : new_desc->SetGenbank().SetKeywords())
790  {
791  const string &old_value = str;
792  string new_value = ReplaceValue(old_value, find, replace, options);
793  modified |= new_value != old_value;
794  str = new_value;
795  }
796  }
797  if (new_desc->IsPub())
798  {
799  modified |= ReplaceInPubdesc(new_desc->SetPub(), find, replace, options);
800  }
801  return modified;
802 }
803 
804 bool CFindASN1Dlg::ReplaceInSubmit(CRef<CSubmit_block> new_submit, const string &find, const string &replace, CRegexp::TCompile options)
805 {
806  bool modified = false;
807  if (new_submit->IsSetTool())
808  {
809  const string &old_value = new_submit->GetTool();
810  string new_value = ReplaceValue(old_value, find, replace, options);
811  modified |= new_value != old_value;
812  new_submit->SetTool(new_value);
813  }
814  if (new_submit->IsSetUser_tag())
815  {
816  const string &old_value = new_submit->GetUser_tag();
817  string new_value = ReplaceValue(old_value, find, replace, options);
818  modified |= new_value != old_value;
819  new_submit->SetUser_tag(new_value);
820  }
821  if (new_submit->IsSetComment())
822  {
823  const string &old_value = new_submit->GetComment();
824  string new_value = ReplaceValue(old_value, find, replace, options);
825  modified |= new_value != old_value;
826  new_submit->SetComment(new_value);
827  }
828  if (new_submit->IsSetContact())
829  {
830  if (new_submit->GetContact().IsSetName())
831  {
832  const string &old_value = new_submit->GetContact().GetName();
833  string new_value = ReplaceValue(old_value, find, replace, options);
834  modified |= new_value != old_value;
835  new_submit->SetContact().SetName(new_value);
836  }
837  if (new_submit->GetContact().IsSetPhone())
838  {
839  const string &old_value = new_submit->GetContact().GetPhone();
840  string new_value = ReplaceValue(old_value, find, replace, options);
841  modified |= new_value != old_value;
842  new_submit->SetContact().SetPhone(new_value);
843  }
844  if (new_submit->GetContact().IsSetFax())
845  {
846  const string &old_value = new_submit->GetContact().GetFax();
847  string new_value = ReplaceValue(old_value, find, replace, options);
848  modified |= new_value != old_value;
849  new_submit->SetContact().SetFax(new_value);
850  }
851  if (new_submit->GetContact().IsSetEmail())
852  {
853  const string &old_value = new_submit->GetContact().GetEmail();
854  string new_value = ReplaceValue(old_value, find, replace, options);
855  modified |= new_value != old_value;
856  new_submit->SetContact().SetEmail(new_value);
857  }
858  if (new_submit->GetContact().IsSetTelex())
859  {
860  const string &old_value = new_submit->GetContact().GetTelex();
861  string new_value = ReplaceValue(old_value, find, replace, options);
862  modified |= new_value != old_value;
863  new_submit->SetContact().SetTelex(new_value);
864  }
865  if (new_submit->GetContact().IsSetLast_name())
866  {
867  const string &old_value = new_submit->GetContact().GetLast_name();
868  string new_value = ReplaceValue(old_value, find, replace, options);
869  modified |= new_value != old_value;
870  new_submit->SetContact().SetLast_name(new_value);
871  }
872  if (new_submit->GetContact().IsSetFirst_name())
873  {
874  const string &old_value = new_submit->GetContact().GetFirst_name();
875  string new_value = ReplaceValue(old_value, find, replace, options);
876  modified |= new_value != old_value;
877  new_submit->SetContact().SetFirst_name(new_value);
878  }
879  if (new_submit->GetContact().IsSetMiddle_initial())
880  {
881  const string &old_value = new_submit->GetContact().GetMiddle_initial();
882  string new_value = ReplaceValue(old_value, find, replace, options);
883  modified |= new_value != old_value;
884  new_submit->SetContact().SetMiddle_initial(new_value);
885  }
886  if (new_submit->GetContact().IsSetAddress())
887  {
888  for (auto &str : new_submit->SetContact().SetAddress())
889  {
890  const string &old_value = str;
891  string new_value = ReplaceValue(old_value, find, replace, options);
892  modified |= new_value != old_value;
893  str = new_value;
894  }
895  }
896  if (new_submit->GetContact().IsSetOwner_id() && new_submit->GetContact().GetOwner_id().IsStr())
897  {
898  const string &old_value = new_submit->GetContact().GetOwner_id().GetStr();
899  string new_value = ReplaceValue(old_value, find, replace, options);
900  modified |= new_value != old_value;
901  new_submit->SetContact().SetOwner_id().SetStr(new_value);
902  }
903  if (new_submit->GetContact().IsSetContact())
904  {
905  modified |= ReplaceInAuthor(new_submit->SetContact().SetContact(), find, replace, options);
906  }
907  }
908  if (new_submit->IsSetCit())
909  {
910  if (new_submit->GetCit().IsSetDescr())
911  {
912  const string &old_value = new_submit->GetCit().GetDescr();
913  string new_value = ReplaceValue(old_value, find, replace, options);
914  modified |= new_value != old_value;
915  new_submit->SetCit().SetDescr(new_value);
916  }
917  if (new_submit->GetCit().IsSetAuthors())
918  {
919  modified |= ReplaceInAuthList(new_submit->SetCit().SetAuthors(), find, replace, options);
920  }
921  }
922  return modified;
923 }
924 
925 bool CFindASN1Dlg::ReplaceInDbxref(CDbtag &dbtag, const string &find, const string &replace, CRegexp::TCompile options)
926 {
927  bool modified = false;
928  if (dbtag.IsSetDb())
929  {
930  const string &old_value = dbtag.GetDb();
931  string new_value = ReplaceValue(old_value, find, replace, options);
932  modified |= new_value != old_value;
933  dbtag.SetDb(new_value);
934  }
935  if (dbtag.IsSetTag() && dbtag.GetTag().IsStr())
936  {
937  const string &old_value = dbtag.GetTag().GetStr();
938  string new_value = ReplaceValue(old_value, find, replace, options);
939  modified |= new_value != old_value;
940  dbtag.SetTag().SetStr(new_value);
941  }
942  return modified;
943 }
944 
945 bool CFindASN1Dlg::ReplaceInOrg(COrg_ref &org, const string &find, const string &replace, CRegexp::TCompile options)
946 {
947  bool modified = false;
948  if (org.IsSetTaxname())
949  {
950  const string &old_value = org.GetTaxname();
951  string new_value = ReplaceValue(old_value, find, replace, options);
952  modified |= new_value != old_value;
953  if (old_value != new_value)
954  {
955  org.ResetCommon();
956  if (org.IsSetDb())
957  {
958  EDIT_EACH_DBXREF_ON_ORGREF(dbtag, org)
959  {
960  if ((*dbtag)->IsSetDb() && NStr::EqualNocase((*dbtag)->GetDb(), "taxon"))
961  ERASE_DBXREF_ON_ORGREF(dbtag, org);
962  }
963  }
964  }
965  org.SetTaxname(new_value);
966  }
967  if (org.IsSetCommon())
968  {
969  const string &old_value = org.GetCommon();
970  string new_value = ReplaceValue(old_value, find, replace, options);
971  modified |= new_value != old_value;
972  org.SetCommon(new_value);
973  }
974  if (org.IsSetMod())
975  {
976  for (auto &str : org.SetMod())
977  {
978  const string &old_value = str;
979  string new_value = ReplaceValue(old_value, find, replace, options);
980  modified |= new_value != old_value;
981  str = new_value;
982  }
983  }
984  if (org.IsSetSyn())
985  {
986  for (auto &syn : org.SetSyn())
987  {
988  const string &old_value = syn;
989  string new_value = ReplaceValue(old_value, find, replace, options);
990  modified |= new_value != old_value;
991  syn = new_value;
992  }
993  }
994  if (org.IsSetDb())
995  {
996  EDIT_EACH_DBXREF_ON_ORGREF(dbtag, org)
997  {
998  modified |= ReplaceInDbxref(**dbtag, find, replace, options);
999  }
1000  }
1001  if (org.IsSetOrgname())
1002  {
1003  if (org.GetOrgname().IsSetAttrib())
1004  {
1005  const string &old_value = org.GetOrgname().GetAttrib();
1006  string new_value = ReplaceValue(old_value, find, replace, options);
1007  modified |= new_value != old_value;
1008  org.SetOrgname().SetAttrib(new_value);
1009  }
1010  if (org.GetOrgname().IsSetLineage())
1011  {
1012  const string &old_value = org.GetOrgname().GetLineage();
1013  string new_value = ReplaceValue(old_value, find, replace, options);
1014  modified |= new_value != old_value;
1015  org.SetOrgname().SetLineage(new_value);
1016  }
1017  if (org.GetOrgname().IsSetDiv())
1018  {
1019  const string &old_value = org.GetOrgname().GetDiv();
1020  string new_value = ReplaceValue(old_value, find, replace, options);
1021  modified |= new_value != old_value;
1022  org.SetOrgname().SetDiv(new_value);
1023  }
1024  if (org.GetOrgname().IsSetMod())
1025  {
1026  for (auto mod : org.SetOrgname().SetMod())
1027  {
1028  if (mod->IsSetSubname())
1029  {
1030  const string &old_value = mod->GetSubname();
1031  string new_value = ReplaceValue(old_value, find, replace, options);
1032  modified |= new_value != old_value;
1033  mod->SetSubname(new_value);
1034  }
1035  if (mod->IsSetAttrib())
1036  {
1037  const string &old_value = mod->GetAttrib();
1038  string new_value = ReplaceValue(old_value, find, replace, options);
1039  modified |= new_value != old_value;
1040  mod->SetAttrib(new_value);
1041  }
1042  }
1043  }
1044  }
1045  return modified;
1046 }
1047 
1048 bool CFindASN1Dlg::ReplaceInBiosource(CBioSource &biosource, const string &find, const string &replace, CRegexp::TCompile options)
1049 {
1050  bool modified = false;
1051  if (biosource.IsSetSubtype())
1052  {
1053  for (auto subsource : biosource.SetSubtype())
1054  {
1055  if (subsource->IsSetAttrib())
1056  {
1057  const string &old_value = subsource->GetAttrib();
1058  string new_value = ReplaceValue(old_value, find, replace, options);
1059  modified |= new_value != old_value;
1060  subsource->SetAttrib(new_value);
1061  }
1062  if (subsource->IsSetName() && subsource->IsSetSubtype()
1063  && subsource->GetSubtype() != CSubSource::eSubtype_germline
1064  && subsource->GetSubtype() != CSubSource::eSubtype_rearranged
1065  && subsource->GetSubtype() != CSubSource::eSubtype_transgenic
1066  && subsource->GetSubtype() != CSubSource::eSubtype_environmental_sample
1067  && subsource->GetSubtype() != CSubSource::eSubtype_metagenomic)
1068  {
1069  const string &old_value = subsource->GetName();
1070  string new_value = ReplaceValue(old_value, find, replace, options);
1071  modified |= new_value != old_value;
1072  subsource->SetName(new_value);
1073  }
1074  }
1075  }
1076  if (biosource.IsSetOrg())
1077  {
1078  modified |= ReplaceInOrg(biosource.SetOrg(), find, replace, options);
1079  }
1080 
1081  return modified;
1082 }
1083 
1084 bool CFindASN1Dlg::ReplaceInPubdesc(CPubdesc &pubdesc, const string &find, const string &replace, CRegexp::TCompile options)
1085 {
1086  bool modified = false;
1087  if (pubdesc.IsSetComment())
1088  {
1089  const string &old_value = pubdesc.GetComment();
1090  string new_value = ReplaceValue(old_value, find, replace, options);
1091  modified |= new_value != old_value;
1092  pubdesc.SetComment(new_value);
1093  }
1094  if (pubdesc.IsSetPub() && pubdesc.GetPub().IsSet())
1095  {
1096  for (auto pub : pubdesc.SetPub().Set())
1097  {
1098  modified |= ReplaceInPub(pub, find, replace, options);
1099  }
1100  }
1101  return modified;
1102 }
1103 
1104 bool CFindASN1Dlg::ReplaceInPub(CRef<CPub> pub, const string &find, const string &replace, CRegexp::TCompile options)
1105 {
1106  bool modified = false;
1107  if (pub->IsGen())
1108  {
1109  if (pub->GetGen().IsSetCit())
1110  {
1111  const string &old_value = pub->GetGen().GetCit();
1112  string new_value = ReplaceValue(old_value, find, replace, options);
1113  modified |= new_value != old_value;
1114  pub->SetGen().SetCit(new_value);
1115  }
1116  if (pub->GetGen().IsSetVolume())
1117  {
1118  const string &old_value = pub->GetGen().GetVolume();
1119  string new_value = ReplaceValue(old_value, find, replace, options);
1120  modified |= new_value != old_value;
1121  pub->SetGen().SetVolume(new_value);
1122  }
1123  if (pub->GetGen().IsSetIssue())
1124  {
1125  const string &old_value = pub->GetGen().GetIssue();
1126  string new_value = ReplaceValue(old_value, find, replace, options);
1127  modified |= new_value != old_value;
1128  pub->SetGen().SetIssue(new_value);
1129  }
1130  if (pub->GetGen().IsSetPages())
1131  {
1132  const string &old_value = pub->GetGen().GetPages();
1133  string new_value = ReplaceValue(old_value, find, replace, options);
1134  modified |= new_value != old_value;
1135  pub->SetGen().SetPages(new_value);
1136  }
1137  if (pub->GetGen().IsSetTitle())
1138  {
1139  const string &old_value = pub->GetGen().GetTitle();
1140  string new_value = ReplaceValue(old_value, find, replace, options);
1141  modified |= new_value != old_value;
1142  pub->SetGen().SetTitle(new_value);
1143  }
1144  if (pub->GetGen().IsSetAuthors())
1145  {
1146  modified |= ReplaceInAuthList(pub->SetGen().SetAuthors(), find, replace, options);
1147  }
1148  if (pub->GetGen().IsSetJournal() && pub->GetGen().GetJournal().IsSet())
1149  {
1150  for (auto journal : pub->SetGen().SetJournal().Set())
1151  {
1152  modified |= ReplaceInJournal(journal, find, replace, options);
1153  }
1154  }
1155  }
1156  if (pub->IsSub())
1157  {
1158  if (pub->GetSub().IsSetAuthors())
1159  {
1160  modified |= ReplaceInAuthList(pub->SetSub().SetAuthors(), find, replace, options);
1161  }
1162  if (pub->GetSub().IsSetDescr())
1163  {
1164  const string &old_value = pub->GetSub().GetDescr();
1165  string new_value = ReplaceValue(old_value, find, replace, options);
1166  modified |= new_value != old_value;
1167  pub->SetSub().SetDescr(new_value);
1168  }
1169  }
1170  if (pub->IsMedline())
1171  {
1172  if (pub->GetMedline().IsSetCit())
1173  {
1174  modified |= ReplaceInArticle(pub->SetMedline().SetCit(), find, replace, options);
1175  }
1176  if (pub->GetMedline().IsSetAbstract())
1177  {
1178  const string &old_value = pub->GetMedline().GetAbstract();
1179  string new_value = ReplaceValue(old_value, find, replace, options);
1180  modified |= new_value != old_value;
1181  pub->SetMedline().SetAbstract(new_value);
1182  }
1183  if (pub->GetMedline().IsSetSubstance())
1184  {
1185  for (auto substance : pub->SetMedline().SetSubstance())
1186  {
1187  if (substance->IsSetCit())
1188  {
1189  const string &old_value = substance->GetCit();
1190  string new_value = ReplaceValue(old_value, find, replace, options);
1191  modified |= new_value != old_value;
1192  substance->SetCit(new_value);
1193  }
1194  if (substance->IsSetName())
1195  {
1196  const string &old_value = substance->GetName();
1197  string new_value = ReplaceValue(old_value, find, replace, options);
1198  modified |= new_value != old_value;
1199  substance->SetName(new_value);
1200  }
1201  }
1202  }
1203  if (pub->GetMedline().IsSetMesh())
1204  {
1205  for (auto mesh : pub->SetMedline().SetMesh())
1206  {
1207  if (mesh->IsSetTerm())
1208  {
1209  const string &old_value = mesh->GetTerm();
1210  string new_value = ReplaceValue(old_value, find, replace, options);
1211  modified |= new_value != old_value;
1212  mesh->SetTerm(new_value);
1213  }
1214  }
1215  }
1216  if (pub->GetMedline().IsSetXref())
1217  {
1218  for (auto xref : pub->SetMedline().SetXref())
1219  {
1220  if (xref->IsSetCit())
1221  {
1222  const string &old_value = xref->GetCit();
1223  string new_value = ReplaceValue(old_value, find, replace, options);
1224  modified |= new_value != old_value;
1225  xref->SetCit(new_value);
1226  }
1227  }
1228  }
1229  if (pub->GetMedline().IsSetIdnum())
1230  {
1231  for (auto &str : pub->SetMedline().SetIdnum())
1232  {
1233  const string &old_value = str;
1234  string new_value = ReplaceValue(old_value, find, replace, options);
1235  modified |= new_value != old_value;
1236  str = new_value;
1237  }
1238  }
1239  if (pub->GetMedline().IsSetGene())
1240  {
1241  for (auto &str : pub->SetMedline().SetGene())
1242  {
1243  const string &old_value = str;
1244  string new_value = ReplaceValue(old_value, find, replace, options);
1245  modified |= new_value != old_value;
1246  str = new_value;
1247  }
1248  }
1249  if (pub->GetMedline().IsSetPub_type())
1250  {
1251  for (auto &str : pub->SetMedline().SetPub_type())
1252  {
1253  const string &old_value = str;
1254  string new_value = ReplaceValue(old_value, find, replace, options);
1255  modified |= new_value != old_value;
1256  str = new_value;
1257  }
1258  }
1259  if (pub->GetMedline().IsSetMlfield())
1260  {
1261  for (auto field : pub->SetMedline().SetMlfield())
1262  {
1263  if (field->IsSetStr())
1264  {
1265  const string &old_value = field->GetStr();
1266  string new_value = ReplaceValue(old_value, find, replace, options);
1267  modified |= new_value != old_value;
1268  field->SetStr(new_value);
1269  }
1270  }
1271  }
1272  }
1273  if (pub->IsArticle())
1274  {
1275  modified |= ReplaceInArticle(pub->SetArticle(), find, replace, options);
1276  }
1277  if (pub->IsJournal())
1278  {
1279  if (pub->GetJournal().IsSetTitle() && pub->GetJournal().GetTitle().IsSet())
1280  {
1281  for (auto journal : pub->SetJournal().SetTitle().Set())
1282  {
1283  modified |= ReplaceInJournal(journal, find, replace, options);
1284  }
1285  }
1286  if (pub->GetJournal().IsSetImp())
1287  {
1288  modified |= ReplaceInImp(pub->SetJournal().SetImp(), find, replace, options);
1289  }
1290  }
1291  if (pub->IsBook())
1292  {
1293  modified |= ReplaceInBook(pub->SetBook(), find, replace, options);
1294  }
1295  if (pub->IsProc())
1296  {
1297  if (pub->GetProc().IsSetBook())
1298  {
1299  modified |= ReplaceInBook(pub->SetProc().SetBook(), find, replace, options);
1300  }
1301  if (pub->GetProc().IsSetMeet())
1302  {
1303  if (pub->GetProc().GetMeet().IsSetNumber())
1304  {
1305  const string &old_value = pub->GetProc().GetMeet().GetNumber();
1306  string new_value = ReplaceValue(old_value, find, replace, options);
1307  modified |= new_value != old_value;
1308  pub->SetProc().SetMeet().SetNumber(new_value);
1309  }
1310  if (pub->GetProc().GetMeet().IsSetPlace())
1311  {
1312  modified |= ReplaceInAffil(pub->SetProc().SetMeet().SetPlace(), find, replace, options);
1313  }
1314  }
1315  }
1316  if (pub->IsPatent())
1317  {
1318  if (pub->GetPatent().IsSetAuthors())
1319  {
1320  modified |= ReplaceInAuthList(pub->SetPatent().SetAuthors(), find, replace, options);
1321  }
1322  if (pub->GetPatent().IsSetApplicants())
1323  {
1324  modified |= ReplaceInAuthList(pub->SetPatent().SetApplicants(), find, replace, options);
1325  }
1326  if (pub->GetPatent().IsSetAuthors())
1327  {
1328  modified |= ReplaceInAuthList(pub->SetPatent().SetAuthors(), find, replace, options);
1329  }
1330  if (pub->GetPatent().IsSetCountry())
1331  {
1332  const string &old_value = pub->GetPatent().GetCountry();
1333  string new_value = ReplaceValue(old_value, find, replace, options);
1334  modified |= new_value != old_value;
1335  pub->SetPatent().SetCountry(new_value);
1336  }
1337  if (pub->GetPatent().IsSetTitle())
1338  {
1339  const string &old_value = pub->GetPatent().GetTitle();
1340  string new_value = ReplaceValue(old_value, find, replace, options);
1341  modified |= new_value != old_value;
1342  pub->SetPatent().SetTitle(new_value);
1343  }
1344  if (pub->GetPatent().IsSetDoc_type())
1345  {
1346  const string &old_value = pub->GetPatent().GetDoc_type();
1347  string new_value = ReplaceValue(old_value, find, replace, options);
1348  modified |= new_value != old_value;
1349  pub->SetPatent().SetDoc_type(new_value);
1350  }
1351  if (pub->GetPatent().IsSetNumber())
1352  {
1353  const string &old_value = pub->GetPatent().GetNumber();
1354  string new_value = ReplaceValue(old_value, find, replace, options);
1355  modified |= new_value != old_value;
1356  pub->SetPatent().SetNumber(new_value);
1357  }
1358  if (pub->GetPatent().IsSetApp_number())
1359  {
1360  const string &old_value = pub->GetPatent().GetApp_number();
1361  string new_value = ReplaceValue(old_value, find, replace, options);
1362  modified |= new_value != old_value;
1363  pub->SetPatent().SetApp_number(new_value);
1364  }
1365  if (pub->GetPatent().IsSetAbstract())
1366  {
1367  const string &old_value = pub->GetPatent().GetAbstract();
1368  string new_value = ReplaceValue(old_value, find, replace, options);
1369  modified |= new_value != old_value;
1370  pub->SetPatent().SetAbstract(new_value);
1371  }
1372 
1373  }
1374  if (pub->IsPat_id())
1375  {
1376  if (pub->GetPat_id().IsSetCountry())
1377  {
1378  const string &old_value = pub->GetPat_id().GetCountry();
1379  string new_value = ReplaceValue(old_value, find, replace, options);
1380  modified |= new_value != old_value;
1381  pub->SetPat_id().SetCountry(new_value);
1382  }
1383  if (pub->GetPat_id().IsSetDoc_type())
1384  {
1385  const string &old_value = pub->GetPat_id().GetDoc_type();
1386  string new_value = ReplaceValue(old_value, find, replace, options);
1387  modified |= new_value != old_value;
1388  pub->SetPat_id().SetDoc_type(new_value);
1389  }
1390  if (pub->GetPat_id().IsSetId() && pub->GetPat_id().GetId().IsNumber())
1391  {
1392  const string &old_value = pub->GetPat_id().GetId().GetNumber();
1393  string new_value = ReplaceValue(old_value, find, replace, options);
1394  modified |= new_value != old_value;
1395  pub->SetPat_id().SetId().SetNumber(new_value);
1396  }
1397  if (pub->GetPat_id().IsSetId() && pub->GetPat_id().GetId().IsApp_number())
1398  {
1399  const string &old_value = pub->GetPat_id().GetId().GetApp_number();
1400  string new_value = ReplaceValue(old_value, find, replace, options);
1401  modified |= new_value != old_value;
1402  pub->SetPat_id().SetId().SetApp_number(new_value);
1403  }
1404  }
1405  if (pub->IsMan() && pub->GetMan().IsSetCit())
1406  {
1407  modified |= ReplaceInBook(pub->SetMan().SetCit(), find, replace, options);
1408  }
1409  if (pub->IsEquiv() && pub->GetEquiv().IsSet())
1410  {
1411  for (auto pub_equiv : pub->SetEquiv().Set())
1412  {
1413  modified |= ReplaceInPub(pub_equiv, find, replace, options);
1414  }
1415  }
1416  return modified;
1417 }
1418 
1419 bool CFindASN1Dlg::ReplaceInAuthList(CAuth_list &auth, const string &find, const string &replace, CRegexp::TCompile options)
1420 {
1421  bool modified = false;
1422  if (auth.IsSetAffil())
1423  {
1424  modified |= ReplaceInAffil(auth.SetAffil(), find, replace, options);
1425  }
1426  if (auth.IsSetNames())
1427  {
1428  if (auth.GetNames().IsStd())
1429  {
1430  for (auto author : auth.SetNames().SetStd())
1431  {
1432  modified |= ReplaceInAuthor(*author, find, replace, options);
1433  }
1434  }
1435  if (auth.GetNames().IsMl())
1436  {
1437  for (auto &str : auth.SetNames().SetMl())
1438  {
1439  const string &old_value = str;
1440  string new_value = ReplaceValue(old_value, find, replace, options);
1441  modified |= new_value != old_value;
1442  str = new_value;
1443  }
1444  }
1445  if (auth.GetNames().IsStr())
1446  {
1447  for (auto &str : auth.SetNames().SetStr())
1448  {
1449  const string &old_value = str;
1450  string new_value = ReplaceValue(old_value, find, replace, options);
1451  modified |= new_value != old_value;
1452  str = new_value;
1453  }
1454  }
1455  }
1456 
1457  return modified;
1458 }
1459 
1460 bool CFindASN1Dlg::ReplaceInJournal(CRef<CTitle::C_E> journal, const string &find, const string &replace, CRegexp::TCompile options)
1461 {
1462  bool modified = false;
1463  string *str = NULL;
1464  switch(journal->Which())
1465  {
1466  case CTitle::C_E::e_Name : str = &journal->SetName(); break;
1467  case CTitle::C_E::e_Tsub : str = &journal->SetTsub(); break;
1468  case CTitle::C_E::e_Trans : str = &journal->SetTrans(); break;
1469  case CTitle::C_E::e_Jta : str = &journal->SetJta(); break;
1470  case CTitle::C_E::e_Iso_jta : str = &journal->SetIso_jta(); break;
1471  case CTitle::C_E::e_Ml_jta : str = &journal->SetMl_jta(); break;
1472  case CTitle::C_E::e_Coden : str = &journal->SetCoden(); break;
1473  case CTitle::C_E::e_Issn : str = &journal->SetIssn(); break;
1474  case CTitle::C_E::e_Abr : str = &journal->SetAbr(); break;
1475  case CTitle::C_E::e_Isbn : str = &journal->SetIsbn(); break;
1476  default: break;
1477  }
1478 
1479  if (str)
1480  {
1481  const string &old_value = *str;
1482  string new_value = ReplaceValue(old_value, find, replace, options);
1483  modified |= new_value != old_value;
1484  *str = new_value;
1485  }
1486  return modified;
1487 }
1488 
1489 bool CFindASN1Dlg::ReplaceInAffil(CAffil &affil, const string &find, const string &replace, CRegexp::TCompile options)
1490 {
1491  bool modified = false;
1492  if (affil.IsStr())
1493  {
1494  const string &old_value = affil.GetStr();
1495  string new_value = ReplaceValue(old_value, find, replace, options);
1496  modified |= new_value != old_value;
1497  affil.SetStr(new_value);
1498  }
1499  if (affil.IsStd())
1500  {
1501  if (affil.GetStd().IsSetAffil())
1502  {
1503  const string &old_value = affil.GetStd().GetAffil();
1504  string new_value = ReplaceValue(old_value, find, replace, options);
1505  modified |= new_value != old_value;
1506  affil.SetStd().SetAffil(new_value);
1507  }
1508  if (affil.GetStd().IsSetDiv())
1509  {
1510  const string &old_value = affil.GetStd().GetDiv();
1511  string new_value = ReplaceValue(old_value, find, replace, options);
1512  modified |= new_value != old_value;
1513  affil.SetStd().SetDiv(new_value);
1514  }
1515  if (affil.GetStd().IsSetCity())
1516  {
1517  const string &old_value = affil.GetStd().GetCity();
1518  string new_value = ReplaceValue(old_value, find, replace, options);
1519  modified |= new_value != old_value;
1520  affil.SetStd().SetCity(new_value);
1521  }
1522  if (affil.GetStd().IsSetSub())
1523  {
1524  const string &old_value = affil.GetStd().GetSub();
1525  string new_value = ReplaceValue(old_value, find, replace, options);
1526  modified |= new_value != old_value;
1527  affil.SetStd().SetSub(new_value);
1528  }
1529  if (affil.GetStd().IsSetCountry())
1530  {
1531  const string &old_value = affil.GetStd().GetCountry();
1532  string new_value = ReplaceValue(old_value, find, replace, options);
1533  modified |= new_value != old_value;
1534  affil.SetStd().SetCountry(new_value);
1535  }
1536  if (affil.GetStd().IsSetStreet())
1537  {
1538  const string &old_value = affil.GetStd().GetStreet();
1539  string new_value = ReplaceValue(old_value, find, replace, options);
1540  modified |= new_value != old_value;
1541  affil.SetStd().SetStreet(new_value);
1542  }
1543  if (affil.GetStd().IsSetEmail())
1544  {
1545  const string &old_value = affil.GetStd().GetEmail();
1546  string new_value = ReplaceValue(old_value, find, replace, options);
1547  modified |= new_value != old_value;
1548  affil.SetStd().SetEmail(new_value);
1549  }
1550  if (affil.GetStd().IsSetFax())
1551  {
1552  const string &old_value = affil.GetStd().GetFax();
1553  string new_value = ReplaceValue(old_value, find, replace, options);
1554  modified |= new_value != old_value;
1555  affil.SetStd().SetFax(new_value);
1556  }
1557  if (affil.GetStd().IsSetPhone())
1558  {
1559  const string &old_value = affil.GetStd().GetPhone();
1560  string new_value = ReplaceValue(old_value, find, replace, options);
1561  modified |= new_value != old_value;
1562  affil.SetStd().SetPhone(new_value);
1563  }
1564  if (affil.GetStd().IsSetPostal_code())
1565  {
1566  const string &old_value = affil.GetStd().GetPostal_code();
1567  string new_value = ReplaceValue(old_value, find, replace, options);
1568  modified |= new_value != old_value;
1569  affil.SetStd().SetPostal_code(new_value);
1570  }
1571  }
1572  return modified;
1573 }
1574 
1575 bool CFindASN1Dlg::ReplaceInAuthor(CAuthor &author, const string &find, const string &replace, CRegexp::TCompile options)
1576 {
1577  bool modified = false;
1578  if (author.IsSetAffil())
1579  {
1580  modified |= ReplaceInAffil(author.SetAffil(), find, replace, options);
1581  }
1582  if (author.IsSetName())
1583  {
1584  if (author.GetName().IsDbtag())
1585  {
1586  modified |= ReplaceInDbxref(author.SetName().SetDbtag(), find, replace, options);
1587  }
1588  if (author.GetName().IsMl())
1589  {
1590  const string &old_value = author.GetName().GetMl();
1591  string new_value = ReplaceValue(old_value, find, replace, options);
1592  modified |= new_value != old_value;
1593  author.SetName().SetMl(new_value);
1594  }
1595  if (author.GetName().IsStr())
1596  {
1597  const string &old_value = author.GetName().GetStr();
1598  string new_value = ReplaceValue(old_value, find, replace, options);
1599  modified |= new_value != old_value;
1600  author.SetName().SetStr(new_value);
1601  }
1602  if (author.GetName().IsConsortium())
1603  {
1604  const string &old_value = author.GetName().GetConsortium();
1605  string new_value = ReplaceValue(old_value, find, replace, options);
1606  modified |= new_value != old_value;
1607  author.SetName().SetConsortium(new_value);
1608  }
1609  if (author.GetName().IsName())
1610  {
1611  if (author.GetName().GetName().IsSetLast())
1612  {
1613  const string &old_value = author.GetName().GetName().GetLast();
1614  string new_value = ReplaceValue(old_value, find, replace, options);
1615  modified |= new_value != old_value;
1616  author.SetName().SetName().SetLast(new_value);
1617  }
1618  if (author.GetName().GetName().IsSetFirst())
1619  {
1620  const string &old_value = author.GetName().GetName().GetFirst();
1621  string new_value = ReplaceValue(old_value, find, replace, options);
1622  modified |= new_value != old_value;
1623  author.SetName().SetName().SetFirst(new_value);
1624  }
1625  if (author.GetName().GetName().IsSetMiddle())
1626  {
1627  const string &old_value = author.GetName().GetName().GetMiddle();
1628  string new_value = ReplaceValue(old_value, find, replace, options);
1629  modified |= new_value != old_value;
1630  author.SetName().SetName().SetMiddle(new_value);
1631  }
1632  if (author.GetName().GetName().IsSetFull())
1633  {
1634  const string &old_value = author.GetName().GetName().GetFull();
1635  string new_value = ReplaceValue(old_value, find, replace, options);
1636  modified |= new_value != old_value;
1637  author.SetName().SetName().SetFull(new_value);
1638  }
1639  if (author.GetName().GetName().IsSetInitials())
1640  {
1641  const string &old_value = author.GetName().GetName().GetInitials();
1642  string new_value = ReplaceValue(old_value, find, replace, options);
1643  modified |= new_value != old_value;
1644  author.SetName().SetName().SetInitials(new_value);
1645  }
1646  if (author.GetName().GetName().IsSetSuffix())
1647  {
1648  const string &old_value = author.GetName().GetName().GetSuffix();
1649  string new_value = ReplaceValue(old_value, find, replace, options);
1650  modified |= new_value != old_value;
1651  author.SetName().SetName().SetSuffix(new_value);
1652  }
1653  if (author.GetName().GetName().IsSetTitle())
1654  {
1655  const string &old_value = author.GetName().GetName().GetTitle();
1656  string new_value = ReplaceValue(old_value, find, replace, options);
1657  modified |= new_value != old_value;
1658  author.SetName().SetName().SetTitle(new_value);
1659  }
1660  }
1661  }
1662 
1663  return modified;
1664 }
1665 
1666 bool CFindASN1Dlg::ReplaceInArticle(CCit_art &article, const string &find, const string &replace, CRegexp::TCompile options)
1667 {
1668  bool modified = false;
1669  if (article.IsSetAuthors())
1670  {
1671  modified |= ReplaceInAuthList(article.SetAuthors(), find, replace, options);
1672  }
1673  if (article.IsSetTitle() && article.GetTitle().IsSet())
1674  {
1675  for (auto journal : article.SetTitle().Set())
1676  {
1677  modified |= ReplaceInJournal(journal, find, replace, options);
1678  }
1679  }
1680  if (article.IsSetFrom())
1681  {
1682  if (article.GetFrom().IsJournal())
1683  {
1684  if (article.GetFrom().GetJournal().IsSetTitle() && article.GetFrom().GetJournal().GetTitle().IsSet())
1685  {
1686  for (auto journal : article.SetFrom().SetJournal().SetTitle().Set())
1687  {
1688  modified |= ReplaceInJournal(journal, find, replace, options);
1689  }
1690  }
1691  if (article.GetFrom().GetJournal().IsSetImp())
1692  {
1693  modified |= ReplaceInImp(article.SetFrom().SetJournal().SetImp(), find, replace, options);
1694  }
1695  }
1696  if (article.GetFrom().IsBook())
1697  {
1698  modified |= ReplaceInBook(article.SetFrom().SetBook(), find, replace, options);
1699  }
1700  if (article.GetFrom().IsProc())
1701  {
1702  if (article.GetFrom().GetProc().IsSetBook())
1703  {
1704  modified |= ReplaceInBook(article.SetFrom().SetProc().SetBook(), find, replace, options);
1705  }
1706  }
1707  }
1708  return modified;
1709 }
1710 
1711 bool CFindASN1Dlg::ReplaceInImp(CImprint &imp, const string &find, const string &replace, CRegexp::TCompile options)
1712 {
1713  bool modified = false;
1714  if (imp.IsSetVolume())
1715  {
1716  const string &old_value = imp.GetVolume();
1717  string new_value = ReplaceValue(old_value, find, replace, options);
1718  modified |= new_value != old_value;
1719  imp.SetVolume(new_value);
1720  }
1721  if (imp.IsSetIssue())
1722  {
1723  const string &old_value = imp.GetIssue();
1724  string new_value = ReplaceValue(old_value, find, replace, options);
1725  modified |= new_value != old_value;
1726  imp.SetIssue(new_value);
1727  }
1728  if (imp.IsSetPages())
1729  {
1730  const string &old_value = imp.GetPages();
1731  string new_value = ReplaceValue(old_value, find, replace, options);
1732  modified |= new_value != old_value;
1733  imp.SetPages(new_value);
1734  }
1735  if (imp.IsSetSection())
1736  {
1737  const string &old_value = imp.GetSection();
1738  string new_value = ReplaceValue(old_value, find, replace, options);
1739  modified |= new_value != old_value;
1740  imp.SetSection(new_value);
1741  }
1742  if (imp.IsSetLanguage())
1743  {
1744  const string &old_value = imp.GetLanguage();
1745  string new_value = ReplaceValue(old_value, find, replace, options);
1746  modified |= new_value != old_value;
1747  imp.SetLanguage(new_value);
1748  }
1749  if (imp.IsSetPart_sup())
1750  {
1751  const string &old_value = imp.GetPart_sup();
1752  string new_value = ReplaceValue(old_value, find, replace, options);
1753  modified |= new_value != old_value;
1754  imp.SetPart_sup(new_value);
1755  }
1756  if (imp.IsSetPart_supi())
1757  {
1758  const string &old_value = imp.GetPart_supi();
1759  string new_value = ReplaceValue(old_value, find, replace, options);
1760  modified |= new_value != old_value;
1761  imp.SetPart_supi(new_value);
1762  }
1763  if (imp.IsSetPub())
1764  {
1765  modified |= ReplaceInAffil(imp.SetPub(), find, replace, options);
1766  }
1767  if (imp.IsSetRetract() && imp.GetRetract().IsSetExp())
1768  {
1769  const string &old_value = imp.GetRetract().GetExp();
1770  string new_value = ReplaceValue(old_value, find, replace, options);
1771  modified |= new_value != old_value;
1772  imp.SetRetract().SetExp(new_value);
1773  }
1774 
1775  return modified;
1776 }
1777 
1778 bool CFindASN1Dlg::ReplaceInBook(CCit_book &book, const string &find, const string &replace, CRegexp::TCompile options)
1779 {
1780  bool modified = false;
1781  if (book.IsSetTitle() && book.GetTitle().IsSet())
1782  {
1783  for (auto journal : book.SetTitle().Set())
1784  {
1785  modified |= ReplaceInJournal(journal, find, replace, options);
1786  }
1787  }
1788  if (book.IsSetColl() && book.GetColl().IsSet())
1789  {
1790  for (auto journal : book.SetColl().Set())
1791  {
1792  modified |= ReplaceInJournal(journal, find, replace, options);
1793  }
1794  }
1795  if (book.IsSetAuthors())
1796  {
1797  modified |= ReplaceInAuthList(book.SetAuthors(), find, replace, options);
1798  }
1799  if (book.IsSetImp())
1800  {
1801  modified |= ReplaceInImp(book.SetImp(), find, replace, options);
1802  }
1803  return modified;
1804 }
1805 
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
@Affil.hpp User-defined methods of the data storage class.
Definition: Affil.hpp:56
@Auth_list.hpp User-defined methods of the data storage class.
Definition: Auth_list.hpp:57
CAuthor –.
Definition: Author.hpp:59
Definition: Dbtag.hpp:53
CFeat_CI –.
Definition: feat_ci.hpp:64
bool ReplaceInPub(CRef< objects::CPub > pub, const string &find, const string &replace, CRegexp::TCompile options)
static bool ShowToolTips()
Should we show tooltips?
wxCheckBox * m_EntireWord
virtual void SetRegistryPath(const string &reg_path)
void ReplaceLinebreaks(string &input)
bool ReplaceInJournal(CRef< objects::CTitle::C_E > journal, const string &find, const string &replace, CRegexp::TCompile options)
wxTextCtrl * m_Replace
wxCheckBox * m_AutoCopy
bool ReplaceInArticle(objects::CCit_art &article, const string &find, const string &replace, CRegexp::TCompile options)
string ReplaceValue(const string &input, const string &find, const string &replace, CRegexp::TCompile options)
virtual void SaveSettings() const
bool ReplaceInDbxref(objects::CDbtag &dbtag, const string &find, const string &replace, CRegexp::TCompile options)
CConstRef< objects::CSeq_submit > m_SeqSubmit
CFindASN1Dlg()
Constructors.
wxTextCtrl * m_Find
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
void OnFindText(wxCommandEvent &event)
void OnCancelButton(wxCommandEvent &event)
bool ReplaceInAuthList(objects::CAuth_list &auth, const string &find, const string &replace, CRegexp::TCompile options)
bool ReplaceInOrg(objects::COrg_ref &org, const string &find, const string &replace, CRegexp::TCompile options)
ICommandProccessor * m_CmdProcessor
bool ReplaceInImp(objects::CImprint &imp, const string &find, const string &replace, CRegexp::TCompile options)
bool ReplaceInSubmit(CRef< objects::CSubmit_block > new_submit, const string &find, const string &replace, CRegexp::TCompile options)
objects::CSeq_entry_Handle m_TopSeqEntry
wxCheckBox * m_CaseSensitive
bool ReplaceInAffil(objects::CAffil &affil, const string &find, const string &replace, CRegexp::TCompile options)
bool ReplaceInFeature(CRef< objects::CSeq_feat > new_feat, const string &find, const string &replace, CRegexp::TCompile options)
bool ReplaceInAuthor(objects::CAuthor &author, const string &find, const string &replace, CRegexp::TCompile options)
~CFindASN1Dlg()
Destructor.
void OnClearButton(wxCommandEvent &event)
bool ReplaceInBiosource(objects::CBioSource &biosource, const string &find, const string &replace, CRegexp::TCompile options)
void OnClose(wxCloseEvent &event)
bool Create(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &caption=_("Find ASN1 Dialog"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(200, 100), long style=wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL)
Creation.
virtual void LoadSettings()
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
bool ReplaceInPubdesc(objects::CPubdesc &pubdesc, const string &find, const string &replace, CRegexp::TCompile options)
void Init()
Initialises member variables.
void OnCopyButton(wxCommandEvent &event)
void OnReplaceButton(wxCommandEvent &event)
void CreateControls()
Creates the controls and sizers.
bool ReplaceInDesc(CRef< objects::CSeqdesc > new_desc, const string &find, const string &replace, CRegexp::TCompile options)
bool ReplaceInBook(objects::CCit_book &book, const string &find, const string &replace, CRegexp::TCompile options)
CRegistryWriteView GetWriteView(const string &section)
get a read-write view at a particular level.
Definition: registry.cpp:462
static CGuiRegistry & GetInstance()
access the application-wide singleton
Definition: registry.cpp:400
CRegistryReadView GetReadView(const string &section) const
get a read-only view at a particular level.
Definition: registry.cpp:428
CImprint –.
Definition: Imprint.hpp:66
CObject –.
Definition: ncbiobj.hpp:180
@Pubdesc.hpp User-defined methods of the data storage class.
Definition: Pubdesc.hpp:54
CRegexpUtil –.
Definition: regexp.hpp:312
class CRegistryReadView provides a nested hierarchical view at a particular key.
Definition: reg_view.hpp:58
int GetInt(const string &key, int default_val=0) const
access a named key at this level, with no recursion
Definition: reg_view.cpp:230
bool GetBool(const string &key, bool default_val=false) const
Definition: reg_view.cpp:241
void Set(const string &key, int val)
access a named key at this level, with no recursion
Definition: reg_view.cpp:533
CSeq_entry_CI –.
CSeq_entry_Handle –.
CSeq_feat_Handle –.
namespace ncbi::objects::
Definition: Seq_feat.hpp:58
CSeqdesc_CI –.
Definition: seqdesc_ci.hpp:65
CSubmit_block –.
Undo/Redo interface for editing operations.
virtual void Execute(IEditCommand *command, wxWindow *window=0)=0
static CS_COMMAND * cmd
Definition: ct_dynamic.c:26
#define _(proto)
Definition: ct_nlmzip_i.h:78
static void Init(void)
Definition: cursor6.c:76
CChangeUnindexedObjectCommand< objects::CSubmit_block > CChangeSubmitBlockCommand
USING_SCOPE(objects)
static const char * kFramePosX
static const char * kFrameHeight
static const char * kAutoCopy
static const char * kFramePosY
static const char * kFrameWidth
#define ID_REPLACE_BUTTON
#define ID_COPY_BUTTON
#define ID_FIND_TEXT
#define ID_CLEAR_BUTTON
#define ID_AUTOCOPY_CHECKBOX
#define ID_FIND_ASN1_CANCEL_BUTTON
void swap(NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair1, NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair2)
Definition: ncbimisc.hpp:1508
#define NULL
Definition: ncbistd.hpp:225
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
CConstRef< CSeq_feat > GetOriginalSeq_feat(void) const
@ fIncludeGivenEntry
Include the top (given) entry.
@ fRecursive
Iterate recursively.
size_t Replace(CTempStringEx search, CTempString replace, CRegexp::TCompile compile_flags=CRegexp::fCompile_default, CRegexp::TMatch match_flags=CRegexp::fMatch_default, size_t max_replace=0)
Replace occurrences of a substring within a string by pattern.
Definition: regexp.cpp:289
static string Escape(CTempString str)
Escape all regular expression meta characters in the string.
Definition: regexp.cpp:200
unsigned int TCompile
Type definitions used for code clarity.
Definition: regexp.hpp:76
string GetResult(void)
Get result string.
Definition: regexp.hpp:582
@ fCompile_default
Definition: regexp.hpp:102
@ fCompile_ignore_case
Definition: regexp.hpp:103
@ fMatch_default
Definition: regexp.hpp:127
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define NPOS
Definition: ncbistr.hpp:133
static SIZE_TYPE Find(const CTempString str, const CTempString pattern, ECase use_case=eCase, EDirection direction=eForwardSearch, SIZE_TYPE occurrence=0)
Find the pattern in the string.
Definition: ncbistr.cpp:2887
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
Definition: ncbistr.hpp:5352
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.
Definition: ncbistr.cpp:3401
void SetTaxonomy(const TTaxonomy &value)
Assign a value to Taxonomy data member.
Definition: GB_block_.hpp:722
void SetSource(const TSource &value)
Assign a value to Source data member.
Definition: GB_block_.hpp:488
TKeywords & SetKeywords(void)
Assign a value to Keywords data member.
Definition: GB_block_.hpp:532
const TDate & GetDate(void) const
Get the Date member data.
Definition: GB_block_.hpp:598
bool IsSetExtra_accessions(void) const
Check if a value has been assigned to Extra_accessions data member.
Definition: GB_block_.hpp:442
bool IsSetDiv(void) const
GenBank division Check if a value has been assigned to Div data member.
Definition: GB_block_.hpp:654
bool IsSetTaxonomy(void) const
continuation line of organism Check if a value has been assigned to Taxonomy data member.
Definition: GB_block_.hpp:701
const TOrigin & GetOrigin(void) const
Get the Origin member data.
Definition: GB_block_.hpp:551
bool IsSetSource(void) const
source line Check if a value has been assigned to Source data member.
Definition: GB_block_.hpp:467
void SetDate(const TDate &value)
Assign a value to Date data member.
Definition: GB_block_.hpp:607
const TDiv & GetDiv(void) const
Get the Div member data.
Definition: GB_block_.hpp:666
TExtra_accessions & SetExtra_accessions(void)
Assign a value to Extra_accessions data member.
Definition: GB_block_.hpp:460
bool IsSetOrigin(void) const
Check if a value has been assigned to Origin data member.
Definition: GB_block_.hpp:539
const TTaxonomy & GetTaxonomy(void) const
Get the Taxonomy member data.
Definition: GB_block_.hpp:713
void SetDiv(const TDiv &value)
Assign a value to Div data member.
Definition: GB_block_.hpp:675
bool IsSetKeywords(void) const
Check if a value has been assigned to Keywords data member.
Definition: GB_block_.hpp:514
const TSource & GetSource(void) const
Get the Source member data.
Definition: GB_block_.hpp:479
bool IsSetDate(void) const
OBSOLETE old form Entry Date Check if a value has been assigned to Date data member.
Definition: GB_block_.hpp:586
void SetOrigin(const TOrigin &value)
Assign a value to Origin data member.
Definition: GB_block_.hpp:560
void SetDoc_type(const TDoc_type &value)
Assign a value to Doc_type data member.
Definition: Id_pat_.hpp:564
bool IsProc(void) const
Check if variant Proc is selected.
Definition: Cit_art_.hpp:507
const TDescr & GetDescr(void) const
Get the Descr member data.
Definition: Cit_sub_.hpp:476
const TTitle & GetTitle(void) const
Get the Title member data.
Definition: Cit_book_.hpp:296
void SetBook(TBook &value)
Assign a value to Book data member.
Definition: Cit_proc_.cpp:61
bool IsSetVolume(void) const
Check if a value has been assigned to Volume data member.
Definition: Imprint_.hpp:746
void SetFax(const TFax &value)
Assign a value to Fax data member.
Definition: Affil_.hpp:1038
bool IsSetDescr(void) const
description of changes for public view Check if a value has been assigned to Descr data member.
Definition: Cit_sub_.hpp:464
void SetSection(const TSection &value)
Assign a value to Section data member.
Definition: Imprint_.hpp:908
void SetAffil(const TAffil &value)
Assign a value to Affil data member.
Definition: Affil_.hpp:709
void SetIssue(const TIssue &value)
Assign a value to Issue data member.
Definition: Cit_gen_.hpp:780
const TPart_supi & GetPart_supi(void) const
Get the Part_supi member data.
Definition: Imprint_.hpp:1139
bool IsSetPages(void) const
Check if a value has been assigned to Pages data member.
Definition: Cit_gen_.hpp:806
const TDoc_type & GetDoc_type(void) const
Get the Doc_type member data.
Definition: Cit_pat_.hpp:792
bool IsSetNumber(void) const
Patent Document Number Check if a value has been assigned to Number data member.
Definition: Cit_pat_.hpp:827
const TIssue & GetIssue(void) const
Get the Issue member data.
Definition: Cit_gen_.hpp:771
void SetPages(const TPages &value)
Assign a value to Pages data member.
Definition: Imprint_.hpp:861
bool IsSetAbstract(void) const
abstract of patent Check if a value has been assigned to Abstract data member.
Definition: Cit_pat_.hpp:1055
void SetPostal_code(const TPostal_code &value)
Assign a value to Postal_code data member.
Definition: Affil_.hpp:1132
bool IsSetAffil(void) const
author affiliation Check if a value has been assigned to Affil data member.
Definition: Auth_list_.hpp:498
bool IsSetExp(void) const
citation and/or explanation Check if a value has been assigned to Exp data member.
void SetCountry(const TCountry &value)
Assign a value to Country data member.
Definition: Affil_.hpp:897
bool IsSetAuthors(void) const
Check if a value has been assigned to Authors data member.
Definition: Cit_gen_.hpp:623
bool IsSetAuthors(void) const
authors (ANSI requires) Check if a value has been assigned to Authors data member.
Definition: Cit_art_.hpp:534
void SetTitle(TTitle &value)
Assign a value to Title data member.
Definition: Cit_art_.cpp:210
const TJournal & GetJournal(void) const
Get the variant data.
Definition: Cit_art_.cpp:111
void SetAuthors(TAuthors &value)
Assign a value to Authors data member.
Definition: Cit_pat_.cpp:68
void SetCountry(const TCountry &value)
Assign a value to Country data member.
Definition: Id_pat_.hpp:487
bool IsSetTitle(void) const
title of journal Check if a value has been assigned to Title data member.
Definition: Cit_jour_.hpp:201
const TVolume & GetVolume(void) const
Get the Volume member data.
Definition: Imprint_.hpp:758
void SetSub(const TSub &value)
Assign a value to Sub data member.
Definition: Affil_.hpp:850
const TNumber & GetNumber(void) const
Get the Number member data.
Definition: Meeting_.hpp:256
bool IsSetVolume(void) const
Check if a value has been assigned to Volume data member.
Definition: Cit_gen_.hpp:712
const TPages & GetPages(void) const
Get the Pages member data.
Definition: Imprint_.hpp:852
const TPages & GetPages(void) const
Get the Pages member data.
Definition: Cit_gen_.hpp:818
const TFrom & GetFrom(void) const
Get the From member data.
Definition: Cit_art_.hpp:567
bool IsSetApplicants(void) const
Applicants Check if a value has been assigned to Applicants data member.
Definition: Cit_pat_.hpp:988
bool IsApp_number(void) const
Check if variant App_number is selected.
Definition: Id_pat_.hpp:446
void SetRetract(TRetract &value)
Assign a value to Retract data member.
Definition: Imprint_.cpp:153
const TCit & GetCit(void) const
Get the Cit member data.
Definition: Cit_gen_.hpp:588
bool IsSetTitle(void) const
Title of book Check if a value has been assigned to Title data member.
Definition: Cit_book_.hpp:284
bool IsSetPub(void) const
publisher, required for book Check if a value has been assigned to Pub data member.
Definition: Imprint_.hpp:934
bool IsSetPhone(void) const
Check if a value has been assigned to Phone data member.
Definition: Affil_.hpp:1064
void SetDoc_type(const TDoc_type &value)
Assign a value to Doc_type data member.
Definition: Cit_pat_.hpp:801
bool IsNumber(void) const
Check if variant Number is selected.
Definition: Id_pat_.hpp:426
void SetApplicants(TApplicants &value)
Assign a value to Applicants data member.
Definition: Cit_pat_.cpp:142
bool IsSetCountry(void) const
Patent Document Country Check if a value has been assigned to Country data member.
Definition: Id_pat_.hpp:466
void SetJournal(TJournal &value)
Assign a value to Journal data member.
Definition: Cit_gen_.cpp:81
void SetImp(TImp &value)
Assign a value to Imp data member.
Definition: Cit_jour_.cpp:75
void SetIssue(const TIssue &value)
Assign a value to Issue data member.
Definition: Imprint_.hpp:814
bool IsSetStreet(void) const
street address, not ANSI Check if a value has been assigned to Street data member.
Definition: Affil_.hpp:923
const TLanguage & GetLanguage(void) const
Get the Language member data.
Definition: Imprint_.hpp:1048
void SetTitle(TTitle &value)
Assign a value to Title data member.
Definition: Cit_book_.cpp:62
const TStr & GetStr(void) const
Get the variant data.
Definition: Affil_.hpp:1193
void SetName(TName &value)
Assign a value to Name data member.
Definition: Author_.cpp:81
bool IsSetTitle(void) const
title of paper (ANSI requires) Check if a value has been assigned to Title data member.
Definition: Cit_art_.hpp:513
const TTitle & GetTitle(void) const
Get the Title member data.
Definition: Cit_art_.hpp:525
void SetFrom(TFrom &value)
Assign a value to From data member.
Definition: Cit_art_.cpp:248
const TColl & GetColl(void) const
Get the Coll member data.
Definition: Cit_book_.hpp:326
bool IsSetCity(void) const
Author Affiliation, City Check if a value has been assigned to City data member.
Definition: Affil_.hpp:782
bool IsSetAffil(void) const
Check if a value has been assigned to Affil data member.
Definition: Author_.hpp:464
void SetLanguage(const TLanguage &value)
Assign a value to Language data member.
Definition: Imprint_.hpp:1054
void SetAbstract(const TAbstract &value)
Assign a value to Abstract data member.
Definition: Cit_pat_.hpp:1076
bool IsSetNumber(void) const
Check if a value has been assigned to Number data member.
Definition: Meeting_.hpp:244
const TIssue & GetIssue(void) const
Get the Issue member data.
Definition: Imprint_.hpp:805
const TEmail & GetEmail(void) const
Get the Email member data.
Definition: Affil_.hpp:982
void SetAffil(TAffil &value)
Assign a value to Affil data member.
Definition: Auth_list_.cpp:160
const TAbstract & GetAbstract(void) const
Get the Abstract member data.
Definition: Cit_pat_.hpp:1067
bool IsSetFrom(void) const
Check if a value has been assigned to From data member.
Definition: Cit_art_.hpp:555
void SetId(TId &value)
Assign a value to Id data member.
Definition: Id_pat_.cpp:152
void SetAuthors(TAuthors &value)
Assign a value to Authors data member.
Definition: Cit_art_.cpp:227
void SetCountry(const TCountry &value)
Assign a value to Country data member.
Definition: Cit_pat_.hpp:754
bool IsSetAuthors(void) const
not necessarily authors of the paper Check if a value has been assigned to Authors data member.
Definition: Cit_sub_.hpp:345
void SetPages(const TPages &value)
Assign a value to Pages data member.
Definition: Cit_gen_.hpp:827
bool IsSetImp(void) const
Check if a value has been assigned to Imp data member.
Definition: Cit_jour_.hpp:231
bool IsSetEmail(void) const
Check if a value has been assigned to Email data member.
Definition: Affil_.hpp:970
const TStreet & GetStreet(void) const
Get the Street member data.
Definition: Affil_.hpp:935
const TName & GetName(void) const
Get the Name member data.
Definition: Author_.hpp:352
void SetAuthors(TAuthors &value)
Assign a value to Authors data member.
Definition: Cit_sub_.cpp:74
const TAffil & GetAffil(void) const
Get the Affil member data.
Definition: Affil_.hpp:700
bool IsSetCit(void) const
anything, not parsable Check if a value has been assigned to Cit data member.
Definition: Cit_gen_.hpp:576
const TMeet & GetMeet(void) const
Get the Meet member data.
Definition: Cit_proc_.hpp:244
void SetApp_number(const TApp_number &value)
Assign a value to App_number data member.
Definition: Cit_pat_.hpp:941
const TPart_sup & GetPart_sup(void) const
Get the Part_sup member data.
Definition: Imprint_.hpp:988
bool IsSetLanguage(void) const
put here for simplicity Check if a value has been assigned to Language data member.
Definition: Imprint_.hpp:1023
void SetPub(TPub &value)
Assign a value to Pub data member.
Definition: Imprint_.cpp:107
const TSub & GetSub(void) const
Get the Sub member data.
Definition: Affil_.hpp:841
const TProc & GetProc(void) const
Get the variant data.
Definition: Cit_art_.cpp:155
bool IsSetPlace(void) const
Check if a value has been assigned to Place data member.
Definition: Meeting_.hpp:321
bool IsSetId(void) const
Check if a value has been assigned to Id data member.
Definition: Id_pat_.hpp:513
void SetTitle(TTitle &value)
Assign a value to Title data member.
Definition: Cit_jour_.cpp:61
bool IsStr(void) const
Check if variant Str is selected.
Definition: Affil_.hpp:1187
bool IsSetDoc_type(void) const
Patent Doc Type Check if a value has been assigned to Doc_type data member.
Definition: Id_pat_.hpp:543
const TVolume & GetVolume(void) const
Get the Volume member data.
Definition: Cit_gen_.hpp:724
const TDoc_type & GetDoc_type(void) const
Get the Doc_type member data.
Definition: Id_pat_.hpp:555
const TTitle & GetTitle(void) const
Get the Title member data.
Definition: Cit_gen_.hpp:933
void SetColl(TColl &value)
Assign a value to Coll data member.
Definition: Cit_book_.cpp:72
bool IsSetRetract(void) const
retraction info Check if a value has been assigned to Retract data member.
Definition: Imprint_.hpp:1174
void SetImp(TImp &value)
Assign a value to Imp data member.
Definition: Cit_book_.cpp:107
TStr & SetStr(void)
Select the variant.
Definition: Affil_.hpp:1200
void SetNumber(const TNumber &value)
Assign a value to Number data member.
Definition: Cit_pat_.hpp:848
void SetCit(TCit &value)
Assign a value to Cit data member.
Definition: Cit_let_.cpp:70
void SetAffil(TAffil &value)
Assign a value to Affil data member.
Definition: Author_.cpp:91
void SetDescr(const TDescr &value)
Assign a value to Descr data member.
Definition: Cit_sub_.hpp:485
bool IsSetNames(void) const
Check if a value has been assigned to Names data member.
Definition: Auth_list_.hpp:464
const TJournal & GetJournal(void) const
Get the Journal member data.
Definition: Cit_gen_.hpp:703
bool IsSetTitle(void) const
eg.
Definition: Cit_gen_.hpp:921
bool IsSetAuthors(void) const
author/inventor Check if a value has been assigned to Authors data member.
Definition: Cit_pat_.hpp:703
void SetCit(const TCit &value)
Assign a value to Cit data member.
Definition: Cit_gen_.hpp:597
void SetVolume(const TVolume &value)
Assign a value to Volume data member.
Definition: Imprint_.hpp:767
void SetNames(TNames &value)
Assign a value to Names data member.
Definition: Auth_list_.cpp:149
bool IsSetIssue(void) const
Check if a value has been assigned to Issue data member.
Definition: Imprint_.hpp:793
const TRetract & GetRetract(void) const
Get the Retract member data.
Definition: Imprint_.hpp:1186
bool IsSetDoc_type(void) const
Patent Document Type Check if a value has been assigned to Doc_type data member.
Definition: Cit_pat_.hpp:780
void SetAuthors(TAuthors &value)
Assign a value to Authors data member.
Definition: Cit_book_.cpp:93
bool IsSetJournal(void) const
Check if a value has been assigned to Journal data member.
Definition: Cit_gen_.hpp:691
const TId & GetId(void) const
Get the Id member data.
Definition: Id_pat_.hpp:525
const TNumber & GetNumber(void) const
Get the Number member data.
Definition: Cit_pat_.hpp:839
void SetEmail(const TEmail &value)
Assign a value to Email data member.
Definition: Affil_.hpp:991
bool IsSetFax(void) const
Check if a value has been assigned to Fax data member.
Definition: Affil_.hpp:1017
void SetPhone(const TPhone &value)
Assign a value to Phone data member.
Definition: Affil_.hpp:1085
bool IsSetDiv(void) const
Author Affiliation, Division Check if a value has been assigned to Div data member.
Definition: Affil_.hpp:735
const TCountry & GetCountry(void) const
Get the Country member data.
Definition: Affil_.hpp:888
void SetVolume(const TVolume &value)
Assign a value to Volume data member.
Definition: Cit_gen_.hpp:733
const TStd & GetStd(void) const
Get the variant data.
Definition: Affil_.cpp:214
const TPostal_code & GetPostal_code(void) const
Get the Postal_code member data.
Definition: Affil_.hpp:1123
void SetTitle(const TTitle &value)
Assign a value to Title data member.
Definition: Cit_gen_.hpp:942
bool IsSetName(void) const
Author, Primary or Secondary Check if a value has been assigned to Name data member.
Definition: Author_.hpp:340
bool IsSetTitle(void) const
Check if a value has been assigned to Title data member.
Definition: Cit_pat_.hpp:656
const TSection & GetSection(void) const
Get the Section member data.
Definition: Imprint_.hpp:899
bool IsStr(void) const
Check if variant Str is selected.
Definition: Auth_list_.hpp:444
void SetCity(const TCity &value)
Assign a value to City data member.
Definition: Affil_.hpp:803
const TPhone & GetPhone(void) const
Get the Phone member data.
Definition: Affil_.hpp:1076
bool IsSetPart_sup(void) const
part/sup of volume Check if a value has been assigned to Part_sup data member.
Definition: Imprint_.hpp:976
bool IsSet(void) const
Check if a value has been assigned to data member.
Definition: Title_.hpp:769
void SetStreet(const TStreet &value)
Assign a value to Street data member.
Definition: Affil_.hpp:944
bool IsBook(void) const
Check if variant Book is selected.
Definition: Cit_art_.hpp:501
bool IsSetAuthors(void) const
authors Check if a value has been assigned to Authors data member.
Definition: Cit_book_.hpp:335
bool IsSetSection(void) const
Check if a value has been assigned to Section data member.
Definition: Imprint_.hpp:887
void SetTitle(const TTitle &value)
Assign a value to Title data member.
Definition: Cit_pat_.hpp:677
bool IsSetBook(void) const
citation to meeting Check if a value has been assigned to Book data member.
Definition: Cit_proc_.hpp:202
bool IsJournal(void) const
Check if variant Journal is selected.
Definition: Cit_art_.hpp:495
const TNames & GetNames(void) const
Get the Names member data.
Definition: Auth_list_.hpp:478
void SetDiv(const TDiv &value)
Assign a value to Div data member.
Definition: Affil_.hpp:756
bool IsSetCit(void) const
same fields as a book Check if a value has been assigned to Cit data member.
Definition: Cit_let_.hpp:255
bool IsMl(void) const
Check if variant Ml is selected.
Definition: Auth_list_.hpp:424
void SetPart_sup(const TPart_sup &value)
Assign a value to Part_sup data member.
Definition: Imprint_.hpp:997
bool IsSetApp_number(void) const
Patent Doc Appl Number Check if a value has been assigned to App_number data member.
Definition: Cit_pat_.hpp:920
const TApp_number & GetApp_number(void) const
Get the App_number member data.
Definition: Cit_pat_.hpp:932
const TFax & GetFax(void) const
Get the Fax member data.
Definition: Affil_.hpp:1029
bool IsStd(void) const
Check if variant Std is selected.
Definition: Affil_.hpp:1207
const TNumber & GetNumber(void) const
Get the variant data.
Definition: Id_pat_.hpp:432
const TApp_number & GetApp_number(void) const
Get the variant data.
Definition: Id_pat_.hpp:452
bool IsSetPart_supi(void) const
part/sup on issue Check if a value has been assigned to Part_supi data member.
Definition: Imprint_.hpp:1127
bool IsSetMeet(void) const
time and location of meeting Check if a value has been assigned to Meet data member.
Definition: Cit_proc_.hpp:232
void SetMeet(TMeet &value)
Assign a value to Meet data member.
Definition: Cit_proc_.cpp:75
const TTitle & GetTitle(void) const
Get the Title member data.
Definition: Cit_jour_.hpp:213
bool IsSetPostal_code(void) const
Check if a value has been assigned to Postal_code data member.
Definition: Affil_.hpp:1111
bool IsSetCountry(void) const
Author Affiliation, Country Check if a value has been assigned to Country data member.
Definition: Affil_.hpp:876
bool IsSetIssue(void) const
Check if a value has been assigned to Issue data member.
Definition: Cit_gen_.hpp:759
const TTitle & GetTitle(void) const
Get the Title member data.
Definition: Cit_pat_.hpp:668
bool IsSetPages(void) const
Check if a value has been assigned to Pages data member.
Definition: Imprint_.hpp:840
const TCity & GetCity(void) const
Get the City member data.
Definition: Affil_.hpp:794
bool IsSetAffil(void) const
Author Affiliation, Name Check if a value has been assigned to Affil data member.
Definition: Affil_.hpp:688
void SetPart_supi(const TPart_supi &value)
Assign a value to Part_supi data member.
Definition: Imprint_.hpp:1148
void SetAuthors(TAuthors &value)
Assign a value to Authors data member.
Definition: Cit_gen_.cpp:64
bool IsSetColl(void) const
part of a collection Check if a value has been assigned to Coll data member.
Definition: Cit_book_.hpp:314
const TExp & GetExp(void) const
Get the Exp member data.
const TDiv & GetDiv(void) const
Get the Div member data.
Definition: Affil_.hpp:747
TStd & SetStd(void)
Select the variant.
Definition: Affil_.cpp:220
const TCountry & GetCountry(void) const
Get the Country member data.
Definition: Cit_pat_.hpp:745
const TCountry & GetCountry(void) const
Get the Country member data.
Definition: Id_pat_.hpp:478
bool IsSetImp(void) const
Check if a value has been assigned to Imp data member.
Definition: Cit_book_.hpp:365
bool IsSetSub(void) const
Author Affiliation, County Sub Check if a value has been assigned to Sub data member.
Definition: Affil_.hpp:829
bool IsStd(void) const
Check if variant Std is selected.
Definition: Auth_list_.hpp:404
bool IsSetCountry(void) const
Patent Document Country Check if a value has been assigned to Country data member.
Definition: Cit_pat_.hpp:733
@ e_Ml_jta
specifically MEDLINE jta J
Definition: Title_.hpp:116
@ e_Trans
Title, Translated AJB.
Definition: Title_.hpp:113
@ e_Abr
Title, Abbreviated B.
Definition: Title_.hpp:119
@ e_Issn
ISSN J.
Definition: Title_.hpp:118
@ e_Jta
Title, Abbreviated J.
Definition: Title_.hpp:114
@ e_Tsub
Title, Subordinate A B.
Definition: Title_.hpp:112
@ e_Coden
a coden J
Definition: Title_.hpp:117
@ e_Iso_jta
specifically ISO jta J
Definition: Title_.hpp:115
@ e_Isbn
ISBN B.
Definition: Title_.hpp:120
@ e_Name
Title, Anal,Coll,Mono AJB.
Definition: Title_.hpp:111
bool IsSetOrg(void) const
Check if a value has been assigned to Org data member.
Definition: BioSource_.hpp:497
bool IsSetSubtype(void) const
Check if a value has been assigned to Subtype data member.
Definition: BioSource_.hpp:527
void SetOrg(TOrg &value)
Assign a value to Org data member.
Definition: BioSource_.cpp:108
TSubtype & SetSubtype(void)
Assign a value to Subtype data member.
Definition: BioSource_.hpp:545
@ eSubtype_environmental_sample
Definition: SubSource_.hpp:111
bool IsSetSyn(void) const
synonyms for locus Check if a value has been assigned to Syn data member.
Definition: Gene_ref_.hpp:756
const TDesc & GetDesc(void) const
Get the Desc member data.
Definition: Gene_ref_.hpp:599
bool IsSetLocus_tag(void) const
systematic gene name (e.g., MI0001, ORF0069) Check if a value has been assigned to Locus_tag data mem...
Definition: Gene_ref_.hpp:781
bool IsSetLocus(void) const
Official gene symbol Check if a value has been assigned to Locus data member.
Definition: Gene_ref_.hpp:493
bool IsSetDesc(void) const
descriptive name Check if a value has been assigned to Desc data member.
Definition: Gene_ref_.hpp:587
bool IsSetDb(void) const
ids in other dbases Check if a value has been assigned to Db data member.
Definition: Gene_ref_.hpp:731
bool IsSetAllele(void) const
Official allele designation Check if a value has been assigned to Allele data member.
Definition: Gene_ref_.hpp:540
bool IsSetMaploc(void) const
descriptive map location Check if a value has been assigned to Maploc data member.
Definition: Gene_ref_.hpp:634
const TLocus_tag & GetLocus_tag(void) const
Get the Locus_tag member data.
Definition: Gene_ref_.hpp:793
const TLocus & GetLocus(void) const
Get the Locus member data.
Definition: Gene_ref_.hpp:505
const TAllele & GetAllele(void) const
Get the Allele member data.
Definition: Gene_ref_.hpp:552
const TMaploc & GetMaploc(void) const
Get the Maploc member data.
Definition: Gene_ref_.hpp:646
bool IsStr(void) const
Check if variant Str is selected.
Definition: Object_id_.hpp:291
const TStr & GetStr(void) const
Get the variant data.
Definition: Person_id_.hpp:391
bool IsConsortium(void) const
Check if variant Consortium is selected.
Definition: Person_id_.hpp:405
bool IsMl(void) const
Check if variant Ml is selected.
Definition: Person_id_.hpp:365
bool IsSetDb(void) const
name of database or system Check if a value has been assigned to Db data member.
Definition: Dbtag_.hpp:208
const TTag & GetTag(void) const
Get the Tag member data.
Definition: Dbtag_.hpp:267
void SetTag(TTag &value)
Assign a value to Tag data member.
Definition: Dbtag_.cpp:66
bool IsSetSuffix(void) const
Jr, Sr, III Check if a value has been assigned to Suffix data member.
Definition: Name_std_.hpp:645
bool IsSetTag(void) const
appropriate tag Check if a value has been assigned to Tag data member.
Definition: Dbtag_.hpp:255
const TInitials & GetInitials(void) const
Get the Initials member data.
Definition: Name_std_.hpp:610
bool IsName(void) const
Check if variant Name is selected.
Definition: Person_id_.hpp:359
bool IsSetMiddle(void) const
Check if a value has been assigned to Middle data member.
Definition: Name_std_.hpp:504
const TFull & GetFull(void) const
Get the Full member data.
Definition: Name_std_.hpp:563
const TDb & GetDb(void) const
Get the Db member data.
Definition: Dbtag_.hpp:220
bool IsSetFull(void) const
full name eg.
Definition: Name_std_.hpp:551
bool IsSetInitials(void) const
first + middle initials Check if a value has been assigned to Initials data member.
Definition: Name_std_.hpp:598
bool IsSetTitle(void) const
Dr., Sister, etc Check if a value has been assigned to Title data member.
Definition: Name_std_.hpp:692
const TMl & GetMl(void) const
Get the variant data.
Definition: Person_id_.hpp:371
bool IsSetLast(void) const
Check if a value has been assigned to Last data member.
Definition: Name_std_.hpp:410
const TStr & GetStr(void) const
Get the variant data.
Definition: Object_id_.hpp:297
const TMiddle & GetMiddle(void) const
Get the Middle member data.
Definition: Name_std_.hpp:516
const TConsortium & GetConsortium(void) const
Get the variant data.
Definition: Person_id_.hpp:411
bool IsStr(void) const
Check if variant Str is selected.
Definition: Person_id_.hpp:385
const TTitle & GetTitle(void) const
Get the Title member data.
Definition: Name_std_.hpp:704
const TSuffix & GetSuffix(void) const
Get the Suffix member data.
Definition: Name_std_.hpp:657
const TFirst & GetFirst(void) const
Get the First member data.
Definition: Name_std_.hpp:469
const TLast & GetLast(void) const
Get the Last member data.
Definition: Name_std_.hpp:422
void SetDb(const TDb &value)
Assign a value to Db data member.
Definition: Dbtag_.hpp:229
bool IsDbtag(void) const
Check if variant Dbtag is selected.
Definition: Person_id_.hpp:353
const TName & GetName(void) const
Get the variant data.
Definition: Person_id_.cpp:137
bool IsSetFirst(void) const
Check if a value has been assigned to First data member.
Definition: Name_std_.hpp:457
TGene & SetGene(void)
Assign a value to Gene data member.
bool IsSetXref(void) const
Check if a value has been assigned to Xref data member.
TIdnum & SetIdnum(void)
Assign a value to Idnum data member.
void SetCit(TCit &value)
Assign a value to Cit data member.
bool IsSetIdnum(void) const
ID Number (grants, contracts) Check if a value has been assigned to Idnum data member.
bool IsSetCit(void) const
article citation Check if a value has been assigned to Cit data member.
bool IsSetAbstract(void) const
Check if a value has been assigned to Abstract data member.
bool IsSetMesh(void) const
Check if a value has been assigned to Mesh data member.
void SetAbstract(const TAbstract &value)
Assign a value to Abstract data member.
TXref & SetXref(void)
Assign a value to Xref data member.
bool IsSetSubstance(void) const
Check if a value has been assigned to Substance data member.
TMlfield & SetMlfield(void)
Assign a value to Mlfield data member.
const TAbstract & GetAbstract(void) const
Get the Abstract member data.
bool IsSetPub_type(void) const
may show publication types (review, etc) Check if a value has been assigned to Pub_type data member.
TPub_type & SetPub_type(void)
Assign a value to Pub_type data member.
TMesh & SetMesh(void)
Assign a value to Mesh data member.
TSubstance & SetSubstance(void)
Assign a value to Substance data member.
bool IsSetMlfield(void) const
additional Medline field types Check if a value has been assigned to Mlfield data member.
bool IsSetGene(void) const
Check if a value has been assigned to Gene data member.
bool IsSetDb(void) const
ids in taxonomic or culture dbases Check if a value has been assigned to Db data member.
Definition: Org_ref_.hpp:479
const TLineage & GetLineage(void) const
Get the Lineage member data.
Definition: OrgName_.hpp:864
const TDiv & GetDiv(void) const
Get the Div member data.
Definition: OrgName_.hpp:1005
void SetCommon(const TCommon &value)
Assign a value to Common data member.
Definition: Org_ref_.hpp:428
bool IsSetCommon(void) const
common name Check if a value has been assigned to Common data member.
Definition: Org_ref_.hpp:407
bool IsSetLineage(void) const
lineage with semicolon separators Check if a value has been assigned to Lineage data member.
Definition: OrgName_.hpp:852
bool IsSetMod(void) const
unstructured modifiers Check if a value has been assigned to Mod data member.
Definition: Org_ref_.hpp:454
TSyn & SetSyn(void)
Assign a value to Syn data member.
Definition: Org_ref_.hpp:522
const TTaxname & GetTaxname(void) const
Get the Taxname member data.
Definition: Org_ref_.hpp:372
const TCommon & GetCommon(void) const
Get the Common member data.
Definition: Org_ref_.hpp:419
bool IsSetDiv(void) const
GenBank division code Check if a value has been assigned to Div data member.
Definition: OrgName_.hpp:993
void SetTaxname(const TTaxname &value)
Assign a value to Taxname data member.
Definition: Org_ref_.hpp:381
bool IsSetMod(void) const
Check if a value has been assigned to Mod data member.
Definition: OrgName_.hpp:827
void ResetCommon(void)
Reset Common data member.
Definition: Org_ref_.cpp:58
bool IsSetAttrib(void) const
attribution of name Check if a value has been assigned to Attrib data member.
Definition: OrgName_.hpp:780
bool IsSetOrgname(void) const
Check if a value has been assigned to Orgname data member.
Definition: Org_ref_.hpp:529
bool IsSetTaxname(void) const
preferred formal name Check if a value has been assigned to Taxname data member.
Definition: Org_ref_.hpp:360
TMod & SetMod(void)
Assign a value to Mod data member.
Definition: Org_ref_.hpp:472
void SetOrgname(TOrgname &value)
Assign a value to Orgname data member.
Definition: Org_ref_.cpp:87
bool IsSetSyn(void) const
synonyms for taxname or common Check if a value has been assigned to Syn data member.
Definition: Org_ref_.hpp:504
const TAttrib & GetAttrib(void) const
Get the Attrib member data.
Definition: OrgName_.hpp:792
const TOrgname & GetOrgname(void) const
Get the Orgname member data.
Definition: Org_ref_.hpp:541
bool IsSetDesc(void) const
description (instead of name) Check if a value has been assigned to Desc data member.
Definition: Prot_ref_.hpp:391
bool IsSetDb(void) const
ids in other dbases Check if a value has been assigned to Db data member.
Definition: Prot_ref_.hpp:488
bool IsSetEc(void) const
E.C.
Definition: Prot_ref_.hpp:438
bool IsSetName(void) const
protein name Check if a value has been assigned to Name data member.
Definition: Prot_ref_.hpp:366
const TDesc & GetDesc(void) const
Get the Desc member data.
Definition: Prot_ref_.hpp:403
bool IsSetActivity(void) const
activities Check if a value has been assigned to Activity data member.
Definition: Prot_ref_.hpp:463
TProc & SetProc(void)
Select the variant.
Definition: Pub_.cpp:305
bool IsMedline(void) const
Check if variant Medline is selected.
Definition: Pub_.hpp:596
bool IsBook(void) const
Check if variant Book is selected.
Definition: Pub_.hpp:641
const TMedline & GetMedline(void) const
Get the variant data.
Definition: Pub_.cpp:211
const TMan & GetMan(void) const
Get the variant data.
Definition: Pub_.cpp:365
TBook & SetBook(void)
Select the variant.
Definition: Pub_.cpp:283
Tdata & Set(void)
Assign a value to data member.
Definition: Pub_equiv_.hpp:171
const TJournal & GetJournal(void) const
Get the variant data.
Definition: Pub_.cpp:255
const TSub & GetSub(void) const
Get the variant data.
Definition: Pub_.cpp:189
bool IsPat_id(void) const
Check if variant Pat_id is selected.
Definition: Pub_.hpp:659
bool IsSet(void) const
Check if a value has been assigned to data member.
Definition: Pub_equiv_.hpp:153
bool IsJournal(void) const
Check if variant Journal is selected.
Definition: Pub_.hpp:635
const TPatent & GetPatent(void) const
Get the variant data.
Definition: Pub_.cpp:321
const TProc & GetProc(void) const
Get the variant data.
Definition: Pub_.cpp:299
TEquiv & SetEquiv(void)
Select the variant.
Definition: Pub_.cpp:393
const TEquiv & GetEquiv(void) const
Get the variant data.
Definition: Pub_.cpp:387
E_Choice Which(void) const
Which variant is currently selected.
Definition: Pub_.hpp:555
const TPat_id & GetPat_id(void) const
Get the variant data.
Definition: Pub_.cpp:343
TMan & SetMan(void)
Select the variant.
Definition: Pub_.cpp:371
bool IsEquiv(void) const
Check if variant Equiv is selected.
Definition: Pub_.hpp:671
bool IsProc(void) const
Check if variant Proc is selected.
Definition: Pub_.hpp:647
TSub & SetSub(void)
Select the variant.
Definition: Pub_.cpp:195
bool IsSub(void) const
Check if variant Sub is selected.
Definition: Pub_.hpp:590
TGen & SetGen(void)
Select the variant.
Definition: Pub_.cpp:173
TMedline & SetMedline(void)
Select the variant.
Definition: Pub_.cpp:217
const TGen & GetGen(void) const
Get the variant data.
Definition: Pub_.cpp:167
TJournal & SetJournal(void)
Select the variant.
Definition: Pub_.cpp:261
TPatent & SetPatent(void)
Select the variant.
Definition: Pub_.cpp:327
bool IsPatent(void) const
Check if variant Patent is selected.
Definition: Pub_.hpp:653
bool IsArticle(void) const
Check if variant Article is selected.
Definition: Pub_.hpp:629
TArticle & SetArticle(void)
Select the variant.
Definition: Pub_.cpp:239
TPat_id & SetPat_id(void)
Select the variant.
Definition: Pub_.cpp:349
bool IsGen(void) const
Check if variant Gen is selected.
Definition: Pub_.hpp:584
bool IsMan(void) const
Check if variant Man is selected.
Definition: Pub_.hpp:665
const TQuals & GetQuals(void) const
Get the Quals member data.
Definition: RNA_gen_.hpp:353
bool IsSetProduct(void) const
Check if a value has been assigned to Product data member.
Definition: RNA_gen_.hpp:294
bool IsSetExt(void) const
generic fields for ncRNA, tmRNA, miscRNA Check if a value has been assigned to Ext data member.
Definition: RNA_ref_.hpp:604
bool IsGen(void) const
Check if variant Gen is selected.
Definition: RNA_ref_.hpp:504
bool IsSet(void) const
Check if a value has been assigned to data member.
bool IsSetQuals(void) const
e.g., tag_peptide qualifier for tmRNAs Check if a value has been assigned to Quals data member.
Definition: RNA_gen_.hpp:341
const TGen & GetGen(void) const
Get the variant data.
Definition: RNA_ref_.cpp:156
const TName & GetName(void) const
Get the variant data.
Definition: RNA_ref_.hpp:484
bool IsSetClass(void) const
for ncRNAs, the class of non-coding RNA: examples: antisense_RNA, guide_RNA, snRNA Check if a value h...
Definition: RNA_gen_.hpp:247
const TProduct & GetProduct(void) const
Get the Product member data.
Definition: RNA_gen_.hpp:306
const TExt & GetExt(void) const
Get the Ext member data.
Definition: RNA_ref_.hpp:616
bool IsName(void) const
Check if variant Name is selected.
Definition: RNA_ref_.hpp:478
const TClass & GetClass(void) const
Get the Class member data.
Definition: RNA_gen_.hpp:259
bool IsSetTitle(void) const
for user defined label Check if a value has been assigned to Title data member.
Definition: Seq_feat_.hpp:1160
bool IsSetLoc(void) const
original location string Check if a value has been assigned to Loc data member.
Definition: Imp_feat_.hpp:294
bool IsSetComment(void) const
Check if a value has been assigned to Comment data member.
Definition: Seq_feat_.hpp:1037
bool IsSetData(void) const
the specific data Check if a value has been assigned to Data data member.
Definition: Seq_feat_.hpp:913
bool IsProt(void) const
Check if variant Prot is selected.
bool IsImp(void) const
Check if variant Imp is selected.
const TRegion & GetRegion(void) const
Get the variant data.
const TTitle & GetTitle(void) const
Get the Title member data.
Definition: Seq_feat_.hpp:1172
void SetComment(const TComment &value)
Assign a value to Comment data member.
Definition: Seq_feat_.hpp:1058
bool IsSetDescr(void) const
text description Check if a value has been assigned to Descr data member.
Definition: Imp_feat_.hpp:341
void SetTitle(const TTitle &value)
Assign a value to Title data member.
Definition: Seq_feat_.hpp:1181
bool IsGene(void) const
Check if variant Gene is selected.
const TData & GetData(void) const
Get the Data member data.
Definition: Seq_feat_.hpp:925
const TExcept_text & GetExcept_text(void) const
Get the Except_text member data.
Definition: Seq_feat_.hpp:1405
bool IsPub(void) const
Check if variant Pub is selected.
bool IsSetExcept_text(void) const
explain if except=TRUE Check if a value has been assigned to Except_text data member.
Definition: Seq_feat_.hpp:1393
void SetData(TData &value)
Assign a value to Data data member.
Definition: Seq_feat_.cpp:94
const TDescr & GetDescr(void) const
Get the Descr member data.
Definition: Imp_feat_.hpp:353
const TComment & GetComment(void) const
Get the Comment member data.
Definition: Seq_feat_.hpp:1049
bool IsBiosrc(void) const
Check if variant Biosrc is selected.
const TGene & GetGene(void) const
Get the variant data.
void SetExcept_text(const TExcept_text &value)
Assign a value to Except_text data member.
Definition: Seq_feat_.hpp:1414
const TProt & GetProt(void) const
Get the variant data.
const TRna & GetRna(void) const
Get the variant data.
bool IsOrg(void) const
Check if variant Org is selected.
const TLoc & GetLoc(void) const
Get the Loc member data.
Definition: Imp_feat_.hpp:306
bool IsRna(void) const
Check if variant Rna is selected.
bool IsRegion(void) const
Check if variant Region is selected.
const TImp & GetImp(void) const
Get the variant data.
bool IsSetComment(void) const
any comment on this pub in context Check if a value has been assigned to Comment data member.
Definition: Pubdesc_.hpp:973
bool IsGenbank(void) const
Check if variant Genbank is selected.
Definition: Seqdesc_.hpp:1090
void SetPub(TPub &value)
Assign a value to Pub data member.
Definition: Pubdesc_.cpp:72
TTitle & SetTitle(void)
Select the variant.
Definition: Seqdesc_.hpp:1039
TPub & SetPub(void)
Select the variant.
Definition: Seqdesc_.cpp:362
TOrg & SetOrg(void)
Select the variant.
Definition: Seqdesc_.cpp:246
const TComment & GetComment(void) const
Get the Comment member data.
Definition: Pubdesc_.hpp:985
bool IsOrg(void) const
Check if variant Org is selected.
Definition: Seqdesc_.hpp:1046
bool IsComment(void) const
Check if variant Comment is selected.
Definition: Seqdesc_.hpp:1052
const TTitle & GetTitle(void) const
Get the variant data.
Definition: Seqdesc_.hpp:1032
bool IsSource(void) const
Check if variant Source is selected.
Definition: Seqdesc_.hpp:1190
TGenbank & SetGenbank(void)
Select the variant.
Definition: Seqdesc_.cpp:340
TName & SetName(void)
Select the variant.
Definition: Seqdesc_.hpp:1019
const TGenbank & GetGenbank(void) const
Get the variant data.
Definition: Seqdesc_.cpp:334
bool IsName(void) const
Check if variant Name is selected.
Definition: Seqdesc_.hpp:1006
TComment & SetComment(void)
Select the variant.
Definition: Seqdesc_.hpp:1065
TSource & SetSource(void)
Select the variant.
Definition: Seqdesc_.cpp:572
bool IsPub(void) const
Check if variant Pub is selected.
Definition: Seqdesc_.hpp:1096
bool IsSetPub(void) const
the citation(s) Check if a value has been assigned to Pub data member.
Definition: Pubdesc_.hpp:593
void SetComment(const TComment &value)
Assign a value to Comment data member.
Definition: Pubdesc_.hpp:994
bool IsTitle(void) const
Check if variant Title is selected.
Definition: Seqdesc_.hpp:1026
const TPub & GetPub(void) const
Get the Pub member data.
Definition: Pubdesc_.hpp:605
const TComment & GetComment(void) const
Get the variant data.
Definition: Seqdesc_.hpp:1058
bool IsRegion(void) const
Check if variant Region is selected.
Definition: Seqdesc_.hpp:1102
const TName & GetName(void) const
Get the variant data.
Definition: Seqdesc_.hpp:1012
const TRegion & GetRegion(void) const
Get the variant data.
Definition: Seqdesc_.hpp:1108
TRegion & SetRegion(void)
Select the variant.
Definition: Seqdesc_.hpp:1115
@ e_not_set
No variant selected.
Definition: Seqdesc_.hpp:110
bool IsSetTool(void) const
tool used to make submission Check if a value has been assigned to Tool data member.
const TTool & GetTool(void) const
Get the Tool member data.
const TTelex & GetTelex(void) const
Get the Telex member data.
bool IsSetAddress(void) const
Check if a value has been assigned to Address data member.
const TCit & GetCit(void) const
Get the Cit member data.
const TComment & GetComment(void) const
Get the Comment member data.
void SetComment(const TComment &value)
Assign a value to Comment data member.
void SetCit(TCit &value)
Assign a value to Cit data member.
const TPhone & GetPhone(void) const
Get the Phone member data.
const TFirst_name & GetFirst_name(void) const
Get the First_name member data.
bool IsSetTelex(void) const
Check if a value has been assigned to Telex data member.
void SetTool(const TTool &value)
Assign a value to Tool data member.
bool IsSetFax(void) const
Check if a value has been assigned to Fax data member.
const TName & GetName(void) const
Get the Name member data.
bool IsSetFirst_name(void) const
Check if a value has been assigned to First_name data member.
const TEmail & GetEmail(void) const
Get the Email member data.
const TLast_name & GetLast_name(void) const
Get the Last_name member data.
bool IsSetOwner_id(void) const
for owner accounts Check if a value has been assigned to Owner_id data member.
const TUser_tag & GetUser_tag(void) const
Get the User_tag member data.
void SetUser_tag(const TUser_tag &value)
Assign a value to User_tag data member.
bool IsSetEmail(void) const
Check if a value has been assigned to Email data member.
bool IsSetLast_name(void) const
structured to replace name above Check if a value has been assigned to Last_name data member.
bool IsSetMiddle_initial(void) const
Check if a value has been assigned to Middle_initial data member.
bool IsSetUser_tag(void) const
user supplied id for this submission Check if a value has been assigned to User_tag data member.
bool IsSetName(void) const
OBSOLETE: will be removed Check if a value has been assigned to Name data member.
const TContact & GetContact(void) const
Get the Contact member data.
bool IsSetCit(void) const
citation for this submission Check if a value has been assigned to Cit data member.
const TOwner_id & GetOwner_id(void) const
Get the Owner_id member data.
bool IsSetComment(void) const
user comments/advice to database Check if a value has been assigned to Comment data member.
const TMiddle_initial & GetMiddle_initial(void) const
Get the Middle_initial member data.
bool IsSetContact(void) const
who to contact Check if a value has been assigned to Contact data member.
void SetContact(TContact &value)
Assign a value to Contact data member.
bool IsSetContact(void) const
WARNING: this will replace the above Check if a value has been assigned to Contact data member.
bool IsSetPhone(void) const
Check if a value has been assigned to Phone data member.
const TFax & GetFax(void) const
Get the Fax member data.
END_EVENT_TABLE()
static int input()
int i
#define wxT(x)
Definition: muParser.cpp:41
const struct ncbi::grid::netcache::search::fields::SIZE size
Int mod(Int i, Int j)
Definition: njn_integer.hpp:67
CRef< CPub > journal(ParserPtr pp, char *bptr, char *eptr, CRef< CAuth_list > &auth_list, CRef< CTitle::C_E > &title, bool has_muid, CRef< CCit_art > &cit_art, Int4 er)
Definition: ref.cpp:1468
Utility macros and typedefs for exploring NCBI objects from seqfeat.asn.
#define ERASE_DBXREF_ON_ORGREF(Itr, Var)
ERASE_DBXREF_ON_ORGREF.
#define EDIT_EACH_DBXREF_ON_ORGREF(Itr, Var)
#define EDIT_EACH_DBXREF_ON_SEQFEAT(Itr, Var)
#define EDIT_EACH_GBQUAL_ON_SEQFEAT(Itr, Var)
static static static wxID_ANY
static const char * str(char *buf, int n)
Definition: stats.c:84
else result
Definition: token2.c:20
C++ wrappers for the Perl-compatible regular expression (PCRE) library.
wxRect GetScreenRect(const wxWindow &win)
Definition: wx_utils.cpp:783
Modified on Sat Dec 09 04:45:09 2023 by modify_doxy.py rev. 669887