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

Go to the SVN repository for this file.

1 #ifndef GUI_WIDGETS_SEQ_GRAPHIC___SEQGRAPHIC_DATA_SOURCE__HPP
2 #define GUI_WIDGETS_SEQ_GRAPHIC___SEQGRAPHIC_DATA_SOURCE__HPP
3 
4 /* $Id: seqgraphic_data_source.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  * Author: Liangshou Wu
30  *
31  */
32 
33  /**
34  * File Description:
35  */
36 
37 #include <corelib/ncbistr.hpp>
38 #include <corelib/ncbiobj.hpp>
39 #include <gui/gui_export.h>
40 #include <gui/objutils/objects.hpp>
41 
43 
44 
45 ///////////////////////////////////////////////////////////////////////////////
46 /// ISGDataSource - represents a relatively independent visual conponent disaplayed
47 /// in Graphical view.
48 ///
49 
51 {
52 public:
53  /// List of annotations with the corresponding titles
55 
56  virtual ~ISGDataSource() {}
57 };
58 
59 /// Default seqgraphic data source implementation.
60 
62  public CObjectEx,
63  public ISGDataSource
64 {
65 public:
66  static void SetBackgroundJob(bool flag) { m_Background = flag; }
67  static bool IsBackgroundJob() { return m_Background; }
68 
69 protected:
70  static bool m_Background;
71 };
72 
73 ///////////////////////////////////////////////////////////////////////////////
74 /// ISGDataSourceFactory
75 ///
77 {
78 public:
79  virtual ~ISGDataSourceType() {};
80 
81  /// create an instance of the layout track type using default settings.
82  virtual ISGDataSource* CreateDS(SConstScopedObject& object) const = 0;
83 
84  /// check if the data source can be shared.
85  virtual bool IsSharable() const = 0;
86 };
87 
88 
90 
91 #endif // GUI_WIDGETS_SEQ_GRAPHIC___SEQGRAPHIC_DATA_SOURCE__HPP
CObjectEx –.
Definition: ncbiobj.hpp:2531
Default seqgraphic data source implementation.
static bool IsBackgroundJob()
static void SetBackgroundJob(bool flag)
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:
map< string, string > TAnnotNameTitleMap
List of annotations with the corresponding titles.
The NCBI C++ standard methods for dealing with std::string.
#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
Defines to provide correct exporting from DLLs in Windows.
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
Modified on Wed Jul 24 17:13:53 2024 by modify_doxy.py rev. 669887