src/tools/uic3/ui3reader.h
branchRCL_3
changeset 5 d3bac044e0f0
parent 4 3b1da2848fc7
equal deleted inserted replaced
4:3b1da2848fc7 5:d3bac044e0f0
    66 typedef QList<QPair<int, Color> > ColorGroup;
    66 typedef QList<QPair<int, Color> > ColorGroup;
    67 
    67 
    68 class Ui3Reader
    68 class Ui3Reader
    69 {
    69 {
    70 public:
    70 public:
    71     Ui3Reader(QTextStream &stream);
    71     enum Options { CustomWidgetForwardDeclarations = 0x1, ImplicitIncludes = 0x2, PreserveLayoutNames = 0x4 };
       
    72 
       
    73     explicit Ui3Reader(QTextStream &stream, unsigned options);
    72     ~Ui3Reader();
    74     ~Ui3Reader();
    73 
    75 
    74     void computeDeps(const QDomElement &e, QStringList &globalIncludes, QStringList &localIncludes, bool impl = false);
    76     void computeDeps(const QDomElement &e, QStringList &globalIncludes, QStringList &localIncludes, bool impl = false);
    75     void generateUi4(const QString &fn, const QString &outputFn, QDomDocument doc, bool implicitIncludes);
    77     void generateUi4(const QString &fn, const QString &outputFn, QDomDocument doc);
    76 
    78 
    77     void generate(const QString &fn, const QString &outputFn,
    79     void generate(const QString &fn, const QString &outputFn,
    78          QDomDocument doc, bool decl, bool subcl, const QString &trm,
    80          QDomDocument doc, bool decl, bool subcl, const QString &trm,
    79          const QString& subclname, bool omitForwardDecls, bool implicitIncludes, const QString &convertedUiFile);
    81          const QString& subclname, const QString &convertedUiFile);
    80 
    82 
    81     void embed(const char *project, const QStringList &images);
    83     void embed(const char *project, const QStringList &images);
    82 
    84 
    83     void setTrMacro(const QString &trmacro);
    85     void setTrMacro(const QString &trmacro);
    84     void setForwardDeclarationsEnabled(bool b);
       
    85     void setOutputFileName(const QString &fileName);
    86     void setOutputFileName(const QString &fileName);
    86 
    87 
    87     void createFormDecl(const QDomElement &e, bool implicitIncludes);
    88     void createFormDecl(const QDomElement &e);
    88     void createFormImpl(const QDomElement &e);
    89     void createFormImpl(const QDomElement &e);
    89 
    90 
    90     void createWrapperDecl(const QDomElement &e, const QString &convertedUiFile);
    91     void createWrapperDecl(const QDomElement &e, const QString &convertedUiFile);
    91 
    92 
    92     void createSubDecl(const QDomElement &e, const QString& subclname);
    93     void createSubDecl(const QDomElement &e, const QString& subclname);
   123     void errorInvalidSignal(const QString &signal, const QString &widgetName, const QString &widgetClass,
   124     void errorInvalidSignal(const QString &signal, const QString &widgetName, const QString &widgetClass,
   124                             int line, int col);
   125                             int line, int col);
   125     void errorInvalidSlot(const QString &slot, const QString &widgetName, const QString &widgetClass,
   126     void errorInvalidSlot(const QString &slot, const QString &widgetName, const QString &widgetClass,
   126                           int line, int col);
   127                           int line, int col);
   127 
   128 
   128     DomUI *generateUi4(const QDomElement &e, bool implicitIncludes);
   129     DomUI *generateUi4(const QDomElement &e);
   129     DomWidget *createWidget(const QDomElement &w, const QString &widgetClass = QString());
   130     DomWidget *createWidget(const QDomElement &w, const QString &widgetClass = QString());
   130     void createProperties(const QDomElement &e, QList<DomProperty*> *properties, const QString &className);
   131     void createProperties(const QDomElement &e, QList<DomProperty*> *properties, const QString &className);
   131     void createAttributes(const QDomElement &e, QList<DomProperty*> *properties, const QString &className);
   132     void createAttributes(const QDomElement &e, QList<DomProperty*> *properties, const QString &className);
   132     DomLayout *createLayout(const QDomElement &e);
   133     DomLayout *createLayout(const QDomElement &e);
   133     DomLayoutItem *createLayoutItem(const QDomElement &e);
   134     DomLayoutItem *createLayoutItem(const QDomElement &e);
   142     QString fixMethod(const QString &method) const;
   143     QString fixMethod(const QString &method) const;
   143 
   144 
   144     QDomElement findDerivedFontProperties(const QDomElement &n) const;
   145     QDomElement findDerivedFontProperties(const QDomElement &n) const;
   145 
   146 
   146     void fixLayoutMargin(DomLayout *ui_layout);
   147     void fixLayoutMargin(DomLayout *ui_layout);
       
   148 
       
   149     const unsigned m_options;
   147 
   150 
   148     QTextStream &out;
   151     QTextStream &out;
   149     QTextOStream trout;
   152     QTextOStream trout;
   150     QString languageChangeBody;
   153     QString languageChangeBody;
   151     QString outputFileName;
   154     QString outputFileName;
   155     QStringList tags;
   158     QStringList tags;
   156     QStringList layouts;
   159     QStringList layouts;
   157     QString formName;
   160     QString formName;
   158     QString lastItem;
   161     QString lastItem;
   159     QString trmacro;
   162     QString trmacro;
   160     bool nofwd;
       
   161 
   163 
   162     struct Buddy
   164     struct Buddy
   163     {
   165     {
   164         Buddy(const QString& k, const QString& b)
   166         Buddy(const QString& k, const QString& b)
   165             : key(k), buddy(b) {}
   167             : key(k), buddy(b) {}