67 "No type '" +
m_Type +
"' in settings.");
189 vector <string> keys;
192 keys.push_back(style_key);
233 list <string> ret_list;
250 string uniq_name(name);
251 unsigned long suffix_number = 0;
253 list<string>::iterator name_end =
names.end();
255 while (find(
names.begin(), name_end, uniq_name) != name_end) {
264 string uniq_key(
key);
265 unsigned long suffix_number = 0;
276 list <string> ret_list;
284 ret_list.push_back(name);
298 string new_key(
"custom style");
300 string new_name(
"New Default Values");
333 if (new_style.empty() ||
334 old_style == new_style ) {
338 if (style_key.empty())
366 const string& default_val)
const
377 int default_val)
const
388 double default_val)
const
399 bool default_val)
const
410 vector<int>& val)
const
420 vector<double>& val)
const
430 vector<string>& val)
const
436 copy( src.begin(), src.end(), back_inserter(
val));
466 if (section.empty()) {
475 const string& section,
476 const string&
subkey)
const
478 string sect(section);
486 vector<string> feat_hierarchy = feats.
GetStoragekeys(feat_subtype);
489 vector<string>::reverse_iterator riter(feat_hierarchy.end());
490 vector<string>::reverse_iterator rend(feat_hierarchy.begin());
492 for ( ; riter != rend; ++riter) {
493 string s = sect + *riter;
511 const string& section)
513 string sect(section);
608 f.SetData().SetInts() =
val;
614 switch(
f.GetData().Which()) {
617 vector<int> cvi =
f.GetData().GetInts();
618 if (cvi.size() > 2 ) {
619 vector<int>::const_iterator cv_it = cvi.begin();
620 c.
SetRed (
static_cast<unsigned char>(*cv_it++));
621 c.
SetGreen(
static_cast<unsigned char>(*cv_it++));
622 c.
SetBlue (
static_cast<unsigned char>(*cv_it++));
623 if (cv_it != cvi.end()) {
624 c.
SetAlpha(
static_cast<unsigned char>(*cv_it));
632 vector<double> cvd =
f.GetData().GetReals();
633 if (cvd.size() > 2 ) {
634 vector<double>::const_iterator cv_it = cvd.begin();
635 c.
SetRed (
static_cast<float>(*cv_it++));
636 c.
SetGreen(
static_cast<float>(*cv_it++));
637 c.
SetBlue (
static_cast<float>(*cv_it++));
638 if (cv_it != cvd.end()) {
639 c.
SetAlpha(
static_cast<float>(*cv_it));
647 string cs =
f.GetData().GetStr();
CConfigurableItems - a static list of items that can be configured.
string GetStoragekey(int type, int subtype) const
Get the key used to store this type of feature.
vector< string > GetStoragekeys(int subtype) const
Get hierarchy of keys above this subtype, starting with "Master" example, eSubtype_gene,...
static string MakeKey(const string §ion, const string &key, const string &delim=CGuiRegistry::kDecimalDot)
create a key from a section and a subkey
CRef< objects::CUser_field > SetFieldToValue(const string &key)
same as SetField, but complain loudly if the field has subfields in it already.
bool HasField(const string &key) const
Does a field with this section and key exist in this view?
void Set(const string &key, int val)
set specific values
CRegistryReadView GetReadView(const string §ion) const
get a read-only view at a particular level.
string GetString(const string &key, const string &default_val=kEmptyStr) const
bool DeleteField(const string &key)
delete the specified field (and any of its subfields).
class CRegistryReadView provides a nested hierarchical view at a particular key.
void DumpAll(CNcbiOstream &ostr) const
Dump onto the stream all the keys in this view along with their types and data values.
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.
CRegistryReadView GetReadView(const string §ion) const
CConstRef< objects::CUser_field > GetField(const string &key) const
provide raw field access
bool IsEmpty()
There is nothing in this view.
class CRgbaColor provides a simple abstraction for managing colors.
static const CFeatList * GetFeatList()
static void ColorToUserField(const CRgbaColor &c, objects::CUser_field &f)
convert a color into a vector of ints within a user field
CConstRef< objects::CUser_field > x_GetCurrentViewField(const string &key) const
retrieve (and cache) a field
string x_MakeUniqueStyleName(const string &name) const
make unique names and keys.
void DumpAll(CNcbiOstream &ostr)
write all keys and values we know about.
string AddStyle(void)
these all return the name of the style just added.
string x_GetStyleKey(const string &name) const
static string GetFeatWriteKey(TFeatSubtype feat_subtype, const string §ion)
retrieve the key name to write values for a given feature subtype
void Set(const string &key, int val)
set a named integer value
string x_GetSection() const
get the full key string used to get this type's part of the registry.
string m_SavedStyle
> key used in cache.
bool Delete(const string &key)
Delete a key/value in the current settings.
string GetTypeDescription(void) const
void Uncache()
uncache any cached lookup data
void GetRealVec(const string &key, vector< double > &val) const
Retrieve a named real vector value from a section.key.
double GetReal(const string &key, double default_val=0) const
Retrieve a named double value from a section.key.
TFieldDictionary m_FieldDictionary
string x_GetStyleSection() const
get the full key string used to get the current style's part of the registry.
void SetCurrentStyleKey(const string &new_style_key)
int GetInt(const string &key, int default_val=0) const
Retrieve a named int value from a section.key.
static const string sm_DefaultValuesKey
the key for the default set of values.
bool DeleteStyle(const string &style)
static bool UserFieldToColor(const objects::CUser_field &f, CRgbaColor &c)
convert a user field into a color.
bool CanRenameStyle(const string &style)
CRgbaColor GetColor(const string &key, const CRgbaColor &default_val=CRgbaColor()) const
Retrieve a named color value from a section.key.
string RenameStyle(const string &old_style, const string &new_style)
static const string kDefaultDelim
must be the same used as a default in CGuiRegistry.
CRegistryReadView x_GetCurrentStyleView() const
get a view showing the values under the current style.
void RestoreCurrentStyle()
list< string > GetStyleNames(void) const
Methods to edit our list of valid styles.
CRegistryReadView x_GetStyleView(const string &style_key) const
get a view containing the values given a certain style.
string x_GetStyleName(const string &key) const
every style has a name and a key.
string GetCurrentStyleKey(void) const
style keys are only for internal use.
void x_UncacheAll() const
invalidate the entire cache
void GetStringVec(const string &key, vector< string > &val) const
Retrieve a named string vector value from a section.key.
int TFeatSubtype
we use int instead of CSeqFeatData::ESubtype for two reasons:
string x_MakeUniqueStyleKey(const string &key) const
string GetFeatReadKey(TFeatSubtype feat_subtype, const string §ion, const string &subkey=kEmptyStr) const
retrieve the key name to read values for a given feature subtype
CRef< CGuiRegistry > m_Registry
string DuplicateStyle(const string &style)
TColorDictionary m_ColorDictionary
string GetCurrentStyleName(void) const
void x_Uncache(const string &key) const
uncache a given key
CSettingsSet(const string &type, CGuiRegistry *registry=0)
constructor
const string & GetType(void) const
Return the type passed in the constructor.
string m_Type
> the registry these views come from.
void GetIntVec(const string &key, vector< int > &val) const
Retrieve a named int vector value from a section.key.
string GetString(const string &key, const string &default_val=kEmptyStr) const
Retrieve a named string value from a section.key.
void SetCurrentStyleName(const string &new_style)
void SetDefaultCurrentStyle()
These are so that you can get data that is all default values.
CRegistryReadView x_GetReadView(const string §ion) const
Retrieve a read-only view.
bool GetBool(const string &key, bool default_val=false) const
Retrieve a named bool value from a section.key.
static const struct name_t names[]
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
unsigned char GetRedUC(void) const
Get specific channels in unsigned char values.
unsigned char GetGreenUC(void) const
unsigned char GetAlphaUC(void) const
void FromString(const string &str)
Assign color values encoded in a string.
unsigned char GetBlueUC(void) const
void SetRed(float r)
Set specific channels from floating point values.
bool IsNull(void) const THROWS_NONE
Check if pointer is null – same effect as Empty().
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
static string SizetToString(size_t value, TNumToStringFlags flags=0, int base=10)
Convert size_t to string.
const TStr & GetStr(void) const
Get the variant data.
const TStrs & GetStrs(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
TBool GetBool(void) const
Get the variant data.
TInt GetInt(void) const
Get the variant data.
TReal GetReal(void) const
Get the variant data.
const TReals & GetReals(void) const
Get the variant data.
vector< CStringUTF8 > TStrs
const TInts & GetInts(void) const
Get the variant data.
constexpr bool empty(list< Ts... >) noexcept
const struct ncbi::grid::netcache::search::fields::KEY key
const struct ncbi::grid::netcache::search::fields::SUBKEY subkey
void copy(Njn::Matrix< S > *matrix_, const Njn::Matrix< T > &matrix0_)
double f(double x_, const double &y_)
static const string kStartupStyleKey("default_set")
static const string kNameKey("name")
static const string kCurrentSetKey("current")
static const string kHiddenName("*")
static const string kSettingsHeadKey("GBPlugins")
static const string kFeatureSectionKey("feats")