📄 theme_set.hpp
字号:
/* * =========================================================================== * PRODUCTION $Log: theme_set.hpp,v $ * PRODUCTION Revision 1000.0 2004/04/12 18:17:40 gouriano * PRODUCTION PRODUCTION: IMPORTED [CATCHUP_003] Dev-tree R1.5 * PRODUCTION * =========================================================================== */#ifndef GUI_CONFIG____THEMESET_HPP#define GUI_CONFIG____THEMESET_HPP/* $Id: theme_set.hpp,v 1000.0 2004/04/12 18:17:40 gouriano Exp $ * =========================================================================== * * PUBLIC DOMAIN NOTICE * National Center for Biotechnology Information * * This software/database is a "United States Government Work" under the * terms of the United States Copyright Act. It was written as part of * the author's official duties as a United States Government employee and * thus cannot be copyrighted. This software/database is freely available * to the public for use. The National Library of Medicine and the U.S. * Government have not placed any restriction on its use or reproduction. * * Although all reasonable efforts have been taken to ensure the accuracy * and reliability of the software and data, the NLM and the U.S. * Government do not and cannot warrant the performance or results that * may be obtained by using this software or data. The NLM and the U.S. * Government disclaim all warranties, express or implied, including * warranties of performance, merchantability or fitness for any particular * purpose. * * Please cite the author in any work or product based on this material. * * =========================================================================== * * Author: Robert G. Smith * */ /** * File Description: * CThemeSet is an adapter of the PluginConfigCache, particularly an adapter * of a set of PluginConfigValues Include type objects. It is meant to be * used as a base class for plugins' configuration classes which manage * a number of other configuration classes, all descendants of CSettingsSet. * * Classes that inherit from this need to use AddSettingsSet to initialize * The set of sub-configuration classes that this manages. */#include <gui/config/settings_set.hpp>#include <corelib/ncbistr.hpp>#include <string>#include <map>BEGIN_NCBI_SCOPEBEGIN_SCOPE(objects) class CPluginConfigCache;END_SCOPE(objects)class NCBI_GUICONFIG_EXPORT CThemeSet : public CSettingsSet{public: CThemeSet(objects::CPluginConfigCache* config_cache, const string& type, const string& typedesc = "", const string& delim = "|"); virtual ~CThemeSet(); /// convert between current settings and the PluginConfigCache. virtual bool LoadCurrentSettings(ELoadValueSource src); virtual bool SaveCurrentSettings(void); vector<string> GetTypes() const; vector<string> GetTypeDescriptions() const; list<string> GetSetsStyles(const string& type) const; const string& GetSetsCurrentStyleName(const string& type) const; void SetSetsCurrentStyleName(const string& type, const string& new_style); const string& GetSetsDescription(const string& type) const; protected: void AddSettingsSet(CSettingsSet& new_set); // use in desendant's constructors. private: using CSettingsSet::Get; using CSettingsSet::Set; const CSettingsSet& x_GetSettings(const string& type) const; CSettingsSet& x_SetSettings(const string& type); // typedef map<string, CRef<CSettingsSet> > TSettingsReg; typedef vector<CRef<CSettingsSet> > TSettingsReg; TSettingsReg m_Settings;};END_NCBI_SCOPE/** ===========================================================================** $Log: theme_set.hpp,v $* Revision 1000.0 2004/04/12 18:17:40 gouriano* PRODUCTION: IMPORTED [CATCHUP_003] Dev-tree R1.5** Revision 1.5 2004/02/04 16:20:49 rsmith* store managed settings in a vector, not a map so we have control over their order.** Revision 1.4 2004/02/02 18:43:26 rsmith* add description to CSettingsSet, constructor and descendants.** Revision 1.3 2004/01/20 23:52:34 dicuccio* Make sure that objects predeclarations are in the objects namespace** Revision 1.2 2004/01/20 13:53:29 rsmith* remove wrong comment** Revision 1.1 2003/12/29 14:25:29 rsmith* initial checkin*** ===========================================================================*/#endif // GUI_CONFIG____THEMESET_HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -