NCBI C++ ToolKit
Public Member Functions | Protected Types | Protected Attributes | List of all members
CProjectLoadManager Class Reference

Search Toolkit Book for CProjectLoadManager

CProjectLoadManager -Load Manager that loads both Projects and Workspaces. More...

#include <gui/core/ui_project_load_manager.hpp>

+ Inheritance diagram for CProjectLoadManager:
+ Collaboration diagram for CProjectLoadManager:

Public Member Functions

 CProjectLoadManager ()
 CProjectLoadManager. More...
 
IUIToolManager interface implementation
virtual void SetServiceLocator (IServiceLocator *srv_locator)
 Sets / unsets Service Locator. More...
 
virtual void SetParentWindow (wxWindow *parent)
 
virtual const IUIObjectGetDescriptor () const
 Returns the object describing this tool (UI meta data). More...
 
virtual void InitUI ()
 Initializes the Manager before using it in UI. More...
 
virtual void CleanUI ()
 CleanUI() is called after the host finished using the manager. More...
 
virtual wxPanel * GetCurrentPanel ()
 Return the panel corresponding to the current state of Tool Manager. More...
 
virtual bool CanDo (EAction action)
 Indicates whether given transition is possible in the current state. More...
 
virtual bool IsFinalState ()
 True if Tool Manager has reached its final state, i.e. More...
 
virtual bool IsCompletedState ()
 Manager goes into "Complete" state when "Finish" button is pressed and all input data is gatherred and validated. More...
 
virtual bool DoTransition (EAction action)
 Performs transition if possible and returns true, otherwise the function shall warn the user about the problem preventing the transition (such as insufficient or invalid input) and return false. More...
 
virtual IAppTaskGetTask ()
 Once parameters are gathered and validated this function is called to produce the final Task object that will be executed to do the actual computational work. More...
 
- Public Member Functions inherited from CObject
 CObject (void)
 Constructor. More...
 
 CObject (const CObject &src)
 Copy constructor. More...
 
virtual ~CObject (void)
 Destructor. More...
 
