97 #include <wx/statline.h>
98 #include <wx/notebook.h>
99 #include <wx/button.h>
101 #include <wx/settings.h>
102 #include <wx/filedlg.h>
103 #include <wx/utils.h>
104 #include <wx/filename.h>
105 #include <wx/msgdlg.h>
106 #include <wx/cshelp.h>
107 #include <wx/utils.h>
109 #include <wx/hyperlink.h>
163 wxWindowID
id,
const wxString& caption,
const wxPoint& pos,
const wxSize&
size,
long style )
164 : m_Workbench(wb), m_ProjectHandle(ph), m_ProjectItem(
pi)
167 Create(parent,
id, caption, pos,
size, style);
184 for (
auto entry :
m_SeqSubmit->GetData().GetEntrys())
224 SetExtraStyle(wxWS_EX_VALIDATE_RECURSIVELY | wxWS_EX_BLOCK_EVENTS);
225 wxFrame::Create( parent,
id, caption, pos,
size, style );
230 GetSizer()->SetSizeHints(
this);
283 wxBoxSizer* itemBoxSizer1 =
new wxBoxSizer(wxVERTICAL);
284 SetSizer(itemBoxSizer1);
286 wxPanel* itemPanel1 =
new wxPanel(
this,
wxID_ANY);
287 itemBoxSizer1->Add(itemPanel1, 1, wxGROW | wxALL, 0);
289 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxVERTICAL);
290 itemPanel1->SetSizer(itemBoxSizer2);
293 itemBoxSizer2->Add(
m_Notebook, 1, wxGROW | wxALL, 0);
319 wxStaticLine* itemStaticLine29 =
new wxStaticLine(itemPanel1,
wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL);
320 itemBoxSizer2->Add(itemStaticLine29, 0, wxGROW | wxALL, 5);
323 itemBoxSizer2->Add(
m_BottomSizer, 0, wxGROW | wxTOP | wxBOTTOM, 5);
330 wxButton* itemButton4 =
new wxButton( itemPanel1,
ID_SUBMITTER_IMPORT,
_(
"Import from template"), wxDefaultPosition, wxDefaultSize, 0 );
331 m_BottomSizer->Add(itemButton4, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
334 m_BottomSizer->Add(5, 5, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
336 wxButton* itemButton6 =
new wxButton( itemPanel1,
ID_SUBMITTER_EXPORT,
_(
"Export to template"), wxDefaultPosition, wxDefaultSize, 0 );
337 m_BottomSizer->Add(itemButton6, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
341 wxHyperlinkCtrl* itemHyperlinkCtrl =
new wxHyperlinkCtrl( itemPanel1, wxID_HELP,
_(
"Help"),
wxT(
""), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
342 itemHyperlinkCtrl->SetForegroundColour(wxColour(192, 192, 192));
343 m_BottomSizer->Add(itemHyperlinkCtrl, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
356 wxColour bg_color = wxSystemSettings::GetColour(wxSYS_COLOUR_FRAMEBK);
359 m_Notebook->GetPage(
i)->SetBackgroundColour(bg_color);
368 string version_str =
"Genome Workbench ";
374 version_str +=
" " + wxGetOsDescription().ToStdString();
381 if (!cit_sub.IsSetDate()) {
384 cit_sub.SetDate(*today);
412 bool found_pub =
false;
420 if (!found_pub & it->IsPub()) {
431 citgen->SetGen().SetCit(
"unpublished");
435 bool s_IsCitSubPub(
const CSeqdesc& desc)
445 bool IsReferencePub(
const CSeqdesc& seqdesc)
447 if (!seqdesc.
IsPub()) {
453 (pubdesc.
GetPub().
Get().front()->IsGen() || pubdesc.
GetPub().
Get().front()->IsArticle())) {
459 bool s_AddStringToField(
const string& val,
CUser_field& field) {
467 field.
SetData().SetStrs().push_back(old_val);
468 field.
SetData().SetStrs().push_back(val);
479 field.
SetData().SetStrs().push_back(val);
487 bool IsEmptyAuthor(
const CAuthor& author) {
511 bool IsEmptyRefPub(
const CPub& pub)
528 if (IsEmptyAuthor(*it)) {
539 bool s_IsEmptyStructuredComment(
const CUser_object& user)
544 for (
auto it : user.
GetData()) {
546 && it->GetLabel().IsStr()
547 && (
NStr::Equal(it->GetLabel().GetStr(),
"StructuredCommentPrefix") ||
548 NStr::Equal(it->GetLabel().GetStr(),
"StructuredCommentSuffix"))) {
603 pub->
SetPub().
SetPub().Set().push_back(MakeEmptyRefPub());
606 bool first_ref_pub =
true;
686 wxWindow* wnd =
m_Notebook->GetPage(event.GetSelection());
695 wxString tooltip = win->GetToolTipText();
697 if (!tooltip.IsEmpty())
698 win->SetToolTip(tooltip);
700 for (
auto child : win->GetChildren())
706 if (!current_page)
return;
731 return TransferDataFromWindow();
752 if (page != wxNOT_FOUND) {
770 LOG_POST(
Error <<
"CSubmissionWizard::x_StepForward(): All pages of submission wizard should derive from ISubmissionPage");
787 if (page != wxNOT_FOUND) {
806 LOG_POST(
Error <<
"CSubmissionWizard::x_StepBackward(): All pages of submission wizard should derive from ISubmissionPage");
823 bool first_pub_in_list =
true;
826 if (it->Which() == desc.
Which()) {
834 }
else if (it->IsPub()) {
835 if (first_pub_in_list && first_pub) {
840 }
else if (it->GetPub().Equals(desc.
GetPub())) {
846 first_pub_in_list =
false;
885 return unique_ptr<CObjectIStream>(
nullptr);
892 unique_ptr<CObjectIStream> pObjIstrm(
908 if (!descr.
IsSet()) {
911 for (
auto it : descr.
Get()) {
912 if (it->IsSource()) {
915 else if (it->IsUser()) {
918 else if (it->IsPub()) {
919 bool is_reference_pub = first_ref_pub && IsReferencePub(*it);
921 if (is_reference_pub) {
922 first_ref_pub =
false;
935 }
else if (entry.
IsSet()) {
937 if (
set.IsSetDescr()) {
940 if (
set.IsSetSeq_set()) {
942 for (
auto entry :
set.GetSeq_set()) {
954 wxFileDialog asn_open_file(
this,
wxT(
"Import from file"),
m_WorkDir, wxEmptyString,
955 _(
"SBT files (*.sbt)|*.sbt|") +
958 wxFD_OPEN | wxFD_FILE_MUST_EXIST);
960 if (asn_open_file.ShowModal() == wxID_OK)
962 wxString path = asn_open_file.GetPath();
967 unique_ptr<istream> instream(
new CNcbiIfstream(path.fn_str()));
973 string sType = pObjIstrm->ReadFileHeader();
976 if (sType == CSubmit_block::GetTypeInfo()->GetName()) {
980 }
else if (sType == CSeq_submit::GetTypeInfo()->GetName()) {
985 bool first_ref_pub =
true;
988 }
else if (sType == CSeq_entry::GetTypeInfo()->GetName()) {
991 bool first_ref_pub =
true;
996 if (!pObjIstrm->EndOfData())
998 if (sType != CSeqdesc::GetTypeInfo()->GetName())
999 sType = pObjIstrm->ReadFileHeader();
1001 bool first_ref_pub =
true;
1003 while (sType == CSeqdesc::GetTypeInfo()->GetName()) {
1007 bool is_reference_pub = first_ref_pub && IsReferencePub(*desc);
1009 if (is_reference_pub) {
1010 first_ref_pub =
false;
1013 if (pObjIstrm->EndOfData())
1017 sType = pObjIstrm->ReadFileHeader();
1028 bool any_changes =
false;
1061 !
m_SubmitBlock->GetContact().GetContact().GetName().IsName() ||
1062 !
m_SubmitBlock->GetContact().GetContact().GetName().GetName().IsSetLast())
1090 copy->Assign(*entry);
1094 submission->
SetData().SetEntrys().push_back(
copy);
1100 new_item->
SetItem().SetSubmit(*submission);
1121 wxBeginBusyCursor();
1131 }
else if (desc.
IsUser()) {
1140 bool already_has =
false;
1141 if (
m_Seh.IsSetDescr() &&
m_Seh.GetDescr().IsSet()) {
1142 for (
auto di :
m_Seh.GetDescr().Get()) {
1143 if (di->Equals(desc)) {
1153 cmd.AddCommand(*cmdAddDesc);
1163 bool any_changes =
false;
1177 cmd.AddCommand(*chg);
1187 cmd.AddCommand(*cmdAddDesc);
1191 cmd.AddCommand(*cmdAddDesc);
1206 std::unordered_map <CSubSource::TSubtype, bool> found_first;
1208 if (sit->IsSetSubtype() && sit->IsSetName() &&
1211 auto findit = found_first.find(sit->GetSubtype());
1212 if (findit != found_first.end()) {
1222 if ((*dit)->IsSetSubtype() && (*dit)->GetSubtype() == sit->GetSubtype()) {
1229 (*dit)->SetName(sit->GetName());
1242 found_first[sit->GetSubtype()] =
true;
1251 bool any_changes =
false;
1260 cmd.AddCommand(*chg);
1266 cmd.AddCommand(*cmdAddDesc);
1280 bool any_changes =
false;
1294 bool any_changes =
false;
1295 bool found_any =
false;
1313 cmd.AddCommand(*chg);
1330 if (!found && !add_to_set) {
1337 cmd.AddCommand(*cmdAddDesc);
1340 cmd.AddCommand(*cmdAddDesc);
1347 if (!found_any && add_to_set && !s_IsEmptyStructuredComment(user)) {
1351 cmd.AddCommand(*cmdAddDesc);
1362 bool any_change =
false;
1363 for (
auto t_it : template_user.
GetData()) {
1364 if (t_it->IsSetLabel() && t_it->IsSetData() && (t_it->GetData().IsStr() || t_it->GetData().IsStrs())) {
1366 for (
auto& e_it : existing_user.
SetData()) {
1367 if (e_it->IsSetLabel() && e_it->GetLabel().Equals(t_it->GetLabel())) {
1368 if (t_it->GetData().IsStr()) {
1369 any_change |= s_AddStringToField(t_it->GetData().GetStr(), *e_it);
1371 for (
auto s : t_it->GetData().GetStrs()) {
1372 any_change |= s_AddStringToField(s, *e_it);
1391 !
m_SubmitBlock->GetCit().GetAuthors().GetNames().GetStd().front()->GetName().GetName().IsSetLast())) {
1397 m_SubmitBlock->SetCit().SetAuthors().SetNames().SetStr().push_back(
"?");
1402 wxFileDialog asn_save_file(
this,
wxT(
"Export to file"),
m_WorkDir, wxEmptyString,
1403 _(
"SBT files (*.sbt)|*.sbt|") +
1406 wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
1408 if (asn_save_file.ShowModal() == wxID_OK)
1410 wxString path = asn_save_file.GetPath();
1411 if (!path.IsEmpty())
1425 !s_IsEmptyStructuredComment(user)) {
1429 else if (it->IsSource()) {
1431 if (!s_IsEmptySource(it->GetSource())) {
1434 }
else if (it->IsPub()) {
1436 const CPubdesc& pub = it->GetPub();
1438 !IsEmptyRefPub(*(pub.
GetPub().
Get().front()))) {
1454 const wxString& caption,
const wxPoint& pos,
const wxSize&
size,
long style )
1536 wxWindow *win =
m_Notebook->GetCurrentPage();
1547 wxWindow *win =
m_Notebook->GetCurrentPage();
1555 if (anchor.IsEmpty())
1558 wxURI help_url (
wxT(
"https://www.ncbi.nlm.nih.gov/tools/gbench/manual6/#") + anchor);
1559 wxString help_encoded_url = help_url.BuildURI();
1560 wxLaunchDefaultBrowser(help_encoded_url, 0);
1568 wxMessageBox (
_(
"Unable to find submission data"));
1579 int answer = wxMessageBox (
_(
"You need to add contact information before submitting to GenBank - save incomplete file?"),
1580 _(
"Save Incomplete File"), wxYES_NO | wxICON_QUESTION);
1581 if (answer == wxYES)
1583 so =
m_Seh.GetCompleteSeq_entry();
1600 wxFileDialog asn_save_file(
this,
wxT(
"Save Submission File"),
m_WorkDir, wxEmptyString,
1603 wxFD_SAVE|wxFD_OVERWRITE_PROMPT);
1605 if (asn_save_file.ShowModal() == wxID_OK)
1607 wxString path = asn_save_file.GetPath();
1608 if( !path.IsEmpty())
1632 msg <<
"The following fields are missing.\n";
1633 msg <<
"This file should not be submitted to GenBank without this information.\n";
1636 report->SetTitle(
wxT(
"Missing Fields"));
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.
CAppTaskService - Application Task Service.
CAppTask - default implementation of IAppTask, use it as a base class for custom tasks.
@Auth_list.hpp User-defined methods of the data storage class.
void SetToTime(const CTime &time, EPrecision prec=ePrecision_second)
CEvent - generic event implementation TODO TODO - Attachments.
static wxString GetDialogFilter(EFileType fileType)
wxString GetWorkDir() const
CUndoManager & GetUndoManager()
virtual CScope * GetScope() const
virtual void ApplySubmitBlock(objects::CSubmit_block &block)
virtual void ApplyDescriptor(objects::CSeqdesc &desc)
virtual void SetSeqEntryHandle(objects::CSeq_entry_Handle seh)
void SetText(const wxString &text)
virtual void ApplyDescriptor(objects::CSeqdesc &desc)
virtual void SetSeqEntryHandle(objects::CSeq_entry_Handle seh)
@Name_std.hpp User-defined methods of the data storage class.
virtual void ApplyDescriptor(objects::CSeqdesc &desc)
virtual void SetSeqEntryHandle(objects::CSeq_entry_Handle seh)
EEventSubtype GetSubtype() const
@Pubdesc.hpp User-defined methods of the data storage class.
CRaiseWindowTask(wxWindow *win)
virtual IAppTask::ETaskState x_Run()
override this function in derived classes
virtual void ApplySubmitBlock(objects::CSubmit_block &block)
virtual void SetSeqEntryHandle(objects::CSeq_entry_Handle seh)
virtual void ApplyDescriptor(objects::CSeqdesc &desc)
@Seq_descr.hpp User-defined methods of the data storage class.
virtual void SetSeqEntryHandle(objects::CSeq_entry_Handle seh)
virtual void SetSeqEntryHandle(objects::CSeq_entry_Handle seh)
void SetProjectItem(objects::CProjectItem *pi)
~CSubmissionWizard()
Destructor.
virtual void UpdateOnPageChange(wxWindow *current_page)
void OnPageChanging(wxBookCtrlEvent &event)
void x_UpdateSubmitBlock()
CSubmitterPanel * m_SubmitterPanel
COrganismInfoPanel * m_OrgPanel
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
void OnDataChanged(CEvent *evt)
void CreateControls()
Creates the controls and sizers.
bool ReportMissingFields()
void x_UpdateDescriptors()
void x_ExtractDescriptorsFromSeqEntry(const objects::CSeq_entry &entry, bool &first_ref_pub)
CGenomeInfoPanel * m_GenomePanel
CRef< objects::CSubmit_block > m_SubmitBlock
CConstRef< objects::CSeq_submit > m_SeqSubmit
void ImportTemplate(wxCommandEvent &event)
virtual void ApplySubmitCommand()
static CSubmissionWizard * GetInstance(wxWindow *parent, IWorkbench *wb, CRef< CGBProjectHandle > ph, CRef< CProjectItem > pi, wxWindowID id=ID_CSUBMISSIONWIZARD, const wxString &caption=_("Submission Wizard"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(650, 548), long style=wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxMINIMIZE_BOX|wxMAXIMIZE_BOX|wxCLOSE_BOX)
vector< CRef< objects::CSeqdesc > > m_Descriptors
bool x_ApplyMolinfoToRecords(const objects::CSeqdesc &desc, CCmdComposite &cmd)
void OnBackbtnClick(wxCommandEvent &event)
wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_CSUBMISSIONBACKBTN
wxBoxSizer * m_BottomSizer
void OnHelp(wxHyperlinkEvent &event)
void ConnectListener(void)
void OnPageChanged(wxBookCtrlEvent &event)
void Init()
Initialises member variables.
void ApplySubmitBlock(const objects::CSubmit_block &block)
CSubmissionWizard()
Constructors.
void x_ExtractDescriptors(const objects::CSeq_descr &descr, bool &first_ref_pub)
void OnContinuebtnClick(wxCommandEvent &event)
wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_CSUBMISSIONCONTBTN
static CSubmissionWizard * m_Instance
bool x_ApplyDescriptorToRecord(const objects::CSeqdesc &desc, CCmdComposite &cmd)
ICommandProccessor * m_CmdProcessor
bool x_ApplySourceDescriptorToRecord(const objects::CBioSource &src, CCmdComposite &cmd)
bool Create(wxWindow *parent, wxWindowID id=ID_CSUBMISSIONWIZARD, const wxString &caption=_("Submission Wizard"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(650, 548), long style=wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxMINIMIZE_BOX|wxMAXIMIZE_BOX|wxCLOSE_BOX)
Creation.
void x_SetupCmdProcessor()
static bool ShowToolTips()
Should we show tooltips?
bool x_MergeDBLink(const objects::CUser_object &template_user, objects::CUser_object &existing_user)
bool x_ApplyOrReplaceDescriptorToRecord(const objects::CSeqdesc &desc, CCmdComposite &cmd, objects::CSeq_inst::TMol mol)
void DisconnectListener(void)
bool x_ValidateCurrentPage()
CRef< CProjectItem > m_ProjectItem
void x_InitializeSubmitBlock()
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
void x_SetSubmissionDate()
void ExtractDescriptor(const objects::CSeqdesc &desc, bool first_pub)
void x_UpdateSeqEntryHandle()
CRef< CGBProjectHandle > m_ProjectHandle
CSubAnnotationPanel * m_AnnotationPanel
CReferencePanel * m_ReferencePanel
void ExportTemplate(wxCommandEvent &event)
void x_InitializeDescriptorList()
virtual bool TransferDataToWindow()
void x_LoadProjectItemData()
bool x_ApplyUserDescriptorToRecord(const objects::CUser_object &user, bool add_to_set, CCmdComposite &cmd)
void x_TransferImportedSubSources(const objects::CBioSource &src, objects::CBioSource &dst)
CSubValidateDiscPanel * m_ValidatePanel
CGeneralPanel * m_GeneralPanel
objects::CSeq_entry_Handle m_Seh
CSubMolinfoPanel * m_MoleculePanel
virtual void ApplySubmitBlock(objects::CSubmit_block &block)
void SetObjectType(EObjectType obj_type)
@ eObjectType_StructuredComment
EObjectType GetObjectType() const
virtual void Execute(IEditCommand *command, wxWindow *window=0)=0
virtual void ApplyCommand()
virtual bool IsLastPage() const
virtual bool IsFirstPage() const
virtual void ReportMissingFields(string &text)
virtual void ApplyDescriptor(objects::CSeqdesc &desc)
virtual bool StepBackward()
virtual bool StepForward()
virtual wxString GetName() const
virtual void ApplySubmitBlock(objects::CSubmit_block &block)
virtual wxString GetAnchor()
IWorkbench is the central interface in the application framework.
CChangeUnindexedObjectCommand< objects::CSubmit_block > CChangeSubmitBlockCommand
std::ofstream out("events_result.xml")
main entry point for tests
void GetGBenchVersionInfo(size_t &ver_major, size_t &ver_minor, size_t &ver_patch_level, CTime &build_date)
@ eTakeOwnership
An object can take ownership of another.
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
void Error(CExceptionArgs_Base &args)
const string & GetMsg(void) const
Get message string.
void Info(CExceptionArgs_Base &args)
CIRef< T > GetServiceByType()
retrieves a typed reference to a service, the name of C++ type is used as the name of the service.
void AddTask(IAppTask &task)
Add a task to the queue.
ETaskState
List of task states defining the task management FSM.
@ eCompleted
successfully finished
virtual void RemoveListener(CEventHandler *listener)
Remove a listener.
static void GetLabel(const CObject &obj, string *label, ELabelType type=eDefault)
#define ON_EVENT(type, id, handler)
#define END_EVENT_MAP()
Ends definition of Command Map.
#define BEGIN_EVENT_MAP(thisClass, baseClass)
Begins definition of Command Map for CEventHandler-derived class.
virtual void AddListener(CEventHandler *listener, int pool_name=ePool_Default)
Add a listener.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
#define MSerial_AsnText
I/O stream manipulators –.
virtual bool Equals(const CSerialObject &object, ESerialRecursionMode how=eRecursive) const
Check if both objects contain the same values.
ESerialDataFormat
Data file format.
@ eSerial_AsnText
ASN.1 text.
@ eSerial_AsnBinary
ASN.1 binary.
pair< TObjectPtr, TTypeInfo > ObjectInfo(C &obj)
static CObjectIStream * Open(ESerialDataFormat format, CNcbiIstream &inStream, bool deleteInStream)
Create serial object reader and attach it to an input stream.
CSeq_entry_Handle GetSeq_entryHandle(CDataLoader *loader, const TBlobId &blob_id, EMissing action=eMissing_Default)
Get Seq-entry handle by its blob-id, with possible loading.
TClass GetClass(void) const
CBioseq_set_Handle GetParentBioseq_set(void) const
Return a handle for the parent Bioseq-set, or null handle.
CSeq_entry_Handle GetTopLevelEntry(void) const
Get top level Seq-entry handle.
CSeq_entry_Handle GetParentEntry(void) const
Return a handle for the parent seq-entry of the bioseq.
bool IsSetClass(void) const
CSeq_entry_Handle GetSeq_entry_Handle(void) const
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
void Reset(void)
Reset reference object.
TObjectType & GetNCObject(void) const
Get object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::ofstream CNcbiOfstream
Portable alias for ofstream.
IO_PREFIX::ifstream CNcbiIfstream
Portable alias for ifstream.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
static bool Equal(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2, ECase use_case=eCase)
Test for equality of a substring with another string.
CTime CurrentTime(CTime::ETimeZone tz=CTime::eLocal, CTime::ETimeZonePrecision tzp=CTime::eTZPrecisionDefault)
static const char label[]
bool IsSetAuthors(void) const
Check if a value has been assigned to Authors data member.
const TAuthors & GetAuthors(void) const
Get the Authors member data.
bool IsSetAffil(void) const
Check if a value has been assigned to Affil data member.
const TName & GetName(void) const
Get the Name member data.
bool IsSetNames(void) const
Check if a value has been assigned to Names data member.
bool IsSetName(void) const
Author, Primary or Secondary Check if a value has been assigned to Name data member.
const TNames & GetNames(void) const
Get the Names member data.
const TStd & GetStd(void) const
Get the variant data.
E_Choice Which(void) const
Which variant is currently selected.
bool IsStd(void) const
Check if variant Std is selected.
@ e_not_set
No variant selected.
const TSubtype & GetSubtype(void) const
Get the Subtype member data.
bool IsSetOrg(void) const
Check if a value has been assigned to Org data member.
bool IsSetSubtype(void) const
Check if a value has been assigned to Subtype data member.
const TOrg & GetOrg(void) const
Get the Org member data.
void SetOrg(TOrg &value)
Assign a value to Org data member.
TSubtype & SetSubtype(void)
Assign a value to Subtype data member.
bool IsSetItem(void) const
Check if a value has been assigned to Item data member.
bool IsSetLabel(void) const
user-defined label Check if a value has been assigned to Label data member.
TDescr & SetDescr(void)
Assign a value to Descr data member.
bool IsSubmit(void) const
Check if variant Submit is selected.
void SetLabel(const TLabel &value)
Assign a value to Label data member.
const TLabel & GetLabel(void) const
Get the Label member data.
const TItem & GetItem(void) const
Get the Item member data.
const TDescr & GetDescr(void) const
Get the Descr member data.
bool IsEntry(void) const
Check if variant Entry is selected.
void SetItem(TItem &value)
Assign a value to Item data member.
const TEntry & GetEntry(void) const
Get the variant data.
const TSubmit & GetSubmit(void) const
Get the variant data.
const TStr & GetStr(void) const
Get the variant data.
bool IsSetData(void) const
the object itself Check if a value has been assigned to Data data member.
bool IsSetType(void) const
type of object within class Check if a value has been assigned to Type data member.
bool IsStrs(void) const
Check if variant Strs is selected.
const TStrs & GetStrs(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
bool IsName(void) const
Check if variant Name is selected.
bool IsStr(void) const
Check if variant Str is selected.
bool IsSetLast(void) const
Check if a value has been assigned to Last data member.
TData & SetData(void)
Assign a value to Data data member.
const TData & GetData(void) const
Get the Data member data.
void SetData(TData &value)
Assign a value to Data data member.
const TType & GetType(void) const
Get the Type member data.
const TLast & GetLast(void) const
Get the Last member data.
const TName & GetName(void) const
Get the variant data.
const TMod & GetMod(void) const
Get the Mod member data.
const TTaxname & GetTaxname(void) const
Get the Taxname member data.
bool IsSetMod(void) const
Check if a value has been assigned to Mod data member.
bool IsSetOrgname(void) const
Check if a value has been assigned to Orgname data member.
bool IsSetTaxname(void) const
preferred formal name Check if a value has been assigned to Taxname data member.
const TOrgname & GetOrgname(void) const
Get the Orgname member data.
bool IsSet(void) const
Check if a value has been assigned to data member.
const Tdata & Get(void) const
Get the member data.
const TGen & GetGen(void) const
Get the variant data.
bool IsGen(void) const
Check if variant Gen is selected.
const TSeq & GetSeq(void) const
Get the variant data.
const TSet & GetSet(void) const
Get the variant data.
bool IsSeq(void) const
Check if variant Seq is selected.
bool IsSet(void) const
Check if variant Set is selected.
@ eClass_nuc_prot
nuc acid and coded proteins
const TUser & GetUser(void) const
Get the variant data.
bool IsMolinfo(void) const
Check if variant Molinfo is selected.
void SetPub(TPub &value)
Assign a value to Pub data member.
TPub & SetPub(void)
Select the variant.
const TSource & GetSource(void) const
Get the variant data.
const TPub & GetPub(void) const
Get the variant data.
bool IsSource(void) const
Check if variant Source is selected.
bool IsSetBiomol(void) const
Check if a value has been assigned to Biomol data member.
const Tdata & Get(void) const
Get the member data.
TSource & SetSource(void)
Select the variant.
bool IsSetDescr(void) const
descriptors Check if a value has been assigned to Descr data member.
bool IsSet(void) const
Check if a value has been assigned to data member.
TBiomol GetBiomol(void) const
Get the Biomol member data.
EMol
molecule class in living organism
bool IsPub(void) const
Check if variant Pub is selected.
bool IsSetPub(void) const
the citation(s) Check if a value has been assigned to Pub data member.
TUser & SetUser(void)
Select the variant.
E_Choice Which(void) const
Which variant is currently selected.
const TPub & GetPub(void) const
Get the Pub member data.
const TDescr & GetDescr(void) const
Get the Descr member data.
const TMolinfo & GetMolinfo(void) const
Get the variant data.
bool IsUser(void) const
Check if variant User is selected.
@ e_User
user defined object
@ e_Source
source of materials, includes Org-ref
@ eMol_na
just a nucleic acid
bool IsSetData(void) const
Check if a value has been assigned to Data data member.
void SetSub(TSub &value)
Assign a value to Sub data member.
const TEntrys & GetEntrys(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
void SetData(TData &value)
Assign a value to Data data member.
const TSub & GetSub(void) const
Get the Sub member data.
bool IsEntrys(void) const
Check if variant Entrys is selected.
static void text(MDB_val *v)
void ReportSubWizardUsage(const string &action_name)
Report usage of the submission wizard dialog.
const string version
version string
const struct ncbi::grid::netcache::search::fields::SIZE size
void copy(Njn::Matrix< S > *matrix_, const Njn::Matrix< T > &matrix0_)
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
unique_ptr< CObjectIStream > xCreateASNStream(CFormatGuess::EFormat format, unique_ptr< istream > &instream)
static void restoreRecursivelyAllToolTips(wxWindow *win)
CRef< CCmdComposite > CleanupCommand(objects::CSeq_entry_Handle orig_seh, bool extended, bool do_tax)
string ToStdString(const wxString &s)