: m_Workbench(
NULL)
116: m_Workbench(wb), m_SelectionClient(new
CSelectionClient(
"cSUC selections"))
135wxFrame::Create( parent,
id, caption, pos,
size, style );
138Centre(wxBOTH|wxCENTRE_ON_SCREEN);
191wxBoxSizer* itemBoxSizer3 =
newwxBoxSizer(wxVERTICAL);
192itemPanel2->SetSizer(itemBoxSizer3);
195itemBoxSizer3->Add(
m_TreeCtrl, 1, wxGROW|wxALL, 5);
197 m_StatusText=
newwxStaticText( itemPanel2, wxID_STATIC,
_(
"Affected Items"), wxDefaultPosition, wxDefaultSize, 0 );
198itemBoxSizer3->Add(
m_StatusText, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
201itemBoxSizer3->Add(
m_ListCtrl, 1, wxGROW|wxALL, 5);
202 m_ListCtrl->InsertColumn(0,wxEmptyString,wxLIST_FORMAT_LEFT, 750);
205wxBoxSizer* itemBoxSizer6 =
newwxBoxSizer(wxHORIZONTAL);
206itemBoxSizer3->Add(itemBoxSizer6, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
209itemBoxSizer6->Add(itemButton7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
212itemBoxSizer6->Add(itemButton8, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
215itemBoxSizer6->Add(itemButton9, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
218itemBoxSizer6->Add(itemButton10, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
220wxHyperlinkCtrl* itemHyperlinkCtrl =
newwxHyperlinkCtrl( itemPanel2, wxID_HELP,
_(
"Help"),
wxT(
"https://www.ncbi.nlm.nih.gov/tools/gbench/manual8/#flat_file_summary"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
221itemHyperlinkCtrl->SetForegroundColour(wxColour(192, 192, 192));
222itemBoxSizer6->Add(itemHyperlinkCtrl, 0, wxALIGN_CENTER_VERTICAL, 5);
301sel_srv->GetActiveObjects(
objects);
336doc =
dynamic_cast<CGBDocument*
>(ws->GetProjectFromScope(*
objects.front().scope));
347statusText =
"Sort Unique Count failed!";
349<<
"CTableDataSUC failed to start job: " 355 if(!statusText.empty())
397wxTreeItemIdValue cookie;
398wxTreeItemId child =
m_TreeCtrl->GetFirstChild(
id, cookie);
402child =
m_TreeCtrl->GetNextChild(
id, cookie);
414 if(expanded_nodes.
find(
label) != expanded_nodes.
end())
419wxTreeItemIdValue cookie;
420wxTreeItemId child =
m_TreeCtrl->GetFirstChild(
id, cookie);
424child =
m_TreeCtrl->GetNextChild(
id, cookie);
441wxTreeItemId root =
m_TreeCtrl->AddRoot(wxEmptyString);
442 const auto& order = res->
GetOrder();
444 for(
autoblock_type : order)
451wxTreeItemId parent =
m_TreeCtrl->AppendItem(root,wxString(block_label));
452 autoblock_it =
blocks.find(block_type);
453 if(block_it ==
blocks.end())
455 autoblock = block_it->second;
456 if(block->HasSecondLevel())
458 const auto& nodes = block->GetSecondLevel();
459 for(
const auto& node : nodes)
462 for(
const auto& line : node.second)
464 if(line.second.first)
465total += line.second.second->GetCount();
468 label<< total <<
" "<< node.first;
470 for(
const auto& line : node.second)
473 text<< line.second.second->GetCount();
475 string str= line.second.second->GetLine();
484 const auto& lines = block->GetLines();
485 for(
const auto& line : lines)
488 text<< line.second->GetCount();
490 string str= line.second->GetLine();
509wxTreeItemId
id=
event.GetItem();
517wxTreeItemIdValue cookie;
518wxTreeItemId child =
m_TreeCtrl->GetFirstChild(
id, cookie);
522child =
m_TreeCtrl->GetNextChild(
id, cookie);
532 m_ListCtrl->SetColumnWidth(0, wxLIST_AUTOSIZE);
533 m_ListCtrl->SetItemState(0, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
594 if(
text.IsEmpty())
619wxTreeItemId
id=
event.GetItem();
623vector<CSeq_feat_Handle> cds, gene,
rna;
624vector<CBioseq_Handle> biosrc;
628wxTreeItemIdValue cookie;
629wxTreeItemId child =
m_TreeCtrl->GetFirstChild(
id, cookie);
633child =
m_TreeCtrl->GetNextChild(
id, cookie);
644 if(!cds.empty() && gene.empty() &&
rna.empty() && biosrc.empty())
647 if(dlg.ShowModal() == wxID_OK)
650 if(cds.empty() && !gene.empty() &&
rna.empty() && biosrc.empty())
653 if(dlg.ShowModal() == wxID_OK)
656 if(cds.empty() && gene.empty() && !
rna.empty() && biosrc.empty())
659 if(dlg.ShowModal() == wxID_OK)
662 if(cds.empty() && gene.empty() &&
rna.empty() && !biosrc.empty())
665 if(dlg.ShowModal() == wxID_OK)
671wxMessageBox(
ToWxString(e.what()),
wxT(
"Error"), wxOK | wxICON_ERROR,
NULL);
680vector<CBioseq_Handle> &biosrc)
696 if(
f&&
f->IsSetData())
718biosrc.push_back(*bi);
727 longindex =
event.GetIndex();
731 stringaccession =
m_CurLines[index].first->GetRelatedObjectAccession(
m_CurLines[index].second);
753 longindex =
event.GetIndex();
778 if(
f&&
f->IsSetLocation())
798wxWindow* editorWindow = editor->CreateWindow(&edit_dlg);
799editorWindow->TransferDataToWindow();
803 if(edit_dlg.ShowModal() == wxID_OK)
854 stringstatusText =
"Failed: ";
858statusText += errMsg;
860statusText +=
"Unknown fatal error";
882 m_StatusText->SetLabel(
_(
"Data has been modified, please refresh"));
CSeq_entry_Handle GetSeqEntryForSeqdesc(CRef< CScope > scope, const CSeqdesc &seq_desc)
CIRef< IEditObject > CreateEditorForObject(CConstRef< CObject > obj, objects::CSeq_entry_Handle seh, bool create)
IAppJobListener Interface for components that need to be notified about changes in Jobs.
CRef< CCmdComposite > GetCommand()
CRef< CCmdComposite > GetCommand()
CRef< CCmdComposite > GetCommand()
void UpdateTree(CRef< CSUCResults > res)
void OnDismiss(wxCommandEvent &event)
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
virtual ~CClickableSortUniqueCount()
Destructor.
wxStaticText * m_StatusText
void SetExpandedNodes(wxTreeItemId id, const set< string > &expanded_nodes)
bool m_TreeDeleteAllItemsFlag
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
bool Create(wxWindow *parent, wxWindowID id=17000, const wxString &caption=_("Clickable Sort Unique Count"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(800, 600), long style=wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX)
void OnListItemActivated(wxListEvent &event)
virtual void OnJobResult(CObject *result, CJobAdapter &adapter)
bool m_SelectionClientAttached
void AddToBulkEditList(wxTreeItemId &id, vector< CSeq_feat_Handle > &cds, vector< CSeq_feat_Handle > &gene, vector< CSeq_feat_Handle > &rna, vector< CBioseq_Handle > &biosrc)
vector< pair< CRef< CSUCLine >, size_t > > m_CurLines
map< wxTreeItemId, CRef< CSUCLine > > m_item_to_line
CRef< CJobAdapter > m_JobAdapter
void OnDataChanged(CEvent *evt)
void Init()
Initialises member variables.
void OnChildFocus(wxChildFocusEvent &evt)
CIRef< IFlatFileCtrl > m_FlatFileCtrl
CRef< CSelectionClient > m_SelectionClient
void AddToListCtrl(wxTreeItemId &id)
void GetExpandedNodes(wxTreeItemId id, set< string > &expanded_nodes)
void DisconnectListener()
void OnListItemSelected(wxListEvent &event)
CClickableSortUniqueCount()
Constructors.
void OnCollapse(wxCommandEvent &event)
void OnTreeSelectionChanged(wxTreeEvent &event)
void OnRefresh(wxCommandEvent &event)
void OnTreeItemActivated(wxTreeEvent &event)
static bool ShowToolTips()
Should we show tooltips?
void OnExpand(wxCommandEvent &event)
void CreateControls()
Creates the controls and sizers.
virtual void OnJobFailed(const string &, CJobAdapter &adapter)
void SetEditorWindow(wxWindow *editorWindow)
void SetEditor(CIRef< IEditObject > editor)
CEvent - generic event implementation TODO TODO - Attachments.
@ fGenbankBlocks_Featheader
CUndoManager & GetUndoManager()
CProjectService - a service providing API for operations with Workspaces and Projects.
static const char * GetBlockLabel(objects::CFlatFileConfig::FGenbankBlocks block_type)
size_t GetRelatedObjectCount() const
const string & GetAccession()
const string & GetRelatedObjectAccession(size_t row) const
CConstRef< CObject > GetRelatedObject(size_t row) const
const unordered_map< unsigned int, CRef< CSUCBlock > > & GetBlocks(void)
const vector< objects::CFlatFileConfig::FGenbankBlocks > & GetOrder(void)
void SetSelectedObjects(TConstScopedObjects &objs)
namespace ncbi::objects::
Undo/Redo interface for editing operations.
virtual void Execute(IEditCommand *command, wxWindow *window=0)=0
IWorkbench is the central interface in the application framework.
CRef< CCmdComposite > GetCommand()
const_iterator end() const
const_iterator find(const key_type &key) const
iterator_bool insert(const value_type &val)
const_iterator find(const key_type &key) const
const_iterator end() const
#define ID_CCLICKABLESORTUNIQUECOUNT_COLLAPSE
#define ID_CCLICKABLESORTUNIQUECOUNT_REFRESH
#define ID_CCLICKABLESORTUNIQUECOUNT_TREECTRL
#define ID_CCLICKABLESORTUNIQUECOUNT_PANEL
#define ID_CCLICKABLESORTUNIQUECOUNT_DISMISS
#define ID_CCLICKABLESORTUNIQUECOUNT_EXPAND
#define ID_CCLICKABLESORTUNIQUECOUNT_TEXTCTRL
IMPLEMENT_CLASS(CFloatingFrame, CFloatingFrameBaseClass) const static long kFloatFrameStyle
CFloatingFrame.
static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)
static const char * str(char *buf, int n)
#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)
CIRef< T > GetServiceByType()
retrieves a typed reference to a service, the name of C++ type is used as the name of the service.
virtual void RemoveListener(CEventHandler *listener)
Remove a listener.
#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.
vector< SConstScopedObject > TConstScopedObjects
@ fParse_Default
By default in ParseIDs and IsValid, allow raw parsable non-numeric accessions and plausible local acc...
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
void GetAllTSEs(TTSE_Handles &tses, enum ETSEKind kind=eManualTSEs)
CSeq_feat_Handle GetSeq_featHandle(const CSeq_feat &feat, EMissing action=eMissing_Default)
vector< CSeq_entry_Handle > TTSE_Handles
CSeq_entry_Handle GetSeq_entry_Handle(void) const
Get parent Seq-entry handle.
TObjectType * GetPointer(void) const THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
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 const char label[]
bool IsSource(void) const
Check if variant Source is selected.
@ eMol_na
just a nucleic acid
static void text(MDB_val *v)
void GetViewObjects(IWorkbench *workbench, TConstScopedObjects &objects)
void ReportUsage(const wxString &dialog_name)
Report opening & accepting events in the editing package.
const struct ncbi::grid::netcache::search::fields::SIZE size
static DP_BlockInfo * blocks
string GetTextObjectDescription(const CSeq_feat &sf, CScope &scope)
wxString ToWxString(const string &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