m_AcceptableData(
false)
91wxDataObjectComposite* composite =
newwxDataObjectComposite();
92composite->Add(
newwxFileDataObject);
94SetDataObject(composite);
100wxDataObjectComposite* composite =
dynamic_cast<wxDataObjectComposite*
>(m_dataObject);
101wxDataFormat
format= composite->GetReceivedFormat();
102 if(
format== wxDF_FILENAME)
112wxDataObjectComposite* composite =
dynamic_cast<wxDataObjectComposite*
>(m_dataObject);
113wxDataFormat
format= composite->GetReceivedFormat();
114 if(
format== wxDF_FILENAME)
127wxDataObjectComposite* composite =
dynamic_cast<wxDataObjectComposite*
>(m_dataObject);
128wxDataFormat
format= composite->GetReceivedFormat();
129 if(
format== wxDF_FILENAME) {
130wxFileDataObject *fileDataObj =
dynamic_cast<wxFileDataObject*
> 131(composite->GetObject(wxDF_FILENAME));
133 if(fileDataObj && (def == wxDragMove || def == wxDragCopy || def == wxDragLink)) {
134wxArrayString
filenames= fileDataObj->GetFilenames();
136vector<wxString>
names;
139 for(
size_t i= 0;
i<
n;
i++ ){
149(composite->GetObject(
format));
175 constwxValidator &validator,
176 constwxString& name)
177: wxTreeCtrl(parent, id, pos,
size, style, validator, name)
183wxTextCtrl*
t= wxTreeCtrl::EditLabel(item, textCtrlClass);
190 #ifdef NCBI_OS_DARWIN 202wxTreeEvent tree_event;
214 bool b=
event.CmdDown();
221 #ifdef __WXOSX_COCOA__ 229wxDragResult ignore_me = wxDragMove;
231 event.GetPosition(&x,&y);
299: m_DataObject(
NULL),
318 #ifdef __WXOSX_COCOA__ 319SetBackgroundStyle(wxBG_STYLE_COLOUR);
320SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW));
322wxPanel::Create(parent,
id, pos,
size, wxBORDER_NONE);
334wxSizer* sizer =
newwxBoxSizer(wxVERTICAL);
337 longstyle = wxTR_HAS_BUTTONS | wxTR_MULTIPLE | wxTR_EDIT_LABELS
343sizer->Add(
m_Tree, 1, wxEXPAND);
356wxTreeItemId rootId =
m_Tree->GetRootItem();
358 m_Tree->DeleteChildren(rootId);
379GetSelectedItems(sel_items);
382unique_ptr<wxMenu> menu(cmd_reg.
CreateMenu(kContextMenu));
385contrib = x_GetContextMenu(sel_items);
386wxMenu* obj_menu = contrib.first;
388 Merge(*menu, *obj_menu);
391wxEvtHandler*
handler= contrib.second;
393m_ContributedHandlers.push_back(
handler);
399vector< CIRef<IExplorerItemCmdContributor> > contributors;
400 static stringid(
"project_tree_view::context_menu::item_cmd_contributor");
404 for(
size_t i= 0;
i< contributors.size();
i++ ) {
407contrib = obj.
GetMenu(*m_Tree, sel_items);
409wxMenu* obj_menu = contrib.first;
411 Merge(*menu, *obj_menu);
415wxEvtHandler*
handler= contrib.second;
417m_ContributedHandlers.push_back(
handler);
422 deletecontrib.second;
428PopupMenu(menu.get());
432 for(
size_t i= 0;
i< m_ContributedHandlers.size();
i++ ) {
433wxEvtHandler*
handler= PopEventHandler();
437m_ContributedHandlers.clear();
442 if(!
m_WS|| projectId == -1)
return;
445 if(!doc || !doc->IsLoaded())
return;
448vector< CIRef<IProjectView> > views = doc->
GetViews();
454 if(objs.size() == 1 && objs[0].object == gbproj) {
468 ITERATE(wxArrayTreeItemIds, it, items)
471wxArrayTreeItemIds topItems;
472 ITERATE(wxArrayTreeItemIds, it, items) {
473wxTreeItemId parent = treeCtrl.GetItemParent(*it);
474 while(parent.IsOk()) {
475 if(items_set.
find(parent) != items_set.
end())
477parent = treeCtrl.GetItemParent(parent);
481topItems.push_back(*it);
489wxArrayTreeItemIds sel_ids;
490 m_Tree->GetSelections(sel_ids);
491 if(sel_ids.empty())
return0;
493 ITERATE(wxArrayTreeItemIds, it, sel_ids) {
506 if(!data_object)
return;
508wxClipboardLocker clipLocker;
509 if(!clipLocker)
return;
510wxTheClipboard->SetData(data_object);
515wxClipboardLocker clipLocker;
516 if(!clipLocker)
return;
519wxTheClipboard->Clear();
532wxTreeItemId rootId =
m_Tree->GetRootItem();
534 m_Tree->DeleteChildren(rootId);
537rootId =
m_Tree->AddRoot(
wxT(
""), -1, -1, item);
552wxTreeItemId rootId =
m_Tree->GetRootItem();
553 if(!rootId.IsOk())
return0;
565wxTreeItemData*
data=
m_Tree->GetItemData(
id);
575wxArrayTreeItemIds sel_ids;
576 m_Tree->GetSelections(sel_ids);
583wxTreeItemIdValue cookie;
585wxTreeItemId item =
m_Tree->GetFirstChild( root, cookie );
588 while( item.IsOk() )
591 if(
m_Tree->ItemHasChildren( item ) )
595item =
m_Tree->GetNextChild( root, cookie);
602wxArrayTreeItemIds ids;
611 for(
size_t i= 0;
i< ids.GetCount();
i++ ) {
612wxTreeItemId
id= ids[
i];
614items.push_back(item);
621wxArrayTreeItemIds sel_ids;
622 m_Tree->GetSelections(sel_ids);
624 if(sel_ids.size() == 1) {
650wxTreeItemId
id=
event.GetItem();
658wxTreeItemId
id=
event.GetItem();
659 if(!
id.IsOk())
return;
677 if(
m_WS&& projectId != -1) {
681wxWindowUpdateLocker locker(
m_Tree);
684},
wxT(
"Expanding project items..."));
686 NCBI_CATCH(
"CProjectTreePanel::OnItemActivated");
709 intdef_command = ds->GetDefaultCommand();
711menu_srv->AddPendingCommand(def_command);
713wxEvtHandler*
handler= ds->CreateEvtHandler();
759 #ifdef __WXOSX_COCOA__ 766wxDragResult res =
source.DoDragDrop(wxDragCopy | wxDragMove);
780 if(res == wxDragError) {
781 NcbiErrorBox(
"Unexpected error while performing D&D");
782 ERR_POST(
"CProjectTreePanel::OnBeginDrag() - Unexpected error while performing D&D");
793wxTreeItemId
id=
m_Tree->HitTest( event.GetPoint(),
flags);
812wxArrayTreeItemIds sel_ids;
813 m_Tree->GetSelections(sel_ids);
816 for(
size_t i= 0;
i< sel_ids.size();
i++ ) {
817wxTreeItemId
id= sel_ids[
i];
818 m_Tree->SelectItem(
id,
false);
821 for(
size_t i= 0;
i< ids.size();
i++ ) {
822wxTreeItemId
id= ids[
i];
823 m_Tree->SelectItem(
id,
true);
834 static const doublekExpandDelay = 0.5;
837wxTreeItemId
id=
m_Tree->HitTest(wxPoint(x, y),
flags);
885 if( def == wxDragCopy || def == wxDragMove ){
887wxTreeItemId
id=
m_Tree->HitTest( wxPoint(x, y),
flags);
893 boolmove = (def == wxDragMove);
907 constwxKeyEvent& keyEvent =
event.GetKeyEvent();
910 if(WXK_F2 != keyEvent.GetKeyCode() || keyEvent.GetModifiers() != wxMOD_NONE) {
915wxArrayTreeItemIds items;
916 if(
m_Tree->GetSelections(items) != 1)
919wxTreeItemId item = items[0];
928wxTreeItemId item =
event.GetItem();
935wxTreeItemId item =
event.GetItem();
949 if(sel_items.size() == 1) {
950wxClipboardLocker clipLocker;
951 if(!clipLocker)
return;
954 if(!wxTheClipboard->GetData(data_object))
956wxTheClipboard->Clear();
960sel_items[0]->Paste(*
m_Tree, items, data_object.
IsCut());
970 if(sel_items.size() == 1 && sel_items[0]->CanPaste(*
m_Tree)) {
971wxClipboardLocker clipLocker;
988 if(sel_items.empty()) {
989 event.Enable(
false);
994 if(!(*it)->CanCutToClipboard(*
m_Tree)) {
995 event.Enable(
false);
1000 event.Enable(
true);
1015 if(sel_items.empty()) {
1016 event.Enable(
false);
1021 if(!(*it)->CanCopyToClipboard(*
m_Tree)) {
1022 event.Enable(
false);
1027 event.Enable(
true);
1032wxArrayTreeItemIds sel_ids;
1033 m_Tree->GetSelections(sel_ids);
1034 if(sel_ids.empty())
return;
1037 if(sel_ids.size() == 1) {
1038quest =
wxT(
"Delete selected item?");
1040quest.Printf(
wxT(
"Delete %lu selected items?"), (
unsigned long)sel_ids.size());
1043wxMessageBox(quest,
wxT(
"Confirm"),
1044wxYES_NO | wxCANCEL | wxICON_QUESTION );
1045 if(answer != wxYES)
1064toDelete[project].push_back(prjItem);
1068 if((*it)->DoRemove(*
m_Tree))
1069projIds.
insert(projId);
1073 ITERATE(TItemMap, it, toDelete) {
1077projIds.
insert(doc->GetId());
1082 for(
const auto id: projIds)
1096 if(sel_items.empty()) {
1097 event.Enable(
false);
1102 if(!(*it)->CanDoRemove(*
m_Tree)) {
1103 event.Enable(
false);
1108 event.Enable(
true);
1120 event.Enable(
true);
1129 if(!wsItem)
return;
1132TItemMap toEnable, toDisable;
1141toDisable[project].push_back(prjItem);
1143toEnable[project].push_back(prjItem);
1148 ITERATE(TItemMap, it, toEnable) {
1152it->first->UpdateProjectItems(*
m_Tree);
1156 ITERATE(TItemMap, it, toDisable) {
1160it->first->UpdateProjectItems(*
m_Tree);
1175 boolen =
false, dis =
false;
1176 for(
size_t i= 0;
i< sel_items.size();
i++) {
1178 if(item.
GetData()->IsEnabled()) {
1184wxString
text= (en == dis) ?
wxT(
"Enable / Disable") : (en ?
wxT(
"Disable") :
wxT(
"Enable"));
1185 event.SetText(
text);
1186 event.Enable(
true);
1188 event.Enable(
false);
1197 if(sel_items.size() == 1) {
1210 if(sel_items.size() == 1)
1211en = sel_items[0]->CanDoNewFolder();
1219 for(
size_t i= 0;
i< items.size(); ++
i) {
1223st_sel_views.
insert(view);
1236vector<CIRef<IProjectView> > views;
1246 for(
size_t i= 0;
i< views.size();
i++) {
1255vector<CIRef<IProjectView> > views;
1261 event.Enable(views.size() > 0);
1269vector<CIRef<IProjectView> > views;
1276vector<IWMClient*> clients;
1277 for(
size_t i= 0;
i< views.size();
i++) {
1279clients.push_back(view);
1291vector<CIRef<IProjectView> > views;
1298 event.Enable(views.size() > 0);
1307 if(sel_items.size() == 1) {
1322 if(sel_items.size() == 1)
1323en = sel_items[0]->CanDoProperties();
1329 event.Enable(
false);
1334 if(!
m_WS)
return;
1338 if(doc && (doc->IsLoaded() || doc->
IsLoading())) {
1339 event.Enable(
true);
1350 if(!
m_WS)
return;
1353 if(doc && (doc->IsLoaded() || doc->
IsLoading())) {
1354toUnload.push_back(*it);
1358 if(toUnload.empty())
1369 if(!
m_WS)
return;
1372 if(doc && !(doc->IsLoaded() || doc->
IsLoading())) {
1373toLoad.push_back(*it);
1385 event.Enable(
false);
1390 if(!
m_WS)
return;
1393 if(doc && !(doc->IsLoaded() || doc->
IsLoading())) {
1394 event.Enable(
true);
1404 if(ids.empty())
return;
1406 if(!
m_WS)
return;
1410toRemove.push_back(*it);
1414 if(toRemove.empty())
return;
1421 event.Enable(
false);
1426 if(!
m_WS)
return;
1430 event.Enable(
true);
1441 if(!
m_WS)
return;
1447 if(doc && doc->IsLoaded()) {
1451projectService->
AddProjectView(
"Project Table View", obj, 0 );
1459 event.Enable(
false);
1464 if(!
m_WS)
return;
1467 if(doc && doc->IsLoaded()) {
1468 event.Enable(
true);
1490 if(!ws)
return false;
1492 for(
size_t i= 0;
i< items.size(); ++
i) {
1498 if(doc && !doc->
IsLoading() && doc->IsLoaded() != load) {
1531 boolprojectDataFolder =
false;
1534projectDataFolder =
true;
1539wxMenu* menu =
newwxMenu;
1545menu->Append(wxID_SEPARATOR,
wxT(
"Top Actions"));
1549menu->Append(wxID_SEPARATOR,
wxT(
"Actions"));
1555menu->Append(wxID_SEPARATOR,
wxT(
"Actions"));
1560}
else if(items.size() == 1 &&
1564menu->Append(wxID_SEPARATOR,
wxT(
"Actions"));
1571menu->Append(wxID_SEPARATOR,
wxT(
"Top Actions"));
1573menu->Append(wxID_SEPARATOR,
wxT(
"Actions"));
1575menu->Append(wxID_SEPARATOR,
wxT(
"Actions"));
1581menu->Append(wxID_SEPARATOR,
wxT(
"Actions"));
1588 TCmdIDclp_cmds[4] = { wxID_CUT, wxID_COPY, wxID_PASTE, wxID_DELETE };
1591menu->Append(wxID_SEPARATOR,
wxT(
"Edit"));
1593 if(projectDataFolder) {
1605menu->Append(wxID_SEPARATOR,
wxT(
"Edit"));
1612menu->Append( wxID_SEPARATOR,
wxT(
"Properties") );
1623wxWindowUpdateLocker locker(
m_Tree);
1632wxWindowUpdateLocker locker(
m_Tree);
1643wxWindowUpdateLocker locker(
m_Tree);
1653wxWindowUpdateLocker locker(
m_Tree);
1660wxWindowUpdateLocker locker(
m_Tree);
1676wxWindowUpdateLocker locker(
m_Tree);
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
std::invoke_result< _Fty, ICanceled & >::type GUI_AsyncExec(_Fty &&_Fnarg, const wxString &msg=wxT("Accessing network..."))
static void COpenDialog(IWorkbench *workbench, const string &loader_label=NcbiEmptyString, const vector< wxString > &filenames=vector< wxString >())
CAppExplorerDataObject - wxDataObject for use with CAppExplorerService.
static wxDataFormat m_ItemsFormat
CAppExplorerDataObject.
void GetItems(wxTreeCtrl &treeCtrl, PT::TItems &items)
CEvent - generic event implementation TODO TODO - Attachments.
bool RemoveProjectItems(const vector< objects::CProjectItem * > &items)
void AttachProjectItems(const vector< objects::CProjectItem * > &items)
virtual const TViews & GetViews(void) const
Retrieve the existing views for this class.
void DetachProjectItems(const vector< objects::CProjectItem * > &items)
bool IsEnabled(void) const
enabled flag
CProjectService - a service providing API for operations with Workspaces and Projects.
CIRef< IProjectView > AddProjectView(const string &view_name, SConstScopedObject &object, const objects::CUser_object *params, bool bFloat=false)
void RemoveProjectView(IProjectView &view)
removes the view from View manager Service and disconnects it from the project
CRef< objects::CGBWorkspace > GetGBWorkspace()
static void LoadProjects(IServiceLocator *serviceLocator, const TProjectIdVector &project_ids)
static bool RemoveProjects(IServiceLocator *serviceLocator, const TProjectIdVector &project_ids, bool confirm=true)
static void UnLoadProjects(IServiceLocator *serviceLocator, const TProjectIdVector &project_ids)
CProjectTreeCtrl - subclass of wxTreeCtrl to allow functions to be overridden for application-specifi...
void OnMove(wxMouseEvent &event)
void OnLeftDown(wxMouseEvent &event)
void OnKeyUp(wxKeyEvent &event)
CProjectTreeCtrl()
CProjectTreeCtrl.
virtual wxTextCtrl * EditLabel(const wxTreeItemId &item, wxClassInfo *textCtrlClass=CLASSINFO(wxTextCtrl))
CProjectTreePanel - a window that represents Project View.
void OnActivateClients(wxCommandEvent &event)
void ProjectUpdateLabel(CGBDocument &doc)
CAppExplorerDataObject * x_CreateDataObject(bool cut)
void OnUpdateShowHideDisabledItems(wxUpdateUIEvent &event)
void Create(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize)
void OnUpdateCut(wxUpdateUIEvent &event)
void OnEnableDisable(wxCommandEvent &event)
void OnEndDrag(wxTreeEvent &event)
void OnBeginDrag(wxTreeEvent &event)
void OnProjectTableView(wxCommandEvent &event)
void x_ClearClipboardData()
void OnRemove(wxCommandEvent &event)
void OnPaste(wxCommandEvent &event)
void ProjectRemoved(size_t id)
void OnUpdateLoadProject(wxUpdateUIEvent &event)
wxDragResult OnDrop(wxCoord x, wxCoord y, wxDragResult def, CAppExplorerDataObject &data)
void OnItemExpandedCollapsed(wxTreeEvent &event)
wxDragResult OnDragOver(wxCoord x, wxCoord y, wxDragResult def)
void OnLeftDown(wxMouseEvent &event)
void OnUpdateUnLoadProject(wxUpdateUIEvent &event)
void OnUpdateProperties(wxUpdateUIEvent &event)
CRef< objects::CGBWorkspace > m_WS
void OnTreeKeyDown(wxTreeEvent &event)
void ProjectViewsChanged(CGBDocument &doc)
void OnShowHideDisabledItems(wxCommandEvent &event)
objects::CGBProjectHandle::TId TProjectId
PT::CRoot * x_GetRootItem()
void OnUnLoadProject(wxCommandEvent &event)
PT::CItem * x_GetSingleSelectedItem()
void OnCloseView(wxCommandEvent &event)
CStopWatch m_DropItemTimer
void ProjectUpdateItems(CGBDocument &doc)
void OnCut(wxCommandEvent &event)
void UpdateWorkspaceLabel()
void GetAllItems(PT::TItems &items)
void GetSelectedProjectIds(TProjectIdVector &ids)
void Init()
Initializes member variables.
CAppExplorerDataObject * m_DataObject
Data object used for drag and drop (this is the data being dragged)
void OnCopy(wxCommandEvent &event)
void OnRemoveProject(wxCommandEvent &event)
void OnUpdateRemove(wxUpdateUIEvent &event)
PT::CWorkspace * x_GetWorkspaceItem()
void OnBeginLabelEdit(wxTreeEvent &event)
IExplorerItemCmdContributor::TContribution x_GetContextMenu(PT::TItems &items)
void OnProperties(wxCommandEvent &event)
wxTreeItemId m_DropItemId
D&D state.
void x_SetSelections(wxArrayTreeItemIds &ids)
void SetCopyMode(bool b)
Drag and drop support for OSX Cocoa (generic dnd path not working in OSX cocoa 2.9....
void ProjectStateChanged(CGBDocument &doc)
vector< TProjectId > TProjectIdVector
void OnContextMenu(wxContextMenuEvent &event)
void OnUpdateNewFolder(wxUpdateUIEvent &event)
void OnEndLabelEdit(wxTreeEvent &event)
void CreateControls()
Creates the controls and sizers.
friend class CProjectTreeViewDropTarget
void GetSelectedItems(PT::TItems &items)
void x_CollectItemIds(wxTreeItemId root, wxArrayTreeItemIds &ids)
void OnItemActivated(wxTreeEvent &event)
void OnUpdateEnableDisable(wxUpdateUIEvent &event)
void x_CutOrCopyToClipboard(bool cut)
CProjectTreeCtrl * m_Tree
void OnUpdateCopy(wxUpdateUIEvent &event)
void OnLoadProject(wxCommandEvent &event)
void OnUpdateActivateClients(wxUpdateUIEvent &event)
void x_GetItemsFromIds(const wxArrayTreeItemIds &ids, PT::TItems &items)
void OnUpdateRemoveProject(wxUpdateUIEvent &event)
void UpdateViewLabel(CGBDocument &doc, IProjectView &view)
void OnUpdateProjectTableView(wxUpdateUIEvent &event)
void SetWorkbench(IWorkbench *workbench)
PT::CItem * x_GetExplorerItem(const wxTreeItemId &id)
void x_RefreshProjectTables(TProjectId projectId)
void OnUpdatePaste(wxUpdateUIEvent &event)
void UpdateDisabledItems()
void OnNewFolder(wxCommandEvent &event)
virtual ~CProjectTreePanel()
void ProjectAdded(CGBDocument &doc)
void OnSelectionChanged(wxTreeEvent &event)
void OnUpdateCloseView(wxUpdateUIEvent &event)
virtual wxDragResult OnEnter(wxCoord x, wxCoord y, wxDragResult def)
CProjectTreeViewDropTarget(CProjectTreePanel *panel)
CProjectTreeViewDropTarget.
virtual wxDragResult OnDragOver(wxCoord x, wxCoord y, wxDragResult def)
CProjectTreePanel * m_Panel
virtual wxDragResult OnData(wxCoord x, wxCoord y, wxDragResult def)
CUICommandRegistry is a centralized registry where all application commands should be registered.
static CUICommandRegistry & GetInstance()
the main instance associated with the application
wxMenu * CreateMenu(const SwxMenuItemRec *items)
create a menu from a static definition (see WX_*_MENU macros)
void AppendMenuItems(wxMenu &menu, const TCmdID *cmd_ids, int count) const
wxMenuItem * AppendMenuItem(wxMenu &menu, TCmdID cmd_id) const
@ eWidgetSelectionChanged
a view has been destroyed
Interface for testing cancellation request in a long lasting operation.
IExplorerItemCmdContributor - interface representing a component that contributes commands applicable...
virtual TContribution GetMenu(wxTreeCtrl &treeCtrl, PT::TItems &items)=0
for the given set of items returns a contribution
pair< wxMenu *, wxEvtHandler * > TContribution
Contribution consists of a Menu object and event handler.
class IProjectView defines the abstract interface for views observing projects.
virtual void GetMainObject(TConstScopedObjects &objects) const =0
Adds the main data objects represented by the client to "objects".
IWindowManagerService Window Manager Service provides access to Window Manager functionality.
IWorkbench is the central interface in the application framework.
virtual int GetType() const =0
virtual bool Paste(wxTreeCtrl &, vector< CItem * > &, bool)
virtual bool DoProperties(wxTreeCtrl &)
virtual bool CanPaste(wxTreeCtrl &) const
virtual void DoNewFolder(wxTreeCtrl &)
virtual bool CanCopyToClipboard(wxTreeCtrl &) const
virtual void OnItemExpandedCollapsed(wxTreeCtrl &)
virtual void BeginLabelEdit(wxTreeCtrl &, wxTreeEvent &event)
void SetTreeItemId(wxTreeItemId treeItemId)
virtual bool EndLabelEdit(wxTreeCtrl &, wxTreeEvent &event)
static void LogInstanceCount()
CItem * GetParent(wxTreeCtrl &treeCtrl) const
static CPTIcons & GetInstance()
void ExpandCompacted(wxTreeCtrl &treeCtrl, wxTreeItemId &compacted_node, CGBDocument &doc, IStatusBarService *sb_srv, ICanceled *cancel)
void UpdateDataSources(wxTreeCtrl &treeCtrl, IServiceLocator &serviceLocator)
void Initialize(wxTreeCtrl &treeCtrl, objects::CGBWorkspace *ws)
void UpdateAllViews(wxTreeCtrl &treeCtrl, objects::CGBWorkspace *ws)
CWorkspace * GetWorkspaceItem(wxTreeCtrl &treeCtrl)
void UpdateViewLabel(wxTreeCtrl &treeCtrl, IProjectView &view)
void ProjectRemoved(wxTreeCtrl &treeCtrl, size_t id)
void ProjectStateChanged(wxTreeCtrl &treeCtrl, CGBDocument &doc)
void UpdateViews(wxTreeCtrl &treeCtrl, CGBDocument *doc=0)
void UpdateProjectItems(wxTreeCtrl &treeCtrl, CGBDocument &doc)
void UpdateViewLabel(wxTreeCtrl &treeCtrl, CGBDocument &doc, IProjectView &view)
void UpdateLabel(wxTreeCtrl &treeCtrl)
void UpdateProjectLabel(wxTreeCtrl &treeCtrl, CGBDocument &doc)
void ProjectAdded(wxTreeCtrl &treeCtrl, CGBDocument &doc)
void UpdateDisabledItems(wxTreeCtrl &treeCtrl)
void UpdateHiddenItems(wxTreeCtrl &treeCtrl)
const TData & GetData() const
iterator_bool insert(const value_type &val)
const_iterator find(const key_type &key) const
const_iterator end() const
void(*)(CSeq_entry_Handle seh, IWorkbench *wb, const CSerialObject &obj) handler
@ eCmdShowHideDisabledItems
@ eCmdCloseAllProjectViews
static const struct name_t names[]
static const struct type types[]
#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 ERR_POST(message)
Error posting with file, line number information but without error codes.
#define NCBI_CATCH(message)
Catch CExceptions as well This macro is deprecated - use *_X or *_XX variant instead of it.
CIRef< T > GetServiceByType()
retrieves a typed reference to a service, the name of C++ type is used as the name of the service.
virtual IStatusBarService * GetStatusBarService()=0
virtual void ActivateClients(TClients &clients)=0
makes clients visible, make the first client in the given container focused
void GetExtensionAsInterface(const string &ext_point_id, vector< CIRef< I > > &interfaces)
GetExtensionAsInterface() is a helper function that extracts all extensions implementing the specifie...
void NcbiErrorBox(const string &message, const string &title="Error")
specialized Message Box function for reporting critical errors
vector< SConstScopedObject > TConstScopedObjects
virtual bool Send(CEvent *evt, EDispatch disp_how=eDispatch_Default, int pool_name=ePool_Default)
Sends an event synchronously.
@ eEvent_Message
message from one class to another
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
double Restart(void)
Return time elapsed since first Start() or last Restart() call (in seconds).
double Elapsed(void) const
Return time elapsed since first Start() or last Restart() call (in seconds).
void Stop(void)
Suspend the timer.
The blob sat and sat key Both must be positive integers</td > n< td > Non empty string The interpretation of the blob id depends on a processor Cassandra n processor expects the following format
static void text(MDB_val *v)
objects::CGBProjectHandle::TId GetProjectId(wxTreeCtrl &treeCtrl, const CItem &item)
int GetItemTypes(const TItems &items)
CProject * GetProject(wxTreeCtrl &treeCtrl, const CItem &item)
bool sm_HideDisabledItems
const struct ncbi::grid::netcache::search::fields::SIZE size
const CharType(& source)[N]
static void s_RemoveDependentItems(wxTreeCtrl &treeCtrl, wxArrayTreeItemIds &items)
static void s_ItemsToViews(PT::TItems &items, vector< CIRef< IProjectView > > &views)
static bool s_CanLoadUnloadProjects(CGBWorkspace *ws, PT::TItems &items, bool load)
static const int kClipboardTypesMask
static const int kSaveTypesMask
static bool s_IsProjectDataFolder(wxTreeCtrl &treeCtrl, const PT::CItem &item)
static const int kPropertyTypesMask
wxEVT_COMMAND_MENU_SELECTED
ViewerWindowBase::OnEditMenu ViewerWindowBase::OnJustification EVT_MENU(MID_SHOW_GEOM_VLTNS, ViewerWindowBase::OnShowGeomVltns) EVT_MENU(MID_FIND_PATTERN
#define WX_DEFINE_MENU(name)
New macros for defining menus for use with CUICommandRegistry.
#define WX_MENU_SEPARATOR_L(label)
void SetFocus(CRef< objects::CSeq_entry > entry)
void Merge(wxMenu &menu_1, const wxMenu &menu_2)
merges all items form menu_2 into menu_1, preserving the structure if possible
#define wxTR_GBENCH_LINES
void CleanupSeparators(wxMenu &menu)
Removes extra separators (in the begining or at the end of the menu, ot those that precede other sepa...
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