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

Go to the SVN repository for this file.

1 #ifndef GUI_PACKAGES_SNP_LD_TRACK__LD_DS__HPP
2 #define GUI_PACKAGES_SNP_LD_TRACK__LD_DS__HPP
3 
4 /* $Id: ld_ds.hpp 25703 2012-04-24 19:57:50Z wuliangs $
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: Melvin Quintos
30  *
31  * File Description:
32  * This file contains class declarations for CLDBlockDS and CLDBlockDSType
33  *
34  */
35 
36 #include <corelib/ncbimtx.hpp>
37 #include <objmgr/bioseq_handle.hpp>
38 #include <objmgr/scope.hpp>
39 #include <objmgr/seq_vector.hpp>
40 #include <util/rangemap.hpp>
41 #include <util/range_coll.hpp>
42 
43 #include <gui/gui_export.h>
47 #include <gui/utils/extension.hpp>
48 
55 
57 
58 ///////////////////////////////////////////////////////////////////////////////
59 // CLDBlockDS
60 ///////////////////////////////////////////////////////////////////////////////
61 class CLDBlockDS : public CSGGenBankDS
62 {
63 public:
64  struct SParams {
65  CRenderingContext* r_cntx; // used to build GlyphContainer objects
68  string name;
70  bool isOverview;
72  float filterScore;
73  int filterLength; // order of magnitude 10^n
74  int depth;
75  };
76 
77 public:
78 
79  static void GetTrackNames(SConstScopedObject& object,
81  const TSeqRange& range,
82  const ILayoutTrackFactory::SExtraParams& params);
83 
84 public:
85  CLDBlockDS(objects::CScope& scope, const objects::CSeq_id& id);
86 
87  void SetName(const string&);
88  void LoadData(const SParams& param);
89 
90 private:
91  string m_Name;
92 
93 };
94 
95 
96 ///////////////////////////////////////////////////////////////////////////////
97 // CLDBlockDSType
98 ///////////////////////////////////////////////////////////////////////////////
100  public CObject,
101  public ISGDataSourceType,
102  public IExtension
103 {
104 public:
105  /// @name IExtension interface implementation
106  /// @{
107  virtual ISGDataSource* CreateDS(SConstScopedObject& object) const;
108  virtual bool IsSharable() const;
109  /// @}
110 
111  /// @name IExtension interface implementation
112  /// @{
113  virtual string GetExtensionIdentifier() const;
114  virtual string GetExtensionLabel() const;
115  /// @}
116 };
117 
118 
120 
121 #endif // GUI_PACKAGES_SNP_LD_TRACK__LD_DS__HPP
void SetName(const string &)
Definition: ld_ds.cpp:228
void LoadData(const SParams &param)
Definition: ld_ds.cpp:233
CLDBlockDS(objects::CScope &scope, const objects::CSeq_id &id)
CLDBlockDS.
Definition: ld_ds.cpp:200
string m_Name
Definition: ld_ds.hpp:91
static void GetTrackNames(SConstScopedObject &object, TAnnotNameTitleMap &names, const TSeqRange &range, const ILayoutTrackFactory::SExtraParams &params)
Definition: ld_ds.cpp:204
CObject –.
Definition: ncbiobj.hpp:180
CRenderingContext offers the basic context and utility methods for rendering layout objects in featur...
IExtension IExtension interface represents an abstract pluggable component.
Definition: extension.hpp:57
ISGDataSourceFactory.
virtual ISGDataSource * CreateDS(SConstScopedObject &object) const =0
create an instance of the layout track type using default settings.
virtual bool IsSharable() const =0
check if the data source can be shared.
File Description:
static const struct name_t names[]
GLdouble TModelUnit
Definition: gltypes.hpp:48
virtual string GetExtensionLabel() const =0
returns a displayable label for this extension ( please capitalize the key words - "My Extension" )
virtual string GetExtensionIdentifier() const =0
returns the unique human-readable identifier for the extension the id should use lowercase letters se...
#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_SNP_EXPORT
Definition: gui_export.h:540
Defines to provide correct exporting from DLLs in Windows.
range(_Ty, _Ty) -> range< _Ty >
Multi-threading – mutexes; rw-locks; semaphore.
TSeqRange range
Definition: ld_ds.hpp:66
CRenderingContext * r_cntx
Definition: ld_ds.hpp:65
TModelUnit scale
Definition: ld_ds.hpp:67
bool bAdaptiveSelector
Definition: ld_ds.hpp:71
extra parameter for initializing a track.
Modified on Tue May 28 05:52:09 2024 by modify_doxy.py rev. 669887