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

Go to the SVN repository for this file.

1 #ifndef GUI_WIDGETS_SEQ_GRAPHIC___DBVAR_TRACK__HPP
2 #define GUI_WIDGETS_SEQ_GRAPHIC___DBVAR_TRACK__HPP
3 
4 /* $Id: dbvar_track.hpp 47374 2023-02-23 00:42:16Z evgeniev $
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  * Authors: Liangshou Wu
30  *
31  * File Description:
32  *
33  */
34 
36 
37 
39 
40 ///////////////////////////////////////////////////////////////////////////////
41 /// CVarTrack --
42 ///
43 
45  public CFeatureTrack
46 {
47  friend class CVarTrackFactory;
48 
49 public:
51  virtual ~CVarTrack();
52 
53  /// @name CLayoutTrack public methods.
54  /// @{
55  virtual const CTrackTypeInfo& GetTypeInfo() const override;
56  virtual CHTMLActiveArea* InitHTMLActiveArea(TAreaVector* p_areas) const override;
57  /// @}
58 
59  /// @name IFeatureTrackBase reimplemented methods.
60  /// @{
61  virtual bool IsVarTrack() const override {return true;}
62  /// @}
63 protected:
64  /// @name CFeatureTrack method override
65  /// @{
66  virtual void x_UpdateData () override;
67  virtual void x_LoadSettings(const string&, const TKeyValuePairs &settings) override;
68 
69  virtual void x_OnJobCompleted(CAppJobNotification& notify) override;
70  /// @}
71 
72 private:
73  /// @name prohibited copy constructor and assignment operator.
74  /// @{
77  /// @}
78 
79 private:
81  bool m_ZoomToSee = false;
82 };
83 
84 ///////////////////////////////////////////////////////////////////////////////
85 /// CVarTrackFactory
86 ///
89 {
90 public:
92 
93  /// create a layout track based on the input objects and extra parameters.
94  virtual TTrackMap CreateTracks(
95  SConstScopedObject& object,
96  ISGDataSourceContext* ds_context,
97  CRenderingContext* r_cntx,
98  const SExtraParams& params = SExtraParams(),
99  const TAnnotMetaDataList& src_annots = TAnnotMetaDataList()) const;
100 
101  virtual void GetMatchedAnnots(
102  const TAnnotMetaDataList& src_annots,
103  const ILayoutTrackFactory::SExtraParams& params,
104  TAnnotNameTitleMap& out_annots) const;
105 
106  virtual const CTrackTypeInfo& GetThisTypeInfo() const
107  { return GetTypeInfo(); }
108 
109  static const CTrackTypeInfo& GetTypeInfo()
110  { return CVarTrack::m_TypeInfo; }
111 
112  /// @name ITrackConfigurable interface implementation
113  /// @{
115  GetSettings(const string& profile,
116  const TKeyValuePairs& settings,
117  const CTempTrackProxy* track_proxy) const;
118  /// @}
119 
120  /// @name IExtension interface implementation
121  /// @{
122  virtual string GetExtensionIdentifier() const;
123  virtual string GetExtensionLabel() const;
124  /// @}
125 protected:
127  x_GetSettings(const TKeyValuePairs& settings, const CTempTrackProxy* track_proxy, bool is_vcf_track) const;
128 };
129 
130 
131 ///////////////////////////////////////////////////////////////////////////////
132 /// CVarTrack inline methods
133 ///
134 
135 
137 
138 #endif // GUI_WIDGETS_SEQ_GRAPHIC___DBVAR_TRACK__HPP
CAppJobNotification Notification send by CAppJobEventTranslator.
CFeatureTrackFactory.
CFeatureTrack –.
virtual void x_OnJobCompleted(CAppJobNotification &notify)
virtual void x_LoadSettings(const string &, const TKeyValuePairs &settings)
load the track settings.
virtual void x_UpdateData()
update track content.
virtual const CTrackTypeInfo & GetTypeInfo() const
virtual CHTMLActiveArea * InitHTMLActiveArea(TAreaVector *p_areas) const
Initialize the HTML active area for a track.
CRef –.
Definition: ncbiobj.hpp:618
CRenderingContext offers the basic context and utility methods for rendering layout objects in featur...
CSGFeatureDS.
Definition: feature_ds.hpp:49
vector< CHTMLActiveArea > TAreaVector
Definition: seq_glyph.hpp:84
File Description:
CTrackTypeInfo - holds description of a layout track type.
CVarTrackFactory.
Definition: dbvar_track.hpp:89
virtual const CTrackTypeInfo & GetThisTypeInfo() const
static const CTrackTypeInfo & GetTypeInfo()
CVarTrack –.
Definition: dbvar_track.hpp:46
static CTrackTypeInfo m_TypeInfo
CVarTrack.
Definition: dbvar_track.hpp:80
CVarTrack(const CVarTrack &)
CVarTrack & operator=(const CVarTrack &)
virtual bool IsVarTrack() const override
Definition: dbvar_track.hpp:61
ISGDSManager is seqgraphic data source manage that serves as an data source context.
map< string, string > TKeyValuePairs
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT
Definition: gui_export.h:536
extra parameter for initializing a track.
Modified on Mon Jul 22 05:04:27 2024 by modify_doxy.py rev. 669887