CObjectoperator= (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 IUIToolManager
virtual wxPanel * GetMaxPanel ()
 Return the panel that occupies max size on display, to calculate dialog window size. More...
 
virtual IUIToolManagerGetAlternateToolManager ()
 If a transition fails, it may make sense to switch to a different tool manger When a tool manager identifies a more appropriate manager for a task, it returns it here, otherwise NULL. More...
 
virtual IExecuteUnitGetExecuteUnit ()
 
virtual IWizardPageGetFirstPage ()
 Returns first options page (if any) of the tool to be shown in wizard dialog. More...
 
virtual IWizardPageGetOptionsPage ()
 Returns page for tool options (long wizard path via "Options" button) More...
 
virtual void SetPrevPage (IWizardPage *)
 Sets a wizard page which should show before the first page of the tool. More...
 
virtual void SetNextPage (IWizardPage *)
 Sets a wizard page which should show after the last page of the tool. More...
 
virtual void RestoreDefaults ()
 Restores the default options for the current panel. More...
 
virtual void ResetState ()
 
virtual bool UsesSingleOMScope ()
 
virtual ~IUIToolManager ()
 

Protected Types

enum  EState { eInvalid = -1, eSelectFile, eCompleted }
 

Protected Attributes

CUIObject m_Descriptor
 
IServiceLocatorm_SrvLocator
 
wxWindow * m_ParentWindow
 
EState m_State
 
CProjectLoadOptionPanelm_OptionPanel
 

Additional Inherited Members

- 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 CAtomicCounter TCounter
 Counter type is CAtomiCounter. More...
 
typedef TCounter::TValue TCount
 Alias for value type of counter. More...
 
- Public Types inherited from IUIToolManager
enum  EAction { eBack = 0, eNext, eSkip }
 
- Static Public Member Functions inherited from CObject
static NCBI_NORETURN void ThrowNullPointerException (void)
 Define method to throw null pointer exception. More...
 
static NCBI_NORETURN 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 Public Member Functions inherited from CDebugDumpable
static void EnableDebugDump (bool on)
 
- 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...
 
- Protected Member Functions inherited from CObject
virtual void DeleteThis (void)
 Virtual method "deleting" this object. More...
 

Detailed Description

CProjectLoadManager -Load Manager that loads both Projects and Workspaces.

Definition at line 53 of file ui_project_load_manager.hpp.

Member Enumeration Documentation

Enumerator
eInvalid 
eSelectFile 
eCompleted 

Definition at line 76 of file ui_project_load_manager.hpp.

Constructor & Destructor Documentation

CProjectLoadManager::CProjectLoadManager ( )

Member Function Documentation

bool CProjectLoadManager::CanDo ( EAction  action)
virtual

Indicates whether given transition is possible in the current state.

Implements IUIToolManager.

Definition at line 111 of file ui_project_load_manager.cpp.

References _ASSERT, eCompleted, IUIToolManager::eNext, eSelectFile, and m_State.

void CProjectLoadManager::CleanUI ( )
virtual

CleanUI() is called after the host finished using the manager.

This function shall free resources associated with the session and reset internal state.

Implements IUIToolManager.

Definition at line 83 of file ui_project_load_manager.cpp.

References eInvalid, m_Descriptor, m_OptionPanel, m_State, NULL, and CUIObject::SetLabel().

bool CProjectLoadManager::DoTransition ( EAction  action)
virtual

Performs transition if possible and returns true, otherwise the function shall warn the user about the problem preventing the transition (such as insufficient or invalid input) and return false.

Typically this function would take user input from the current panel, validate the input and go to the next state creating new UI panel if needed.

Implements IUIToolManager.

Definition at line 138 of file ui_project_load_manager.cpp.

References _ASSERT, eCompleted, IUIToolManager::eNext, eSelectFile, m_OptionPanel, m_State, and CProjectLoadOptionPanel::OnFinish().

wxPanel * CProjectLoadManager::GetCurrentPanel ( )
virtual

Return the panel corresponding to the current state of Tool Manager.

Implements IUIToolManager.

Definition at line 91 of file ui_project_load_manager.cpp.

References _ASSERT, eSelectFile, IServiceLocator::GetServiceByType(), m_OptionPanel, m_ParentWindow, m_SrvLocator, m_State, NULL, and CProjectLoadOptionPanel::SetMRU().

const IUIObject & CProjectLoadManager::GetDescriptor ( ) const
virtual

Returns the object describing this tool (UI meta data).

Implements IUIToolManager.

Definition at line 70 of file ui_project_load_manager.cpp.

References m_Descriptor, and CUIObject::SetLabel().

IAppTask * CProjectLoadManager::GetTask ( )
virtual

Once parameters are gathered and validated this function is called to produce the final Task object that will be executed to do the actual computational work.

Implements IUIToolManager.

Definition at line 151 of file ui_project_load_manager.cpp.

References filenames, CProjectLoadOptionPanel::GetProjectFilenames(), m_OptionPanel, and m_SrvLocator.

void CProjectLoadManager::InitUI ( )
virtual

Initializes the Manager before using it in UI.

This function shall reset Internal state of the tool.

Implements IUIToolManager.

Definition at line 77 of file ui_project_load_manager.cpp.

References eSelectFile, and m_State.

bool CProjectLoadManager::IsCompletedState ( )
virtual

Manager goes into "Complete" state when "Finish" button is pressed and all input data is gatherred and validated.

Typically this is the last state after Final state. This state does not have an associated UI panel. When manager reaches the Completed state the framework hides the dialog and calls GetTask() function.

Implements IUIToolManager.

Definition at line 132 of file ui_project_load_manager.cpp.

References eCompleted, and m_State.

bool CProjectLoadManager::IsFinalState ( )
virtual

True if Tool Manager has reached its final state, i.e.

the last page (panel) in the sequence is displayed and "Finish" button is shown. The framework calls this function to decide whether Finish or Next button needs to be shown.

Implements IUIToolManager.

Definition at line 126 of file ui_project_load_manager.cpp.

References eSelectFile, and m_State.

void CProjectLoadManager::SetParentWindow ( wxWindow *  parent)
virtual

Implements IUIToolManager.

Definition at line 64 of file ui_project_load_manager.cpp.

References m_ParentWindow.

void CProjectLoadManager::SetServiceLocator ( IServiceLocator srv_locator)
virtual

Sets / unsets Service Locator.

Tool Manager can use the locator to obtain the services necessary services.

Implements IUIToolManager.

Definition at line 58 of file ui_project_load_manager.cpp.

References m_SrvLocator.

Member Data Documentation

CUIObject CProjectLoadManager::m_Descriptor
mutableprotected

Definition at line 83 of file ui_project_load_manager.hpp.

Referenced by CleanUI(), CProjectLoadManager(), and GetDescriptor().

CProjectLoadOptionPanel* CProjectLoadManager::m_OptionPanel
protected

Definition at line 89 of file ui_project_load_manager.hpp.

Referenced by CleanUI(), DoTransition(), GetCurrentPanel(), and GetTask().

wxWindow* CProjectLoadManager::m_ParentWindow
protected

Definition at line 86 of file ui_project_load_manager.hpp.

Referenced by GetCurrentPanel(), and SetParentWindow().

IServiceLocator* CProjectLoadManager::m_SrvLocator
protected

Definition at line 85 of file ui_project_load_manager.hpp.

Referenced by GetCurrentPanel(), GetTask(), and SetServiceLocator().

EState CProjectLoadManager::m_State
protected

The documentation for this class was generated from the following files:
Modified on Tue Jan 16 15:46:42 2018 by modify_doxy.py rev. 546573