Class overview   Alphabetical list   Annotated list   Header Files   Member List  

This is the verbatim text of the storemdl.h include file.
#ifndef StorageModule_included
#define StorageModule_included

#include <stdio.h>
#include <fstream.h>

#include <qobject.h>
#include <qwidget.h>
#include <qstring.h>

#include "shared.h"


enum ParserCode
{
  EndOfInput,
  WidgetStart,
  PropertyReady,
  MemberFuncStart,
  MemberVarStart,
  IncludeStart,
  OpenBracket,
  CloseBracket,
  ParseError
};


class StorageModule: public QObject
{
  Q_OBJECT
  public:
    StorageModule(QObject *parent=0, const char *name=0);
    void export(WidgetInfo *info, const char *basename);
    WidgetInfo *read(const char *fname);
    void write(WidgetInfo *info, const char *fname);
  private:
    QWidget *addWidget(QWidget *parent, const QString &type
                       , const QString &name);
    int setWidgetProperty(QWidget *target, const QString &key
                           , const QString &value);
    int setMemberFuncProperty(MemberFunction *target, const QString &key
                           , const QString &value);
    int setMemberVarProperty(MemberVariable *target, const QString &key
                           , const QString &value);
    int setIncludeProperty(IncludeFile *target, const QString &key
                           , const QString &value);
    void push(QWidget *val) {stack[sp++] = val;}
    QWidget *pop() {return stack[--sp];}
    void writeWidgetProps(QWidget *target, ofstream &fp);
    void writeMemberFuncs(const QList<MemberFunction> &list, ofstream &fp);
    void writeMemberVars(const QList<MemberVariable> &list, ofstream &fp);
    void writeIncludes(const QList<IncludeFile> &list, ofstream &fp);
    void exportWidgetProps(QWidget *target, ofstream &fp);
    int checkProperty(QWidget *target, const char *property);

    QString type;
    QString name;
    QString key;
    QString value;
    int lineNumber;
    int level;
    int sp;
    QWidget *stack[100];

    friend int yylex();
};

extern StorageModule *parseObj;

#endif

Generated at 14:38, 1998/04/17 for Ebuilder by doxygen  written by Dimitri van Heesch, © 1997-1998