⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 theme_config_panel_base.hpp

📁 ncbi源码
💻 HPP
字号:
/* * =========================================================================== * PRODUCTION $Log: theme_config_panel_base.hpp,v $ * PRODUCTION Revision 1000.1  2004/06/01 19:47:36  gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.7 * PRODUCTION * =========================================================================== */#ifndef GUI_DIALOGS_CONFIG___THEME_CONFIG_PANEL_BASE__HPP#define GUI_DIALOGS_CONFIG___THEME_CONFIG_PANEL_BASE__HPP/*  $Id: theme_config_panel_base.hpp,v 1000.1 2004/06/01 19:47:36 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. * * =========================================================================== * * Authors:  Robert G. Smith * *//// @file theme_config_panel_base.hpp///#include <corelib/ncbistd.hpp>#include <gui/gui.hpp>#include <gui/dialogs/config/config_panel.hpp>/** @addtogroup Miscellaneous * * @{ */BEGIN_NCBI_SCOPE/// IThemeConfigPanelBase. /// The interace CThemeMediator expects of any widget panel it can interact with,/// to display and modify data from a CThemeSet.class IThemeConfigPanelBase : public IConfigPanel{public:    typedef list<string>    TStyleList;    virtual         ~IThemeConfigPanelBase();    virtual void   Clear() = 0;    virtual string GetCurrentStyle(const string& type) const = 0;    virtual void   SetCurrentStyle(const string& type, const string& style) = 0;    virtual void   AddItem(const string& type,                            const string& cur_style,                            const TStyleList& styles,                           const string& desc) = 0;                        virtual void   MakeWidgets() = 0;    virtual void   UpdateWidgets() = 0;};/// CThemeConfigPanelBase/// The default implementation for Theme widget panels.class NCBI_GUIDIALOGS_EXPORT CThemeConfigPanelBase    : public IThemeConfigPanelBase{public:    virtual ~CThemeConfigPanelBase();    virtual void    Clear();    virtual string  GetCurrentStyle(const string& type) const;    virtual void    SetCurrentStyle(const string& type, const string& style);    virtual void    AddItem(const string& type,                             const string& cur_style,                             const TStyleList& styles,                            const string& desc);        struct SItemData    {        SItemData(const string& t,      const string& cs,                  const TStyleList& ss, const string& d)             : type(t), current_style(cs), styles(ss), desc(d) {}        string  type;        string  current_style;        TStyleList  styles;        string  desc;    };protected:    vector <string> TDescList;    string          GetCurrentStyleByDesc(const string& desc) const;    void            SetCurrentStyleByDesc(const string& desc, const string& style);    TStyleList      GetStylesByDesc(const string& desc) const;        // mess to help with lookups by description or type.        enum EKeyType {        eFindByType,        eFindByDesc    };    const SItemData&    x_GetItemData(const string& key, EKeyType e ) const;    SItemData&          x_SetItemData(const string& key, EKeyType e );        // predicates for find_if.    struct PFindType    {        PFindType(const string& s) : m_Val(s) {};        bool operator()(const SItemData& d) const        {            return d.type == m_Val;        }    private:        string      m_Val;    };    struct PFindDesc    {        PFindDesc(const string& s) : m_Val(s) {};        bool operator()(const SItemData& d) const        {            return d.desc == m_Val;        }    private:        string      m_Val;    };    vector <SItemData>      m_ItemData;}; END_NCBI_SCOPE /* @} *//* * =========================================================================== * $Log: theme_config_panel_base.hpp,v $ * Revision 1000.1  2004/06/01 19:47:36  gouriano * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.7 * * Revision 1.7  2004/05/03 12:42:46  dicuccio * Added #include for gui/gui.hpp * * Revision 1.6  2004/02/04 11:41:11  dicuccio * Added export specifier * * Revision 1.5  2004/02/03 14:59:24  dicuccio * Code reformatting.  Don't use class identifier when referring to internal class * - breaks MSVC build * * Revision 1.4  2004/02/03 01:29:13  ucko * Make CThemeConfigPanelBase::SItemData public to address visibility * issues on some compilers. * * Revision 1.3  2004/02/02 19:17:33  rsmith * get rid of obsolete include * * Revision 1.2  2004/02/02 18:36:58  rsmith * Make this a pure interface class with an default implementation class. * * Revision 1.1  2004/01/29 21:18:57  rsmith * initial checkin * * =========================================================================== */#endif  /* GUI_DIALOGS_CONFIG___THEME_CONFIG_PANEL_BASE__HPP */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -