File indexing completed on 2024-05-12 05:39:39

0001 #ifndef QMLGENERATORVISITOR_H
0002 #define QMLGENERATORVISITOR_H
0003 
0004 #include <QFont>
0005 #include <QTextStream>
0006 
0007 class TreeSheetItem;
0008 class FieldController;
0009 class QmlGeneratorVisitor
0010 {
0011 public:
0012     QmlGeneratorVisitor(QTextStream& out, TreeSheetItem* rootItem);
0013 
0014     bool isTable() const;
0015     void setIsTable(bool isTable);
0016 
0017     bool generateTreeSheetItem();
0018     bool generateQmlCodeForRoot();
0019 
0020     int indentation() const;
0021     void setIndentation(int indentation);
0022 
0023 protected:
0024     bool generateTextInput(FieldController* item);
0025     bool generateTextArea(FieldController* item);
0026     bool generateTextField(FieldController* item);
0027     bool generateSelect(FieldController* item);
0028     bool generateCheckBox(FieldController* item);
0029     bool generateFuncButton(FieldController* item);
0030     bool generateDiceButton(FieldController* item);
0031     bool generateImage(FieldController* item);
0032     bool generateWebPage(FieldController* item);
0033     bool generateTable(FieldController* item);
0034     bool generateChangePageBtn(FieldController* item, bool next);
0035     bool generateLabelField(FieldController* item);
0036     bool generateSlider(FieldController* item);
0037     bool generateHidden(FieldController* item);
0038 
0039     QString generatePosition(FieldController* item);
0040     QString generateAlignment(FieldController* item);
0041     QString generateFont(const QFont& font, bool fitfont);
0042 
0043     QString getId(FieldController* item);
0044 
0045     QString getToolTip(FieldController* item);
0046 
0047 private:
0048     QTextStream& m_out;
0049     TreeSheetItem* m_root= nullptr;
0050     bool m_isTable= false;
0051     int m_indentation= 1;
0052     QString m_indenSpace;
0053 };
0054 
0055 #endif // QMLGENERATORVISITOR_H