88 CFieldNamePanel::Create( parent,
id, pos,
size, style );
93 GetSizer()->SetSizeHints(
this);
136 wxBoxSizer* itemBoxSizer1 =
new wxBoxSizer(wxVERTICAL);
137 itemCFieldNamePanel1->SetSizer(itemBoxSizer1);
139 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxHORIZONTAL);
140 itemBoxSizer1->Add(itemBoxSizer2, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxBOTTOM,0);
142 m_RnaTypeLabel =
new wxStaticText( itemCFieldNamePanel1, wxID_STATIC,
_(
"RNA Type"), wxDefaultPosition, wxDefaultSize, 0 );
143 itemBoxSizer2->Add(
m_RnaTypeLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5);
145 wxArrayString m_RNATypeStrings;
147 itemBoxSizer2->Add(
m_RNAType, 0, wxALIGN_CENTER_VERTICAL|wxRESERVE_SPACE_EVEN_IF_HIDDEN| wxLEFT|wxRIGHT|wxBOTTOM, 5);
149 wxArrayString m_NcrnaClassStrings;
150 m_NcrnaClassStrings.Add(
_(
"any"));
154 itemBoxSizer2->Add(
m_NcrnaClass, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxBOTTOM, 5);
156 wxArrayString m_RnaFieldStrings;
158 itemBoxSizer1->Add(
m_RnaField, 0, wxALIGN_CENTER_HORIZONTAL|wxLEFT, 5);
161 ITERATE(vector<string>, it, rna_types) {
164 m_RNAType->SetStringSelection(rna_types[0]);
167 ITERATE(vector<string>, it, rna_fields) {
171 vector<string> class_vals = objects::CRNA_gen::GetncRNAClassList();
172 ITERATE(vector<string>, it, class_vals) {
236 string rna_type =
"";
243 rna_type.insert(4,
"_");
245 rna_type.insert(3,
"_");
249 rna_type +=
" " + ncrna_class;
263 if (
i != wxNOT_FOUND)
293 field = rna_type +
" " + field;
310 string remainder = rna_type;
320 string remainder = rna_type.substr(major_type.length());
343 string rna_type = field;
349 if (rna_field.length() < field.length()) {
350 rna_type = field.substr(0, field.length() - rna_field.length());
402 vector<string> options;
403 options.push_back(
"any");
404 options.push_back(
"preRNA");
405 options.push_back(
"mRNA");
406 options.push_back(
"tRNA");
407 options.push_back(
"rRNA");
408 options.push_back(
"ncRNA");
409 options.push_back(
"tmRNA");
410 options.push_back(
"miscRNA");
417 vector<string> options;
418 options.push_back(
"product");
419 options.push_back(
"comment");
420 options.push_back(
"ncRNA class");
421 options.push_back(
"codons recognized");
422 options.push_back(
"tag-peptide");
423 options.push_back(
"anticodon");
424 options.push_back(
"gene locus");
425 options.push_back(
"gene description");
426 options.push_back(
"gene maploc");
427 options.push_back(
"gene locus tag");
428 options.push_back(
"gene synonym");
429 options.push_back(
"gene comment");
452 str =
"RELATED_FEATURE(\"gene\", " +
str +
")";
455 str =
"FEATURES(\"gene\"," +
str +
")";
461 if (
str.find(
"::product") !=
NPOS) {
462 str = macro::CMacroFunction_GetRnaProduct::GetFuncName() +
"()";
464 if (rna_type !=
"any") {
465 if (rna_type != target && rna_type != selected_field) {
467 str =
"RELATED_FEATURE(\"" + rna_type +
"\", " +
str +
")";
470 str =
"FEATURES(\"" + rna_type +
"\"," +
str +
")";
528 CFieldNamePanel::Create( parent,
id, pos,
size, style );
533 GetSizer()->SetSizeHints(
this);
577 wxBoxSizer* itemBoxSizer1 =
new wxBoxSizer(wxVERTICAL);
578 itemCFieldNamePanel1->SetSizer(itemBoxSizer1);
580 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxHORIZONTAL);
581 itemBoxSizer1->Add(itemBoxSizer2, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP,5);
583 m_RnaTypeLabel =
new wxStaticText( itemCFieldNamePanel1, wxID_STATIC,
_(
"RNA Type"), wxDefaultPosition, wxDefaultSize, 0 );
584 itemBoxSizer2->Add(
m_RnaTypeLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP, 5);
586 wxArrayString m_RNATypeStrings;
588 itemBoxSizer2->Add(
m_RNAType, 0, wxALIGN_CENTER_VERTICAL|wxRESERVE_SPACE_EVEN_IF_HIDDEN| wxALL, 5);
590 wxArrayString m_NcrnaClassStrings;
591 m_NcrnaClassStrings.Add(
_(
"any"));
595 itemBoxSizer2->Add(
m_NcrnaClass, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxBOTTOM|wxTOP, 5);
597 wxBoxSizer* itemBoxSizer3 =
new wxBoxSizer(wxHORIZONTAL);
598 itemBoxSizer1->Add(itemBoxSizer3, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxBOTTOM,0);
600 wxBoxSizer* itemBoxSizer4 =
new wxBoxSizer(wxVERTICAL);
601 itemBoxSizer3->Add(itemBoxSizer4, 0, wxALIGN_TOP|wxTOP|wxBOTTOM,0);
603 wxStaticText* fromLabel =
new wxStaticText( itemCFieldNamePanel1, wxID_STATIC,
_(
"From"), wxDefaultPosition, wxDefaultSize, 0 );
604 itemBoxSizer4->Add(fromLabel, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP, 5);
606 wxArrayString m_RnaFieldStrings;
608 itemBoxSizer4->Add(
m_RnaField, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP, 5);
610 wxBoxSizer* itemBoxSizer5 =
new wxBoxSizer(wxVERTICAL);
611 itemBoxSizer3->Add(itemBoxSizer5, 0, wxALIGN_TOP|wxTOP|wxBOTTOM,0);
613 wxStaticText* toLabel =
new wxStaticText( itemCFieldNamePanel1, wxID_STATIC,
_(
"To"), wxDefaultPosition, wxDefaultSize, 0 );
614 itemBoxSizer5->Add(toLabel, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP, 5);
617 itemBoxSizer5->Add(
m_RnaField2, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP, 5);
621 ITERATE(vector<string>, it, rna_types) {
624 m_RNAType->SetStringSelection(rna_types[0]);
627 ITERATE(vector<string>, it, rna_fields) {
632 vector<string> class_vals = objects::CRNA_gen::GetncRNAClassList();
633 ITERATE(vector<string>, it, class_vals) {
690 string rna_type =
"";
697 rna_type.insert(4,
"_");
699 rna_type.insert(3,
"_");
703 rna_type +=
" " + ncrna_class;
713 if (
i != wxNOT_FOUND)
749 field = rna_type +
" " + field;
768 field = rna_type +
" " + field;
782 string remainder = rna_type;
792 string remainder = rna_type.substr(major_type.length());
815 string rna_type = field;
821 if (rna_field.length() < field.length()) {
822 rna_type = field.substr(0, field.length() - rna_field.length());
841 string rna_type = field;
847 if (rna_field.length() < field.length()) {
848 rna_type = field.substr(0, field.length() - rna_field.length());
User-defined methods of the data storage class.
string GetRnaTypeOnly(void)
void Init()
Initialises member variables.
void OnRnaFieldSelected(wxCommandEvent &event)
virtual bool SetFieldName(const string &field)
void x_EnableNcRnaClass()
~CDualRNAFieldNamePanel()
Destructor.
static bool ShowToolTips()
Should we show tooltips?
string GetNcrnaType(void)
void OnRnaTypeSelected(wxCommandEvent &event)
wxEVT_COMMAND_CHOICE_SELECTED event handler for ID_RNA_TYPE
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
@ ID_CRNAFIELDNAME_RNA_FIELD2
@ ID_CRNAFIELDNAME_NCRNA_CLASS
@ ID_CRNAFIELDNAME_RNA_FIELD
@ ID_CRNAFIELDNAME_RNA_TYPE
bool Create(wxWindow *parent, wxWindowID id=ID_CDUALRNAFIELDNAMEPANEL, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(400, 300), long style=wxTAB_TRAVERSAL)
Creation.
void CreateControls()
Creates the controls and sizers.
string GetRnaField2(void)
CDualRNAFieldNamePanel()
Constructors.
string GetFieldName2(const bool subfield=false)
bool SetRnaType(const string &rna_type)
wxComboBox * m_NcrnaClass
bool SetFieldName2(const string &field)
virtual string GetFieldName(const bool subfield=false)
Returns the name of the field as selected in the panel.
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
wxStaticText * m_RnaTypeLabel
virtual void ClearValues(void)
void x_UpdateParent(void)
static bool IsFeature(const string &target)
string GetAsnPathToFieldName(const string &field, EMacroFieldType type, const string &target=kEmptyStr)
static CMacroEditorContext & GetInstance()
virtual void ClearValues(void)
static vector< string > GetRNAFields()
@ ID_CRNAFIELDNAME_NCRNA_CLASS
@ ID_CRNAFIELDNAME_RNA_TYPE
@ ID_CRNAFIELDNAME_RNA_FIELD
~CRNAFieldNamePanel()
Destructor.
virtual string GetMacroFieldName(const string &target, const string &selected_field=kEmptyStr)
void Init()
Initialises member variables.
void OnncRNAClassSelected(wxCommandEvent &event)
void OnRnaTypeSelected(wxCommandEvent &event)
wxEVT_COMMAND_CHOICE_SELECTED event handler for ID_RNA_TYPE
virtual bool SetFieldName(const string &field)
wxStaticText * m_RnaTypeLabel
CRNAFieldNamePanel * m_Sibling
string GetRnaTypeOnly(void)
bool SetRnaType(const string &rna_type)
virtual string GetFieldName(const bool subfield=false)
Returns the name of the field as selected in the panel.
static string s_GetMacroFieldName(const string &rna_type, const string &qual_field, const string &target, const string &selected_field=kEmptyStr)
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
wxComboBox * m_NcrnaClass
void CreateControls()
Creates the controls and sizers.
bool Create(wxWindow *parent, wxWindowID id=ID_CRNAFIELDNAMEPANEL, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(400, 300), long style=wxTAB_TRAVERSAL)
Creation.
void OnRnaFieldSelected(wxCommandEvent &event)
void x_EnableNcRnaClass()
static vector< string > GetRNATypes()
string GetNcrnaType(void)
static bool ShowToolTips()
Should we show tooltips?
CRNAFieldNamePanel()
Constructors.
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
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 spaces in a string (in-place)
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.
@ eNocase
Case insensitive compare.
const struct ncbi::grid::netcache::search::fields::SIZE size
static const char * str(char *buf, int n)
wxString ToWxString(const string &s)
string ToStdString(const wxString &s)