1 #ifndef GUI_WIDGETS_SEQ_GRAPHIC___LAYOUT_TRACK__HPP
2 #define GUI_WIDGETS_SEQ_GRAPHIC___LAYOUT_TRACK__HPP
53 #define EXT_POINT__SEQGRAPHIC_LAYOUT_TRACK_FACTORY "seqgraphic_layout_track_factory"
67 , m_Descr(description)
72 const string&
GetId()
const {
return m_Id; }
73 const string&
GetDescr()
const {
return m_Descr; }
187 , m_SkipGenuineCheck(
false)
188 , m_FastConfig(
false)
189 , m_CoverageGraphCheck(
true)
190 , m_DataTypeCheck(
true)
199 , m_Adaptive(adaptive)
203 , m_SkipGenuineCheck(
false)
204 , m_FastConfig(
false)
205 , m_CoverageGraphCheck(
true)
206 , m_DataTypeCheck(
true)
207 , m_RemotePath(remote_path)
209 if (annots) m_Annots = *annots;
225 static void GetMatchedAnnots(
const TAnnotMetaDataList& src_annots,
226 const vector<string>& target_annots,
227 const string& annot_type,
const string& track_type,
228 TAnnotNameTitleMap& out_annots);
231 static string MergeAnnotAndFilter(
const string& annot,
232 const string& filter);
235 static string ExtractAnnotName(
const string&
source);
238 static string ExtractFilterName(
const string&
source);
353 static string DataTypeToString(EDataType data_type);
403 virtual void CloneTrack(
int order,
const string& track_tile) = 0;
CRenderingContext offers the basic context and utility methods for rendering layout objects in featur...
CTrackTypeInfo - holds description of a layout track type.
virtual ~CTrackTypeInfo()
CTrackTypeInfo(const string &id, const string &description)
const string & GetDescr() const
const string & GetId() const
IAsn1Generator interface for tracks capable of generating an ASN1 seq_entry for their data.
virtual ~IAsn1Generator()
virtual void GenerateAsn1(objects::CSeq_entry &seq_entry, TSeqRange range)=0
virtual bool CheckRange(TSeqRange range, string &sMsg, size_t &nFeats)=0
virtual EDataType GetDataType() const
virtual bool BypassStage1()=0
IIconProvider interface for tracks providing track icons.
virtual void RegisterIconImages() const =0
map< string, CRef< CAnnotMetaData > > TAnnotMetaDataList
virtual ~ILayoutTrackFactory()
virtual bool SupportsExportToAsn1() const
virtual void GetMatchedAnnots(const TAnnotMetaDataList &, const ILayoutTrackFactory::SExtraParams &, TAnnotNameTitleMap &) const
virtual bool UnderstandLevel() const =0
Have any concept of level.
virtual void CloneTrack(const CLayoutTrack *, CTempTrackProxy *) const
duplicate any track setting from a given track instance to a proxy.
virtual const CTrackTypeInfo & GetThisTypeInfo() const =0
map< string, CRef< CLayoutTrack > > TTrackMap
the tracks holding a list of annotation name and track pair.
map< string, string > TAnnotNameTitleMap
List of annotations with the corresponding titles.
virtual TTrackMap CreateTracks(SConstScopedObject &object, ISGDataSourceContext *ds_context, CRenderingContext *r_cntx, const SExtraParams ¶ms=SExtraParams(), const TAnnotMetaDataList &src_annots=TAnnotMetaDataList()) const =0
create layout tracks based on input object and extra parameters.
virtual bool NeedBackgroundInit() const =0
Background track initialization.
ILayoutTrackHost An interface used for handling GUI-related events, such as layout change event that ...
virtual void LTH_ConfigureTracksDlg(const string &category)
virtual ~ILayoutTrackHost()
virtual void LTH_PopupMenu(wxMenu *menu)=0
show track-specific context menu.
virtual void LTH_PushEventHandler(wxEvtHandler *handler)=0
virtual void LTH_OnLayoutChanged()=0
provides mouse coords in OpenGL viewport coord system
virtual void ResetSearch()
virtual void LTH_PopEventHandler()=0
virtual void LTH_ZoomOnRange(const TSeqRange &range)=0
notifies the host we need to zoom on to a range.
ILegendProvider interface for tracks that are have legend This is currently for sviewer (cgi) purpose...
virtual void GetLegend(const CTempTrackProxy *track_proxy, objects::CTrackConfig::TLegend &legend) const =0
virtual ~ILegendProvider()
ISGDSManager is seqgraphic data source manage that serves as an data source context.
ITrackConfigurable interface for tracks that are configurable.
map< string, string > TKeyValuePairs
virtual ~ITrackConfigurable()
virtual CRef< objects::CTrackConfigSet > GetSettings(const string &profile, const TKeyValuePairs &settings, const CTempTrackProxy *track_proxy) const =0
ITrackContainer The interface for layout track that is also a container of tracks.
virtual void CloseTrack(int order)=0
Close a track.
virtual void MoveUp(int order)=0
move a track up by 1.
virtual void MoveTrackToTop(int order)=0
move a track up by 1.
virtual void RemoveTrack(int order, bool immediately=true)=0
completely remove a track from the hierachical tree.
virtual void MoveDown(int order)=0
move a track down by 1.
virtual void CloneTrack(int order, const string &track_tile)=0
Duplicate an existing child track.
virtual void MoveTrackToBottom(int order)=0
move a track down by 1.
virtual bool HasSubtracks() const =0
Has any real subtracks.
virtual bool NoSubtrackEver() const =0
Will have no subtrack for ever.
virtual void SetTrack(CLayoutTrack *track, int order, bool shown=true)=0
Replace the track by the given track order.
virtual ~ITrackContainer()
virtual void RenameChildTrack(int order, const string &new_name)=0
Rename a child track.
void(*)(CSeq_entry_Handle seh, IWorkbench *wb, const CSerialObject &obj) handler
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT
Defines to provide correct exporting from DLLs in Windows.
range(_Ty, _Ty) -> range< _Ty >
const CharType(& source)[N]