NCBI C++ ToolKit
ctrl_items.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 #ifndef OBJTOOLS_FORMAT_ITEMS___CTRL_ITEM__HPP
2 #define OBJTOOLS_FORMAT_ITEMS___CTRL_ITEM__HPP
3 
4 /* $Id: ctrl_items.hpp 99549 2023-04-17 14:20:00Z gotvyans $
5 * ===========================================================================
6 *
7 * PUBLIC DOMAIN NOTICE
8 * National Center for Biotechnology Information
9 *
10 * This software/database is a "United States Government Work" under the
11 * terms of the United States Copyright Act. It was written as part of
12 * the author's official duties as a United States Government employee and
13 * thus cannot be copyrighted. This software/database is freely available
14 * to the public for use. The National Library of Medicine and the U.S.
15 * Government have not placed any restriction on its use or reproduction.
16 *
17 * Although all reasonable efforts have been taken to ensure the accuracy
18 * and reliability of the software and data, the NLM and the U.S.
19 * Government do not and cannot warrant the performance or results that
20 * may be obtained by using this software or data. The NLM and the U.S.
21 * Government disclaim all warranties, express or implied, including
22 * warranties of performance, merchantability or fitness for any particular
23 * purpose.
24 *
25 * Please cite the author in any work or product based on this material.
26 *
27 * ===========================================================================
28 *
29 * Author: Mati Shomrat
30 *
31 * File Description:
32 * item representing end of section line (slash line)
33 *
34 */
35 #include <corelib/ncbistd.hpp>
36 
40 
41 
44 
45 
46 class CBioseqContext;
47 class CSeq_entry;
48 class CSeq_entry_Handle;
49 
51 {
52 public:
53  CCtrlItem(CBioseqContext* bctx = nullptr) : CFlatItem(bctx) {}
54 };
55 
56 
57 ///////////////////////////////////////////////////////////////////////////
58 //
59 // START
60 //
61 // Signals the start of the data
62 
64 {
65 public:
67 
69  void Format(IFormatter& f, IFlatTextOStream& text_os) const override {
70  f.Start(text_os);
71  }
72 
73  EItem GetItemType() const override;
74 private:
75  void x_SetDate(CSeq_entry_Handle);
76  string m_Date;
77 
78 };
79 
80 
81 ///////////////////////////////////////////////////////////////////////////
82 //
83 // START SECTION
84 //
85 // Signals the begining of a new section
86 
88 {
89 public:
91  // CCommentItem::ResetFirst();
92  }
93  void Format(IFormatter& f, IFlatTextOStream& text_os) const override {
94  f.StartSection(*this, text_os);
95  }
96 
97  EItem GetItemType() const override;
98 };
99 
100 
101 ///////////////////////////////////////////////////////////////////////////
102 //
103 // END SECTION
104 //
105 // Signals the end of a section
106 
108 {
109 public:
111  void Format(IFormatter& f, IFlatTextOStream& text_os) const override {
112  f.EndSection(*this, text_os);
113  }
114 
115  EItem GetItemType() const override;
116 };
117 
118 
119 ///////////////////////////////////////////////////////////////////////////
120 //
121 // END
122 //
123 // Signals the termination of data
124 
126 {
127 public:
128  CEndItem(void) {}
129  void Format(IFormatter& f, IFlatTextOStream& text_os) const override {
130  f.End(text_os);
131  }
132 
133  EItem GetItemType() const override;
134 };
135 
136 
139 
140 #endif /* OBJTOOLS_FORMAT_ITEMS___CTRL_ITEM__HPP */
CCtrlItem(CBioseqContext *bctx=nullptr)
Definition: ctrl_items.hpp:53
void Format(IFormatter &f, IFlatTextOStream &text_os) const override
Definition: ctrl_items.hpp:129
CEndItem(void)
Definition: ctrl_items.hpp:128
CEndSectionItem(CBioseqContext &ctx)
Definition: ctrl_items.hpp:110
void Format(IFormatter &f, IFlatTextOStream &text_os) const override
Definition: ctrl_items.hpp:111
CSeq_entry_Handle –.
Definition: Seq_entry.hpp:56
string m_Date
Definition: ctrl_items.hpp:76
void Format(IFormatter &f, IFlatTextOStream &text_os) const override
Definition: ctrl_items.hpp:69
void Format(IFormatter &f, IFlatTextOStream &text_os) const override
Definition: ctrl_items.hpp:93
CStartSectionItem(CBioseqContext &ctx)
Definition: ctrl_items.hpp:90
virtual EItem GetItemType(void) const =0
Include a standard set of the NCBI C++ Toolkit most basic headers.
CS_CONTEXT * ctx
Definition: t0006.c:12
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define END_SCOPE(ns)
End the previously defined scope.
Definition: ncbistl.hpp:75
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define BEGIN_SCOPE(ns)
Define a new scope.
Definition: ncbistl.hpp:72
#define NCBI_FORMAT_EXPORT
Definition: ncbi_export.h:496
double f(double x_, const double &y_)
Definition: njn_root.hpp:188
Modified on Wed Apr 17 13:08:06 2024 by modify_doxy.py rev. 669887