42 #include <wx/msgdlg.h>
68 wxWindowID
id,
const wxString& caption,
const wxPoint& pos,
const wxSize&
size,
long style ) : m_TopSeqEntry(seh)
71 for ( ; b_iter ; ++b_iter )
75 if (!
m_Found && b_iter->GetSeq_entry_Handle().HasParentEntry())
86 bool CLatLonTool::Create( wxWindow* parent, wxWindowID
id,
const wxString& caption,
const wxPoint& pos,
const wxSize&
size,
long style )
88 SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
89 wxDialog::Create( parent,
id, caption, pos,
size, style );
94 GetSizer()->SetSizeHints(
this);
120 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxVERTICAL);
121 itemDialog1->SetSizer(itemBoxSizer2);
123 wxBoxSizer* itemBoxSizer3 =
new wxBoxSizer(wxHORIZONTAL);
124 itemBoxSizer2->Add(itemBoxSizer3, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
126 wxArrayString itemChoiceStrings, itemChoiceStringsWritable;
130 wxMessageBox(
wxT(
"No LatLon records found"),
wxT(
"Error"), wxOK | wxICON_ERROR);
137 wxMessageBox(
wxT(
"No LatLon records found or all records correctly formatted"),
wxT(
"Error"), wxOK | wxICON_ERROR);
143 itemBoxSizer3->Add(
m_GridPanel, 0, wxALIGN_TOP|wxALL, 5);
146 m_Grid->SetTable(gridAdapter,
true);
147 m_Grid->AutoSizeColumns();
148 int l_height =
m_Grid->GetColLabelSize();
149 m_Grid->SetColLabelSize( 2 * l_height );
156 if ((*it)->IsSetHeader() && (*it)->GetHeader().IsSetTitle() )
158 string title = (*it)->GetHeader().GetTitle();
161 itemChoiceStrings.Add(wxString(title));
163 itemChoiceStringsWritable.Add(wxString(title));
172 if (glyph_col >= 0 && glyph_col+1 <
m_Grid->GetNumberCols())
178 wxBoxSizer* itemBoxSizer4 =
new wxBoxSizer(wxHORIZONTAL);
179 itemBoxSizer2->Add(itemBoxSizer4, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
184 wxBoxSizer* itemBoxSizer13 =
new wxBoxSizer(wxHORIZONTAL);
185 itemBoxSizer2->Add(itemBoxSizer13, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
187 wxButton* itemButton14 =
new wxButton( itemDialog1, wxID_OK,
_(
"Accept"), wxDefaultPosition, wxDefaultSize, 0 );
188 itemBoxSizer13->Add(itemButton14, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
190 wxButton* itemButton15 =
new wxButton( itemDialog1, wxID_CANCEL,
_(
"Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
191 itemBoxSizer13->Add(itemButton15, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
203 expand_col->
SetHeader().SetField_name(
"expand");
204 expand_col->
SetData().SetString();
207 current_col->
SetHeader().SetTitle(
"Current Lat-Lon");
208 current_col->
SetHeader().SetField_name(
"current");
209 current_col->
SetData().SetString();
212 suggested_col->
SetHeader().SetTitle(
"Suggested Correction");
213 suggested_col->
SetHeader().SetField_name(
"suggested");
214 suggested_col->
SetData().SetString();
220 bogus_col->
SetHeader().SetField_name(
"");
221 bogus_col->
SetData().SetString();
224 table->SetColumns().push_back(id_col);
225 table->SetColumns().push_back(expand_col);
226 table->SetColumns().push_back(current_col);
227 table->SetColumns().push_back(suggested_col);
228 table->SetColumns().push_back(bogus_col);
235 if (suggested == *
fi)
239 id_col->
SetData().SetId().push_back(
id);
240 expand_col->
SetData().SetString().push_back(
"");
241 current_col->
SetData().SetString().push_back(*
fi);
242 suggested_col->
SetData().SetString().push_back(suggested);
243 bogus_col->
SetData().SetString().push_back(
"");
255 bool select_all =
false;
258 if (wxMessageBox(
ToWxString(
"Apply to all?"),
wxT(
"Nothing is selected"), wxOK | wxCANCEL,
NULL) == wxOK)
271 if (!current.empty() && !suggested.empty() && current != suggested && (
m_Grid->IsInSelection(
static_cast<int>(
row),0) || select_all))
277 for ( ; b_iter ; ++b_iter )
297 return "Invalid operation in LatLon Tool";
357 wxMessageDialog dlg(
this,
_(
"Discard modifications?"),
_(
"Attention"),wxOK|wxCANCEL|wxCENTRE);
358 if (dlg.ShowModal() == wxID_OK)
374 string latlon = (*subsource)->GetName();
386 bool modified =
false;
391 string latlon = (*subsource)->GetName();
407 if ((*it)->IsSource()) {
414 if ((*it)->IsSource()) {
417 new_desc->
Assign(orig_desc);
446 new_feat->
Assign(feat_it->GetOriginalFeature());
void AddCommand(IEditCommand &command)
void MakeColumnReadOnly(int pos, bool val=true)
void InitColumnCollapse(int col)
CRef< objects::CSeq_table > GetValuesTable()
namespace ncbi::objects::
const CSeqTable_column & GetColumn(CTempString column_name) const
static string FixLatLonFormat(string orig_lat_lon, bool guess=false)
const_iterator end() const
const_iterator find(const key_type &key) const
const char * kSequenceIdColLabel
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
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.
CSeq_entry_Handle GetSeq_entry_Handle(void) const
Get parent Seq-entry handle.
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.
bool HasParentEntry(void) const
Check if current seq-entry has a parent.
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
@ eSubtype_lat_lon
+/- decimal degrees
const TColumns & GetColumns(void) const
Get the Columns member data.
void SetHeader(THeader &value)
Assign a value to Header data member.
vector< CRef< CSeqTable_column > > TColumns
void SetData(TData &value)
Assign a value to Data data member.
TNum_rows GetNum_rows(void) const
Get the Num_rows member data.
const TString & GetString(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
@ eField_id_location_id
location Seq-id
void SetData(TData &value)
Assign a value to Data data member.
const TSet & GetSet(void) const
Get the variant data.
bool IsSet(void) const
Check if variant Set is selected.
TSource & SetSource(void)
Select the variant.
@ eMol_na
just a nucleic acid
<!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
Utility macros and typedefs for exploring NCBI objects from seqfeat.asn.
#define FOR_EACH_SUBSOURCE_ON_BIOSOURCE(Itr, Var)
FOR_EACH_SUBSOURCE_ON_BIOSOURCE EDIT_EACH_SUBSOURCE_ON_BIOSOURCE.
#define EDIT_EACH_SUBSOURCE_ON_BIOSOURCE(Itr, Var)
#define FOR_EACH_SEQENTRY_ON_SEQSET(Itr, Var)
FOR_EACH_SEQENTRY_ON_SEQSET EDIT_EACH_SEQENTRY_ON_SEQSET.
#define FOR_EACH_SEQDESC_ON_SEQENTRY(Itr, Var)
FOR_EACH_SEQDESC_ON_SEQENTRY EDIT_EACH_SEQDESC_ON_SEQENTRY.
#define row(bind, expected)
wxString ToWxString(const string &s)