<
booladd = true>
187 #define DEFINE_DB_FUNC(type) \ 189 struct DBFunc<CBioseq_EditHandle,CSeq_inst::T##type> { \ 190 typedef CBioseq_EditHandle Handle; \ 191 typedef CSeq_inst::T##type T; \ 192 typedef MemetoTrait<T,IsCRef<T>::value> TTrait; \ 193 typedef TTrait::TRef TRef; \ 194 typedef TTrait::TConstRef TConstRef; \ 196 static inline void Set(IEditSaver& saver, \ 197 const Handle& handle, TConstRef data, \ 198 IEditSaver::ECallMode mode) \ 199 { saver.SetSeqInst##type(handle, data, mode); } \ 200 static inline void Reset(IEditSaver& saver, \ 201 const Handle& handle, \ 202 IEditSaver::ECallMode mode) \ 203 { saver.ResetSeqInst##type(handle, mode); } \ 249 #define DEFINE_SEQINST_SCALAR_CMD(type) \ 251 struct MemetoFunctions<CBioseq_EditHandle,CSeq_inst::T##type> { \ 252 typedef CBioseq_EditHandle TEditHandle; \ 253 typedef CSeq_inst::T##type T; \ 254 typedef MemetoTrait<T,IsCRef<T>::value> TTrait; \ 255 typedef TTrait::TValue TValue; \ 256 typedef TTrait::TStorage TStorage; \ 258 static inline bool IsSet(const TEditHandle& handle) \ 259 { return handle.IsSetInst_##type(); } \ 260 static inline TStorage Get(const TEditHandle& handle) \ 261 { return handle.GetInst_##type(); } \ 262 static inline void Set(const TEditHandle& handle, TStorage data) \ 263 { handle.x_RealSetInst_##type(data); } \ 264 static inline void Reset(const TEditHandle& handle) \ 265 { handle.x_RealResetInst_##type(); } \ 268 DEFINE_DB_FUNC(type) \ 270 typedef CSetValue_EditCommand<CBioseq_EditHandle, CSeq_inst::T##type> \ 271 CSet_SeqInst##type##_EditCommand; \ 272 typedef CResetValue_EditCommand<CBioseq_EditHandle, CSeq_inst::T##type> \ 273 CReset_SeqInst##type##_EditCommand; 281 #undef DEFINE_SEQINST_SCALAR_CMD 283 #define DEFINE_SEQINST_REF_CMD(type) \ 284 DEFINE_CREF_TYPE(CSeq_inst::T##type); \ 287 struct MemetoFunctions<CBioseq_EditHandle,CSeq_inst::T##type> { \ 288 typedef CBioseq_EditHandle TEditHandle; \ 289 typedef CSeq_inst::T##type T; \ 290 typedef MemetoTrait<T,IsCRef<T>::value> TTrait; \ 291 typedef TTrait::TValue TValue; \ 292 typedef TTrait::TStorage TStorage; \ 294 static inline bool IsSet(const TEditHandle& handle) \ 295 { return handle.IsSetInst_##type(); } \ 296 static inline TStorage Get(const TEditHandle& handle) \ 297 { return TStorage(const_cast<TValue*>(&handle.GetInst_##type())); } \ 298 static inline void Set(const TEditHandle& handle, TStorage& data) \ 299 { handle.x_RealSetInst_##type(*data); } \ 300 static inline void Reset(const TEditHandle& handle) \ 301 { handle.x_RealResetInst_##type(); } \ 304 DEFINE_DB_FUNC(type) \ 306 typedef CSetValue_EditCommand<CBioseq_EditHandle, CSeq_inst::T##type> \ 307 CSet_SeqInst##type##_EditCommand; \ 308 typedef CResetValue_EditCommand<CBioseq_EditHandle, CSeq_inst::T##type> \ 309 CReset_SeqInst##type##_EditCommand; 316 #undef DEFINE_SEQINST_REF_CMD 317 #undef DEFINE_DB_FUNCUser-defined methods of the data storage class.
User-defined methods of the data storage class.
DEFINE_CREF_TYPE(CSeq_inst)
#define DEFINE_SEQINST_REF_CMD(type)
CSetValue_EditCommand< CBioseq_EditHandle, CSeq_inst > CSet_SeqInst_EditCommand
CRemove_EditCommand< CBioseq_EditHandle > CRemoveBioseq_EditCommand
#define DEFINE_SEQINST_SCALAR_CMD(type)
CId_EditCommand< true > CAddId_EditCommand
CResetValue_EditCommand< CBioseq_EditHandle, CSeq_inst > CReset_SeqInst_EditCommand
CId_EditCommand< false > CRemoveId_EditCommand
CId_EditCommand(const CBioseq_EditHandle &handle, const CSeq_id_Handle &id)
CBioseq_EditHandle m_Handle
AddRemoveIdEditAction< add > TAction
const CSeq_id_Handle & m_Id
virtual void Do(IScopeTransaction_Impl &tr)
virtual ~CId_EditCommand()
set< CSeq_id_Handle > TIds
const CBioseq_EditHandle & m_Handle
void SelectNone(const CSeq_entry_EditHandle &entry)
CBioseq_EditHandle SelectSeq(const CSeq_entry_EditHandle &entry, CBioseq &seq)
Interface (functor) for object editing.
virtual void SetSeqInst(const CBioseq_Handle &, const CSeq_inst &, ECallMode)=0
CSeq_inst operatoions.
ECallMode
This flag can be used for optimization purpose.
@ eUndo
The method is called when a modification has just been undone.
@ eDo
The method is called when a modification has just been done.
virtual void AddId(const CBioseq_Handle &, const CSeq_id_Handle &, ECallMode)=0
ID operation.
virtual void ResetSeqInst(const CBioseq_Handle &, ECallMode)=0
virtual void Attach(const CBioObjectId &old_id, const CSeq_entry_Handle &entry, const CBioseq_Handle &what, ECallMode)=0
virtual void RemoveId(const CBioseq_Handle &, const CSeq_id_Handle &, ECallMode)=0
virtual void Detach(const CSeq_entry_Handle &entry, const CBioseq_Handle &what, ECallMode)=0
virtual void AddCommand(TCommand)=0
virtual void AddEditSaver(IEditSaver *)=0
Include a standard set of the NCBI C++ Toolkit most basic headers.
IEditSaver * GetEditSaver(const Handle &handle)
void x_RealResetInst() const
bool x_RealAddId(const CSeq_id_Handle &id) const
void x_RealSetInst(TInst &v) const
bool IsSetInst(void) const
bool x_RealRemoveId(const CSeq_id_Handle &id) const
const TInst & GetInst(void) const
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
#define NCBI_XOBJMGR_EXPORT
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
static void DoInDB(IEditSaver &saver, const CBioseq_EditHandle &handle, const CSeq_id_Handle &id)
static void UndoInDB(IEditSaver &saver, const CBioseq_EditHandle &handle, const CSeq_id_Handle &id)
static bool Do(const CBioseq_EditHandle &handle, const CSeq_id_Handle &id)
static void Undo(const CBioseq_EditHandle &handle, const CSeq_id_Handle &id)
static bool Do(const CBioseq_EditHandle &handle, const CSeq_id_Handle &id)
static void Undo(const CBioseq_EditHandle &handle, const CSeq_id_Handle &id)
static void DoInDB(IEditSaver &saver, const CBioseq_EditHandle &handle, const CSeq_id_Handle &id)
static void UndoInDB(IEditSaver &saver, const CBioseq_EditHandle &handle, const CSeq_id_Handle &id)
CId_EditCommand< add > CMD
static TReturn GetRet(CMD *cmd)
MemetoTrait< T, IsCRef< T >::value > TTrait
CBioseq_EditHandle Handle
static void Reset(IEditSaver &saver, const Handle &handle, IEditSaver::ECallMode mode)
TTrait::TConstRef TConstRef
static void Set(IEditSaver &saver, const Handle &handle, TConstRef data, IEditSaver::ECallMode mode)
TTrait::TStorage TStorage
CBioseq_EditHandle TEditHandle
static void Set(const TEditHandle &handle, TStorage &data)
static TStorage Get(const TEditHandle &handle)
MemetoTrait< T, IsCRef< T >::value > TTrait
static void Reset(const TEditHandle &handle)
static bool IsSet(const TEditHandle &handle)
TTrait::TStorage TStorage
static TRef Restore(TStorage t)
CBioseq_EditHandle Handle
static void Do(CScope_Impl &scope, const CSeq_entry_EditHandle &entry, const Handle &)
static void DoInDB(IEditSaver &saver, const CSeq_entry_EditHandle &entry, const Handle &handle)
static void UndoInDB(IEditSaver &saver, const CBioObjectId &old_id, const CSeq_entry_EditHandle &entry, const Handle &handle)
static void Undo(CScope_Impl &scope, const CSeq_entry_EditHandle &entry, const Handle &handle)
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