NCBI C++ ToolKit
|
Search Toolkit Book for CSelectionService
#include <gui/core/selection_service_impl.hpp>
Public Types | |
typedef vector< ISelectionClient * > | TClients |
![]() | |
enum | EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern } |
Control filling of newly allocated memory. More... | |
typedef CObjectCounterLocker | TLockerType |
Default locker type for CRef. More... | |
typedef atomic< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
![]() | |
enum | EDispatch { eDispatch_SelfOnly , eDispatch_AllHandlers , eDispatch_FirstHandler , eDispatch_Default = eDispatch_AllHandlers } |
enum controlling dispatching strategies More... | |
enum | EPoolName { ePool_Default = 0 , ePool_Parent , ePool_Child , ePool_Sibling , ePool_NextAvailable } |
Identifiers for standard pools. More... | |
typedef vector< CEventHandler * > | TListeners |
typedef map< int, TListeners > | TPools |
typedef list< AutoPtr< SPostRequest > > | TPostRequests |
typedef std::map< CEventHandler *, int > | THandlerToCount |
typedef void(* | FOnPostCallback) () |
Public Member Functions | |
CSelectionService () | |
virtual | ~CSelectionService () |
void | InitStatusBar (wxWindow *parent) |
void | GetClients (TClients &clients) |
bool | IsAutoBroadcast () |
void | SetAutoBroadcast (bool pAuto) |
IService interface implementation | |
virtual void | InitService () |
virtual void | ShutDownService () |
ISelectionService implemenation | |
virtual void | AttachClient (ISelectionClient *client) |
virtual void | DetachClient (ISelectionClient *client) |
virtual bool | IsAttached (ISelectionClient *client) const |
virtual void | GetCurrentSelection (TConstScopedObjects &sel) |
returns objects currently selected in the application, this function should be used for obtaining arguments for running tools, opening views and performing other application commands More... | |
virtual void | GetActiveObjects (TConstScopedObjects &sel) |
returns objects currently active in the application, this function should be used for obtaining arguments for running tools, opening views and performing other application commands More... | |
virtual void | GetActiveObjects (vector< TConstScopedObjects > &sel) |
returns prioritized vector of vectors of objects currently active in the application, More... | |
virtual void | Broadcast (CSelectionEvent &evt, ISelectionClient *source) |
request broadcasting of the given event, Broadcast() notifies observers about changes in selection (do not need to call OnSelectionChanged()) More... | |
virtual void | OnActiveClientChanged (ISelectionClient *active) |
this function is called by GUI components to notify server More... | |
virtual void | OnSelectionChanged (ISelectionClient *source) |
notifies Service and its observers about changes in selection More... | |
IRegSettings implementation | |
virtual void | SetRegistryPath (const string &path) |
virtual void | LoadSettings () |
virtual void | SaveSettings () const |
IServiceLocatorConsumer interface implementation | |
virtual void | SetServiceLocator (IServiceLocator *locator) |
![]() | |
CObjectEx (void) | |
virtual | ~CObjectEx (void) |
![]() | |
CObject (void) | |
Constructor. More... | |
CObject (const CObject &src) | |
Copy constructor. More... | |
virtual | ~CObject (void) |
Destructor. More... | |
CObject & | operator= (const CObject &src) THROWS_NONE |
Assignment operator. More... | |
bool | CanBeDeleted (void) const THROWS_NONE |
Check if object can be deleted. More... | |
bool | IsAllocatedInPool (void) const THROWS_NONE |
Check if object is allocated in memory pool (not system heap) More... | |
bool | Referenced (void) const THROWS_NONE |
Check if object is referenced. More... | |
bool | ReferencedOnlyOnce (void) const THROWS_NONE |
Check if object is referenced only once. More... | |
void | AddReference (void) const |
Add reference to object. More... | |
void | RemoveReference (void) const |
Remove reference to object. More... | |
void | ReleaseReference (void) const |
Remove reference without deleting object. More... | |
virtual void | DoNotDeleteThisObject (void) |
Mark this object as not allocated in heap – do not delete this object. More... | |
virtual void | DoDeleteThisObject (void) |
Mark this object as allocated in heap – object can be deleted. More... | |
void * | operator new (size_t size) |
Define new operator for memory allocation. More... | |
void * | operator new[] (size_t size) |
Define new[] operator for 'array' memory allocation. More... | |
void | operator delete (void *ptr) |
Define delete operator for memory deallocation. More... | |
void | operator delete[] (void *ptr) |
Define delete[] operator for memory deallocation. More... | |
void * | operator new (size_t size, void *place) |
Define new operator. More... | |
void | operator delete (void *ptr, void *place) |
Define delete operator. More... | |
void * | operator new (size_t size, CObjectMemoryPool *place) |
Define new operator using memory pool. More... | |
void | operator delete (void *ptr, CObjectMemoryPool *place) |
Define delete operator. More... | |
virtual void | DebugDump (CDebugDumpContext ddc, unsigned int depth) const |
Define method for dumping debug information. More... | |
![]() | |
CDebugDumpable (void) | |
virtual | ~CDebugDumpable (void) |
void | DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const |
void | DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const |
void | DumpToConsole (void) const |
![]() | |
CWeakObject (void) | |
virtual | ~CWeakObject (void) |
CPtrToObjectProxy * | GetPtrProxy (void) const |
Get pointer to proxy object containing pointer to this object. More... | |
![]() | |
virtual | ~IService () |
![]() | |
virtual | ~IServiceLocatorConsumer () |
![]() | |
virtual | ~ISelectionService () |
![]() | |
CEventHandler () | |
CEventHandler. More... | |
virtual | ~CEventHandler () |
virtual void | AddListener (CEventHandler *listener, int pool_name=ePool_Default) |
Add a listener. More... | |
virtual void | RemoveListener (CEventHandler *listener) |
Remove a listener. More... | |
virtual void | RemoveAllListeners (void) |
virtual bool | HasListener (CEventHandler *listener, int pool_name=ePool_Default) const |
returns "true" if the given listener belongs to the specified pool More... | |
virtual const TListeners * | GetListeners (int pool_name=ePool_Default) const |
returns a set of listeners fro the specified pool More... | |
virtual bool | OnEvent (CEvent *evt) |
Processes en event. Returns "true" if event has been processed. More... | |
virtual bool | Dispatch (CEvent *evt, EDispatch disp_how=eDispatch_Default, int pool_name=ePool_Default) |
Dispatches an event to the listeners (but does not handle it). More... | |
virtual bool | Send (CEvent *evt, EDispatch disp_how=eDispatch_Default, int pool_name=ePool_Default) |
Sends an event synchronously. More... | |
virtual bool | Send (CEvent *evt, int pool_name) |
void | Post (CRef< CEvent > evt, EDispatch disp_how=eDispatch_Default, int pool_name=ePool_Default) |
Handles an event asynchronously (process and/or dispatch). More... | |
![]() | |
virtual | ~IRegSettings () |
Protected Member Functions | |
void | x_Broadcast (CSelectionEvent &evt, ISelectionClient *source, CGBDocument::TViews &views) |
![]() | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
![]() | |
void | CleanWeakRefs (void) const |
Method cleaning all CWeakRefs referencing at this moment to the object After calling to this method all existing CWeakRefs referencing to the object will return NULL, so it effectively will be equal to deleting the object. More... | |
![]() | |
virtual const SEvtMap * | GetEventMap () const |
void | x_DeclareDead () |
Removes itself unavailable for async event delivery. More... | |
void | x_AddListenerToPool (CEventHandler *listener, int pool_name) |
Protected Attributes | |
TClients | m_Clients |
ISelectionClient * | m_ActiveClient |
IServiceLocator * | m_SrvLocator |
string | m_RegPath |
![]() | |
TPools | m_Pools |
Private Attributes | |
CSelectionBroadcastSlot * | m_StatusBarSlot |
various selection service options | |
bool | mf_AutoBroadcast |
Additional Inherited Members | |
![]() | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (void) |
Define method to throw null pointer exception. More... | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (const type_info &type) |
static EAllocFillMode | GetAllocFillMode (void) |
static void | SetAllocFillMode (EAllocFillMode mode) |
static void | SetAllocFillMode (const string &value) |
Set mode from configuration parameter value. More... | |
![]() | |
static void | EnableDebugDump (bool on) |
![]() | |
static bool | HandlePostRequest () |
static void | ClearPostQueue () |
erases all events from the queue More... | |
static void | DestroyPostQueue () |
![]() | |
static const TCount | eCounterBitsCanBeDeleted = 1 << 0 |
Define possible object states. More... | |
static const TCount | eCounterBitsInPlainHeap = 1 << 1 |
Heap signature was found. More... | |
static const TCount | eCounterBitsPlaceMask |
Mask for 'in heap' state flags. More... | |
static const int | eCounterStep = 1 << 2 |
Skip over the "in heap" bits. More... | |
static const TCount | eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2) |
Minimal value for valid objects (reference counter is zero) Must be a single bit value. More... | |
static const TCount | eCounterStateMask |
Valid object, and object in heap. More... | |
![]() | |
static const SEvtMap | sm_EvtMap |
Definition at line 73 of file selection_service_impl.hpp.
typedef vector<ISelectionClient*> CSelectionService::TClients |
Definition at line 83 of file selection_service_impl.hpp.
CSelectionService::CSelectionService | ( | ) |
Definition at line 108 of file selection_service.cpp.
|
virtual |
Definition at line 117 of file selection_service.cpp.
|
virtual |
Implements ISelectionService.
Definition at line 162 of file selection_service.cpp.
References client, CSelectionServiceEvent::eClientAttached, ERR_POST, m_Clients, and CEventHandler::Post().
|
virtual |
request broadcasting of the given event, Broadcast() notifies observers about changes in selection (do not need to call OnSelectionChanged())
Implements ISelectionService.
Definition at line 224 of file selection_service.cpp.
References _ASSERT, CSelectionEvent::GetScope(), IServiceLocator::GetServiceByType(), ITERATE, m_SrvLocator, NCBI_CATCH, CSelectionEvent::sm_InterDocBroadcast, rapidjson::source, x_Broadcast(), and CGBDocument::x_GetViews().
Referenced by CSequenceEditingEventHandler::LinkmRNACDS(), and CSelectFeatures::OnAccept().
|
virtual |
Implements ISelectionService.
Definition at line 178 of file selection_service.cpp.
References client, CSelectionServiceEvent::eClientDetached, ERR_POST, m_ActiveClient, m_Clients, NULL, and CEventHandler::Post().
Referenced by ShutDownService().
|
virtual |
returns objects currently active in the application, this function should be used for obtaining arguments for running tools, opening views and performing other application commands
Implements ISelectionService.
Definition at line 273 of file selection_service.cpp.
References ISelectionClient::GetActiveObjects(), and m_ActiveClient.
Referenced by CSequenceEditingEventHandler::x_OnSelectionEvent(), CSuspectProductRulesEditor::x_SetUpTSEandUnDoManager(), and CSequenceEditingEventHandler::x_SetUpTSEandUnDoManager().
|
virtual |
returns prioritized vector of vectors of objects currently active in the application,
performing other application commands
Implements ISelectionService.
Definition at line 279 of file selection_service.cpp.
References ISelectionClient::GetActiveObjects(), and m_ActiveClient.
void CSelectionService::GetClients | ( | CSelectionService::TClients & | clients | ) |
Definition at line 219 of file selection_service.cpp.
References m_Clients.
Referenced by CSelectionPanel::x_ResetSelObjects(), and CSelectionPanel::x_ResetTargetChoice().
|
virtual |
returns objects currently selected in the application, this function should be used for obtaining arguments for running tools, opening views and performing other application commands
Implements ISelectionService.
Definition at line 267 of file selection_service.cpp.
References ISelectionClient::GetSelection(), and m_ActiveClient.
|
virtual |
Implements IService.
Definition at line 122 of file selection_service.cpp.
References Info(), LoadSettings(), and LOG_POST.
void CSelectionService::InitStatusBar | ( | wxWindow * | parent | ) |
Definition at line 131 of file selection_service.cpp.
References CSelectionBroadcastSlot::Create(), IServiceLocator::GetServiceByType(), IStatusBarService::InsertSlot(), m_SrvLocator, m_StatusBarSlot, and CSelectionBroadcastSlot::SetSelectionService().
|
virtual |
Implements ISelectionService.
Definition at line 195 of file selection_service.cpp.
References client, and m_Clients.
Referenced by CSelectionPanel::OnSelServiceStateChange().
|
inline |
Definition at line 126 of file selection_service_impl.hpp.
References mf_AutoBroadcast.
|
virtual |
Implements IRegSettings.
Definition at line 340 of file selection_service.cpp.
References CRegistryReadView::GetBool(), CGuiRegistry::GetInstance(), CRegistryReadView::GetInt(), CGuiRegistry::GetReadView(), CRegistryReadView::GetStringVec(), CRegistryReadView::HasField(), kAutoBroadcast, kIdMatchPolicy, kInterDocBroadcast, kMatchAlnLocs, kMatchByProduct, kObjMatchPolicy, kTreeBroadcastOneToOne, kTreeBroadcastProperties, m_RegPath, mf_AutoBroadcast, CSelectionEvent::sm_AutoBroadcast, CSelectionEvent::sm_IdMatchPolicy, CSelectionEvent::sm_InterDocBroadcast, CSelectionEvent::sm_MatchAlnLocs, CSelectionEvent::sm_MatchByProduct, CSelectionEvent::sm_ObjMatchPolicy, CSelectionEvent::sm_TreeBroadcastOneToOne, CSelectionEvent::sm_TreeBroadcastProperties, and value.
Referenced by InitService().
|
virtual |
this function is called by GUI components to notify server
Implements ISelectionService.
Definition at line 202 of file selection_service.cpp.
References CSelectionServiceEvent::eActiveChanged, CSelectionServiceEvent::eSelectionChanged, m_ActiveClient, CEventHandler::Post(), and CEventHandler::Send().
|
virtual |
notifies Service and its observers about changes in selection
Implements ISelectionService.
Definition at line 257 of file selection_service.cpp.
References CSelectionServiceEvent::eSelectionChanged, mf_AutoBroadcast, CEventHandler::Post(), and rapidjson::source.
|
virtual |
Implements IRegSettings.
Definition at line 320 of file selection_service.cpp.
References CGuiRegistry::GetInstance(), CGuiRegistry::GetWriteView(), kAutoBroadcast, kIdMatchPolicy, kInterDocBroadcast, kMatchAlnLocs, kMatchByProduct, kObjMatchPolicy, kTreeBroadcastOneToOne, kTreeBroadcastProperties, m_RegPath, mf_AutoBroadcast, CRegistryWriteView::Set(), CSelectionEvent::sm_IdMatchPolicy, CSelectionEvent::sm_InterDocBroadcast, CSelectionEvent::sm_MatchAlnLocs, CSelectionEvent::sm_MatchByProduct, CSelectionEvent::sm_ObjMatchPolicy, CSelectionEvent::sm_TreeBroadcastOneToOne, and CSelectionEvent::sm_TreeBroadcastProperties.
Referenced by ShutDownService().
void CSelectionService::SetAutoBroadcast | ( | bool | pAuto | ) |
Definition at line 285 of file selection_service.cpp.
References mf_AutoBroadcast.
Implements IRegSettings.
Definition at line 305 of file selection_service.cpp.
References m_RegPath.
|
virtual |
Implements IServiceLocatorConsumer.
Definition at line 383 of file selection_service.cpp.
References m_SrvLocator.
|
virtual |
Implements IService.
Definition at line 145 of file selection_service.cpp.
References DetachClient(), Info(), LOG_POST, m_Clients, m_StatusBarSlot, SaveSettings(), and CSelectionBroadcastSlot::SetSelectionService().
|
protected |
Definition at line 290 of file selection_service.cpp.
References NON_CONST_ITERATE, ISelectionClient::SetSelection(), and rapidjson::source.
Referenced by Broadcast().
|
protected |
Definition at line 136 of file selection_service_impl.hpp.
Referenced by DetachClient(), GetActiveObjects(), GetCurrentSelection(), and OnActiveClientChanged().
|
protected |
Definition at line 135 of file selection_service_impl.hpp.
Referenced by AttachClient(), DetachClient(), GetClients(), IsAttached(), and ShutDownService().
|
protected |
Definition at line 139 of file selection_service_impl.hpp.
Referenced by LoadSettings(), SaveSettings(), and SetRegistryPath().
|
protected |
Definition at line 138 of file selection_service_impl.hpp.
Referenced by Broadcast(), InitStatusBar(), and SetServiceLocator().
|
private |
Definition at line 147 of file selection_service_impl.hpp.
Referenced by InitStatusBar(), and ShutDownService().
|
private |
Definition at line 144 of file selection_service_impl.hpp.
Referenced by IsAutoBroadcast(), LoadSettings(), OnSelectionChanged(), SaveSettings(), and SetAutoBroadcast().