NCBI C++ ToolKit
cmd_change_bioseq_inst.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: cmd_change_bioseq_inst.cpp 27501 2013-02-26 17:41:50Z bollin $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Authors: Roman Katargin
27  */
28 
29 
30 #include <ncbi_pch.hpp>
32 
35 
37  : m_BH(bh)
38 {
39  m_Inst.Reset(new CSeq_inst());
40  m_Inst->Assign(new_inst);
41 }
42 
44 {
45  CRef<CSeq_inst> saveInst(new CSeq_inst());
46  if (m_BH.CanGetInst()) {
47  saveInst->Assign(m_BH.GetInst());
48  }
49 
50  CBioseq_EditHandle eh = m_BH.GetEditHandle();
51  eh.SetInst(*m_Inst);
52  m_Inst = saveInst;
53 }
54 
56 {
57  Execute();
58 }
59 
61 {
62  return "Modify Bioseq Inst";
63 }
64 
CBioseq_EditHandle –.
CBioseq_Handle –.
virtual void Execute()
Do the editing action.
CRef< objects::CSeq_inst > m_Inst
virtual void Unexecute()
Undo (opposite to Execute())
CCmdChangeBioseqInst(const objects::CBioseq_Handle &bh, const objects::CSeq_inst &new_inst)
objects::CBioseq_Handle m_BH
USING_SCOPE(objects)
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
void SetInst(TInst &v) const
void Reset(void)
Reset reference object.
Definition: ncbiobj.hpp:773
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
Modified on Wed May 29 18:42:01 2024 by modify_doxy.py rev. 669887