diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 90825e2392b2d70e43c7a25b8a3752299a933894 (patch) | |
tree | e33aa27f02b74604afbfd0ea4f1cfca8833d882a /qtjava/designer/juic/common | |
download | tdebindings-90825e2392b2d70e43c7a25b8a3752299a933894.tar.gz tdebindings-90825e2392b2d70e43c7a25b8a3752299a933894.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebindings@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'qtjava/designer/juic/common')
-rw-r--r-- | qtjava/designer/juic/common/QtClasses.xml | 1725 | ||||
-rw-r--r-- | qtjava/designer/juic/common/classes.xsl | 231 | ||||
-rw-r--r-- | qtjava/designer/juic/common/main.xsl | 568 | ||||
-rw-r--r-- | qtjava/designer/juic/common/properties.xsl | 198 | ||||
-rw-r--r-- | qtjava/designer/juic/common/util.xsl | 302 |
5 files changed, 3024 insertions, 0 deletions
diff --git a/qtjava/designer/juic/common/QtClasses.xml b/qtjava/designer/juic/common/QtClasses.xml new file mode 100644 index 00000000..d20b6576 --- /dev/null +++ b/qtjava/designer/juic/common/QtClasses.xml @@ -0,0 +1,1725 @@ +<Qt> + <class> + <name>QAccelEventHandling</name> + </class> + <class> + <name>QAccel</name> + </class> + <class> + <name>QAccelSignals</name> + </class> + <class> + <name>QAccessibleInterface</name> + </class> + <class> + <name>QAccessible</name> + </class> + <class> + <name>QAccessibleObjectEventHandling</name> + </class> + <class> + <name>QAccessibleObject</name> + </class> + <class> + <name>QAccessibleObjectSignals</name> + </class> + <class> + <name>QActionEventHandling</name> + </class> + <class> + <name>QActionGroupEventHandling</name> + </class> + <class> + <name>QActionGroup</name> + </class> + <class> + <name>QActionGroupSignals</name> + </class> + <class> + <name>QAction</name> + </class> + <class> + <name>QActionSignals</name> + </class> + <class> + <name>QApplicationEventHandling</name> + </class> + <class> + <name>QApplication</name> + </class> + <class> + <name>QApplicationSignals</name> + </class> + <class> + <name>QAsyncIO</name> + </class> + <class> + <name>QAuServer</name> + </class> + <class> + <name>QBig5Codec</name> + </class> + <class> + <name>QBitmap</name> + </class> + <class> + <name>QBoxLayoutEventHandling</name> + </class> + <class> + <name>QBoxLayout</name> + </class> + <class> + <name>QBoxLayoutSignals</name> + </class> + <class> + <name>QBrush</name> + </class> + <class> + <name>QBuffer</name> + </class> + <class> + <name>QButtonEventHandling</name> + </class> + <class> + <name>QButtonGroupEventHandling</name> + </class> + <class> + <name>QButtonGroup</name> + </class> + <class> + <name>QButtonGroupSignals</name> + </class> + <class> + <name>QButton</name> + </class> + <class> + <name>QButtonSignals</name> + </class> + <class> + <name>QCanvasEllipse</name> + </class> + <class> + <name>QCanvasEventHandling</name> + </class> + <class> + <name>QCanvasItem</name> + </class> + <class> + <name>QCanvas</name> + </class> + <class> + <name>QCanvasLine</name> + </class> + <class> + <name>QCanvasPixmapArray</name> + </class> + <class> + <name>QCanvasPixmap</name> + </class> + <class> + <name>QCanvasPolygonalItem</name> + </class> + <class> + <name>QCanvasPolygon</name> + </class> + <class> + <name>QCanvasRectangle</name> + </class> + <class> + <name>QCanvasSignals</name> + </class> + <class> + <name>QCanvasSpline</name> + </class> + <class> + <name>QCanvasSprite</name> + </class> + <class> + <name>QCanvasText</name> + </class> + <class> + <name>QCanvasViewEventHandling</name> + </class> + <class> + <name>QCanvasView</name> + </class> + <class> + <name>QCanvasViewSignals</name> + </class> + <class> + <name>QCDEStyleEventHandling</name> + </class> + <class> + <name>QCDEStyle</name> + </class> + <class> + <name>QCDEStyleSignals</name> + </class> + <class> + <name>QCheckBoxEventHandling</name> + </class> + <class> + <name>QCheckBox</name> + </class> + <class> + <name>QCheckBoxSignals</name> + </class> + <class> + <name>QCheckListItem</name> + </class> + <class> + <name>QCheckTableItem</name> + </class> + <class> + <name>QChildEvent</name> + </class> + <class> + <name>QClassInfo</name> + </class> + <class> + <name>QClipboard</name> + </class> + <class> + <name>QCloseEvent</name> + </class> + <class> + <name>QColorDialog</name> + </class> + <class> + <name>QColorDragEventHandling</name> + </class> + <class> + <name>QColorDrag</name> + </class> + <class> + <name>QColorDragSignals</name> + </class> + <class> + <name>QColorGroup</name> + </class> + <class> + <name>QColor</name> + </class> + <class> + <name>QComboBoxEventHandling</name> + </class> + <class> + <name>QComboBox</name> + </class> + <class> + <name>QComboBoxSignals</name> + </class> + <class> + <name>QComboTableItem</name> + </class> + <class> + <name>QCommonStyle</name> + </class> + <class> + <name>QContextMenuEvent</name> + </class> + <class> + <name>QCursor</name> + </class> + <class> + <name>QCustomEvent</name> + </class> + <class> + <name>QCustomMenuItem</name> + </class> + <class> + <name>QDataBrowserEventHandling</name> + </class> + <class> + <name>QDataBrowser</name> + </class> + <class> + <name>QDataBrowserSignals</name> + </class> + <class> + <name>QDataPumpEventHandling</name> + </class> + <class> + <name>QDataPump</name> + </class> + <class> + <name>QDataPumpSignals</name> + </class> + <class> + <name>QDataSink</name> + </class> + <class> + <name>QDataSource</name> + </class> + <class> + <name>QDataStream</name> + </class> + <class> + <name>QDataTableEventHandling</name> + </class> + <class> + <name>QDataTable</name> + </class> + <class> + <name>QDataTableSignals</name> + </class> + <class> + <name>QDataViewEventHandling</name> + </class> + <class> + <name>QDataView</name> + </class> + <class> + <name>QDataViewSignals</name> + </class> + <class> + <name>QDateEditEventHandling</name> + </class> + <class> + <name>QDateEdit</name> + </class> + <class> + <name>QDateEditSignals</name> + </class> + <class> + <name>QDateTimeEditBase</name> + </class> + <class> + <name>QDateTimeEditEventHandling</name> + </class> + <class> + <name>QDateTimeEdit</name> + </class> + <class> + <name>QDateTimeEditSignals</name> + </class> + <class> + <name>QDesktopWidgetEventHandling</name> + </class> + <class> + <name>QDesktopWidget</name> + </class> + <class> + <name>QDesktopWidgetSignals</name> + </class> + <class> + <name>QDialEventHandling</name> + </class> + <class> + <name>QDial</name> + </class> + <class> + <name>QDialogEventHandling</name> + </class> + <class> + <name>QDialog</name> + </class> + <class> + <name>QDialogSignals</name> + </class> + <class> + <name>QDialSignals</name> + </class> + <class> + <name>QDir</name> + </class> + <class> + <name>QDnsEventHandling</name> + </class> + <class> + <name>QDns</name> + </class> + <class> + <name>QDnsSignals</name> + </class> + <class> + <name>QDockAreaEventHandling</name> + </class> + <class> + <name>QDockArea</name> + </class> + <class> + <name>QDockAreaSignals</name> + </class> + <class> + <name>QDockWindowEventHandling</name> + </class> + <class> + <name>QDockWindow</name> + </class> + <class> + <name>QDockWindowSignals</name> + </class> + <class> + <name>QDomAttr</name> + </class> + <class> + <name>QDomCDATASection</name> + </class> + <class> + <name>QDomCharacterData</name> + </class> + <class> + <name>QDomComment</name> + </class> + <class> + <name>QDomDocumentFragment</name> + </class> + <class> + <name>QDomDocument</name> + </class> + <class> + <name>QDomDocumentType</name> + </class> + <class> + <name>QDomElement</name> + </class> + <class> + <name>QDomEntity</name> + </class> + <class> + <name>QDomEntityReference</name> + </class> + <class> + <name>QDomImplementation</name> + </class> + <class> + <name>QDomNamedNodeMap</name> + </class> + <class> + <name>QDomNode</name> + </class> + <class> + <name>QDomNodeList</name> + </class> + <class> + <name>QDomNotation</name> + </class> + <class> + <name>QDomProcessingInstruction</name> + </class> + <class> + <name>QDomText</name> + </class> + <class> + <name>QDoubleValidatorEventHandling</name> + </class> + <class> + <name>QDoubleValidator</name> + </class> + <class> + <name>QDoubleValidatorSignals</name> + </class> + <class> + <name>QDragEnterEvent</name> + </class> + <class> + <name>QDragLeaveEvent</name> + </class> + <class> + <name>QDragManager</name> + </class> + <class> + <name>QDragMoveEvent</name> + </class> + <class> + <name>QDragObjectEventHandling</name> + </class> + <class> + <name>QDragObject</name> + </class> + <class> + <name>QDragObjectSignals</name> + </class> + <class> + <name>QDragResponseEvent</name> + </class> + <class> + <name>QDropEvent</name> + </class> + <class> + <name>QDropSite</name> + </class> + <class> + <name>QEditorFactoryEventHandling</name> + </class> + <class> + <name>QEditorFactory</name> + </class> + <class> + <name>QEditorFactorySignals</name> + </class> + <class> + <name>QErrorMessageEventHandling</name> + </class> + <class> + <name>QErrorMessage</name> + </class> + <class> + <name>QErrorMessageSignals</name> + </class> + <class> + <name>QEucJpCodec</name> + </class> + <class> + <name>QEucKrCodec</name> + </class> + <class> + <name>QEvent</name> + </class> + <class> + <name>QFileDialogEventHandling</name> + </class> + <class> + <name>QFileDialog</name> + </class> + <class> + <name>QFileDialogSignals</name> + </class> + <class> + <name>QFileIconProviderEventHandling</name> + </class> + <class> + <name>QFileIconProvider</name> + </class> + <class> + <name>QFileIconProviderSignals</name> + </class> + <class> + <name>QFileInfo</name> + </class> + <class> + <name>QFile</name> + </class> + <class> + <name>QFilePreview</name> + </class> + <class> + <name>QFocusData</name> + </class> + <class> + <name>QFocusEvent</name> + </class> + <class> + <name>QFontDatabase</name> + </class> + <class> + <name>QFontDialog</name> + </class> + <class> + <name>QFontInfo</name> + </class> + <class> + <name>QFont</name> + </class> + <class> + <name>QFontMetrics</name> + </class> + <class> + <name>QFrameEventHandling</name> + </class> + <class> + <name>QFrame</name> + </class> + <class> + <name>QFrameSignals</name> + </class> + <class> + <name>QFtpEventHandling</name> + </class> + <class> + <name>QFtp</name> + </class> + <class> + <name>QFtpSignals</name> + </class> + <class> + <name>QGbkCodec</name> + </class> + <class> + <name>QGLColormap</name> + </class> + <class> + <name>QGLContext</name> + </class> + <class> + <name>QGLFormat</name> + </class> + <class> + <name>QGL</name> + </class> + <class> + <name>QGLWidgetEventHandling</name> + </class> + <class> + <name>QGLWidget</name> + </class> + <class> + <name>QGLWidgetSignals</name> + </class> + <class> + <name>QGridEventHandling</name> + </class> + <class> + <name>QGrid</name> + </class> + <class> + <name>QGridLayoutEventHandling</name> + </class> + <class> + <name>QGridLayout</name> + </class> + <class> + <name>QGridLayoutSignals</name> + </class> + <class> + <name>QGridSignals</name> + </class> + <class> + <name>QGridView</name> + </class> + <class> + <name>QGroupBoxEventHandling</name> + </class> + <class> + <name>QGroupBox</name> + </class> + <class> + <name>QGroupBoxSignals</name> + </class> + <class> + <name>QHBoxEventHandling</name> + </class> + <class> + <name>QHBox</name> + </class> + <class> + <name>QHBoxLayoutEventHandling</name> + </class> + <class> + <name>QHBoxLayout</name> + </class> + <class> + <name>QHBoxLayoutSignals</name> + </class> + <class> + <name>QHBoxSignals</name> + </class> + <class> + <name>QHButtonGroupEventHandling</name> + </class> + <class> + <name>QHButtonGroup</name> + </class> + <class> + <name>QHButtonGroupSignals</name> + </class> + <class> + <name>QHeaderEventHandling</name> + </class> + <class> + <name>QHeader</name> + </class> + <class> + <name>QHeaderSignals</name> + </class> + <class> + <name>QHebrewCodec</name> + </class> + <class> + <name>QHGroupBoxEventHandling</name> + </class> + <class> + <name>QHGroupBox</name> + </class> + <class> + <name>QHGroupBoxSignals</name> + </class> + <class> + <name>QHideEvent</name> + </class> + <class> + <name>QHostAddress</name> + </class> + <class> + <name>QHttpEventHandling</name> + </class> + <class> + <name>QHttp</name> + </class> + <class> + <name>QHttpSignals</name> + </class> + <class> + <name>QIconDragEventHandling</name> + </class> + <class> + <name>QIconDragItem</name> + </class> + <class> + <name>QIconDrag</name> + </class> + <class> + <name>QIconDragSignals</name> + </class> + <class> + <name>QIconSet</name> + </class> + <class> + <name>QIconViewEventHandling</name> + </class> + <class> + <name>QIconViewItem</name> + </class> + <class> + <name>QIconView</name> + </class> + <class> + <name>QIconViewSignals</name> + </class> + <class> + <name>QImageConsumer</name> + </class> + <class> + <name>QImageDecoder</name> + </class> + <class> + <name>QImageDragEventHandling</name> + </class> + <class> + <name>QImageDrag</name> + </class> + <class> + <name>QImageDragSignals</name> + </class> + <class> + <name>QImageFormat</name> + </class> + <class> + <name>QImageFormatType</name> + </class> + <class> + <name>QImageIO</name> + </class> + <class> + <name>QImage</name> + </class> + <class> + <name>QImageTextKeyLang</name> + </class> + <class> + <name>QIMEvent</name> + </class> + <class> + <name>QInputDialog</name> + </class> + <class> + <name>QInterlaceStyleEventHandling</name> + </class> + <class> + <name>QInterlaceStyleSignals</name> + </class> + <class> + <name>QIntValidatorEventHandling</name> + </class> + <class> + <name>QIntValidator</name> + </class> + <class> + <name>QIntValidatorSignals</name> + </class> + <class> + <name>QIODeviceInterface</name> + </class> + <class> + <name>QIODevice</name> + </class> + <class> + <name>QIODeviceSource</name> + </class> + <class> + <name>QJisCodec</name> + </class> + <class> + <name>QJpUnicodeConv</name> + </class> + <class> + <name>QKeyEvent</name> + </class> + <class> + <name>QKeySequence</name> + </class> + <class> + <name>QLabelEventHandling</name> + </class> + <class> + <name>QLabel</name> + </class> + <class> + <name>QLabelSignals</name> + </class> + <class> + <name>QLayoutItemInterface</name> + </class> + <class> + <name>QLayoutItem</name> + </class> + <class> + <name>QLayout</name> + </class> + <class> + <name>QLCDNumberEventHandling</name> + </class> + <class> + <name>QLCDNumber</name> + </class> + <class> + <name>QLCDNumberSignals</name> + </class> + <class> + <name>QLibrary</name> + </class> + <class> + <name>QLineEditEventHandling</name> + </class> + <class> + <name>QLineEdit</name> + </class> + <class> + <name>QLineEditSignals</name> + </class> + <class> + <name>QListBoxEventHandling</name> + </class> + <class> + <name>QListBoxItem</name> + </class> + <class> + <name>QListBox</name> + </class> + <class> + <name>QListBoxPixmap</name> + </class> + <class> + <name>QListBoxSignals</name> + </class> + <class> + <name>QListBoxText</name> + </class> + <class> + <name>QListViewEventHandling</name> + </class> + <class> + <name>QListViewItem</name> + </class> + <class> + <name>QListView</name> + </class> + <class> + <name>QListViewSignals</name> + </class> + <class> + <name>QLocalFsEventHandling</name> + </class> + <class> + <name>QLocalFs</name> + </class> + <class> + <name>QLocalFsSignals</name> + </class> + <class> + <name>QMainWindowEventHandling</name> + </class> + <class> + <name>QMainWindow</name> + </class> + <class> + <name>QMainWindowSignals</name> + </class> + <class> + <name>QMenuBarEventHandling</name> + </class> + <class> + <name>QMenuBar</name> + </class> + <class> + <name>QMenuBarSignals</name> + </class> + <class> + <name>QMenuDataInterface</name> + </class> + <class> + <name>QMenuData</name> + </class> + <class> + <name>QMenuItem</name> + </class> + <class> + <name>QMessageBoxEventHandling</name> + </class> + <class> + <name>QMessageBox</name> + </class> + <class> + <name>QMessageBoxSignals</name> + </class> + <class> + <name>QMetaData</name> + </class> + <class> + <name>QMetaEnum</name> + </class> + <class> + <name>QMetaObject</name> + </class> + <class> + <name>QMetaProperty</name> + </class> + <class> + <name>QMimeSourceFactory</name> + </class> + <class> + <name>QMimeSourceInterface</name> + </class> + <class> + <name>QMimeSource</name> + </class> + <class> + <name>QMotifPlusStyleEventHandling</name> + </class> + <class> + <name>QMotifPlusStyle</name> + </class> + <class> + <name>QMotifPlusStyleSignals</name> + </class> + <class> + <name>QMotifStyleEventHandling</name> + </class> + <class> + <name>QMotifStyle</name> + </class> + <class> + <name>QMotifStyleSignals</name> + </class> + <class> + <name>QMouseEvent</name> + </class> + <class> + <name>QMoveEvent</name> + </class> + <class> + <name>QMovie</name> + </class> + <class> + <name>QMultiLineEditEventHandling</name> + </class> + <class> + <name>QMultiLineEdit</name> + </class> + <class> + <name>QMultiLineEditSignals</name> + </class> + <class> + <name>QNetworkOperationEventHandling</name> + </class> + <class> + <name>QNetworkOperation</name> + </class> + <class> + <name>QNetworkOperationSignals</name> + </class> + <class> + <name>QNetworkProtocolEventHandling</name> + </class> + <class> + <name>QNetworkProtocol</name> + </class> + <class> + <name>QNetworkProtocolSignals</name> + </class> + <class> + <name>QObjectCleanupHandlerEventHandling</name> + </class> + <class> + <name>QObjectCleanupHandler</name> + </class> + <class> + <name>QObjectCleanupHandlerSignals</name> + </class> + <class> + <name>QObjectEventHandling</name> + </class> + <class> + <name>QObject</name> + </class> + <class> + <name>QObjectSignals</name> + </class> + <class> + <name>QPaintDeviceInterface</name> + </class> + <class> + <name>QPaintDevice</name> + </class> + <class> + <name>QPaintDeviceMetrics</name> + </class> + <class> + <name>QPainter</name> + </class> + <class> + <name>QPaintEvent</name> + </class> + <class> + <name>QPalette</name> + </class> + <class> + <name>QPen</name> + </class> + <class> + <name>QPicture</name> + </class> + <class> + <name>QPixmap</name> + </class> + <class> + <name>QPlatinumStyleEventHandling</name> + </class> + <class> + <name>QPlatinumStyle</name> + </class> + <class> + <name>QPlatinumStyleSignals</name> + </class> + <class> + <name>QPNGImagePacker</name> + </class> + <class> + <name>QPNGImageWriter</name> + </class> + <class> + <name>QPointArray</name> + </class> + <class> + <name>QPoint</name> + </class> + <class> + <name>QPolygonScanner</name> + </class> + <class> + <name>QPopupMenuEventHandling</name> + </class> + <class> + <name>QPopupMenu</name> + </class> + <class> + <name>QPopupMenuSignals</name> + </class> + <class> + <name>QPrintDialogEventHandling</name> + </class> + <class> + <name>QPrintDialog</name> + </class> + <class> + <name>QPrintDialogSignals</name> + </class> + <class> + <name>QPrinter</name> + </class> + <class> + <name>QProcessEventHandling</name> + </class> + <class> + <name>QProcess</name> + </class> + <class> + <name>QProcessSignals</name> + </class> + <class> + <name>QProgressBarEventHandling</name> + </class> + <class> + <name>QProgressBar</name> + </class> + <class> + <name>QProgressBarSignals</name> + </class> + <class> + <name>QProgressDialogEventHandling</name> + </class> + <class> + <name>QProgressDialog</name> + </class> + <class> + <name>QProgressDialogSignals</name> + </class> + <class> + <name>QPushButtonEventHandling</name> + </class> + <class> + <name>QPushButton</name> + </class> + <class> + <name>QPushButtonSignals</name> + </class> + <class> + <name>QRadioButtonEventHandling</name> + </class> + <class> + <name>QRadioButton</name> + </class> + <class> + <name>QRadioButtonSignals</name> + </class> + <class> + <name>QRangeControlInterface</name> + </class> + <class> + <name>QRangeControl</name> + </class> + <class> + <name>QRect</name> + </class> + <class> + <name>QRegExp</name> + </class> + <class> + <name>QRegExpValidatorEventHandling</name> + </class> + <class> + <name>QRegExpValidator</name> + </class> + <class> + <name>QRegExpValidatorSignals</name> + </class> + <class> + <name>QRegion</name> + </class> + <class> + <name>QResizeEvent</name> + </class> + <class> + <name>QScrollBarEventHandling</name> + </class> + <class> + <name>QScrollBar</name> + </class> + <class> + <name>QScrollBarSignals</name> + </class> + <class> + <name>QScrollViewEventHandling</name> + </class> + <class> + <name>QScrollView</name> + </class> + <class> + <name>QScrollViewSignals</name> + </class> + <class> + <name>QSemiModalEventHandling</name> + </class> + <class> + <name>QSemiModal</name> + </class> + <class> + <name>QSemiModalSignals</name> + </class> + <class> + <name>QServerSocket</name> + </class> + <class> + <name>QSessionManager</name> + </class> + <class> + <name>QSettings</name> + </class> + <class> + <name>QSGIStyleEventHandling</name> + </class> + <class> + <name>QSGIStyle</name> + </class> + <class> + <name>QSGIStyleSignals</name> + </class> + <class> + <name>QShowEvent</name> + </class> + <class> + <name>QSignalEventHandling</name> + </class> + <class> + <name>QSignal</name> + </class> + <class> + <name>QSignalMapperEventHandling</name> + </class> + <class> + <name>QSignalMapper</name> + </class> + <class> + <name>QSignalMapperSignals</name> + </class> + <class> + <name>QSignalSignals</name> + </class> + <class> + <name>QSimpleRichText</name> + </class> + <class> + <name>QSizeGripEventHandling</name> + </class> + <class> + <name>QSizeGrip</name> + </class> + <class> + <name>QSizeGripSignals</name> + </class> + <class> + <name>QSize</name> + </class> + <class> + <name>QSizePolicy</name> + </class> + <class> + <name>QSjisCodec</name> + </class> + <class> + <name>QSliderEventHandling</name> + </class> + <class> + <name>QSlider</name> + </class> + <class> + <name>QSliderSignals</name> + </class> + <class> + <name>QSocketDevice</name> + </class> + <class> + <name>QSocketEventHandling</name> + </class> + <class> + <name>QSocket</name> + </class> + <class> + <name>QSocketNotifierEventHandling</name> + </class> + <class> + <name>QSocketNotifier</name> + </class> + <class> + <name>QSocketNotifierSignals</name> + </class> + <class> + <name>QSocketSignals</name> + </class> + <class> + <name>QSoundEventHandling</name> + </class> + <class> + <name>QSound</name> + </class> + <class> + <name>QSoundSignals</name> + </class> + <class> + <name>QSpacerItem</name> + </class> + <class> + <name>QSpinBoxEventHandling</name> + </class> + <class> + <name>QSpinBox</name> + </class> + <class> + <name>QSpinBoxSignals</name> + </class> + <class> + <name>QSplitterEventHandling</name> + </class> + <class> + <name>QSplitter</name> + </class> + <class> + <name>QSplitterSignals</name> + </class> + <class> + <name>QSqlCursor</name> + </class> + <class> + <name>QSqlDatabaseEventHandling</name> + </class> + <class> + <name>QSqlDatabase</name> + </class> + <class> + <name>QSqlDatabaseSignals</name> + </class> + <class> + <name>QSqlDriver</name> + </class> + <class> + <name>QSqlEditorFactoryEventHandling</name> + </class> + <class> + <name>QSqlEditorFactory</name> + </class> + <class> + <name>QSqlEditorFactorySignals</name> + </class> + <class> + <name>QSqlError</name> + </class> + <class> + <name>QSqlFieldInfo</name> + </class> + <class> + <name>QSqlField</name> + </class> + <class> + <name>QSqlFormEventHandling</name> + </class> + <class> + <name>QSqlForm</name> + </class> + <class> + <name>QSqlFormSignals</name> + </class> + <class> + <name>QSqlIndex</name> + </class> + <class> + <name>QSql</name> + </class> + <class> + <name>QSqlPropertyMap</name> + </class> + <class> + <name>QSqlQueryInterface</name> + </class> + <class> + <name>QSqlQuery</name> + </class> + <class> + <name>QSqlRecordInfo</name> + </class> + <class> + <name>QSqlRecord</name> + </class> + <class> + <name>QSqlResult</name> + </class> + <class> + <name>QStatusBarEventHandling</name> + </class> + <class> + <name>QStatusBar</name> + </class> + <class> + <name>QStatusBarSignals</name> + </class> + <class> + <name>QStoredDragEventHandling</name> + </class> + <class> + <name>QStoredDrag</name> + </class> + <class> + <name>QStoredDragSignals</name> + </class> + <class> + <name>QStyleFactory</name> + </class> + <class> + <name>QStyle</name> + </class> + <class> + <name>QStyleOption</name> + </class> + <class> + <name>QStyleSheetEventHandling</name> + </class> + <class> + <name>QStyleSheetItem</name> + </class> + <class> + <name>QStyleSheet</name> + </class> + <class> + <name>QStyleSheetSignals</name> + </class> + <class> + <name>QTabBarEventHandling</name> + </class> + <class> + <name>QTabBar</name> + </class> + <class> + <name>QTabBarSignals</name> + </class> + <class> + <name>QTabDialogEventHandling</name> + </class> + <class> + <name>QTabDialog</name> + </class> + <class> + <name>QTabDialogSignals</name> + </class> + <class> + <name>QTab</name> + </class> + <class> + <name>QTableEventHandling</name> + </class> + <class> + <name>QTableItem</name> + </class> + <class> + <name>QTable</name> + </class> + <class> + <name>QTableSelection</name> + </class> + <class> + <name>QTableSignals</name> + </class> + <class> + <name>QTabletEvent</name> + </class> + <class> + <name>QTabWidgetEventHandling</name> + </class> + <class> + <name>QTabWidget</name> + </class> + <class> + <name>QTabWidgetSignals</name> + </class> + <class> + <name>QTextBrowserEventHandling</name> + </class> + <class> + <name>QTextBrowser</name> + </class> + <class> + <name>QTextBrowserSignals</name> + </class> + <class> + <name>QTextCodec</name> + </class> + <class> + <name>QTextDecoder</name> + </class> + <class> + <name>QTextDragEventHandling</name> + </class> + <class> + <name>QTextDrag</name> + </class> + <class> + <name>QTextDragSignals</name> + </class> + <class> + <name>QTextEditEventHandling</name> + </class> + <class> + <name>QTextEdit</name> + </class> + <class> + <name>QTextEditSignals</name> + </class> + <class> + <name>QTextEncoder</name> + </class> + <class> + <name>QTextIStream</name> + </class> + <class> + <name>QTextOStream</name> + </class> + <class> + <name>QTextStream</name> + </class> + <class> + <name>QTextViewEventHandling</name> + </class> + <class> + <name>QTextView</name> + </class> + <class> + <name>QTextViewSignals</name> + </class> + <class> + <name>QTimeEditEventHandling</name> + </class> + <class> + <name>QTimeEdit</name> + </class> + <class> + <name>QTimeEditSignals</name> + </class> + <class> + <name>QTimerEventHandling</name> + </class> + <class> + <name>QTimerEvent</name> + </class> + <class> + <name>QTimer</name> + </class> + <class> + <name>QTimerSignals</name> + </class> + <class> + <name>Qt</name> + </class> + <class> + <name>QToolBarEventHandling</name> + </class> + <class> + <name>QToolBar</name> + </class> + <class> + <name>QToolBarSignals</name> + </class> + <class> + <name>QToolButtonEventHandling</name> + </class> + <class> + <name>QToolButton</name> + </class> + <class> + <name>QToolButtonSignals</name> + </class> + <class> + <name>QToolTipGroupEventHandling</name> + </class> + <class> + <name>QToolTipGroup</name> + </class> + <class> + <name>QToolTipGroupSignals</name> + </class> + <class> + <name>QToolTip</name> + </class> + <class> + <name>QTranslatorEventHandling</name> + </class> + <class> + <name>QTranslator</name> + </class> + <class> + <name>QTranslatorMessage</name> + </class> + <class> + <name>QTranslatorSignals</name> + </class> + <class> + <name>QTsciiCodec</name> + </class> + <class> + <name>QtSupport</name> + </class> + <class> + <name>QUriDragEventHandling</name> + </class> + <class> + <name>QUriDrag</name> + </class> + <class> + <name>QUriDragSignals</name> + </class> + <class> + <name>QUrlInfo</name> + </class> + <class> + <name>QUrlInterface</name> + </class> + <class> + <name>QUrl</name> + </class> + <class> + <name>QUrlOperatorEventHandling</name> + </class> + <class> + <name>QUrlOperator</name> + </class> + <class> + <name>QUrlOperatorSignals</name> + </class> + <class> + <name>QUtf16Codec</name> + </class> + <class> + <name>QUtf8Codec</name> + </class> + <class> + <name>QUuid</name> + </class> + <class> + <name>QValidator</name> + </class> + <class> + <name>QVariant</name> + </class> + <class> + <name>QVBoxEventHandling</name> + </class> + <class> + <name>QVBox</name> + </class> + <class> + <name>QVBoxLayoutEventHandling</name> + </class> + <class> + <name>QVBoxLayout</name> + </class> + <class> + <name>QVBoxLayoutSignals</name> + </class> + <class> + <name>QVBoxSignals</name> + </class> + <class> + <name>QVButtonGroupEventHandling</name> + </class> + <class> + <name>QVButtonGroup</name> + </class> + <class> + <name>QVButtonGroupSignals</name> + </class> + <class> + <name>QVGroupBoxEventHandling</name> + </class> + <class> + <name>QVGroupBox</name> + </class> + <class> + <name>QVGroupBoxSignals</name> + </class> + <class> + <name>QWhatsThis</name> + </class> + <class> + <name>QWheelEvent</name> + </class> + <class> + <name>QWidgetEventHandling</name> + </class> + <class> + <name>QWidgetItem</name> + </class> + <class> + <name>QWidget</name> + </class> + <class> + <name>QWidgetSignals</name> + </class> + <class> + <name>QWidgetStackEventHandling</name> + </class> + <class> + <name>QWidgetStack</name> + </class> + <class> + <name>QWidgetStackSignals</name> + </class> + <class> + <name>QWindowsStyleEventHandling</name> + </class> + <class> + <name>QWindowsStyle</name> + </class> + <class> + <name>QWindowsStyleSignals</name> + </class> + <class> + <name>QWizardEventHandling</name> + </class> + <class> + <name>QWizard</name> + </class> + <class> + <name>QWizardSignals</name> + </class> + <class> + <name>QWMatrix</name> + </class> + <class> + <name>QWorkspaceEventHandling</name> + </class> + <class> + <name>QWorkspace</name> + </class> + <class> + <name>QWorkspaceSignals</name> + </class> + <class> + <name>QXmlAttributes</name> + </class> + <class> + <name>QXmlContentHandlerInterface</name> + </class> + <class> + <name>QXmlContentHandler</name> + </class> + <class> + <name>QXmlDeclHandlerInterface</name> + </class> + <class> + <name>QXmlDeclHandler</name> + </class> + <class> + <name>QXmlDefaultHandler</name> + </class> + <class> + <name>QXmlDTDHandlerInterface</name> + </class> + <class> + <name>QXmlDTDHandler</name> + </class> + <class> + <name>QXmlEntityResolverInterface</name> + </class> + <class> + <name>QXmlEntityResolver</name> + </class> + <class> + <name>QXmlErrorHandlerInterface</name> + </class> + <class> + <name>QXmlErrorHandler</name> + </class> + <class> + <name>QXmlInputSource</name> + </class> + <class> + <name>QXmlLexicalHandlerInterface</name> + </class> + <class> + <name>QXmlLexicalHandler</name> + </class> + <class> + <name>QXmlLocator</name> + </class> + <class> + <name>QXmlNamespaceSupport</name> + </class> + <class> + <name>QXmlParseException</name> + </class> + <class> + <name>QXmlReader</name> + </class> + <class> + <name>QXmlSimpleReader</name> + </class> +</Qt> + diff --git a/qtjava/designer/juic/common/classes.xsl b/qtjava/designer/juic/common/classes.xsl new file mode 100644 index 00000000..c6acbfa4 --- /dev/null +++ b/qtjava/designer/juic/common/classes.xsl @@ -0,0 +1,231 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ** Author: Marco Ladermann + ** Date: Wed Jan 29 08:41:56 CET 2003 @362 /Internet Time/ + ** Purpose: Convert tags in the UI file to Qt classes + ** Changed: + ** + ** This software is free software. It is released under the terms of the + ** GNU Lesser General Public Licence (LGPL) + ** see http://www.gnu.org/copyleft/lesser.html + ** + ** These stylesheets are distributed in the hope that they will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + --> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:kde="http://kde.org/functions" +> + + <!-- + ** Start of mode 'classes' + ** The patterns with mode "classes" construct a + ** result tree fragment of "class" elements with the + ** Qt classes that should be used for a ui tag. + --> + <xsl:template match="action" mode="classes"> + <class>QAction</class> + <class>QKeySequence</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="actiongroup" mode="classes"> + <class>QActionGroup</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="color" mode="classes"> + <class>QColor</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="cursor" mode="classes"> + <class>QCursor</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="font" mode="classes"> + <class>QFont</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="grid" mode="classes"> + <class>QGridLayout</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="hbox" mode="classes"> + <class>QHBoxLayout</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="iconset" mode="classes"> + <class>QIconSet</class> + <class>QPixmap</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="item" mode="classes"> + <xsl:if test="name(..) = 'widget'"> + <class><xsl:value-of select="concat(../@class, 'Item')"/></class> + </xsl:if> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="menubar" mode="classes"> + <class>QMenuBar</class> + <class>QPopupMenu</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="pixmap" mode="classes"> + <class>QPixmap</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="rect" mode="classes"> + <class>QRect</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="size" mode="classes"> + <xsl:if test="not(name(../..) = 'spacer')"> + <class>QSize</class> + </xsl:if> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="sizepolicy" mode="classes"> + <class>QSizePolicy</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="spacer" mode="classes"> + <class>QSpacerItem</class> + <class>QSizePolicy</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="toolbar" mode="classes"> + <class>QToolBar</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="vbox" mode="classes"> + <class>QVBoxLayout</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="palette" mode="classes"> + <class>QPalette</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="active|disabled|inactive" mode="classes"> + <class>QColorGroup</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="signal|slot" mode="classes"> + <xsl:message>Check <xsl:value-of select="name()"/>: <xsl:value-of select="."/></xsl:message> + <xsl:call-template name="kde:classes-in-signature"> + <xsl:with-param name="signature" select="."/> + </xsl:call-template> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="widget" mode="classes"> + <xsl:choose> + <xsl:when test="@class = 'QLayoutWidget'"> + <class>QWidget</class> + </xsl:when> + <xsl:when test="@class = 'QDataBrowser'"> + <class>QDataBrowser</class> + <class>QSqlForm</class> + </xsl:when> + <xsl:otherwise> + <class><xsl:value-of select="@class"/></class> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="property[@name = 'accel']" mode="classes"> + <class>QKeySequence</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="property[@name = 'toolTip']" mode="classes"> + <class>QToolTip</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="property[@name = 'whatsThis']" mode="classes"> + <class>QWhatsThis</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="property[@name = 'database']" mode="classes"> + <class>QSqlDatabase</class> + <class>QSqlCursor</class> + <xsl:apply-templates mode="classes"/> + </xsl:template> + + <xsl:template match="text()|@*" mode="classes"/> + + <!-- + ** End of mode 'classes' + --> + + <!-- + ** A mode to get classes corresponding to the tag names. This templates + ** do not recurse and return a simple text value + --> + <xsl:template match="action" mode="toClass"> + <xsl:text>QAction</xsl:text> + </xsl:template> + <xsl:template match="actiongroup" mode="toClass"> + <xsl:text>QActionGroup</xsl:text> + </xsl:template> + <xsl:template match="grid" mode="toClass"> + <xsl:text>QGridLayout</xsl:text> + </xsl:template> + <xsl:template match="hbox" mode="toClass"> + <xsl:text>QHBoxLayout</xsl:text> + </xsl:template> + <xsl:template match="iconset" mode="toClass"> + <xsl:text>QIconSet</xsl:text> + </xsl:template> + <xsl:template match="menubar" mode="toClass"> + <xsl:text>QMenuBar</xsl:text> + </xsl:template> + <xsl:template match="pixmap" mode="toClass"> + <xsl:text>QPixmap</xsl:text> + </xsl:template> + <xsl:template match="spacer" mode="toClass"> + <xsl:text>QSpacerItem</xsl:text> + </xsl:template> + <xsl:template match="toolbar" mode="toClass"> + <xsl:text>QToolBar</xsl:text> + </xsl:template> + <xsl:template match="vbox" mode="toClass"> + <xsl:text>QVBoxLayout</xsl:text> + </xsl:template> + <xsl:template match="widget" mode="toClass"> + <xsl:choose> + <xsl:when test="@class = 'QLayoutWidget'"> + <class>QWidget</class> + </xsl:when> + <xsl:otherwise> + <class><xsl:value-of select="@class"/></class> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + <xsl:template match="*" mode="toClass"> + <xsl:message terminate="yes">Upps! Which class? <xsl:value-of select="name(.)"/></xsl:message> + </xsl:template> + +</xsl:stylesheet> + diff --git a/qtjava/designer/juic/common/main.xsl b/qtjava/designer/juic/common/main.xsl new file mode 100644 index 00000000..fd18d274 --- /dev/null +++ b/qtjava/designer/juic/common/main.xsl @@ -0,0 +1,568 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- + ** Author: Marco Ladermann (<marco.ladermann@gmx.de>) + ** Date: Sat Feb 01 18:26:59 CET 2003 @768 /Internet Time/ + ** + ** This software is free software. It is released under the terms of the + ** GNU Lesser General Public Licence (LGPL) + ** see http://www.gnu.org/copyleft/lesser.html + ** + ** These stylesheets are distributed in the hope that they will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + --> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exsl="http://exslt.org/common" + xmlns:set="http://exslt.org/sets" + extension-element-prefixes="exsl set" +> + <xsl:import href="classes.xsl"/> + <xsl:import href="properties.xsl"/> + + <xsl:output encoding="utf-8" indent="no" method="text"/> + + <!-- + <xsl:variable name="QtClasses" select="document('QtClasses.xml')"/> + --> + + <!-- + ** Matching the root node call named templates to do all the work + ** @param data opaque data for user purpose + --> + <xsl:template match="/" mode="main"> + <xsl:param name="data"/> + <xsl:message>Java package : "<xsl:value-of select="$package"/>"</xsl:message> + <xsl:message>Abstract slots : "<xsl:value-of select="$abstract"/>"</xsl:message> + <xsl:message>Method main : "<xsl:value-of select="$main"/>"</xsl:message> + <xsl:message>Image directory : "<xsl:value-of select="$images"/>"</xsl:message> + <xsl:message>Output directory: "<xsl:value-of select="$outdir"/>"</xsl:message> + <xsl:message>OS type : "<xsl:value-of select="$os"/>"</xsl:message> + <xsl:message></xsl:message> + <xsl:if test="$abstract and $main"> + <xsl:message>Class will be abstract without main method</xsl:message> + </xsl:if> + <xsl:call-template name="createFileHeader"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:call-template name="createClassPreamble"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:call-template name="createClassHeader"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:call-template name="createInstanceVariables"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:call-template name="createConstructors"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:call-template name="createSlots"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:call-template name="createMethods"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:call-template name="createMain"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:call-template name="createClassFooter"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- + ** Create the file header + ** @param data opaque data for user purpose + --> + <xsl:template name="createFileHeader"> + <xsl:param name="data"/> + <xsl:call-template name="putFileHeader"> + <xsl:with-param name="comment" select="/UI/comment"/> + <xsl:with-param name="author" select="/UI/author"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- + ** Finds all Qt classes to import and forwards a set of them to the + ** template "putClassPreamble". The set of classes is given as a set + ** of class-tagged names. + ** @param data opaque data for user purpose + --> + <xsl:template name="createClassPreamble"> + <xsl:param name="data"/> + <xsl:variable name="classes.tf"> + <xsl:if test="not($abstract) and $main"> + <xsl:choose> + <xsl:when test="$kde"> + <class>KApplication</class> + <class>KCmdLineArgs</class> + </xsl:when> + <xsl:otherwise> + <class>QApplication</class> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + <class>QWidget</class> + <xsl:apply-templates mode="classes"/> + </xsl:variable> + <xsl:variable name="classes.ns" select="exsl:node-set($classes.tf)"/> + <xsl:variable name="classes" select="set:distinct($classes.ns/class)"/> + + <xsl:variable name="sortedClasses"> + <xsl:for-each select="exsl:node-set($classes)"> + <xsl:sort/> + <class><xsl:value-of select="."/></class> + </xsl:for-each> + </xsl:variable> + + <xsl:call-template name="putClassPreamble"> + <xsl:with-param name="classes" select="exsl:node-set($sortedClasses)"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- + ** Create the class header + ** @param data opaque data for user purpose + --> + <xsl:template name="createClassHeader"> + <xsl:param name="data"/> + <xsl:call-template name="putClassHeader"> + <xsl:with-param name="extends" select="/UI/widget/@class"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- + ** Create the instance variables + ** @param data opaque data for user purpose + --> + <xsl:template name="createInstanceVariables"> + <xsl:param name="data"/> + <xsl:call-template name="putVariables"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:apply-templates mode="declareInstances" select="/UI"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + </xsl:template> + + <!-- + ** Create the constructors + ** @param data opaque data for user purpose + --> + <xsl:template name="createConstructors"> + <xsl:param name="data"/> + <xsl:call-template name="putConstructors"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- + ** Create the slots + ** @param data opaque data for user purpose + --> + <xsl:template name="createSlots"> + <xsl:param name="data"/> + <xsl:for-each select="/UI/slots/slot | /UI/connections/slot"> + <xsl:call-template name="putSlot"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:for-each> + </xsl:template> + + <!-- + ** Create the signals + ** @param data opaque data for user purpose + --> + <xsl:template name="createSignals"> + <xsl:param name="data"/> + <xsl:for-each select="/UI/signals/signal"> + <xsl:call-template name="putSignal"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:for-each> + </xsl:template> + + <!-- + ** Create the methods + ** @param data opaque data for user purpose + --> + <xsl:template name="createMethods"> + <xsl:param name="data"/> + <xsl:call-template name="putMethods"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- + ** Create the main class + ** @param data opaque data for user purpose + --> + <xsl:template name="createMain"> + <xsl:param name="data"/> + <xsl:call-template name="putMain"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- + ** Create the class header, i.e. the class declaration and + ** the declaration of the instance variables + ** @param data opaque data for user purpose + --> + <xsl:template name="createClassFooter"> + <xsl:param name="data"/> + <xsl:call-template name="putClassFooter"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- + ** Create the instance definitions + ** @param data opaque data for user purpose + --> + <xsl:template name="createInstanceDefinitions"> + <xsl:param name="data"/> + <xsl:apply-templates mode="defineInstances" select="/UI/widget"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + </xsl:template> + + <!-- + ** Create the database definitions + ** @param data opaque data for user purpose + --> + <xsl:template name="createDatabaseDefinitions"> + <xsl:param name="data"/> + <xsl:for-each select="//widget[@class = 'QDataBrowser']"> + <xsl:call-template name="putDatabaseDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:for-each> + </xsl:template> + + <!-- + ** Create the action definitions + ** @param data opaque data for user purpose + --> + <xsl:template name="createActionDefinitions"> + <xsl:param name="data"/> + <xsl:apply-templates mode="defineActions" select="/UI/actions/*"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + </xsl:template> + + <!-- + ** Create the toolbar definitions + ** @param data opaque data for user purpose + --> + <xsl:template name="createToolbarDefinitions"> + <xsl:param name="data"/> + <xsl:apply-templates mode="toolbar" select="/UI/toolbars/toolbar"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + </xsl:template> + + <!-- + ** Create the menubar definitions + ** @param data opaque data for user purpose + --> + <xsl:template name="createMenubarDefinitions"> + <xsl:param name="data"/> + <xsl:apply-templates mode="menubar" select="/UI/menubar"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + </xsl:template> + + <!-- + ** Create the connection definitions + ** @param data opaque data for user purpose + --> + <xsl:template name="createConnectionDefinitions"> + <xsl:param name="data"/> + <xsl:for-each select="/UI/connections/connection"> + <xsl:call-template name="putConnectionDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:for-each> + </xsl:template> + + <!-- + ** Create the tabstops definitions + ** @param data opaque data for user purpose + --> + <xsl:template name="createTabstopsDefinitions"> + <xsl:param name="data"/> + <xsl:if test="/UI/tabstops"> + <xsl:call-template name="putTabstops"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:if> + </xsl:template> + + + <!-- + ** Declare instance variables for all children objects of the + ** main widget, actions, menubars etc. + ** @param data opaque data for user purpose + --> + + <!-- Declare instances of all objects that are not QLayoutWidgets --> + <xsl:template match="property[(@name = 'name') and not(../@class = 'QLayoutWidget')]" mode="declareInstances" priority="1"> + <xsl:param name="data"/> + <xsl:call-template name="putInstanceVariable"><!-- call user hook --> + <xsl:with-param name="class"> + <xsl:apply-templates mode="toClass" select=".."/> + </xsl:with-param> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- Declare instances of all objects that are QLayoutWidgets not included in a hbox, vbox or grid --> + <xsl:template match="property[(@name = 'name') and (../@class = 'QLayoutWidget') and (count(ancestor::hbox|ancestor::vbox|ancestor::grid)=0)]" mode="declareInstances"> + <xsl:param name="data"/> + <xsl:message>Declare a QLayoutWidget</xsl:message> + <xsl:call-template name="putInstanceVariable"><!-- call user hook --> + <xsl:with-param name="class"> + <xsl:apply-templates mode="toClass" select=".."/> + </xsl:with-param> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <xsl:template match="menubar/item" mode="declareInstances"> + <xsl:param name="data"/> + <xsl:call-template name="putInstanceVariable"><!-- call user hook --> + <xsl:with-param name="class"> + <class>QPopupMenu</class> + </xsl:with-param> + <xsl:with-param name="name" select="@name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- leave out the main widget --> + <xsl:template match="/UI/widget" mode="declareInstances" priority="1"> + <xsl:param name="data"/> + <xsl:apply-templates mode="declareInstances" select="widget|grid|hbox|vbox"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + </xsl:template> + <!-- descent --> + <xsl:template match="widget|grid|hbox|vbox" mode="declareInstances"> + <xsl:param name="data"/> + <xsl:apply-templates mode="declareInstances" select="*"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + </xsl:template> + <xsl:template match="text()|@*" mode="declareInstances"/> + + <!-- + ** + ** The following templates generate the definitions of the instance variables. + ** They are called/applied in the "putConstructor" template + ** + --> + + <!-- Match the toplevel widget --> + <xsl:template match="/UI/widget" mode="defineInstances" priority="1"> + <xsl:param name="data"/> + <xsl:call-template name="putTopLevelWindowDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:apply-templates mode="defineInstances"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + </xsl:template> + + <!-- Match subsequent widgets --> + <xsl:template match="widget[@class = 'QLayoutWidget']" mode="defineInstances" priority="1"> + <xsl:param name="data"/> + <xsl:if test="count(ancestor::hbox|ancestor::vbox|ancestor::grid)=0"> + <xsl:call-template name="putWidgetDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:if> + <xsl:apply-templates mode="defineInstances"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + </xsl:template> + <!-- Match subsequent widgets --> + <xsl:template match="widget[not(@class = 'QLayoutWidget')]" mode="defineInstances"> + <xsl:param name="data"/> + <xsl:call-template name="putWidgetDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:apply-templates mode="defineInstances"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + </xsl:template> + + <!-- Match layout tags --> + <xsl:template match="grid|hbox|vbox" mode="defineInstances"> + <xsl:param name="data"/> + <xsl:variable name="class"> + <xsl:apply-templates mode="toClass" select="."/> + </xsl:variable> + <xsl:call-template name="putLayoutDefinition"> + <xsl:with-param name="class" select="$class"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:apply-templates mode="defineInstances"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + <xsl:for-each select="widget|spacer"> + <xsl:call-template name="putLayoutContentDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:for-each> + </xsl:template> + + <!-- Match column tags --> + <xsl:template match="column" mode="defineInstances"> + <xsl:param name="data"/> + <xsl:call-template name="putColumnDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- Match row tags --> + <xsl:template match="row" mode="defineInstances"> + <xsl:param name="data"/> + <xsl:call-template name="putRowDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- Match item tags --> + <xsl:template match="item" mode="defineInstances"> + <xsl:param name="data"/> + <xsl:variable name="containerClass"> + <xsl:apply-templates mode="toClass" select=".."/> + </xsl:variable> + <xsl:call-template name="putItemDefinition"> + <xsl:with-param name="class" select="$containerClass"/> + <xsl:with-param name="number" select="count(preceding-sibling::item)"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- Match spacer tags --> + <xsl:template match="spacer" mode="defineInstances"> + <xsl:param name="data"/> + <xsl:call-template name="putSpacerDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <!-- <xsl:apply-templates mode="defineInstances"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + --> + </xsl:template> + + <xsl:template match="property[not(@name = 'name')]" mode="defineInstances"> + <xsl:param name="data"/> + <xsl:apply-templates mode="property"> + <xsl:with-param name="name" select="@name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + </xsl:template> + + <!-- Ignore everything else --> + <xsl:template match="text()|@*" mode="defineInstances"/> + + <!-- ACTIONS --> + <xsl:template match="action" mode="defineActions"> + <xsl:param name="data"/> + <xsl:call-template name="putActionDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:apply-templates select="*" mode="defineInstances"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + </xsl:template> + <xsl:template match="actiongroup" mode="defineActions"> + <xsl:param name="data"/> + <xsl:call-template name="putActionGroupDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:apply-templates select="*" mode="defineActions"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + </xsl:template> + <!-- Ignore everything else --> + <xsl:template match="*|text()|@*" mode="defineActions"/> + + <!-- + ** Match menubar + --> + <xsl:template match="menubar" mode="menubar"> + <xsl:param name="data"/> + <xsl:call-template name="putMenubarDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:apply-templates mode="menubar"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template match="item" mode="menubar"> + <xsl:param name="data"/> + <xsl:call-template name="putMenubarItemDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:apply-templates mode="menubar"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template match="action" mode="menubar"> + <xsl:param name="data"/> + <xsl:call-template name="putMenubarActionDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <xsl:template match="separator" mode="menubar"> + <xsl:param name="data"/> + <xsl:call-template name="putMenubarSeperatorDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <xsl:template match="*|text()|@*" mode="menubar"/> + + <!-- + ** Match Toolbar + --> + <xsl:template match="toolbar" mode="toolbar"> + <xsl:param name="data"/> + <xsl:call-template name="putToolbarDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + <xsl:apply-templates mode="toolbar"> + <xsl:with-param name="data" select="$data"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template match="action" mode="toolbar"> + <xsl:param name="data"/> + <xsl:call-template name="putToolbarActionDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <xsl:template match="separator" mode="toolbar"> + <xsl:param name="data"/> + <xsl:call-template name="putToolbarSeperatorDefinition"> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <xsl:template match="*|text()|@*" mode="toolbar"/> + +</xsl:stylesheet> + diff --git a/qtjava/designer/juic/common/properties.xsl b/qtjava/designer/juic/common/properties.xsl new file mode 100644 index 00000000..3f6283ad --- /dev/null +++ b/qtjava/designer/juic/common/properties.xsl @@ -0,0 +1,198 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ** Author: Marco Ladermann <marco.ladermann@gmx.de> + ** Date: Thu Sep 12 21:57:42 CEST 2002 @873 /Internet Time/ + ** + ** This software is free software. It is released under the terms of the + ** GNU Lesser General Public Licence (LGPL) + ** see http://www.gnu.org/copyleft/lesser.html + ** + ** These stylesheets are distributed in the hope that they will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + --> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exsl="http://exslt.org/common" + xmlns:kde="http://kde.org/functions" +> + + <!-- call user hook for string property --> + <xsl:template match="string" mode="property"> + <xsl:param name="name"/> + <xsl:param name="data"/> + <xsl:call-template name="putStringProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- call user hook for string property --> + <xsl:template match="stringlist" mode="property"> + <xsl:param name="name"/> + <xsl:param name="data"/> + <xsl:call-template name="putStringlistProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <xsl:template match="comment" mode="property"/> + + <!-- call user hook for boolean property --> + <xsl:template match="bool" mode="property"> + <xsl:param name="name"/> + <xsl:param name="data"/> + <xsl:call-template name="putBoolProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- call user hook for a cstring property--> + <xsl:template match="cstring" mode="property"> + <xsl:param name="name"/> + <xsl:param name="data"/> + <xsl:call-template name="putCstringProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- call user hook for a color property--> + <xsl:template match="color" mode="property"> + <xsl:param name="name"/> + <xsl:param name="data"/> + <xsl:call-template name="putColorProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- call user hook for cursor value properties --> + <xsl:template match="cursor" mode="property"> + <xsl:param name="name"/> + <xsl:param name="data"/> + <xsl:call-template name="putCursorProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- call user hook for integer value properties --> + <xsl:template match="number" mode="property"> + <xsl:param name="name"/> + <xsl:param name="data"/> + <xsl:call-template name="putNumberProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- call user hook for enum value properties --> + <xsl:template match="enum" mode="property"> + <xsl:param name="name"/> + <xsl:param name="data"/> + <xsl:call-template name="putEnumProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- call user hook for pixmap value properties --> + <xsl:template match="pixmap" mode="property"> + <xsl:param name="name"/> + <xsl:param name="data"/> + <xsl:call-template name="putPixmapProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- call user hook for point value properties --> + <xsl:template match="point" mode="property"> + <xsl:param name="data"/> + <xsl:param name="name"/> + <xsl:call-template name="putPointProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- call user hook for rectangular value properties --> + <xsl:template match="rect" mode="property"> + <xsl:param name="name"/> + <xsl:param name="data"/> + <xsl:call-template name="putRectProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- call user hook for set value properties --> + <xsl:template match="set" mode="property"> + <xsl:param name="name"/> + <xsl:param name="data"/> + <xsl:call-template name="putSetProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- call user hook for size value properties --> + <xsl:template match="size" mode="property"> + <xsl:param name="name"/> + <xsl:param name="data"/> + <xsl:call-template name="putSizeProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- call user hook for sizepolicy properties --> + <xsl:template match="sizepolicy" mode="property"> + <xsl:param name="name"/> + <xsl:param name="data"/> + <xsl:call-template name="putSizepolicyProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- call user hook for font properties --> + <xsl:template match="font" mode="property"> + <xsl:param name="name"/> + <xsl:param name="data"/> + <xsl:call-template name="putFontProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- call user hook for palette properties --> + <xsl:template match="palette" mode="property"> + <xsl:param name="name"/> + <xsl:param name="data"/> + <xsl:call-template name="putPaletteProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <!-- call user hook for iconSet properties --> + <xsl:template match="iconset" mode="property"> + <xsl:param name="name"/> + <xsl:param name="data"/> + <xsl:call-template name="putIconsetProperty"> + <xsl:with-param name="property" select="$name"/> + <xsl:with-param name="data" select="$data"/> + </xsl:call-template> + </xsl:template> + + <xsl:template match="*" mode="property"> + <xsl:message>WARNING: Unknown property type "<xsl:value-of select="name()"/>" at <xsl:value-of select="kde:printPath(.)"/></xsl:message> + </xsl:template> + <xsl:template match="@*|text()" mode="property"/> +</xsl:stylesheet> + diff --git a/qtjava/designer/juic/common/util.xsl b/qtjava/designer/juic/common/util.xsl new file mode 100644 index 00000000..9432b468 --- /dev/null +++ b/qtjava/designer/juic/common/util.xsl @@ -0,0 +1,302 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- + ** Author: Marco Ladermann + ** Date: Thu Sep 12 18:57:21 CEST 2002 @831 /Internet Time/ + ** Purpose: + ** Changed: + ** + ** This software is free software. It is released under the terms of the + ** GNU Lesser General Public Licence (LGPL) + ** see http://www.gnu.org/copyleft/lesser.html + ** + ** These stylesheets are distributed in the hope that they will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + --> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exsl="http://exslt.org/common" + xmlns:func="http://exslt.org/functions" + xmlns:str="http://exslt.org/strings" + xmlns:kde="http://kde.org/functions" + extension-element-prefixes="func" +> + + <!-- + ** As a constant, we define a empty node set + --> + <xsl:variable name="emptyNodeSet" select="/no-such-node"/> + + <!-- + ** A constant to contain all 8-bit characters whith highest bit set. + ** Needed to check if strings contain utf-8 characters + --> + <xsl:variable name="c8" select="'€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'"/> + <xsl:variable name="tmp" select='"

'"'/> + <xsl:variable name="c7" select="concat($tmp, ' !"#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~')"/> + + <!-- Function: kde:if + ** @param bool + ** @param trueVal + ** @param falseVal + ** @return ( bool ) ? trueVal : falseVal + --> + <func:function name="kde:if"> + <xsl:param name="bool"/> + <xsl:param name="trueVal"/> + <xsl:param name="falseVal"/> + <func:result> + <xsl:choose> + <xsl:when test="$bool"><xsl:value-of select="$trueVal"/></xsl:when> + <xsl:otherwise><xsl:value-of select="$falseVal"/></xsl:otherwise> + </xsl:choose> + </func:result> + </func:function> + + <!-- Function: kde:index + ** @param string + ** @param substring + ** @return the index of "substring" in "string" + --> + <func:function name="kde:index"> + <xsl:param name="string"/> + <xsl:param name="substring"/> + <func:result select="string-length(substring-before($string, $substring))"/> + </func:function> + + <!-- + ** Function: replace + ** @param string, string to search + ** @param lookup, string to look up + ** @param replace, string to substitute + ** @return $string with all occurences of $lookup replaced by $replace + --> + <func:function name="kde:replace"> + <xsl:param name="string"/> + <xsl:param name="lookup"/> + <xsl:param name="replace"/> + <func:result> + <xsl:choose> + <xsl:when test="function-available('str:replace')"> + <xsl:value-of select="str:replace($string, $lookup, $replace)"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="replace-string"> + <xsl:with-param name="string" select="$string"/> + <xsl:with-param name="lookup" select="$lookup"/> + <xsl:with-param name="replace" select="$replace"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </func:result> + </func:function> + <!-- named helper template --> + <xsl:template name="replace-string"> + <xsl:param name="string"/> + <xsl:param name="lookup"/> + <xsl:param name="replace"/> + <xsl:variable name="first" select="substring-before($string, $lookup)"/> + <xsl:choose> + <xsl:when test="$first = ''"> + <xsl:value-of select="$string"/> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="rs"> + <xsl:call-template name="replace-string"> + <xsl:with-param name="string" select="substring-after($string, $lookup)"/> + <xsl:with-param name="lookup" select="$lookup"/> + <xsl:with-param name="replace" select="$replace"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="result" select="concat($first, $replace, $rs)"/> + <xsl:value-of select="$result"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- + ** Function: upper-case + ** @param string + ** @return string in upper case letter + --> + <func:function name="kde:upper-case"> + <xsl:param name="string"/> + <func:result select="translate($string, + 'abcdefghijklmnopqrstuvwxyz', + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/> + </func:function> + + + <!-- + ** Function: lower-case + ** @param string + ** @return string in upper case letter + --> + <func:function name="kde:lower-case"> + <xsl:param name="string"/> + <func:result select="translate($string, + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', + 'abcdefghijklmnopqrstuvwxyz')"/> + </func:function> + + <!-- + ** Function: upper-first + ** @param string + ** @return string with first character as upper case letter + --> + <func:function name="kde:upper-first"> + <xsl:param name="string"/> + <xsl:variable name="rest" select="substring($string, 2)"/> + <xsl:variable name="head" select="kde:upper-case(substring($string, 1, 1))"/> + <func:result> + <xsl:value-of select="concat($head, $rest)"/> + </func:result> + </func:function> + + <!-- + ** Function: isUtf8 + ** @param string + ** @return true if and only if string contains a character > 255 + --> + <func:function name="kde:isUtf8"> + <xsl:param name="string"/> + <xsl:variable name="rest" select="substring($string, 2)"/> + <xsl:variable name="head" select="substring($string, 1, 1)"/> + <func:result> + <xsl:choose> + <xsl:when test="string-length($string) = 0"> + <xsl:value-of select="false()"/> + </xsl:when> + <xsl:when test="contains($c8, $head) or not(contains($c7, $head))"> + <xsl:value-of select="true()"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="kde:isUtf8($rest)"/> + </xsl:otherwise> + </xsl:choose> + </func:result> + </func:function> + + <!-- + ** Function: repeat + ** @param string + ** @param times + ** @return 'times' copies of string + --> + <func:function name="kde:repeat"> + <xsl:param name="string"/> + <xsl:param name="times"/> + <xsl:variable name="copy" select="$string"/> + <func:result> + <xsl:choose> + <xsl:when test="$times <= 0"><xsl:value-of select="''"/></xsl:when> + <xsl:otherwise> + <xsl:value-of select="concat($string, kde:repeat($copy, $times - 1))"/> + </xsl:otherwise> + </xsl:choose> + </func:result> + </func:function> + + <!-- + ** Function: getNodeName + ** @param node + ** @return the (variable) name of a node + --> + <func:function name="kde:getNodeName"> + <xsl:param name="node" select="."/> + <func:result> + <xsl:variable name="variableName"> + <xsl:call-template name="getNodeName"> + <xsl:with-param name="node" select="$node"/> + </xsl:call-template> + </xsl:variable> + <xsl:value-of select="translate(normalize-space($variableName),' ','')" /> + </func:result> + </func:function> + <xsl:template name="getNodeName"> + <xsl:param name="node" select="."/> + <xsl:variable name="name" select="$node/property[@name = 'name']/cstring"/> + <xsl:choose> + <xsl:when test="$name = 'unnamed'"> + <xsl:call-template name="getNodeName"> + <xsl:with-param name="node" select="$node/.."/> + </xsl:call-template> + <xsl:value-of select="kde:upper-first(name($node))"/> + <xsl:variable name="precedingUnnamed" select="count($node/preceding::*[name() = name($node)]/property[@name='name' and cstring = 'unnamed'])"/> + <xsl:if test="$precedingUnnamed > 0"> + <xsl:value-of select="$precedingUnnamed + 1"/> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$name"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- + ** Templates to "print" xml in text output mode + --> + <xsl:template match="*" mode="print"> + <xsl:value-of select="concat('<', name())"/> + <xsl:apply-templates select="@*" mode="print"/> + <xsl:value-of select="'>'"/> + <xsl:apply-templates mode="print"/> + <xsl:value-of select="concat('</', name(), '>')"/> + </xsl:template> + <xsl:template match="@*" mode="print"> + <xsl:value-of select="concat(' ', name(), '="', ., '"')"/> + </xsl:template> + + + <!-- + ** Print the path from the root to a given node + --> + <func:function name="kde:printPath"> + <xsl:param name="node"/> + <xsl:param name="path" select="''"/> + <func:result> + <xsl:choose> + <xsl:when test="$node = /UI"> + <xsl:value-of select="concat('/UI', $path)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="kde:printPath($node/.., + concat('/', + name($node), + '[', + count($node/preceding-sibling::*[name() = name($node)]) + 1, + ']', + $path))"/> + </xsl:otherwise> + </xsl:choose> + </func:result> + </func:function> + + <!-- + ** Return qt and kde classes used in signal/slot signature + --> + <xsl:template name="kde:classes-in-signature"> + <xsl:param name="signature"/> + <xsl:variable name="sig" select="kde:replace( + substring-before( + substring-after( + translate($signature, '&*,', ' '), + '(' + ), + ')' + ), + 'QString', + 'String')"/> + <xsl:for-each select="str:split($sig)"> + <xsl:variable name="prefix" select="substring(., 1, 1)"/> + <xsl:if test="$prefix = 'Q' or $prefix = 'K'"> + <xsl:element name="class"> + <xsl:value-of select="."/> + </xsl:element> + </xsl:if> + </xsl:for-each> + </xsl:template> + +</xsl:stylesheet> + |