NCBI C++ ToolKit
|
Search Toolkit Book for CProjectFolder
#include <objects/gbproj/ProjectFolder.hpp>
Classes | |
class | IProjectItemVisitor |
Public Types | |
typedef CAtomicCounter::TValue | TId |
Public Types inherited from CProjectFolder_Base | |
enum class | E_memberIndex { e__allMandatory = 0 , e_info , e_folders , e_items } |
typedef CFolderInfo | TInfo |
typedef list< CRef< CProjectFolder > > | TFolders |
typedef list< CRef< CProjectItem > > | TItems |
typedef Tparent::CMemberIndex< E_memberIndex, 4 > | TmemberIndex |
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 Member Functions | |
CProjectFolder (void) | |
~CProjectFolder (void) | |
TId | GetId () const |
void | SetParentFolder (CProjectFolder *) |
CProjectFolder * | GetParentFolder () |
const CProjectItem * | GetProjectItem (CProjectItem::TId id) const |
CProjectItem * | GetProjectItem (CProjectItem::TId id) |
const CProjectFolder * | GetProjectFolder (CProjectFolder::TId id) const |
CProjectFolder * | GetProjectFolder (CProjectFolder::TId id) |
CProjectItem * | FindProjectItemById (CProjectItem::TId id) |
const CProjectItem * | FindProjectItemById (CProjectItem::TId id) const |
CProjectItem * | FindProjectItemByLabel (const string &label) |
CProjectItem * | FindProjectItemByData (const CSerialObject &object, bool recursive) |
CProjectFolder * | FindChildFolderByTitle (const string &title) |
const CProjectFolder * | FindChildFolderById (TId id) const |
CProjectFolder * | FindChildFolderById (TId id) |
const CProjectFolder * | FindProjectItemFolder (CProjectItem::TId id) const |
CProjectFolder * | FindProjectItemFolder (CProjectItem::TId id) |
CRef< CProjectFolder > | RemoveProjectFolder (CProjectFolder::TId id) |
void | AddChildItem (CProjectItem &child_item) |
bool | RemoveChildItem (CProjectItem &child_item) |
bool | RemoveChildItem (CProjectItem::TId id) |
void | RemoveAllChildItems () |
void | AddChildFolder (CProjectFolder &child_folder) |
void | RemoveChildFolder (CProjectFolder &child_folder) |
void | RemoveChildFolder (CProjectFolder::TId folder_id) |
bool | ForEachProjectItem (IProjectItemVisitor &visitor, bool recursive) |
applies the given visitor to all project items until the visitor returns false More... | |
Public Member Functions inherited from CProjectFolder_Base | |
CProjectFolder_Base (void) | |
virtual | ~CProjectFolder_Base (void) |
DECLARE_INTERNAL_TYPE_INFO () | |
bool | IsSetInfo (void) const |
Check if a value has been assigned to Info data member. More... | |
bool | CanGetInfo (void) const |
Check if it is safe to call GetInfo method. More... | |
void | ResetInfo (void) |
Reset Info data member. More... | |
const TInfo & | GetInfo (void) const |
Get the Info member data. More... | |
void | SetInfo (TInfo &value) |
Assign a value to Info data member. More... | |
TInfo & | SetInfo (void) |
Assign a value to Info data member. More... | |
bool | IsSetFolders (void) const |
Check if a value has been assigned to Folders data member. More... | |
bool | CanGetFolders (void) const |
Check if it is safe to call GetFolders method. More... | |
void | ResetFolders (void) |
Reset Folders data member. More... | |
const TFolders & | GetFolders (void) const |
Get the Folders member data. More... | |
TFolders & | SetFolders (void) |
Assign a value to Folders data member. More... | |
bool | IsSetItems (void) const |
Check if a value has been assigned to Items data member. More... | |
bool | CanGetItems (void) const |
Check if it is safe to call GetItems method. More... | |
void | ResetItems (void) |
Reset Items data member. More... | |
const TItems & | GetItems (void) const |
Get the Items member data. More... | |
TItems & | SetItems (void) |
Assign a value to Items data member. More... | |
virtual void | Reset (void) |
Reset the whole object. More... | |
Public Member Functions inherited from CSerialObject | |
CSerialObject (void) | |
virtual | ~CSerialObject (void) |
virtual const CTypeInfo * | GetThisTypeInfo (void) const =0 |
virtual void | Assign (const CSerialObject &source, ESerialRecursionMode how=eRecursive) |
Set object to copy of another one. More... | |
virtual bool | Equals (const CSerialObject &object, ESerialRecursionMode how=eRecursive) const |
Check if both objects contain the same values. More... | |
virtual void | DebugDump (CDebugDumpContext ddc, unsigned int depth) const |
Define method for dumping debug information. More... | |
void | ThrowUnassigned (TMemberIndex index) const |
void | ThrowUnassigned (TMemberIndex index, const char *file_name, int file_line) const |
bool | HasNamespaceName (void) const |
Check if object data type has namespace name. More... | |
const string & | GetNamespaceName (void) const |
Get namespace name. More... | |
bool | HasNamespacePrefix (void) const |
Check if data type has namespace prefix. More... | |
const string & | GetNamespacePrefix (void) const |
Get namespace prefix. More... | |
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... | |
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 |
Protected Attributes | |
TId | m_Id |
Static Protected Attributes | |
static CAtomicCounter | m_IdCounter |
Private Types | |
typedef CProjectFolder_Base | Tparent |
Private Member Functions | |
CProjectFolder (const CProjectFolder &value) | |
CProjectFolder & | operator= (const CProjectFolder &value) |
Additional Inherited Members | |
Static Public Member Functions inherited from CSerialObject | |
static void | SetVerifyDataThread (ESerialVerifyData verify) |
static void | SetVerifyDataGlobal (ESerialVerifyData verify) |
static string | UnassignedString (void) |
static CStringUTF8 | UnassignedStringUTF8 (void) |
static char | UnassignedByte (void) |
Static Public Member Functions inherited from CObject | |
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 Public Member Functions inherited from CDebugDumpable | |
static void | EnableDebugDump (bool on) |
Static Public Attributes inherited from CSerialObject | |
static const char * | ms_UnassignedStr = "<*unassigned*>" |
static const char | ms_UnassignedByte = char(0xcd) |
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... | |
Definition at line 55 of file ProjectFolder.hpp.
Definition at line 59 of file ProjectFolder.hpp.
|
private |
Definition at line 57 of file ProjectFolder.hpp.
|
inline |
Definition at line 128 of file ProjectFolder.hpp.
References CAtomicCounter::Add(), m_Id, and m_IdCounter.
CProjectFolder::~CProjectFolder | ( | void | ) |
Definition at line 53 of file ProjectFolder.cpp.
|
private |
void CProjectFolder::AddChildFolder | ( | CProjectFolder & | child_folder | ) |
Definition at line 317 of file ProjectFolder.cpp.
References CProjectFolder_Base::SetFolders().
Referenced by CGBDocument::x_AddItems().
void CProjectFolder::AddChildItem | ( | CProjectItem & | child_item | ) |
Definition at line 266 of file ProjectFolder.cpp.
References CProjectFolder_Base::SetItems().
Referenced by CGBProject::AddItem(), and CGBProject_ver2::AddItem().
CProjectFolder * CProjectFolder::FindChildFolderById | ( | TId | id | ) |
Definition at line 217 of file ProjectFolder.cpp.
References FindChildFolderById().
const CProjectFolder * CProjectFolder::FindChildFolderById | ( | TId | id | ) | const |
Definition at line 201 of file ProjectFolder.cpp.
Referenced by FindChildFolderById(), and CGBProjectHandle::FindProjectFolderById().
CProjectFolder * CProjectFolder::FindChildFolderByTitle | ( | const string & | title | ) |
Definition at line 224 of file ProjectFolder.cpp.
References NON_CONST_ITERATE, NULL, CProjectFolder_Base::SetFolders(), and CProjectFolder_Base::SetInfo().
Referenced by CGBDocument::x_AddItems().
CProjectItem * CProjectFolder::FindProjectItemByData | ( | const CSerialObject & | object, |
bool | recursive | ||
) |
Definition at line 192 of file ProjectFolder.cpp.
References ForEachProjectItem(), and CPrjItemSelector_Data::m_Item.
CProjectItem * CProjectFolder::FindProjectItemById | ( | CProjectItem::TId | id | ) |
Definition at line 185 of file ProjectFolder.cpp.
References FindProjectItemById().
Referenced by CGBProjectHandle::FindProjectItemById(), FindProjectItemById(), CValidateFrame::OnDone(), CProjectServiceTestJob::x_DeleteItems(), and CSmartFileTextToolbar::x_GetProject_Path().
const CProjectItem * CProjectFolder::FindProjectItemById | ( | CProjectItem::TId | id | ) | const |
Definition at line 173 of file ProjectFolder.cpp.
CProjectItem * CProjectFolder::FindProjectItemByLabel | ( | const string & | label | ) |
Definition at line 123 of file ProjectFolder.cpp.
References ForEachProjectItem(), label, and CPrjItemSelector_Label::m_Item.
CProjectFolder * CProjectFolder::FindProjectItemFolder | ( | CProjectItem::TId | id | ) |
Definition at line 245 of file ProjectFolder.cpp.
References FindProjectItemFolder().
const CProjectFolder * CProjectFolder::FindProjectItemFolder | ( | CProjectItem::TId | id | ) | const |
Definition at line 235 of file ProjectFolder.cpp.
Referenced by FindProjectItemFolder(), CTableDataGBProject::GetStringValue(), and CGBDocument::RemoveProjectItems().
bool CProjectFolder::ForEachProjectItem | ( | IProjectItemVisitor & | visitor, |
bool | recursive | ||
) |
applies the given visitor to all project items until the visitor returns false
Definition at line 352 of file ProjectFolder.cpp.
References ForEachProjectItem(), CProjectFolder_Base::IsSetItems(), NON_CONST_ITERATE, ok, CProjectFolder_Base::SetFolders(), CProjectFolder_Base::SetItems(), and CProjectFolder::IProjectItemVisitor::Visit().
Referenced by FindProjectItemByData(), FindProjectItemByLabel(), and ForEachProjectItem().
|
inline |
Definition at line 74 of file ProjectFolder.hpp.
References m_Id.
Referenced by CGBProjectHandle::FindProjectFolderById(), and RemoveChildFolder().
|
inline |
Definition at line 77 of file ProjectFolder.hpp.
CProjectFolder * CProjectFolder::GetProjectFolder | ( | CProjectFolder::TId | id | ) |
Definition at line 166 of file ProjectFolder.cpp.
References GetProjectFolder().
const CProjectFolder * CProjectFolder::GetProjectFolder | ( | CProjectFolder::TId | id | ) | const |
Definition at line 152 of file ProjectFolder.cpp.
References CProjectFolder_Base::CanGetFolders(), CProjectFolder_Base::GetFolders(), and ITERATE.
Referenced by GetProjectFolder().
CProjectItem * CProjectFolder::GetProjectItem | ( | CProjectItem::TId | id | ) |
Definition at line 145 of file ProjectFolder.cpp.
References GetProjectItem().
const CProjectItem * CProjectFolder::GetProjectItem | ( | CProjectItem::TId | id | ) | const |
Definition at line 131 of file ProjectFolder.cpp.
References CProjectFolder_Base::CanGetItems(), CProjectFolder_Base::GetItems(), and ITERATE.
Referenced by GetProjectItem(), and CGBDocument::RemoveProjectItems().
|
private |
void CProjectFolder::RemoveAllChildItems | ( | ) |
Definition at line 305 of file ProjectFolder.cpp.
References CProjectFolder_Base::IsSetItems(), NON_CONST_ITERATE, and CProjectFolder_Base::SetItems().
void CProjectFolder::RemoveChildFolder | ( | CProjectFolder & | child_folder | ) |
Definition at line 325 of file ProjectFolder.cpp.
References eUnknown, NCBI_THROW, and CProjectFolder_Base::SetFolders().
void CProjectFolder::RemoveChildFolder | ( | CProjectFolder::TId | folder_id | ) |
Definition at line 339 of file ProjectFolder.cpp.
References eUnknown, GetId(), NCBI_THROW, NON_CONST_ITERATE, and CProjectFolder_Base::SetFolders().
bool CProjectFolder::RemoveChildItem | ( | CProjectItem & | child_item | ) |
Definition at line 274 of file ProjectFolder.cpp.
References CProjectFolder_Base::IsSetItems(), and CProjectFolder_Base::SetItems().
Referenced by CGBDocument::RemoveProjectItems().
bool CProjectFolder::RemoveChildItem | ( | CProjectItem::TId | id | ) |
Definition at line 289 of file ProjectFolder.cpp.
References CProjectItem_Base::GetId(), CProjectFolder_Base::IsSetItems(), NON_CONST_ITERATE, and CProjectFolder_Base::SetItems().
CRef< CProjectFolder > CProjectFolder::RemoveProjectFolder | ( | CProjectFolder::TId | id | ) |
Definition at line 251 of file ProjectFolder.cpp.
References CProjectFolder_Base::SetFolders().
|
inline |
Definition at line 76 of file ProjectFolder.hpp.
|
protected |
Definition at line 121 of file ProjectFolder.hpp.
Referenced by CProjectFolder(), and GetId().
|
staticprotected |
Definition at line 119 of file ProjectFolder.hpp.
Referenced by CProjectFolder().