wxWindowID
id,
constwxString& caption,
constwxPoint& pos,
constwxSize&
size,
longstyle )
114 CBioseq_CIb_iter(seh, objects::CSeq_inst::eMol_na);
115 for( ; b_iter ; ++b_iter )
121 Create(parent,
id, caption, pos,
size, style);
125wxWindowID
id,
constwxString& caption,
constwxPoint& pos,
constwxSize&
size,
longstyle )
126: m_BioseqHandles(bioseq_handles),
130 if(!bioseq_handles.empty()) {
131 m_SEH= bioseq_handles.front().GetTopLevelEntry();
134 Create(parent,
id, caption, pos,
size, style);
142 bool SrcEditDialog::Create( wxWindow* parent, wxWindowID
id,
constwxString& caption,
constwxPoint& pos,
constwxSize&
size,
longstyle )
145SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
146SetLayoutAdaptationMode(wxDIALOG_ADAPTATION_MODE_ENABLED);
147wxDialog::Create( parent,
id, caption, pos,
size, style );
152GetSizer()->SetSizeHints(
this);
194wxBoxSizer* itemBoxSizer2 =
newwxBoxSizer(wxVERTICAL);
195itemDialog1->SetSizer(itemBoxSizer2);
197wxBoxSizer* itemBoxSizer3 =
newwxBoxSizer(wxHORIZONTAL);
198itemBoxSizer2->Add(itemBoxSizer3, 0, wxGROW|wxALL, 5);
200wxArrayString itemChoiceStrings, itemChoiceStringsWritable;
208 if(seqTable->GetNum_rows() < 1)
210wxMessageBox(
wxT(
"No Source records found"),
wxT(
"Error"), wxOK | wxICON_ERROR);
221 m_Grid->SetTable(gridAdapter,
true);
223 m_Grid->AutoSizeColumns();
224 intl_height =
m_Grid->GetColLabelSize();
225 m_Grid->SetColLabelSize( 2 * l_height );
227 m_Grid->SetRowLabelSize(wxGRID_AUTOSIZE);
238 if((*it)->IsSetHeader() && (*it)->GetHeader().IsSetTitle() )
240 stringtitle = (*it)->GetHeader().GetTitle();
243itemChoiceStrings.Add(wxString(title));
245itemChoiceStringsWritable.Add(wxString(title));
254 if(glyph_col >= 0 && glyph_col+1 <
m_Grid->GetNumberCols())
259wxBoxSizer* itemBoxSizer4 =
newwxBoxSizer(wxHORIZONTAL);
260itemBoxSizer2->Add(itemBoxSizer4, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 2);
262wxArrayString m_QualListStrings;
263 m_QualList=
newwxChoice( itemDialog1,
ID_QUALCHOICE, wxDefaultPosition, wxDefaultSize, m_QualListStrings, 0 );
264itemBoxSizer4->Add(
m_QualList, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
270itemChoiceStringsWritable.Add(
m_QualList->GetString(
i));
275itemBoxSizer4->Add(
m_AddQualBtn, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
277wxBoxSizer* itemBoxSizer7 =
newwxBoxSizer(wxHORIZONTAL);
278itemBoxSizer2->Add(itemBoxSizer7, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 2);
280wxButton* itemButton8 =
newwxButton( itemDialog1,
ID_LOADQUALS,
_(
"Import Qualifier Table"), wxDefaultPosition, wxDefaultSize, 0 );
281itemBoxSizer7->Add(itemButton8, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
283wxButton* itemButton9 =
newwxButton( itemDialog1,
ID_EXPORT_QUALS,
_(
"Export Qualifier Table"), wxDefaultPosition, wxDefaultSize, 0 );
284itemBoxSizer7->Add(itemButton9, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
293wxBoxSizer* itemBoxSizer13 =
newwxBoxSizer(wxHORIZONTAL);
294itemBoxSizer2->Add(itemBoxSizer13, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 3);
296wxButton* itemButton14 =
newwxButton( itemDialog1, wxID_OK,
_(
"Accept"), wxDefaultPosition, wxDefaultSize, 0 );
297itemBoxSizer13->Add(itemButton14, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
299wxButton* itemButton15 =
newwxButton( itemDialog1, wxID_CANCEL,
_(
"Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
300itemBoxSizer13->Add(itemButton15, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
308 return(column_name ==
"location"|| column_name.empty() || column_name ==
"expand");
314vector<bool> tf_positions;
315 boolany_tf =
false;
317 ITERATE( objects::CSeq_table::TColumns, col_iter, values->GetColumns() ) {
319 if((*col_iter)->IsSetHeader() && (*col_iter)->GetHeader().IsSetTitle()) {
320 string label= (*col_iter)->GetHeader().GetTitle();
322 if(pos != string::npos) {
329objects::CSubSource::TSubtype
st= objects::CSubSource::GetSubtypeValue (
label, objects::CSubSource::eVocabulary_insdc);
330 if(objects::CSubSource::NeedsNoText(
st)) {
334}
catch(exception &) {
339tf_positions.push_back(is_tf);
347vector<string> tf_strings;
348tf_strings.push_back(
"true");
349tf_strings.push_back(
"");
351 for(
size_t i= 1;
i< tf_positions.size();
i++) {
353 if(tf_positions[
i]) {
354 for(
size_tj = 0; j < tf_strings.size(); j++) {
355col->SetData().SetString().push_back(tf_strings[j]);
358choices->SetColumns().push_back(col);
368 for(
i= 0;
i<
m_Grid->GetTable()->GetColsCount();
i++) {
369wxString col_name =
m_Grid->GetTable()->GetColLabelValue(
i);
380wxArrayString srcModNameStrings;
384 ITERATE(wxArrayString, it, srcModNameStrings) {
396objects::CSubSource::TSubtype
st= objects::CSubSource::GetSubtypeValue (qual_name, objects::CSubSource::eVocabulary_insdc);
397 if(objects::CSubSource::NeedsNoText(
st)) {
400}
catch(exception &) {
403vector<string> new_choices;
405new_choices.push_back(
"true");
406new_choices.push_back(
"");
478wxMessageDialog dlg(
this,
_(
"Discard modifications?"),
_(
"Attention"),wxOK|wxCANCEL|wxCENTRE);
479 if(dlg.ShowModal() == wxID_OK)
495wxString qual_name =
m_QualList->GetStringSelection();
507wxArrayString itemChoiceStrings, itemChoiceStringsWritable;
510 for(
int i= 0;
i<
m_Grid->GetTable()->GetColsCount();
i++)
512wxString title =
m_Grid->GetTable()->GetColLabelValue(
i);
513 if(!title.IsEmpty())
515itemChoiceStrings.Add(title);
517itemChoiceStringsWritable.Add(title);
524itemChoiceStringsWritable.Add(
m_QualList->GetString(
i));
532 intnum_cols =
m_Grid->GetTable()->GetNumberCols();
533 m_Grid->GetTable()->InsertCols(num_cols - 1);
534 m_Grid->GetTable()->SetColLabelValue(num_cols - 1, new_col.ToStdString());
535 m_Grid->AutoSizeColumns();
538 return(num_cols - 1);
547 intnum_cols =
m_Grid->GetTable()->GetNumberCols();
548 intnum_rows =
m_Grid->GetTable()->GetNumberRows();
549 for(
intcol = 0; col < num_cols; col++) {
550 for(
int row= 0;
row< num_rows;
row++) {
551 m_Grid->GetTable()->SetValue(
row, col,
"");
563vector<string> already_seen;
565 if(!(*cit)->GetData().IsId()) {
567 if((*cit)->IsSetHeader()
568&& (*cit)->GetHeader().IsSetTitle()) {
569 label= (*cit)->GetHeader().GetTitle();
575 if( (*cit)->IsSetHeader() && (*cit)->GetHeader().IsSetTitle() )
577 stringsTitle = (*cit)->GetHeader().GetTitle();
581 if(new_name.empty()) {
584(*cit)->SetHeader().SetTitle(new_name);
586 ITERATE(vector<string>, sit, already_seen) {
590+
" refer to the same field ("+ new_name +
"); ";
594already_seen.push_back(new_name);
614vector<string> format_ids;
615format_ids.push_back(
"file_loader_table");
616fileManager->LoadFormats(format_ids);
618vector<CIRef<IOpenObjectsPanelClient> > loadManagers;
622dlg.SetSize(710, 480);
627 if(dlg.ShowModal() == wxID_OK) {
629 if(!object_loader) {
630wxMessageBox(
wxT(
"Failed to get object loader"),
wxT(
"Error"),
631wxOK | wxICON_ERROR);
647 const CObject& ptr = obj_it->GetObject();
648 constobjects::CSeq_annot* annot =
dynamic_cast<constobjects::CSeq_annot*
>(&ptr);
649 if(annot && annot->IsSeq_table()) {
651input_table->Assign(annot->GetData().GetSeq_table());
659wxOK | wxICON_ERROR,
this);
673wxOK | wxICON_ERROR,
this);
678wxMessageBox(
wxT(
"New table conflicts with existing values"),
wxT(
"Error"),
679wxOK | wxICON_ERROR,
this);
710values_table->Assign(*grid_table);
712 NON_CONST_ITERATE(objects::CSeq_table::TColumns, it, values_table->SetColumns()) {
713 if((*it)->IsSetHeader() && (*it)->GetHeader().IsSetTitle()) {
714 stringtitle = (*it)->GetHeader().GetTitle();
716 if(pos != string::npos) {
717title = title.substr(0, pos);
719(*it)->SetHeader().SetTitle(title);
733wxString qual_name =
m_QualList->GetStringSelection();
744 for(
i= 0;
i< objects::CSubSource::eSubtype_other;
i++) {
748srcModNameStrings.push_back(
ToWxString(qual_name));
750}
catch(exception &) {
753 for(
i= 0;
i< objects::COrgMod::eSubtype_other;
i++) {
760srcModNameStrings.push_back(
ToWxString(qual_name));
762}
catch(exception &) {
768 constwxString s_DbXref =
_(
kDbXref);
771srcModNameStrings.push_back(s_DbXref);
774srcModNameStrings.Sort();
777srcModNameStrings.push_back(s_OrgModNoteName);
780srcModNameStrings.push_back(s_SubSourceNoteName);
795 if( ! values_table->IsSetColumns() || values_table->GetColumns().empty() ) {
799 constobjects::CSeq_table::TColumns &
columns= values_table->GetColumns();
800 size_tnum_cols =
columns.size();
805vector< CRef<CSrcTableColumnBase> > vecColEditFactories;
811vector< CRef<CSrcTableColumnBase> > old_vecColEditFactories;
818 for(
int row= 0;
row< values_table->GetNum_rows() && (
size_t) row < id_col->GetData().GetSize();
row++) {
824objects::CSeqdesc_CI desc_ci( bsh, objects::CSeqdesc::e_Source);
826new_source_desc->Assign(*desc_ci);
828objects::CBioSource & bioSource = new_source_desc->SetSource();
830 if(bioSource.IsSetOrg() && bioSource.GetOrg().IsSetTaxname()) {
831old_taxname = bioSource.GetOrg().GetTaxname();
836 for(
size_tcol = 1; col <
m_columns.size(); ++col ) {
837 if(old_vecColEditFactories[col])
838old_vecColEditFactories[col]->ClearInBioSource(bioSource);
843 for(
size_tcol = 1; col < num_cols; ++col ) {
844 if(vecColEditFactories[col] &&
columns[col]->GetData().GetSize() > (
size_t)
row) {
845vecColEditFactories[col]->AddToBioSource(
852 if(bioSource.IsSetOrg() && bioSource.GetOrg().IsSetTaxname()) {
853new_taxname = bioSource.GetOrg().GetTaxname();
864 cmd->AddCommand (*ecmd);
866objects::CBioseq_set_Handle bssh = bsh.GetParentBioseq_set();
867 if(bssh && bssh.IsSetClass() && bssh.GetClass() == objects::CBioseq_set::eClass_nuc_prot) {
882 if(!
id|| !id_col) {
888 while(row < id_col->GetData().GetSize() && !found) {
890objects::CSeq_id::E_SIC compare =
id->Compare(*row_id);
891 if(compare == objects::CSeq_id::e_YES) {
893}
else if(compare == objects::CSeq_id::e_DIFF) {
896 id->Assign(*row_id);
910 return "No sequence ID column selected!";
915vector<CRef<objects::CSeq_id> > already_seen;
916 while(row < src_col->GetData().GetSize()) {
917 if(!
OneRowOk(src_col->GetData().GetId()[
row], dst_col)) {
918 stringid_label =
"";
924 if((*sit)->Compare(*(src_col->GetData().GetId()[
row])) == objects::CSeq_id::e_YES) {
927+
" refer to the same sequence; ";
931already_seen.push_back(src_col->GetData().GetId()[
row]);
972 ITERATE(objects::CSeq_table::TColumns, cit,
table.GetColumns()) {
973 if((*cit)->IsSetData() && (*cit)->GetData().IsId()) {
986 for(
i= 0;
i< src_id->GetData().GetSize() && i < src_col->GetData().GetSize();
i++) {
989 while(dst_col->SetData().SetString().size() < dst_id->GetData().GetSize()) {
990dst_col->SetData().SetString().push_back (
"");
993dst_col->SetData().SetString()[
row] = src_col->GetData().GetString()[
i];
994}
catch(exception &) {
1010 ITERATE(objects::CSeq_table::TColumns, cit, src.GetColumns()) {
1011 if((*cit)->IsSetData() && !(*cit)->GetData().IsId()) {
1016dst_col =
newobjects::CSeqTable_column();
1017dst_col->SetHeader().Assign((*cit)->GetHeader());
1018 if(!dst_col->GetHeader().IsSetTitle() && dst_col->GetHeader().IsSetField_name()) {
1019dst_col->SetHeader().SetTitle(dst_col->GetHeader().GetField_name());
1021dst->SetColumns().push_back(dst_col);
1033wxFileDialog table_save_file(parent,
wxT(
"Select a file"), save_file_dir, save_file_name,
1036wxFD_SAVE|wxFD_OVERWRITE_PROMPT);
1038 if(table_save_file.ShowModal() == wxID_OK)
1040wxString path = table_save_file.GetPath();
1041wxString name = table_save_file.GetFilename();
1048wxMessageBox(
wxT(
"Please, select file name"),
wxT(
"Error"),
1049wxOK | wxICON_ERROR, parent);
1057wxMessageBox(
wxT(
"Cannot open file ")+name,
wxT(
"Error"),
1058wxOK | wxICON_ERROR, parent);
1063 ITERATE(objects::CSeq_table::TColumns, cit, values_table->GetColumns()) {
1064exporter.
Field((*cit)->GetHeader().GetTitle());
1067 for(
int i= 0;
i< values_table->GetNum_rows(); ++
i) {
1068 ITERATE(objects::CSeq_table::TColumns, cit, values_table->GetColumns()) {
1069 if(
i< (*cit)->GetData().GetSize()) {
1070 if((*cit)->GetData().IsId()) {
1074}
else if((*cit)->GetData().IsString()) {
1075exporter.
Field((*cit)->GetData().GetString()[
i]);
1079exporter.
Field(blank);
1085save_file_dir = table_save_file.GetDirectory();
1086save_file_name = table_save_file.GetFilename();
1095 if(!id_col || !
id|| !id_col->IsSetData() || !id_col->GetData().IsId()) {
1099 while(row < id_col->GetData().GetSize()) {
1100 if(id->Compare(*(id_col->GetData().GetId()[
row])) == objects::CSeq_id::e_YES) {
1112 for(
size_t i= 0;
i< src_id->GetData().GetSize() && i < src_col->GetData().GetSize();
i++) {
1115 if(dst_col->GetData().GetString().size() >
row 1117&& !
NStr::Equal(dst_col->GetData().GetString()[
row], src_col->GetData().GetString()[
i])) {
1130 intconflicting_columns = 0;
1133 ITERATE(objects::CSeq_table::TColumns, cit, src.GetColumns()) {
1134 if((*cit)->IsSetData() && !(*cit)->GetData().IsId()) {
1138conflicting_columns++;
1143 returnconflicting_columns;
1148 if(!input_table || !input_table->IsSetColumns() || input_table->GetColumns().size() < 1) {
1152 boolall_default =
true;
1154 ITERATE(objects::CSeq_table::TColumns, cit, input_table->SetColumns()) {
1156 if(!(*cit)->IsSetHeader() || !(*cit)->GetHeader().IsSetTitle()
1157|| !
NStr::Equal(expected_title, (*cit)->GetHeader().GetTitle())) {
1158all_default =
false;
1164 boolall_match =
true;
1166 NON_CONST_ITERATE(objects::CSeq_table::TColumns, cit, input_table->SetColumns()) {
1167 if(!(*cit)->IsSetData() || (*cit)->GetData().GetSize() == 0) {
1171 stringfirst_val =
"";
1172 if((*cit)->GetData().IsString()) {
1173first_val = (*cit)->GetData().GetString()[0];
1174}
else if((*cit)->GetData().IsId()) {
1178 if(all_default || !(*cit)->IsSetHeader() || !(*cit)->GetHeader().IsSetTitle() ||
NStr::IsBlank((*cit)->GetHeader().GetTitle())) {
1180(*cit)->SetHeader().SetTitle(first_val);
1181}
else if(!
NStr::Equal((*cit)->GetHeader().GetTitle(), first_val)) {
1195 NON_CONST_ITERATE(objects::CSeq_table::TColumns, cit, input_table->SetColumns()) {
1196 if(!(*cit)->IsSetData() || (*cit)->GetData().GetSize() == 0) {
1198}
else if((*cit)->GetData().IsString()) {
1199 stringtitle = (*cit)->GetHeader().GetTitle();
1205vector<CRef<objects::CSeq_id> > new_ids;
1206 for(
size_tj = 0; j < (*cit)->GetData().GetString().
size(); j++) {
1207 string val= (*cit)->GetData().GetString()[j];
1210new_ids.push_back(
id);
1211}
catch(exception &) {
1213 id->SetLocal().SetStr(
val);
1214new_ids.push_back(
id);
1217 for(
size_tj = 0; j < new_ids.size(); j++) {
1218(*cit)->SetData().SetId().push_back(new_ids[j]);
1228 NON_CONST_ITERATE(objects::CSeq_table::TColumns, cit, input_table->SetColumns()) {
1229 if(!(*cit)->IsSetData() || (*cit)->GetData().GetSize() == 0) {
1231}
else if((*cit)->GetData().IsInt()) {
1232vector<string> values;
1233 for(
size_tj = 0; j < (*cit)->GetData().GetInt().
size(); j++) {
1236 for(
size_tj = 0; j < values.size(); j++) {
1237(*cit)->SetData().SetString().push_back(values[j]);
1239}
else if((*cit)->GetData().IsReal()) {
1240vector<string> values;
1241 for(
size_tj = 0; j < (*cit)->GetData().GetInt().
size(); j++) {
1244 for(
size_tj = 0; j < values.size(); j++) {
1245(*cit)->SetData().SetString().push_back(values[j]);
1254 if(!(*cit)->IsSetData() || (*cit)->GetData().GetSize() == 0) {
1257 intnum_vals =
static_cast<int>((*cit)->GetData().GetSize());
1258 if(
row>= num_vals) {
1261 if((*cit)->GetData().IsString()) {
1262 for(
intj =
row; j < num_vals - 1; j++) {
1263(*cit)->SetData().SetString()[j] = (*cit)->GetData().GetString()[j + 1];
1265(*cit)->SetData().SetString().pop_back();
1266}
else if((*cit)->GetData().IsId()) {
1267 for(
intj =
row; j < num_vals - 1; j++) {
1268(*cit)->SetData().SetId()[j]->Assign(*((*cit)->GetData().GetId()[j + 1]));
1270(*cit)->SetData().SetId().pop_back();
1271}
else if((*cit)->GetData().IsLoc()) {
1272 for(
intj =
row; j < num_vals - 1; j++) {
1273(*cit)->SetData().SetLoc()[j]->Assign(*((*cit)->GetData().GetLoc()[j + 1]));
1275(*cit)->SetData().SetLoc().pop_back();
1276}
else if((*cit)->GetData().IsInt()) {
1277 for(
intj =
row; j < num_vals - 1; j++) {
1278(*cit)->SetData().SetInt()[j] = (*cit)->GetData().GetInt()[j + 1];
1280(*cit)->SetData().SetInt().pop_back();
1281}
else if((*cit)->GetData().IsReal()) {
1282 for(
intj =
row; j < num_vals - 1; j++) {
1283(*cit)->SetData().SetReal()[j] = (*cit)->GetData().GetReal()[j + 1];
1285(*cit)->SetData().SetReal().pop_back();
1286}
else if((*cit)->GetData().IsBit()) {
1287 for(
intj =
row; j < num_vals - 1; j++) {
1288(*cit)->SetData().SetBit()[j] = (*cit)->GetData().GetBit()[j + 1];
1290(*cit)->SetData().SetBit().pop_back();
1291}
else if((*cit)->GetData().IsBytes()) {
1292 for(
intj =
row; j < num_vals - 1; j++) {
1293(*cit)->SetData().SetBytes()[j] = (*cit)->GetData().GetBytes()[j + 1];
1295(*cit)->SetData().SetBytes().pop_back();
1304 if( nl_pos !=
NPOS) {
1305sTitle = sTitle.substr(0, nl_pos);
1310 if(desc_pos !=
NPOS) {
1311sTitle = sTitle.substr(0, desc_pos);
1312}
if(feat_pos !=
NPOS) {
1313sTitle = sTitle.substr(0, feat_pos);
1316 if(sTitle.empty()) {
1329 return "Organism Name";
1331 return "Taxname after binomial";
1333 stringorganelle = sTitle.substr(6,
NPOS);
1348 return "fwd-primer-name";
1351 return "fwd-primer-seq";
1354 return "rev-primer-name";
1357 return "rev-primer-seq";
1378 if( pos !=
NPOS) {
1379 stringsubtype = sTitle.substr(0, pos);
1383 stringepart = sTitle.substr(pos+1,
NPOS);
1384 if(!(epart ==
"coll"|| epart ==
"inst"|| epart ==
"specid"))
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
bool GUI_AsyncExecUnit(IExecuteUnit &exec_unit, const wxString &msg)
static string GetSubtypeName(const CSubSource &qual)
void SetColumns(wxArrayString &columns)
static bool AutoFill(objects::COrg_ref &org)
void Field(const string &value)
virtual void SetRegistryPath(const string &path)
static wxString GetDialogFilter(EFileType fileType)
IObjectLoader * GetObjectLoader()
void SetManagers(vector< CIRef< IOpenObjectsPanelClient > > &managers)
static bool IsValidSubtypeName(const string &str, EVocabulary vocabulary=eVocabulary_raw)
static TSubtype GetSubtypeValue(const string &str, EVocabulary vocabulary=eVocabulary_raw)
CConstRef< objects::CSeq_submit > m_SeqSubmit
void MakeColumnReadOnly(int pos, bool val=true)
void CollapseByCol(int col)
int GetCollapseColAndExpand(void)
void UpdateColumnChoices(int pos, vector< string > choices)
void SetColumnSizesAndChoices()
void InitColumnCollapse(int col)
void SetValuesTable(CRef< objects::CSeq_table > table)
CRef< objects::CSeq_table > GetValuesTable()
static CRef< CSrcTableColumnBase > Create(const objects::CSeqTable_column &column)
void SetColumns(wxArrayString &columns)
static TSubtype GetSubtypeValue(const string &str, EVocabulary vocabulary=eVocabulary_raw)
static bool IsValidSubtypeName(const string &str, EVocabulary vocabulary=eVocabulary_raw)
virtual bool PreExecute()=0
virtual bool PostExecute()=0
vector< SObject > TObjects
IWorkbench is the central interface in the application framework.
string FindBadColumns(CRef< objects::CSeq_table > table)
int GetNewColumn(wxString new_col)
void OnAddQual(wxCommandEvent &event)
wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_ADD_QUAL_BUTTON
CStringConstraintSelect * m_StringConstraintPanel
int CombineTables(CRef< objects::CSeq_table > dst, const objects::CSeq_table &src)
void DeleteTableRow(CRef< objects::CSeq_table > table, int row)
SrcEditDialog()
Constructors.
objects::CSeq_table::TColumns m_columns
bool Create(wxWindow *parent, wxWindowID id=10013, const wxString &caption=_("Source Editing"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxMAXIMIZE_BOX|wxCLOSE_BOX|wxTAB_TRAVERSAL)
Creation.
int GetCollapsible() const
void GetQualChoices(wxArrayString &srcModNameStrings)
CRef< objects::CSeq_table > x_GetSourceTableChoices(CRef< objects::CSeq_table > values)
void OnQualchoiceSelected(wxCommandEvent &event)
wxEVT_COMMAND_CHOICE_SELECTED event handler for ID_QUALCHOICE
CSeqTableGridPanel * m_GridPanel
CRef< objects::CSeq_table > x_GetValuesTableFromGridPanel()
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
~SrcEditDialog()
Destructor.
void OnExportQualsClick(wxCommandEvent &event)
wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_EXPORT_QUALS
int CountColumnRowConflicts(CRef< objects::CSeqTable_column > dst_id, CRef< objects::CSeqTable_column > dst_col, CRef< objects::CSeqTable_column > src_id, CRef< objects::CSeqTable_column > src_col)
void OnClickCancel(wxCommandEvent &event)
wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
void CombineColumns(CRef< objects::CSeqTable_column > dst_id, CRef< objects::CSeqTable_column > dst_col, CRef< objects::CSeqTable_column > src_id, CRef< objects::CSeqTable_column > src_col)
string GetLabelForTitle(string sTitle)
CApplyEditconvertPanel * m_AecrPanel
void Init()
Initialises member variables.
CBioseq_Handle GetBioseqHandle(int row)
CRef< CCmdComposite > ApplySrcTableToSeqEntry(CRef< objects::CSeq_table >values_table)
CRef< CCmdComposite > GetCommand()
virtual const CObject * RowToScopedObjects(int row, TConstScopedObjects &objects, CBioseq_Handle &bsh)
CRef< objects::CSeqTable_column > FindSeqIDColumn(const objects::CSeq_table &table)
int FindRowForSeqId(CRef< objects::CSeqTable_column > id_col, CRef< objects::CSeq_id > id)
void OnClearQuals(wxCommandEvent &event)
wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_CLEAR_QUALS_BTN
static bool ShowToolTips()
Should we show tooltips?
bool SaveTableFile(wxWindow *parent, wxString &save_file_dir, wxString &save_file_name, CRef< objects::CSeq_table > values_table)
vector< CBioseq_Handle > m_BioseqHandles
int x_FindColumn(const wxString &name)
bool IsReadOnlyColumn(string column_name) const
void ChangeColumnName(int col, string qual_name)
void OnLoadqualsClick(wxCommandEvent &event)
wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_LOADQUALS
void FixTableAfterImport(CRef< objects::CSeq_table > input_table)
string FindBadRows(CRef< objects::CSeq_table > src, CRef< objects::CSeq_table > dst)
objects::CSeq_entry_Handle m_SEH
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
void CreateControls()
Creates the controls and sizers.
int CountTableColumnConflicts(CRef< objects::CSeq_table > dst, const objects::CSeq_table &src)
void x_RepopulateAddQualList()
bool OneRowOk(CRef< objects::CSeq_id > id, CRef< objects::CSeqTable_column > id_col)
std::ofstream out("events_result.xml")
main entry point for tests
const char * kGenomeProjectID
const char * kSubSourceNote
const char * kSequenceIdColLabel
static const column_t columns[]
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
void CleanupForTaxnameChange(CObjectInfo oi)
vector< SConstScopedObject > TConstScopedObjects
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
bool IsSameBioseq(const CSeq_id_Handle &id1, const CSeq_id_Handle &id2, EGetBioseqFlag get_flag)
Check if two seq-ids are resolved to the same Bioseq.
@ eGetBioseq_Resolved
Search only in already resolved ids.
TBioseqCore GetBioseqCore(void) const
Get bioseq core structure.
CConstRef< CSeq_entry > GetCompleteSeq_entry(void) const
Complete and get const reference to the seq-entry.
CScope & GetScope(void) const
Get scope this handle belongs to.
CSeq_entry_Handle GetTopLevelEntry(void) const
Get top level Seq-entry handle.
TObjectType * GetPointer(void) const THROWS_NONE
Get pointer,.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::ofstream CNcbiOfstream
Portable alias for ofstream.
NCBI_NS_STD::string::size_type SIZE_TYPE
static SIZE_TYPE FindNoCase(const CTempString str, const CTempString pattern, SIZE_TYPE start, SIZE_TYPE end, EOccurrence which=eFirst)
Find the pattern in the specified range of a string using a case insensitive search.
static bool EndsWith(const CTempString str, const CTempString end, ECase use_case=eCase)
Check if a string ends with a specified suffix value.
static bool IsBlank(const CTempString str, SIZE_TYPE pos=0)
Check if a string is blank (has no text).
static void TruncateSpacesInPlace(string &str, ETrunc where=eTrunc_Both)
Truncate whitespace in a string (in-place)
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.
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value 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.
static string & ReplaceInPlace(string &src, const string &search, const string &replace, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)
Replace occurrences of a substring within a string.
static string TruncateSpaces(const string &str, ETrunc where=eTrunc_Both)
Truncate whitespace in a string.
@ eReverseSearch
Search in a backward direction.
@ eNocase
Case insensitive compare.
@ eCase
Case sensitive compare.
static const char label[]
@ eSubtype_other
ASN5: old-name (254) will be added to next spec.
vector< CRef< CSeqTable_column > > TColumns
<!DOCTYPE HTML >< html > n< header > n< title > PubSeq Gateway Help Page</title > n< style > n table
const struct ncbi::grid::netcache::search::fields::SIZE size
CRef< CSeqTable_column > FindSeqTableColumnByName(CRef< objects::CSeq_table > values_table, string column_name)
static SLJIT_INLINE sljit_ins st(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
CRef< objects::CSeq_table > GetSeqTableFromSeqEntry(objects::CSeq_entry_Handle seh)
#define ID_ADD_QUAL_BUTTON
#define row(bind, expected)
@ eExistingText_replace_old
wxString ToWxString(const string &s)
string ToStdString(const wxString &s)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4