43 static const string kBaseKey(
"GBPlugins.SeqGraphicView");
45 static const string kCPParamsKey(
"GBPlugins.SeqGraphicClonePlacement");
56 const string& profile,
58 const string& label_pos)
64 , m_CurrProfile(profile)
65 , m_CurrLayout(layout)
66 , m_CurrLabelPos(label_pos)
68 , m_AnnotDepth(eDepth_unknown)
300 vector<string>::reverse_iterator riter(feat_hierarchy.end());
301 vector<string>::reverse_iterator rend(feat_hierarchy.begin());
303 for ( ; riter != rend; ++riter) {
349 string key =
"GBPlugins.SeqGraphicCategory";
363 const string& key_n = sub_iter->key;
364 if (key_n ==
"DisplayName") {
366 }
else if (key_n ==
"Order") {
369 }
else if (key_n ==
"Help") {
375 int sub_order = sub_view.
GetInt(
"Order", -1);
376 if(sub_order != -1) {
381 sub_view.
GetString(
"DisplayName", key_n),
391 for(
const auto& group: group_map) {
403 for(
const auto& sub_group: sub_group_map) {
410 sub_cat->
SetOrder(sub_group.second);
417 string&
color,
string&
size,
string& deco,
418 string& profile,
string&
label)
423 if ( theme.empty() ||
440 if (profile.empty()) {
513 string label_pos = sub_view.
GetString(
"LabelPos");
562 if (sub_view.
HasField(
"Connection"))
588 string label_pos = view.
GetString(
"LabelPos");
data structure holding configuration for a track.
CRef< objects::CCategory > GetCategory(const string &cat_name)
CRef< objects::CCategory > GetSubcategory(const string &cat_name, const string &sub_cat)
void AddCategory(const SCategorySettings &cat)
void AddSubcategory(const string &cat_name, CRef< objects::CCategory > sub_cat)
CGlTextureFont m_LabelFont
CRgbaColor m_UnknownConcordancyColor
TModelUnit m_HeadHeight
absolute size (in pixel)
CRgbaColor m_HighlightColor
CRgbaColor m_FakeEndColor
CRgbaColor m_CombinedPlacementColor
TModelUnit m_OverviewFactor
ratio to bar height
CRgbaColor m_ConcordantColor
TLabelPosition m_LabelPos
CRgbaColor m_DiscordantColor
TModelUnit m_BarHeight
absolute size (in pixel)
File Description: configuration class for everything needed to render a single feature.
void SetColor(int idx, const CRgbaColor &color)
@ eLowIdentity
feature's default color based on feature type
CConfigurableItems - a static list of items that can be configured.
vector< string > GetStoragekeys(int subtype) const
Get hierarchy of keys above this subtype, starting with "Master" example, eSubtype_gene,...
CFeatureParams: the data structure holding feature rendering parameters.
EConnection m_Connections
TModelUnit m_LineWidth
absolute value (in pixel)
static int DecoStrToValue(const string &s)
TModelUnit m_HeadHeight
ratio to bar height
TModelUnit m_TailHeight
ratio to bar height
CRgbaColor m_NonConsensus
ELineStyle
how feature border and exons connections are drawn.
CRef< CCustomFeatureColor > m_CustomColors
custom color code for features with a special attribute.
TModelUnit m_OverviewFactor
ratio to bar height
EConnection
type of exon connection lines.
CGlTextureFont m_LabelFont
ELabelPosition m_LabelPos
EBoxStyle
how the box of the feature is drawn
TModelUnit m_BarHeight
absolute size (in pixel)
@ ePos_Side
always on 5' side
bool m_ShowStrandIndicator
EHeadStyle
strand indicator at the beginning.
CRegistryWriteView GetWriteView(const string §ion)
get a read-write view at a particular level.
CRegistryReadView GetReadView(const string §ion) const
get a read-only view at a particular level.
CHistParamsManager: class for manage histogram/graph settings for all feature subtype and various gra...
class CRegistryReadView provides a nested hierarchical view at a particular key.
int GetInt(const string &key, int default_val=0) const
access a named key at this level, with no recursion
double GetReal(const string &key, double default_val=0) const
bool GetBool(const string &key, bool default_val=false) const
list< SKeyInfo > TKeys
retrieve information about all keys in the registry
void GetTopKeys(TKeys &keys) const
Retrieve information about the top level keys in this view.
bool HasField(const string &key) const
Does a field with this section and key exist in this view?
string GetString(const string &key, const string &default_val=kEmptyStr) const
bool IsEmpty()
There is nothing in this view.
void Set(const string &key, int val)
access a named key at this level, with no recursion
bool DeleteField(const string &key)
delete the specified field (and any of its subfields) from this view and from its registry.
class CRgbaColor provides a simple abstraction for managing colors.
static string ComposeDecoKey(const string &base, const string &key)
static CRegistryReadView GetSizeReadView(const CGuiRegistry ®, const string &base_key, const string §, const string &key, const string &def_sect="")
static const string & DefTrackProfile()
static void GetFont(const CRegistryReadView &view, const string &face_key, const string &size_key, CGlTextureFont &f)
static CRegistryReadView GetColorReadView(const CGuiRegistry ®, const string &base_key, const string §, const string &key, const string &def_sect="")
Create a read view specifically for 'Color' section.
static CRegistryReadView GetReadView(const CGuiRegistry ®, const string &base_key, const string &curr_key, const string &def_key1="", const string &def_key2="", const string &def_key3="")
read/readwrite view creation helper methods.
static CRegistryReadView GetLabelPosReadView(const CGuiRegistry ®, const string &base_key, const string §, const string &key, const string &def_sect="")
static CRegistryWriteView GetWriteView(CGuiRegistry ®, const string &base_key, const string &curr_key, const string &def_key1="", const string &def_key2="", const string &def_key3="")
static CRegistryWriteView GetColorRWView(CGuiRegistry ®, const string &base_key, const string §, const string &key, const string &def_sect="")
static const string & DefGlobalSettingStyle()
static const string & DefColorTheme()
static const string & DefSizeLevel()
static const string & DefLayout()
static const string & GlobalSettingStyleKey()
static void SetColor(CRegistryWriteView &view, const string &key, const CRgbaColor &color)
static void GetColor(const CRegistryReadView &view, const string &key, CRgbaColor &color)
static const string & DefDecoStyle()
static const string & DefLabelPosition()
static const CFeatList * GetFeatList()
CRef< CGlTextureFont > m_TitleFont
void SetAnnotDepth(int depth)
string m_CurrLayout
layout style
static const string & ThemeKey()
CSeqGraphicConfig inline methods.
static const string & DefTheme()
bool m_ShowSimpleComments
CRgbaColor m_NonNCBITitleBackground
CRef< CClonePlacementParams > m_ClonePlacementSettings
cached clone placement settings.
CRgbaColor m_GridVertical
CRgbaColor m_SelHairlineOne
CConstRef< CFeatureParams > GetFeatParams(TFeatSubtype subtype) const
Get feature settings using a feature subtype.
void x_LoadHistSettings()
static void LoadSettingStyles(const CGuiRegistry ®, string &theme, string &color, string &size, string &deco, string &profile, string &label)
Utility method helping initializing various settings styles.
void x_VerifySettings() const
CSeqGraphicConfig(bool cgi_mode=false, CGuiRegistry *registry=0, const string &theme="", const string &color="", const string &size="", const string &deco="", const string &profile="", const string &layout="", const string &label="")
void x_LoadFeatSettings()
bool m_ShowTrackMinusPlusSign
CRgbaColor m_SelHairlineMany
CRgbaColor m_SelHairlineDown
CRef< CGuiRegistry > m_Registry
bool m_ShowDownwardHairlines
CRef< CCategoryConfig > m_CategoryConfig
string m_CurrSize
size level
void x_SaveHistSettings()
CRgbaColor m_GridHorizontal
CRef< CGlTextureFont > m_CommentFont
string m_CurrGlobal
global setting style
CConstRef< CCommentConfig > GetCommentConfig() const
string m_CurrLabelPos
label position style
float m_ZoomFactor
Per pexel of a mouse movement.
string m_CurrTheme
current theme
int m_OverviewCutoff
cut-off between overview and detail mode(base per pixel)
CRgbaColor m_TitleBackground
CRgbaColor m_Background
Cached colors.
void InitCategoryConfig(const CCategoryConfig::TGroupMap &group_map, const CCategoryConfig::TSubgroupMap &sub_group_map)
if the category configuration is not loaded, load it
CRef< CCategoryConfig > GetCategoryConfig()
bool m_AutoHideTrack
Automatically hide tracks w/o data.
void x_SaveFeatSettings()
string m_CurrProfile
feature panel track profile
string m_CurrDeco
decoration, mainly for features
CRef< CCommentConfig > m_CommentConfig
string m_CurrColor
color theme
int m_HistogramCutoff
Num of features.
TFeatParams m_FeatSettings
cached histogram rendering parameters.
CRef< CGlTextureFont > m_LabelFont
cached fonts.
void LoadSettings()
update the cached settings.
int m_HairLineOption
Cached sizes.
CRef< CCustomFeatureColor > m_CustomFeatColors
int TFeatSubtype
we use int instead of CSeqFeatData::ESubtype for two reasons:
void SaveSettings(bool clear_themes=false)
bool m_CgiMode
not loaded from configure file
static CRef< objects::CCategory > CreateCategory(const string &name, const string &disp_name, const string &help, int order)
container_type::const_iterator const_iterator
const_iterator end() const
const_iterator find(const key_type &key) const
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
const string & GetMsg(void) const
Get message string.
void Warning(CExceptionArgs_Base &args)
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static const char label[]
void SetOrder(TOrder value)
Assign a value to Order data member.
const struct ncbi::grid::netcache::search::fields::SIZE size
const struct ncbi::grid::netcache::search::fields::KEY key
static const string kCommentConfigKey("GBPlugins.SeqGraphicCommentConfig")
static const string kBaseKey("GBPlugins.SeqGraphicView")
static const string kFeatParamsKey("GBPlugins.SeqGraphicFeats")
static const string kCPParamsKey("GBPlugins.SeqGraphicClonePlacement")
static const string kCustomColorKey("GBPlugins.CustomFeatureColors")
static const string kDefFeatKey("Master")
CRef< objects::CCategory > m_Category
void AddSubcategory(CRef< objects::CCategory > sub_cat)