NCBI C++ ToolKit
include
gui
widgets
seq_graphic
feature_panel_ds.hpp
Go to the documentation of this file.
Go to the SVN repository for this file.
1
#ifndef GUI_WIDGETS_SEQ_GRAPHIC___FEATURE_PANEL_DS__HPP
2
#define GUI_WIDGETS_SEQ_GRAPHIC___FEATURE_PANEL_DS__HPP
3
4
/* $Id: feature_panel_ds.hpp 42615 2019-03-26 18:58:57Z katargir $
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
35
#include <
gui/widgets/seq_graphic/seqgraphic_genbank_ds.hpp
>
36
#include <
gui/widgets/seq_graphic/seqgraphic_ds_manager.hpp
>
37
#include <
gui/widgets/seq_graphic/layout_track_proxy.hpp
>
38
#include <
gui/widgets/seq_graphic/layout_track.hpp
>
39
40
BEGIN_NCBI_SCOPE
41
42
class
CRenderingContext
;
43
class
CTrackContainer
;
44
45
46
///////////////////////////////////////////////////////////////////////////////
47
/// CFeaturePanelDS
48
///
49
class
NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT
CFeaturePanelDS
:
50
public
CSGGenBankDS
51
{
52
public
:
53
typedef
ILayoutTrackFactory::TAnnotMetaDataList
TAnnotMetaDataList
;
54
55
CFeaturePanelDS
(objects::CScope& scope,
const
objects::CSeq_id&
id
);
56
~
CFeaturePanelDS
();
57
58
bool
IsMetaDataJob(
TJobID
id
)
const
;
59
void
DeleteMetaDataJob();
60
void
ClearMetaDataJobId();
61
62
void
CreateTrack(
const
string
& desc,
const
ILayoutTrackFactory
* factory,
63
CTrackContainer
* parent,
CTempTrackProxy
* params,
64
const
ILayoutTrackFactory::SExtraParams
& extra_param);
65
66
/// retrieve a list of annotations with their meta data.
67
void
GetAnnotMetaData(
const
string
& desc);
68
void
GetAssemblies(
const
string
& seqAcc);
69
70
void
SetDSContext(
ISGDataSourceContext
* ds_context);
71
void
SetRenderingContext(
CRenderingContext
* r_cntx);
72
void
SetAssembly(
const
string
& assembly);
73
const
string
&
GetAssembly
()
const
{
return
m_Assembly; }
74
void
SetTMSContext(
const
string
& tms_context);
75
void
SetUseEUtils(
bool
use);
76
virtual
bool
AllJobsFinished
()
const
;
77
78
private
:
79
/// @name Forbidden methods
80
/// @{
81
CFeaturePanelDS
(
const
CFeaturePanelDS
&);
82
CFeaturePanelDS
&
operator=
(
const
CFeaturePanelDS
&);
83
/// @}
84
85
private
:
86
CIRef<ISGDataSourceContext>
m_DSContext
;
87
CRenderingContext
*
m_RenderingCntx
;
88
89
string
m_Assembly
;
90
string
m_TMSContext
;
91
bool
m_UseEUtils
;
92
93
/// job id for annot meta-data job id.
94
TJobID
m_MetaDataJob
;
95
};
96
97
///////////////////////////////////////////////////////////////////////////////
98
/// CFeaturePanelDSType
99
///
100
class
NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT
CFeaturePanelDSType
:
101
public
CObject
,
102
public
ISGDataSourceType
,
103
public
IExtension
104
{
105
public
:
106
/// create an instance of the layout track type using default settings.
107
virtual
ISGDataSource
* CreateDS(
SConstScopedObject
&
object
)
const
;
108
109
/// @name IExtension interface implementation
110
/// @{
111
virtual
string
GetExtensionIdentifier()
const
;
112
virtual
string
GetExtensionLabel()
const
;
113
/// @}
114
115
/// check if the data source can be shared.
116
virtual
bool
IsSharable()
const
;
117
};
118
119
120
///////////////////////////////////////////////////////////////////////////////
121
/// CTrackInitJobResult
122
///
123
class
NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT
CTrackInitJobResult
:
public
CObject
124
{
125
public
:
126
CTrackInitJobResult
(){}
127
128
ILayoutTrackFactory::TTrackMap
m_Tracks
;
129
CTrackContainer
*
m_ParentTrack
;
130
CRef<CTempTrackProxy>
m_TrackParams
;
131
string
m_Desc
;
132
};
133
134
///////////////////////////////////////////////////////////////////////////////
135
/// CAnnotMetaDataJobResult
136
///
137
class
NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT
CAnnotMetaDataJobResult
:
public
CObject
138
{
139
public
:
140
typedef
ILayoutTrackFactory::TAnnotMetaDataList
TAnnotMetaDataList
;
141
142
CAnnotMetaDataJobResult
(){}
143
144
TAnnotMetaDataList
m_Annots
;
145
};
146
147
///////////////////////////////////////////////////////////////////////////////
148
/// CAnnotMetaDataJobResult
149
///
150
class
NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT
CGetAssembliesJobResult
:
public
CObject
151
{
152
public
:
153
CGetAssembliesJobResult
() {}
154
155
list<CRef<objects::CGC_Assembly> >
m_Assemblies
;
156
};
157
158
159
///////////////////////////////////////////////////////////////////////////////
160
/// CFeaturePanelDS inline methods
161
///
162
inline
163
bool
CFeaturePanelDS::IsMetaDataJob
(
TJobID
id
)
const
164
{
165
return
m_MetaDataJob
!= -1 &&
m_MetaDataJob
== id;
166
}
167
168
inline
169
void
CFeaturePanelDS::SetDSContext
(
ISGDataSourceContext
* ds_context)
170
{
171
m_DSContext
.
Reset
(ds_context);
172
}
173
174
inline
175
void
CFeaturePanelDS::SetRenderingContext
(
CRenderingContext
* r_cntx)
176
{
177
m_RenderingCntx
= r_cntx;
178
}
179
180
181
END_NCBI_SCOPE
182
183
#endif
// GUI_WIDGETS_SEQ_GRAPHIC___FEATURE_PANEL_DS__HPP
CAnnotMetaDataJobResult
CAnnotMetaDataJobResult.
Definition:
feature_panel_ds.hpp:138
CAnnotMetaDataJobResult::CAnnotMetaDataJobResult
CAnnotMetaDataJobResult()
Definition:
feature_panel_ds.hpp:142
CAnnotMetaDataJobResult::m_Annots
TAnnotMetaDataList m_Annots
Definition:
feature_panel_ds.hpp:144
CAnnotMetaDataJobResult::TAnnotMetaDataList
ILayoutTrackFactory::TAnnotMetaDataList TAnnotMetaDataList
Definition:
feature_panel_ds.hpp:140
CFeaturePanelDSType
CFeaturePanelDSType.
Definition:
feature_panel_ds.hpp:104
CFeaturePanelDS
CFeaturePanelDS.
Definition:
feature_panel_ds.hpp:51
CFeaturePanelDS::m_DSContext
CIRef< ISGDataSourceContext > m_DSContext
Definition:
feature_panel_ds.hpp:86
CFeaturePanelDS::m_RenderingCntx
CRenderingContext * m_RenderingCntx
Definition:
feature_panel_ds.hpp:87
CFeaturePanelDS::CFeaturePanelDS
CFeaturePanelDS(objects::CScope &scope, const objects::CSeq_id &id)
CFeaturePanelDS::m_MetaDataJob
TJobID m_MetaDataJob
job id for annot meta-data job id.
Definition:
feature_panel_ds.hpp:94
CFeaturePanelDS::m_UseEUtils
bool m_UseEUtils
Definition:
feature_panel_ds.hpp:91
CFeaturePanelDS::SetDSContext
void SetDSContext(ISGDataSourceContext *ds_context)
Definition:
feature_panel_ds.hpp:169
CFeaturePanelDS::TAnnotMetaDataList
ILayoutTrackFactory::TAnnotMetaDataList TAnnotMetaDataList
Definition:
feature_panel_ds.hpp:53
CFeaturePanelDS::IsMetaDataJob
bool IsMetaDataJob(TJobID id) const
CFeaturePanelDS inline methods.
Definition:
feature_panel_ds.hpp:163
CFeaturePanelDS::m_Assembly
string m_Assembly
Definition:
feature_panel_ds.hpp:89
CFeaturePanelDS::operator=
CFeaturePanelDS & operator=(const CFeaturePanelDS &)
CFeaturePanelDS::CFeaturePanelDS
CFeaturePanelDS(const CFeaturePanelDS &)
CFeaturePanelDS::m_TMSContext
string m_TMSContext
Definition:
feature_panel_ds.hpp:90
CFeaturePanelDS::SetRenderingContext
void SetRenderingContext(CRenderingContext *r_cntx)
Definition:
feature_panel_ds.hpp:175
CFeaturePanelDS::GetAssembly
const string & GetAssembly() const
Definition:
feature_panel_ds.hpp:73
CGetAssembliesJobResult
CAnnotMetaDataJobResult.
Definition:
feature_panel_ds.hpp:151
CGetAssembliesJobResult::CGetAssembliesJobResult
CGetAssembliesJobResult()
Definition:
feature_panel_ds.hpp:153
CGetAssembliesJobResult::m_Assemblies
list< CRef< objects::CGC_Assembly > > m_Assemblies
Definition:
feature_panel_ds.hpp:155
CIRef< ISGDataSourceContext >
CObject
CObject –.
Definition:
ncbiobj.hpp:180
CRef< CTempTrackProxy >
CRenderingContext
CRenderingContext offers the basic context and utility methods for rendering layout objects in featur...
Definition:
rendering_ctx.hpp:59
CSGGenBankDS
CSGGenBankDS.
Definition:
seqgraphic_genbank_ds.hpp:54
CSGGenBankDS::TJobID
CAppJobDispatcher::TJobID TJobID
Definition:
seqgraphic_genbank_ds.hpp:56
CSGGenBankDS::AllJobsFinished
virtual bool AllJobsFinished() const
Definition:
seqgraphic_genbank_ds.hpp:273
CTempTrackProxy
File Description:
Definition:
layout_track_proxy.hpp:54
CTrackContainer
CTrackContainer - a track container in the form of layout track.
Definition:
track_container_track.hpp:62
CTrackInitJobResult
CTrackInitJobResult.
Definition:
feature_panel_ds.hpp:124
CTrackInitJobResult::m_ParentTrack
CTrackContainer * m_ParentTrack
Definition:
feature_panel_ds.hpp:129
CTrackInitJobResult::m_Tracks
ILayoutTrackFactory::TTrackMap m_Tracks
Definition:
feature_panel_ds.hpp:128
CTrackInitJobResult::CTrackInitJobResult
CTrackInitJobResult()
Definition:
feature_panel_ds.hpp:126
CTrackInitJobResult::m_TrackParams
CRef< CTempTrackProxy > m_TrackParams
Definition:
feature_panel_ds.hpp:130
CTrackInitJobResult::m_Desc
string m_Desc
Definition:
feature_panel_ds.hpp:131
IExtension
IExtension IExtension interface represents an abstract pluggable component.
Definition:
extension.hpp:57
ILayoutTrackFactory
ILayoutTrackFactory.
Definition:
layout_track.hpp:84
ISGDataSourceContext
ISGDSManager is seqgraphic data source manage that serves as an data source context.
Definition:
seqgraphic_ds_manager.hpp:55
ISGDataSourceType
ISGDataSourceFactory.
Definition:
seqgraphic_data_source.hpp:77
ISGDataSource
File Description:
Definition:
seqgraphic_data_source.hpp:51
map
Definition:
map.hpp:338
CRef::Reset
void Reset(void)
Reset reference object.
Definition:
ncbiobj.hpp:773
END_NCBI_SCOPE
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition:
ncbistl.hpp:103
BEGIN_NCBI_SCOPE
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition:
ncbistl.hpp:100
NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT
#define NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT
Definition:
gui_export.h:536
layout_track.hpp
layout_track_proxy.hpp
seqgraphic_ds_manager.hpp
seqgraphic_genbank_ds.hpp
ILayoutTrackFactory::SExtraParams
extra parameter for initializing a track.
Definition:
layout_track.hpp:101
SConstScopedObject
Definition:
objects.hpp:47
Generated by
1.9.0
Modified on Thu May 02 14:34:15 2024 by modify_doxy.py rev. 669887