NCBI C++ ToolKit
|
Search Toolkit Book for CProjectTask
CProjectTask - a task that supports typical application operations applicable to Workspaces and Projects. More...
#include <gui/core/project_task.hpp>
Public Types | |
using | TProjectId = objects::CGBProjectHandle::TId |
typedef vector< TProjectId > | TProjectIdVector |
Public Types inherited from CObject | |
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... | |
Public Types inherited from IAppTask | |
enum | ETaskState { eInvalid = -1 , eInitial , eRunning , eBackgrounded , eCompleted , eFailed , eCanceled , eLastState } |
List of task states defining the task management FSM. More... | |
Public Member Functions | |
CProjectTask (IServiceLocator *srv_locator, vector< wxString > &filenames) | |
virtual | ~CProjectTask () |
Public Member Functions inherited from CAppTask | |
CAppTask (const string &descr=kEmptyStr, bool visible=true, int display_delay=0) | |
CAppTask. More... | |
virtual ETaskState | Run () |
execute the task, this function is called on the main UI thread if a task needs to execute in background it should launch a job that will execute asynchronously; then the function shall return eBackgrounded More... | |
virtual ETaskState | GetState () |
returns the current task state More... | |
virtual void | CancelBackgrounded () |
make a request to cancel backgrounded task (not called for foreground tasks) More... | |
virtual void | OnCancel () |
this will be called on pending tasks that will be removed from the queue and won't get a chance to run the purpose is to implement any cleanup procedures for the canceled task More... | |
virtual bool | IsVisible () |
returns true if the task should be visible in UI visible task shall represent operations understood by users and usually correspond to menu commands. More... | |
int | GetStatusDisplayDelay () |
returns delay in seconds used for certain fast (and not very important tasks) to only show its status when it is running/pending for long enough More... | |
virtual string | GetDescr () const |
returns a human-readable description of the Task (optional) More... | |
virtual string | GetStatusText () const |
returns human-readable text describing the current task state More... | |
virtual void | SetListener (CEventHandler *handler) |
set a Listener; this allows a taks running in background to notify the Listener (usually Task Manager) about changes in Status More... | |
virtual IEventLogAction * | CreateEventLogAction () |
returns an action for activating task results (optional, can return NULL) More... | |
Public Member Functions inherited from CObjectEx | |
CObjectEx (void) | |
virtual | ~CObjectEx (void) |
Public Member Functions inherited from CObject | |
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... | |
Public Member Functions inherited from CDebugDumpable | |
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 |
Public Member Functions inherited from CWeakObject | |
CWeakObject (void) | |
virtual | ~CWeakObject (void) |
CPtrToObjectProxy * | GetPtrProxy (void) const |
Get pointer to proxy object containing pointer to this object. More... | |
Public Member Functions inherited from IAppTask | |
virtual | ~IAppTask () |
Protected Member Functions | |
virtual ETaskState | x_Run () |
override this function in derived classes More... | |
void | x_OpenProjects () |
overriding CAppTask::x_Run() More... | |
Protected Member Functions inherited from CAppTask | |
virtual bool | x_IsFiniteState () |
Protected Member Functions inherited from CObject | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Protected Member Functions inherited from CWeakObject | |
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... | |
Static Protected Member Functions | |
static bool | x_DoSaveUserSelected (CProjectService *service, objects::CGBWorkspace &ws, const string &title, const string &description, bool save_as, bool no_btn, const TProjectIdVector &project_ids, const TProjectIdVector &selected) |
Protected Attributes | |
IServiceLocator * | m_SrvLocator |
vector< wxString > | m_ProjectFilenames |
Protected Attributes inherited from CAppTask | |
CEventHandler * | m_Listener |
ETaskState | m_State |
const bool | m_Visible |
indicates whether the task is visible More... | |
string | m_Descr |
task description More... | |
int | m_DisplayDelay |
tasks display delay More... | |
Additional Inherited Members | |
Static Public Attributes inherited from CObject | |
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... | |
CProjectTask - a task that supports typical application operations applicable to Workspaces and Projects.
The task relies on Project Service functions as low-level API.
Definition at line 63 of file project_task.hpp.
using CProjectTask::TProjectId = objects::CGBProjectHandle::TId |
Definition at line 67 of file project_task.hpp.
typedef vector<TProjectId> CProjectTask::TProjectIdVector |
Definition at line 68 of file project_task.hpp.
CProjectTask::CProjectTask | ( | IServiceLocator * | srv_locator, |
vector< wxString > & | filenames | ||
) |
Definition at line 67 of file project_task.cpp.
References _ASSERT, filenames, and m_ProjectFilenames.
|
virtual |
Definition at line 263 of file project_task.cpp.
|
static |
Definition at line 139 of file project_task.cpp.
References _ASSERT, CProjectService::GetGBWorkspace(), IServiceLocator::GetServiceByType(), and ITERATE.
Referenced by CProjectTreePanel::OnLoadProject().
|
static |
Definition at line 210 of file project_task.cpp.
References CWorkspaceAutoSaver::CleanUp(), CProjectService::GetGBWorkspace(), IServiceLocator::GetServiceByType(), and RemoveProjects().
|
static |
Definition at line 155 of file project_task.cpp.
References CGBDocument::CancelLoading(), CWorkspaceAutoSaver::CleanUp(), copy(), CProjectService::GetGBWorkspace(), IServiceLocator::GetServiceByType(), i, CGBDocument::IsLoading(), ITERATE, ok, CProjectService::RemoveProject(), s_GetUnsavedProjects(), wxT, and x_DoSaveUserSelected().
Referenced by CProjectTreePanel::OnRemoveProject(), and RemoveAllProjects().
|
static |
Definition at line 232 of file project_task.cpp.
References CProjectService::GetGBWorkspace(), IServiceLocator::GetServiceByType(), and x_DoSaveUserSelected().
|
static |
Definition at line 94 of file project_task.cpp.
References CGBDocument::CancelLoading(), CProjectService::GetGBWorkspace(), IServiceLocator::GetServiceByType(), i, CGBDocument::IsLoading(), ITERATE, ok, CProjectService::RemoveProject(), s_GetUnsavedProjects(), CGBDocument::UnloadProject(), and x_DoSaveUserSelected().
Referenced by CProjectTreePanel::OnUnLoadProject().
|
staticprotected |
Definition at line 335 of file project_task.cpp.
References _ASSERT, CProjectService::AddToProjectWorkspaceMRUList(), AskProjectSaveFilename(), ERR_POST, CGBDocument::GetFileName(), CException::GetMsg(), CSaveDlg::GetParams(), CGBWorkspace::GetProjectFromId(), i, Info(), SSaveProjectsDlgParams::m_Description, SSaveProjectsDlgParams::m_ProjectIds, SSaveProjectsDlgParams::m_ProjectsToSave, SSaveProjectsDlgParams::m_ShowNoButton, msg(), NcbiErrorBox(), NcbiMessageBoxW(), NULL, ok, CGBDocument::Save(), CGBDocument::SetFileName(), CSaveDlg::SetParams(), CDialog::SetRegistryPath(), ToWxString(), CException::what(), and wxT.
Referenced by RemoveProjects(), Save(), and UnLoadProjects().
|
protected |
overriding CAppTask::x_Run()
Definition at line 273 of file project_task.cpp.
References _ASSERT, CProjectService::AddProject(), CProjectService::CreateNewWorkspace(), CWorkspaceFolder::FindProjectByFilename(), FnToStdString(), CProjectService::GetGBWorkspace(), IServiceLocator::GetServiceByType(), CProjectService::HasWorkspace(), i, ITERATE, m_ProjectFilenames, m_SrvLocator, msg(), CGBDocument::SetFileName(), and wxT.
Referenced by x_Run().
|
protectedvirtual |
override this function in derived classes
Reimplemented from CAppTask.
Definition at line 267 of file project_task.cpp.
References IAppTask::eCompleted, and x_OpenProjects().
|
protected |
Definition at line 97 of file project_task.hpp.
Referenced by CProjectTask(), and x_OpenProjects().
|
protected |
Definition at line 96 of file project_task.hpp.
Referenced by x_OpenProjects().