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

📄 fl_preferences.h

📁 guide and some example with visualC++
💻 H
字号:
//// "$Id: Fl_Preferences.H,v 1.1 2002/12/01 15:38:37 neurosurg Exp $"//// Preferences definitions for the Fast Light Tool Kit (FLTK).//// Copyright 2002 by Matthias Melcher.//// This library is free software; you can redistribute it and/or// modify it under the terms of the GNU Library General Public// License as published by the Free Software Foundation; either// version 2 of the License, or (at your option) any later version.//// This library is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU// Library General Public License for more details.//// You should have received a copy of the GNU Library General Public// License along with this library; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307// USA.//// Please report all bugs and problems to "fltk-bugs@fltk.org".//#ifndef Fl_Preferences_H#  define Fl_Preferences_H#  ifdef WIN32#    include <windows.h>#  endif // WIN32#  include <stdio.h>#  include "Fl_Export.H"/** * Preferences are a data tree containing a root, branches and leafs */class FL_EXPORT Fl_Preferences {public:  enum Root { SYSTEM=0, USER };  // enum Type { win32, macos, fltk };  Fl_Preferences( Root root, const char *vendor, const char *application );  Fl_Preferences( const char *path, const char *vendor, const char *application );  Fl_Preferences( Fl_Preferences&, const char *group );  Fl_Preferences( Fl_Preferences*, const char *group );  ~Fl_Preferences();  int groups();  const char *group( int );  char groupExists( const char *group );  char deleteGroup( const char *group );  int entries();  const char *entry( int );  char entryExists( const char *entry );  char deleteEntry( const char *entry );  char set( const char *entry, int value );  char set( const char *entry, float value );  char set( const char *entry, double value );  char set( const char *entry, const char *value );  char set( const char *entry, const void *value, int size );   char get( const char *entry, int &value,    int defaultValue );  char get( const char *entry, float &value,  float defaultValue );  char get( const char *entry, double &value, double defaultValue );  char get( const char *entry, char *&value,  const char *defaultValue );  char get( const char *entry, char *value,   const char *defaultValue, int maxSize );  char get( const char *entry, void *&value,  const void *defaultValue, int defaultSize );  char get( const char *entry, void *value,   const void *defaultValue, int defaultSize, int maxSize );  int size( const char *entry );  char getUserdataPath( char *path, int pathlen );  void flush();  // char export( const char *filename, Type fileFormat );  // char import( const char *filename );  class Name {    char *data_;  public:    Name( unsigned int n );    Name( const char *format, ... );    operator const char *() { return data_; }    ~Name();  };  struct Entry  {    char *name, *value;  };private:  static char nameBuffer[128];  class Node // a node contains a list to all its entries   {          // and all means to manage the tree structure    Node *child_, *next_, *parent_;    char *path_;    char dirty_;  public:    Node( const char *path );    ~Node();    // node methods    int write( FILE *f );    Node *find( const char *path );    Node *search( const char *path, int offset=0 );    Node *addChild( const char *path );    void setParent( Node *parent );    char remove();    char dirty();    // entry methods    int nChildren();    const char *child( int ix );    void set( const char *name, const char *value );    void set( const char *line );    void add( const char *line );    const char *get( const char *name );    int getEntry( const char *name );    char deleteEntry( const char *name );    // public values    Entry *entry;    int nEntry, NEntry;    static int lastEntrySet;  };  friend class Node;  class RootNode  // the root node manages file paths and basic reading and writing  {    Fl_Preferences *prefs_;    char *filename_;    char *vendor_, *application_;  public:    RootNode( Fl_Preferences *, Root root, const char *vendor, const char *application );    RootNode( Fl_Preferences *, const char *path, const char *vendor, const char *application );    ~RootNode();    int read();    int write();    char getPath( char *path, int pathlen );  };  friend class RootNode;  Node *node;  RootNode *rootNode;  };#endif // !Fl_Preferences_H//// End of "$Id: Fl_Preferences.H,v 1.1 2002/12/01 15:38:37 neurosurg Exp $".//

⌨️ 快捷键说明

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