From 190c157bf34e21a8148c66e735ce033c7ee5a9f9 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Mon, 12 Apr 2010 20:56:57 +0000 Subject: [PATCH] 2010-04-12 22:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + contrib/hbqt/generator2 + contrib/hbqt/generator2/hbqtgen2.prg + contrib/hbqt/generator2/QtGui.txt + contrib/hbqt/generator2/QtCore.txt + contrib/hbqt/generator2/QtNetwork.txt + Added new skeleton for QT header parser. --- harbour/ChangeLog | 8 + harbour/contrib/hbqt/generator2/QtCore.txt | 54 +++++ harbour/contrib/hbqt/generator2/QtGui.txt | 216 ++++++++++++++++++ harbour/contrib/hbqt/generator2/QtNetwork.txt | 10 + harbour/contrib/hbqt/generator2/hbqtgen2.prg | 62 +++++ 5 files changed, 350 insertions(+) create mode 100644 harbour/contrib/hbqt/generator2/QtCore.txt create mode 100644 harbour/contrib/hbqt/generator2/QtGui.txt create mode 100644 harbour/contrib/hbqt/generator2/QtNetwork.txt create mode 100644 harbour/contrib/hbqt/generator2/hbqtgen2.prg diff --git a/harbour/ChangeLog b/harbour/ChangeLog index f9eae86656..0f1f36e843 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,14 @@ past entries belonging to author(s): Viktor Szakats. */ +2010-04-12 22:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + + contrib/hbqt/generator2 + + contrib/hbqt/generator2/hbqtgen2.prg + + contrib/hbqt/generator2/QtGui.txt + + contrib/hbqt/generator2/QtCore.txt + + contrib/hbqt/generator2/QtNetwork.txt + + Added new skeleton for QT header parser. + 2010-04-12 21:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * external/zlib/zlib.dif * contrib/hbmzip/minizip.dif diff --git a/harbour/contrib/hbqt/generator2/QtCore.txt b/harbour/contrib/hbqt/generator2/QtCore.txt new file mode 100644 index 0000000000..3e41251d2e --- /dev/null +++ b/harbour/contrib/hbqt/generator2/QtCore.txt @@ -0,0 +1,54 @@ +# +# $Id$ +# + +QAbstractItemModel +QAbstractListModel +QAbstractTableModel +QBitArray +QBuffer +QByteArray +QChar +QCoreApplication +QDataStream +QDate +QDateTime +QDir +QEvent +QEventLoop +QFile +QFileInfo +QIODevice +QLatin1Char +QLatin1String +QLine +QLineF +QList +QLocale +QMimeData +QModelIndex +QObject +QPoint +QPointF +QProcess +QRect +QRectF +QRegExp +QResource +QSettings +QSignalMapper +QSize +QSizeF +QStringList +QTextBoundaryFinder +QTextCodec +QTextDecoder +QTextEncoder +QTextStream +QThread +QTime +QTimer +QTranslator +QUiLoader +QUrl +QVariant diff --git a/harbour/contrib/hbqt/generator2/QtGui.txt b/harbour/contrib/hbqt/generator2/QtGui.txt new file mode 100644 index 0000000000..5b74dc5b6f --- /dev/null +++ b/harbour/contrib/hbqt/generator2/QtGui.txt @@ -0,0 +1,216 @@ +# +# $Id$ +# + +QAbstractButton +QAbstractItemDelegate +QAbstractItemView +QAbstractPrintDialog +QAbstractProxyModel +QAbstractScrollArea +QAbstractSlider +QAbstractSpinBox +QAbstractTextDocumentLayout +QAction +QActionGroup +QApplication +QBitmap +QBoxLayout +QBrush +QButtonGroup +QCalendarWidget +QCheckBox +QClipboard +QColor +QColorDialog +QComboBox +QCommandLinkButton +QCommonStyle +QCompleter +QConicalGradient +QContextMenuEvent +QCursor +QDateEdit +QDateTimeEdit +QDesktopWidget +QDial +QDialog +QDirModel +QDockWidget +QDoubleSpinBox +QDragEnterEvent +QDragLeaveEvent +QDragMoveEvent +QDropEvent +QErrorMessage +QFileDialog +QFileIconProvider +QFileSystemModel +QFocusEvent +QFocusFrame +QFont +QFontComboBox +QFontDatabase +QFontDialog +QFontInfo +QFontMetrics +QFontMetricsF +QFormLayout +QFrame +QGradient +QGridLayout +QGroupBox +QHBoxLayout +QHeaderView +QHelpEvent +QIcon +QImage +QImageReader +QImageWriter +QInputContext +QInputDialog +QInputEvent +QInputMethodEvent +QItemSelection +QItemSelectionModel +QKeyEvent +QKeySequence +QLabel +QLayout +QLayoutItem +QLCDNumber +QLinearGradient +QLineEdit +QListView +QListWidget +QListWidgetItem +QMainWindow +QMatrix +QMdiArea +QMdiSubWindow +QMenu +QMenuBar +QMessageBox +QMouseEvent +QMoveEvent +QMovie +QPageSetupDialog +QPaintDevice +QPaintEngine +QPainter +QPainterPath +QPaintEvent +QPalette +QPen +QPicture +QPixmap +QPlainTextDocumentLayout +QPlainTextEdit +QPolygon +QPolygonF +QPrintDialog +QPrintEngine +QPrinter +QPrintPreviewDialog +QProgressBar +QProgressDialog +QPushButton +QRadialGradient +QRadioButton +QRegion +QResizeEvent +QScrollArea +QScrollBar +QSessionManager +QSizeGrip +QSizePolicy +QSlider +QSound +QSpacerItem +QSpinBox +QSplashScreen +QSplitter +QStackedWidget +QStandardItem +QStandardItemModel +QStatusBar +QStringListModel +QStyle +QStyledItemDelegate +QStyleFactory +QStyleHintReturn +QStyleHintReturnMask +QStyleHintReturnVariant +QStyleOption +QStyleOptionButton +QStyleOptionComboBox +QStyleOptionComplex +QStyleOptionDockWidget +QStyleOptionFocusRect +QStyleOptionFrame +QStyleOptionGroupBox +QStyleOptionHeader +QStyleOptionMenuItem +QStyleOptionProgressBar +QStyleOptionSizeGrip +QStyleOptionSlider +QStyleOptionSpinBox +QStyleOptionTab +QStyleOptionTabBarBase +QStyleOptionTabWidgetFrame +QStyleOptionTitleBar +QStyleOptionToolBar +QStyleOptionToolBox +QStyleOptionToolButton +QStyleOptionViewItem +QStylePainter +QSyntaxHighlighter +QSystemTrayIcon +QTabBar +QTableView +QTableWidget +QTableWidgetItem +QTableWidgetSelectionRange +QTabWidget +QTextBlock +QTextBlockFormat +QTextBlockGroup +QTextBrowser +QTextCharFormat +QTextCursor +QTextDocument +QTextDocumentFragment +QTextDocumentWriter +QTextEdit +QTextFormat +QTextFragment +QTextFrame +QTextFrameFormat +QTextImageFormat +QTextInlineObject +QTextItem +QTextLayout +QTextLength +QTextLine +QTextList +QTextListFormat +QTextObject +QTextOption +QTextTableFormat +QTimeEdit +QToolBar +QToolBox +QToolButton +QTransform +QTreeView +QTreeWidget +QTreeWidgetItem +QValidator +QVBoxLayout +QWheelEvent +QWidget +QWidgetAction +QWidgetItem +QWindowsStyle +QWizard +QWizardPage diff --git a/harbour/contrib/hbqt/generator2/QtNetwork.txt b/harbour/contrib/hbqt/generator2/QtNetwork.txt new file mode 100644 index 0000000000..928f7ee692 --- /dev/null +++ b/harbour/contrib/hbqt/generator2/QtNetwork.txt @@ -0,0 +1,10 @@ +# +# $Id$ +# + +QFtp +QHttp +QHttpHeader +QHttpRequestHeader +QHttpResponseHeader +QNetworkRequest diff --git a/harbour/contrib/hbqt/generator2/hbqtgen2.prg b/harbour/contrib/hbqt/generator2/hbqtgen2.prg new file mode 100644 index 0000000000..9c9c28968a --- /dev/null +++ b/harbour/contrib/hbqt/generator2/hbqtgen2.prg @@ -0,0 +1,62 @@ +/* + * $Id$ + */ + +/* + * Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) + * See COPYING for licensing terms. + */ + +#define F_NAME 1 /* File name */ + +PROCEDURE Main() + LOCAL cName + LOCAL cHeaderDir + LOCAL tmp, tmp1 + LOCAL aStuff + + FOR EACH tmp IN Directory( "*.txt" ) + hb_FNameSplit( tmp[ F_NAME ],, @cName ) + cHeaderDir := GetEnv( "HB_WITH_QT" ) + hb_osPathSeparator() + cName + FOR EACH tmp1 IN hb_ATokens( StrTran( hb_MemoRead( tmp[ F_NAME ] ), Chr( 13 ) ), Chr( 10 ) ) + IF ! Empty( tmp1 ) .AND. ! ( Left( tmp1, 1 ) == "#" ) + aStuff := {} + ProcessHeader( aStuff, cHeaderDir + hb_osPathSeparator() + tmp1 ) + ENDIF + NEXT + NEXT + + RETURN + +STATIC PROCEDURE ProcessHeader( aStuff, cFileName ) + + LOCAL cFile := hb_MemoRead( cFileName ) + LOCAL nPos + LOCAL tmp + LOCAL cHeader + LOCAL cDir + + OutStd( "Loading:", cFileName, hb_osNewLine() ) + + nPos := 1 + IF ( tmp := hb_At( '#include "', cFile, nPos ) ) > 0 + nPos := tmp + Len( '#include "' ) + IF ( tmp := hb_At( '"', cFile, nPos ) ) > 0 + cHeader := SubStr( cFile, nPos, tmp - nPos ) + ENDIF + ENDIF + + IF ! Empty( cHeader ) + hb_FNameSplit( cFileName, @cDir ) + ProcessHeader( aStuff, DirAddPathSep( cDir ) + cHeader ) + ENDIF + + RETURN + +STATIC FUNCTION DirAddPathSep( cDir ) + + IF ! Empty( cDir ) .AND. !( Right( cDir, 1 ) == hb_osPathSeparator() ) + cDir += hb_osPathSeparator() + ENDIF + + RETURN cDir