30 #ifndef _FIELD_CHOICE_PANEL_H_
31 #define _FIELD_CHOICE_PANEL_H_
44 #include <wx/choice.h>
61 #define SYMBOL_CFIELDCHOICEPANEL_STYLE wxSIMPLE_BORDER|wxTAB_TRAVERSAL
62 #define SYMBOL_CFIELDCHOICEPANEL_TITLE _("FieldChoicePanel")
63 #define SYMBOL_CFIELDCHOICEPANEL_IDNAME ID_CFIELDCHOICEPANEL
64 #define SYMBOL_CFIELDCHOICEPANEL_SIZE wxDefaultSize
65 #define SYMBOL_CFIELDCHOICEPANEL_POSITION wxDefaultPosition
82 const vector<CFieldNamePanel::EFieldType>& field_types,
83 bool horizontal =
false,
91 bool Create( wxWindow* parent,
92 const vector<CFieldNamePanel::EFieldType>& field_types,
106 void CreateControls();
115 wxBitmap GetBitmapResource(
const wxString& name );
118 wxIcon GetIconResource(
const wxString& name );
122 static bool ShowToolTips();
130 void OnFieldTypeChoiceSelected( wxCommandEvent& event );
132 void SetSubpanelSelection(
const string &sel);
133 string GetField1(
const bool subfield =
false);
134 string GetField2(
const bool subfield =
false);
135 const vector<CFieldNamePanel::EFieldType> GetFieldTypes();
137 virtual vector<string>
GetChoices(
bool& allow_other);
138 virtual string GetFieldName(
const bool subfield =
false);
141 bool SetOneFieldName(
const string& field);
143 bool IsOneFieldProteinName(
void );
144 void IncludeComposedItems(
bool show);
146 static string AutoMatch(
string field_name);
148 static string AutoMatchSrc(
string field_name);
149 static string AutoMatchCGP(
string field_name);
150 static string AutoMatchMisc(
string field_name);
151 static string AutoMatchFeat(
string field_name);
152 static string AutoMatchRNA(
string field_name);
153 static string AutoMatchPub(
string field_name);
154 static string AutoMatchDBLink(
string field_name);
155 static string AutoMatchMolInfo(
string field_name);
157 static bool LooksLikeHeader(
const vector<string>& field_names);
163 ID_CFIELDCHOICEPANEL = 6210,
164 ID_CFIELD_TYPE_CHOICE
CFieldNamePanel * GetFieldNamePanel2(void)
wxBoxSizer * m_FieldPicker
void SetShowLegalOnly(bool val)
wxBoxSizer * m_TopFieldTypeSizer
wxBoxSizer * m_SideFieldTypeSizer
CFieldNamePanel * m_Field1
CFieldNamePanel * GetFieldNamePanel(void)
CFieldNamePanel * m_Field2
vector< CFieldNamePanel::EFieldType > m_FieldTypes
virtual string GetFieldName(const bool subfield=false)=0
Returns the name of the field as selected in the panel.
virtual vector< string > GetChoices(bool &allow_other)
virtual bool SetFieldName(const string &field)=0
Include a standard set of the NCBI C++ Toolkit most basic headers.
#define SYMBOL_CFIELDCHOICEPANEL_STYLE
#define SYMBOL_CFIELDCHOICEPANEL_IDNAME
#define SYMBOL_CFIELDCHOICEPANEL_SIZE
wxDECLARE_EVENT(wxEVT_COMMAND_UPDATE_CONSTRAINT_FIELD, wxCommandEvent)
#define SYMBOL_CFIELDCHOICEPANEL_POSITION
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_GUIPKG_SEQUENCE_EDIT_EXPORT
const struct ncbi::grid::netcache::search::fields::SIZE size