#!/usr/bin/perl -w
# order have meaning !

sub Gui_module_list {

push @modules, 'QValidator';      $modules{'QValidator'}      = 'QtGui/qvalidator.h';
push @modules, 'QTextOption';     $modules{'QTextOption'}     = 'QtCore/qlist.h:QtGui/qtextoption.h';
push @modules, 'QDesktopServices'; $modules{'QDesktopServices'} = 'QtGui/qdesktopservices.h';
push @modules, 'QSound';          $modules{'QSound'}          = 'QtGui/qsound.h';

#push @modules, 'QX11Info';        $modules{'QX11Info'}        = 'QtGui/qx11info_x11.h'; todo
push @modules, 'QWindowDefs';     $modules{'QWindowDefs'}     = 'QtGui/qwindowdefs.h';
push @modules, 'QSessionManager'; $modules{'QSessionManager'} = 'QtGui/qsessionmanager.h';
push @modules, 'QPaintDevice';    $modules{'QPaintDevice'}    = 'QtGui/qpaintdevice.h';
push @modules, 'QPicture';        $modules{'QPicture'}        = 'QtGui/qbitmap.h:QtGui/qmatrix.h:QtGui/qpicture.h';
push @modules, 'QRgb';            $modules{'QRgb'}            = 'QtGui/qrgb.h';
push @modules, 'QColor';          $modules{'QColor'}          = 'QtGui/qcolor.h';
push @modules, 'QColormap';       $modules{'QColormap'}       = 'QtGui/qcolor.h:QtGui/qcolormap.h';
push @modules, 'QPolygon';        $modules{'QPolygon'}        = 'QtGui/qpolygon.h';
push @modules, 'QRegion';         $modules{'QRegion'}         = 'QtCore/qvector.h:QtGui/qregion.h';
push @modules, 'QImage';          $modules{'QImage'}          = 'QtGui/qmatrix.h:QtCore/qstringlist.h:QtGui/qimage.h';
#push @modules, 'QImageIOHandler'; $modules{'QImageIOHandler'} = 'QtCore/qrect.h:QtCore/qvariant.h:QtGui/qimageiohandler.h'; todo
push @modules, 'QImageReader';    $modules{'QImageReader'}    = 'QtGui/qcolor.h:QtGui/qimage.h:QtGui/qimagereader.h';
push @modules, 'QImageWriter';    $modules{'QImageWriter'}    = 'QtGui/qimagewriter.h';
push @modules, 'QPictureFormatPlugin'; $modules{'QPictureFormatPlugin'} = 'QtGui/qpictureformatplugin.h';
push @modules, 'QPixmap';         $modules{'QPixmap'}         = 'QtGui/qbitmap.h:QtGui/qmatrix.h:QtGui/qpixmap.h';
push @modules, 'QPixmapCache';    $modules{'QPixmapCache'}    = 'QtGui/qpixmapcache.h';
push @modules, 'QMovie';          $modules{'QMovie'}          = 'QtGui/qpixmap.h:QtGui/qmovie.h';
push @modules, 'QBitmap';         $modules{'QBitmap'}         = 'QtGui/qbitmap.h';
push @modules, 'QIcon';           $modules{'QIcon'}           = 'QtGui/qicon.h';
push @modules, 'QIconEngine';     $modules{'QIconEngine'}     = 'QtGui/qiconengine.h';
push @modules, 'QIconEnginePlugin'; $modules{'QIconEnginePlugin'} = 'QtGui/qiconengineplugin.h';
push @modules, 'QMatrix';         $modules{'QMatrix'}         = 'QtGui/qpainterpath.h:QtGui/qmatrix.h';
if ( $qtmin > 2 ) {
push @modules, 'QTransform';      $modules{'QTransform'}      = 'QtGui/qtransform.h';
}
push @modules, 'QBrush';          $modules{'QBrush'}          = 'QtGui/qbrush.h';
push @modules, 'QPen';            $modules{'QPen'}            = 'QtGui/qbrush.h:QtGui/qpen.h';
push @modules, 'QPalette';        $modules{'QPalette'}        = 'QtGui/qpalette.h';
push @modules, 'QPainterPath';    $modules{'QPainterPath'}    = 'QtGui/qpainterpath.h';
push @modules, 'QPainter';        $modules{'QPainter'}        = 'QtGui/qpainterpath.h:QtGui/qpainter.h';
push @modules, 'QPaintEngine';    $modules{'QPaintEngine'}    = 'QtGui/qpainterpath.h:QtGui/qpaintengine.h';

push @modules, 'QFont';           $modules{'QFont'}           = 'QtCore/qstringlist.h:QtGui/qfont.h';
push @modules, 'QFontMetrics';    $modules{'QFontMetrics'}    = 'QtGui/qfontmetrics.h';
push @modules, 'QFontInfo';       $modules{'QFontInfo'}       = 'QtGui/qfontinfo.h';
push @modules, 'QFontDatabase';   $modules{'QFontDatabase'}   = 'QtCore/qstringlist.h:QtGui/qfontdatabase.h';

push @modules, 'QAbstractProxyModel'; $modules{'QAbstractProxyModel'} = 'QtGui/qitemselectionmodel.h:QtGui/qabstractproxymodel.h';
push @modules, 'QProxyModel';     $modules{'QProxyModel'}     = 'QtCore/qsize.h:QtCore/qstringlist.h:QtGui/qproxymodel.h';
push @modules, 'QSortFilterProxyModel'; $modules{'QSortFilterProxyModel'} = 'QtCore/qsize.h:QtCore/qstringlist.h:QtGui/qitemselectionmodel.h:QtGui/qsortfilterproxymodel.h';
push @modules, 'QStandardItemModel';  $modules{'QStandardItemModel'}  = 'QtGui/qstandarditemmodel.h';
push @modules, 'QItemSelectionModel'; $modules{'QItemSelectionModel'} = 'QtGui/qitemselectionmodel.h';
	$classes{'QItemSelection'}{module} = 'QItemSelectionModel';
push @modules, 'QItemEditorFactory'; $modules{'QItemEditorFactory'} = 'QtGui/qitemeditorfactory.h';

push @modules, 'QTextFormat';     $modules{'QTextFormat'}     = 'QtGui/qtextformat.h';
push @modules, 'QTextLayout';     $modules{'QTextLayout'}     = 'QtGui/qtextoption.h:QtGui/qtextlayout.h';
push @modules, 'QTextObject';     $modules{'QTextObject'}     = 'QtGui/qtextcursor.h:QtGui/qtextobject.h';
	$classes{'QTextBlock'}{module} = 'QTextObject';
push @modules, 'QTextCursor';     $modules{'QTextCursor'}     = 'QtGui/qtextobject.h:QtGui/qtextdocumentfragment.h:QtGui/qtextcursor.h';
push @modules, 'QTextList';       $modules{'QTextList'}       = 'QtGui/qtextlist.h';
push @modules, 'QTextTable';      $modules{'QTextTable'}      = 'QtGui/qtextcursor.h:QtGui/qtexttable.h';
push @modules, 'QTextDocument';   $modules{'QTextDocument'}   = 'QtGui/qtextoption.h:QtGui/qtextobject.h:QtGui/qtextcursor.h:QtGui/qtextdocument.h';
push @modules, 'QTextDocumentFragment'; $modules{'QTextDocumentFragment'} = 'QtGui/qtextdocumentfragment.h';
push @modules, 'QAbstractTextDocumentLayout'; $modules{'QAbstractTextDocumentLayout'} = 'QtGui/qabstracttextdocumentlayout.h';

if ( $qtmin > 2 ) {
push @modules, 'QFileIconProvider'; $modules{'QFileIconProvider'} = 'QtGui/qfileiconprovider.h';
}
push @modules, 'QDirModel';       $modules{'QDirModel'}       = 'QtGui/qdirmodel.h';

push @modules, 'QSizePolicy';     $modules{'QSizePolicy'}     = 'QtGui/qsizepolicy.h';
push @modules, 'QCursor';         $modules{'QCursor'}         = 'QtGui/qpixmap.h:QtGui/qcursor.h';
push @modules, 'QWhatsThis';      $modules{'QWhatsThis'}      = 'QtGui/qwhatsthis.h';
push @modules, 'QKeySequence';    $modules{'QKeySequence'}    = 'QtCore/qlist.h:QtGui/qkeysequence.h';
push @modules, 'QShortcut';       $modules{'QShortcut'}       = 'QtGui/qshortcut.h';
push @modules, 'QInputEvent';     $modules{'QInputEvent'}     = 'QtGui/qevent.h';
if ( $qtmin > 2 ) {
push @modules, 'QWidget';         $modules{'QWidget'}         = 'QtCore/qlocale.h:QtCore/qvariant.h:QtGui/qicon.h:QtGui/qwidget.h';
}
else {
push @modules, 'QWidget';         $modules{'QWidget'}         = 'QtCore/qvariant.h:QtGui/qicon.h:QtGui/qwidget.h';
}
#push @modules, 'QX11EmbedWidget'; $modules{'QX11EmbedWidget'} = 'QtGui/qx11embed_x11.h';
push @modules, 'QSplashScreen';   $modules{'QSplashScreen'}   = 'QtGui/qsplashscreen.h';
push @modules, 'QFrame';          $modules{'QFrame'}          = 'QtGui/qframe.h';
push @modules, 'QGroupBox';       $modules{'QGroupBox'}       = 'QtGui/qgroupbox.h';
push @modules, 'QLabel';          $modules{'QLabel'}          = 'QtGui/qlabel.h';
push @modules, 'QProgressBar';    $modules{'QProgressBar'}    = 'QtGui/qprogressbar.h';
push @modules, 'QSplitter';       $modules{'QSplitter'}       = 'QtGui/qsplitter.h';
	$classes{'QSplitterHandle'}{module} = 'QSplitter';
push @modules, 'QMimeSource';     $modules{'QMimeSource'}     = 'QtGui/qmime.h';
push @modules, 'QClipboard';      $modules{'QClipboard'}      = 'QtGui/qpixmap.h:QtGui/qclipboard.h';
push @modules, 'QDrag';           $modules{'QDrag'}           = 'QtGui/qpixmap.h:QtGui/qdrag.h';
push @modules, 'QStackedWidget';  $modules{'QStackedWidget'}  = 'QtGui/qstackedwidget.h';
push @modules, 'QDesktopWidget';  $modules{'QDesktopWidget'}  = 'QtGui/qdesktopwidget.h';
push @modules, 'QCalendarWidget'; $modules{'QCalendarWidget'} = 'QtGui/qtextformat.h:QtGui/qcalendarwidget.h';
push @modules, 'QDockWidget';     $modules{'QDockWidget'}     = 'QtGui/qdockwidget.h';
push @modules, 'QMainWindow';     $modules{'QMainWindow'}     = 'QtGui/qmainwindow.h';
push @modules, 'QApplication';    $modules{'QApplication'}    = 'QtCore/qlocale.h:QtGui/qicon.h:QtGui/qpalette.h:QtGui/qfontmetrics.h:QtGui/qsessionmanager.h:QtGui/qapplication.h';
push @modules, 'QAction';         $modules{'QAction'}         = 'QtGui/qactiongroup.h:QtGui/qaction.h';
push @modules, 'QActionGroup';    $modules{'QActionGroup'}    = 'QtGui/qactiongroup.h';
push @modules, 'QWidgetAction';   $modules{'QWidgetAction'}   = 'QtGui/qwidgetaction.h';

push @modules, 'QLayoutItem';     $modules{'QLayoutItem'}     = 'QtGui/qlayoutitem.h';
push @modules, 'QLayout';         $modules{'QLayout'}         = 'QtGui/qlayout.h';
push @modules, 'QBoxLayout';      $modules{'QBoxLayout'}      = 'QtGui/qboxlayout.h';
push @modules, 'QGridLayout';     $modules{'QGridLayout'}     = 'QtGui/qgridlayout.h';
push @modules, 'QStackedLayout';  $modules{'QStackedLayout'}  = 'QtGui/qstackedlayout.h';

push @modules, 'QMenuItem';       $modules{'QMenuItem'}       = 'QtGui/qmenudata.h'; # for Qt3support
push @modules, 'QMenu';           $modules{'QMenu'}           = 'QtGui/qmenu.h';
	$classes{'QMenu'}{module} = 'QMenu';
push @modules, 'QMenuBar';        $modules{'QMenuBar'}        = 'QtGui/qmenubar.h';
push @modules, 'QFocusFrame';     $modules{'QFocusFrame'}     = 'QtGui/qfocusframe.h';
push @modules, 'QLCDNumber';      $modules{'QLCDNumber'}      = 'QtGui/qlcdnumber.h';
push @modules, 'QRubberBand';     $modules{'QRubberBand'}     = 'QtGui/qrubberband.h';
push @modules, 'QSizeGrip';       $modules{'QSizeGrip'}       = 'QtGui/qsizegrip.h';
push @modules, 'QStatusBar';      $modules{'QStatusBar'}      = 'QtGui/qstatusbar.h';
push @modules, 'QTabBar';         $modules{'QTabBar'}         = 'QtCore/qvariant.h:QtGui/qicon.h:QtGui/qtabbar.h';
push @modules, 'QTabWidget';      $modules{'QTabWidget'}      = 'QtGui/qtabwidget.h';
push @modules, 'QToolBar';        $modules{'QToolBar'}        = 'QtGui/qtoolbar.h';
push @modules, 'QToolBox';        $modules{'QToolBox'}        = 'QtGui/qtoolbox.h';
push @modules, 'QToolTip';        $modules{'QToolTip'}        = 'QtGui/qtooltip.h';

push @modules, 'QInputContext';   $modules{'QInputContext'}   = 'QtGui/qtextformat.h:QtGui/qinputcontext.h';
push @modules, 'QInputContextFactory'; $modules{'QInputContextFactory'} = 'QtGui/qinputcontextfactory.h';
push @modules, 'QInputContextPlugin'; $modules{'QInputContextPlugin'} = 'QtGui/qinputcontextplugin.h';

push @modules, 'QAccessible';     $modules{'QAccessible'}     = 'QtGui/qaccessible.h';
if ( $qtmin > 2 ) {
push @modules, 'QAccessible2';    $modules{'QAccessible2'}    = 'QtGui/qaccessible2.h';
}
push @modules, 'QAccessibleObject'; $modules{'QAccessibleObject'} = 'QtGui/qaccessibleobject.h';
push @modules, 'QAccessibleBridge'; $modules{'QAccessibleBridge'} = 'QtGui/qaccessiblebridge.h';
push @modules, 'QAccessiblePlugin'; $modules{'QAccessiblePlugin'} = 'QtGui/qaccessibleplugin.h';
push @modules, 'QAccessibleWidget'; $modules{'QAccessibleWidget'} = 'QtGui/qaccessiblewidget.h';

push @modules, 'QUndoStack';      $modules{'QUndoStack'}      = 'QtGui/qundostack.h';
push @modules, 'QUndoGroup';      $modules{'QUndoGroup'}      = 'QtGui/qundogroup.h';
push @modules, 'QWorkspace';      $modules{'QWorkspace'}      = 'QtGui/qworkspace.h';
push @modules, 'QSystemTrayIcon'; $modules{'QSystemTrayIcon'} = 'QtGui/qsystemtrayicon.h';

push @modules, 'QAbstractButton'; $modules{'QAbstractButton'} = 'QtGui/qabstractbutton.h';
push @modules, 'QPushButton';     $modules{'QPushButton'}     = 'QtGui/qpushbutton.h';
push @modules, 'QRadioButton';    $modules{'QRadioButton'}    = 'QtGui/qradiobutton.h';
push @modules, 'QToolButton';     $modules{'QToolButton'}     = 'QtGui/qtoolbutton.h';
push @modules, 'QButtonGroup';    $modules{'QButtonGroup'}    = 'QtGui/qbuttongroup.h';
push @modules, 'QCheckBox';       $modules{'QCheckBox'}       = 'QtGui/qcheckbox.h';
push @modules, 'QDialog';         $modules{'QDialog'}         = 'QtGui/qdialog.h';
push @modules, 'QDialogButtonBox'; $modules{'QDialogButtonBox'} = 'QtGui/qdialogbuttonbox.h';
push @modules, 'QErrorMessage';   $modules{'QErrorMessage'}   = 'QtGui/qerrormessage.h';
push @modules, 'QFontDialog';     $modules{'QFontDialog'}     = 'QtGui/qfontdialog.h';
push @modules, 'QColorDialog';    $modules{'QColorDialog'}    = 'QtGui/qcolordialog.h';
push @modules, 'QProgressDialog'; $modules{'QProgressDialog'} = 'QtGui/qprogressdialog.h';
push @modules, 'QMessageBox';     $modules{'QMessageBox'}     = 'QtGui/qmessagebox.h';

push @modules, 'QAbstractSpinBox'; $modules{'QAbstractSpinBox'} = 'QtGui/qabstractspinbox.h';
push @modules, 'QSpinBox';        $modules{'QSpinBox'}        = 'QtGui/qspinbox.h';
push @modules, 'QDateTimeEdit';   $modules{'QDateTimeEdit'}   = 'QtGui/qdatetimeedit.h';

push @modules, 'QAbstractSlider'; $modules{'QAbstractSlider'} = 'QtGui/qabstractslider.h';
push @modules, 'QDial';           $modules{'QDial'}           = 'QtGui/qdial.h';
push @modules, 'QScrollBar';      $modules{'QScrollBar'}      = 'QtGui/qscrollbar.h';
push @modules, 'QSlider';         $modules{'QSlider'}         = 'QtGui/qslider.h';

push @modules, 'QAbstractScrollArea';  $modules{'QAbstractScrollArea'}  = 'QtGui/qabstractscrollarea.h';
push @modules, 'QScrollArea';     $modules{'QScrollArea'}     = 'QtGui/qscrollarea.h';
push @modules, 'QTextEdit';       $modules{'QTextEdit'}       = 'QtGui/qtextedit.h';
push @modules, 'QTextBrowser';    $modules{'QTextBrowser'}    = 'QtGui/qtextbrowser.h';
push @modules, 'QSyntaxHighlighter'; $modules{'QSyntaxHighlighter'} = 'QtGui/qsyntaxhighlighter.h';

push @modules, 'QGraphicsSceneEvent'; $modules{'QGraphicsSceneEvent'} = 'QtGui/qgraphicssceneevent.h';
push @modules, 'QGraphicsScene';  $modules{'QGraphicsScene'}  = 'QtCore/qvariant.h:QtGui/qgraphicsscene.h';
push @modules, 'QGraphicsItem';   $modules{'QGraphicsItem'}   = 'QtGui/qbrush.h:QtGui/qpen.h:QtGui/qtextcursor.h:QtGui/qcursor.h:QtGui/qgraphicsitem.h';
	$classes{'QGraphicsItem'}{module} = 'QGraphicsItem';
push @modules, 'QGraphicsItemAnimation'; $modules{'QGraphicsItemAnimation'} = 'QtGui/qmatrix.h:QtGui/qgraphicsitemanimation.h';
push @modules, 'QGraphicsView';   $modules{'QGraphicsView'}   = 'QtCore/qvariant.h:QtGui/qpainterpath.h:QtGui/qgraphicsview.h';


push @modules, 'QPrinter';        $modules{'QPrinter'}        = 'QtCore/qlist.h:QtGui/qprinter.h';
push @modules, 'QPrintEngine';    $modules{'QPrintEngine'}    = 'QtGui/qprintengine.h';
push @modules, 'QAbstractPrintDialog'; $modules{'QAbstractPrintDialog'} = 'QtGui/qabstractprintdialog.h';
push @modules, 'QPrintDialog';    $modules{'QPrintDialog'}    = 'QtGui/qprintdialog.h';
push @modules, 'QAbstractPageSetupDialog'; $modules{'QAbstractPageSetupDialog'} = 'QtGui/qabstractpagesetupdialog.h';
push @modules, 'QPageSetupDialog'; $modules{'QPageSetupDialog'} = 'QtGui/qpagesetupdialog.h';


push @modules, 'QStyle';          $modules{'QStyle'}          = 'QtGui/qstyle.h';
	$classes{'QStyle'}{module} = 'QStyle';
push @modules, 'QStyleFactory';   $modules{'QStyleFactory'}   = 'QtGui/qstylefactory.h';
push @modules, 'QStylePainter';   $modules{'QStylePainter'}   = 'QtGui/qstylepainter.h';
push @modules, 'QStyleOption';    $modules{'QStyleOption'}    = 'QtGui/qstyleoption.h';
	$classes{'QStyleOptionGraphicsItem'}{module} = 'QStyleOption';
push @modules, 'QStylePlugin';    $modules{'QStylePlugin'}    = 'QtGui/qstyleplugin.h';
#push @modules, 'QCommonStyle';    $modules{'QCommonStyle'}    = 'QtGui/qcommonstyle.h'; ??? need found bug
#push @modules, 'QMotifStyle';     $modules{'QMotifStyle'}     = 'QtGui/qmotifstyle.h';
#push @modules, 'QCDEStyle';       $modules{'QCDEStyle'}       = 'QtGui/qcdestyle.h';
#push @modules, 'QWindowsStyle';   $modules{'QWindowsStyle'}   = 'QtGui/qwindowsstyle.h';
#push @modules, 'QWindowsXPStyle'; $modules{'QWindowsXPStyle'} = 'QtGui/qwindowsxpstyle.h';
#push @modules, 'QCleanlooksStyle'; $modules{'QCleanlooksStyle'} = 'QtGui/qcleanlooksstyle.h';
#push @modules, 'QPlastiqueStyle'; $modules{'QPlastiqueStyle'} = 'QtGui/qplastiquestyle.h';

push @modules, 'QAbstractItemDelegate'; $modules{'QAbstractItemDelegate'} = 'QtGui/qabstractitemdelegate.h';
push @modules, 'QItemDelegate';   $modules{'QItemDelegate'}   = 'QtGui/qitemdelegate.h';
push @modules, 'QDataWidgetMapper'; $modules{'QDataWidgetMapper'} = 'QtCore/qabstractitemmodel.h:QtGui/qdatawidgetmapper.h';
push @modules, 'QAbstractItemView'; $modules{'QAbstractItemView'} = 'QtGui/qabstractitemview.h';
push @modules, 'QHeaderView';     $modules{'QHeaderView'}     = 'QtGui/qheaderview.h';
push @modules, 'QTableView';      $modules{'QTableView'}      = 'QtGui/qtableview.h';
push @modules, 'QTableWidget';    $modules{'QTableWidget'}    = 'QtGui/qtablewidget.h';
push @modules, 'QListView';       $modules{'QListView'}       = 'QtGui/qlistview.h';
push @modules, 'QListWidget';     $modules{'QListWidget'}     = 'QtGui/qlistwidget.h';
push @modules, 'QUndoView';       $modules{'QUndoView'}       = 'QtGui/qundoview.h';
push @modules, 'QStringListModel'; $modules{'QStringListModel'} = 'QtGui/qstringlistmodel.h';
push @modules, 'QTreeView';       $modules{'QTreeView'}       = 'QtGui/qtreeview.h';
push @modules, 'QTreeWidgetItemIterator'; $modules{'QTreeWidgetItemIterator'} = 'QtGui/qtreewidget.h:QtGui/qtreewidgetitemiterator.h';
push @modules, 'QTreeWidget';     $modules{'QTreeWidget'}     = 'QtGui/qtreewidget.h';

push @modules, 'QCompleter';      $modules{'QCompleter'}      = 'QtCore/qstringlist.h:QtGui/qcompleter.h';
push @modules, 'QLineEdit';       $modules{'QLineEdit'}       = 'QtCore/qvariant.h:QtGui/qlineedit.h';
push @modules, 'QComboBox';       $modules{'QComboBox'}       = 'QtGui/qcombobox.h';
push @modules, 'QFontComboBox';   $modules{'QFontComboBox'}   = 'QtGui/qfontcombobox.h';
push @modules, 'QInputDialog';    $modules{'QInputDialog'}    = 'QtGui/qinputdialog.h';
if ( $qtmin > 2 ) {
push @modules, 'QFileDialog';     $modules{'QFileDialog'}     = 'QtCore/qurl.h:QtGui/qfiledialog.h';
}
else {
push @modules, 'QFileDialog';     $modules{'QFileDialog'}     = 'QtGui/qfiledialog.h';
}

}



1;
