From 6964feed838dec70e7743ea90b390e4ae706d3c9 Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Thu, 3 Oct 2024 17:43:38 +0900 Subject: [PATCH] Remove obsolete Netscape plugin and its classes Signed-off-by: Michele Calgaro --- doc/html/annotated.html | 4 - doc/html/classes.html | 18 +- doc/html/examples.html | 1 - doc/html/functions.html | 99 +- doc/html/grapher-nsplugin-example.html | 704 ------ doc/html/headerfilesynonyms | 4 - doc/html/headers.html | 1 - doc/html/hierarchy.html | 4 - doc/html/index | 60 - doc/html/modules.html | 1 - doc/html/netscape-plugin.html | 129 - doc/html/nsplugin-examples.html | 51 - doc/html/overviews-list.html | 1 - doc/html/qt.dcf | 84 - doc/html/titleindex | 13 - doc/html/tqasciidict.html | 2 +- doc/html/tqcache.html | 2 +- doc/html/tqcolor.html | 2 +- doc/html/tqdict.html | 2 +- doc/html/tqfontmetrics.html | 2 +- doc/html/tqintdict.html | 2 +- doc/html/tqiodevice.html | 3 - doc/html/tqmenubar.html | 2 - doc/html/tqmenudata.html | 2 +- doc/html/tqmessagebox.html | 3 +- doc/html/tqnp-h.html | 231 -- doc/html/tqnpinstance-members.html | 112 - doc/html/tqnpinstance.html | 320 --- doc/html/tqnplugin-members.html | 58 - doc/html/tqnplugin.html | 180 -- doc/html/tqnpstream-members.html | 58 - doc/html/tqnpstream.html | 129 - doc/html/tqnpwidget-members.html | 340 --- doc/html/tqnpwidget.html | 126 - doc/html/tqobject.html | 4 +- doc/html/tqpainter.html | 12 +- doc/html/tqpixmap.html | 4 +- doc/html/tqpopupmenu.html | 4 +- doc/html/tqptrcollection.html | 2 +- doc/html/tqptrdict.html | 2 +- doc/html/tqptrlist.html | 10 +- doc/html/tqptrvector.html | 2 +- doc/html/tqtextstream.html | 2 +- doc/html/tqwidget.html | 4 +- doc/html/trivial-nsplugin-example.html | 125 - doc/html/whatsthis | 4 - doc/indices.doc | 12 - doc/man/man3/TQNPInstance.3qt | 1 - doc/man/man3/TQNPStream.3qt | 1 - doc/man/man3/TQNPWidget.3qt | 1 - doc/man/man3/TQNPlugin.3qt | 1 - doc/man/man3/tqasciidict.3qt | 2 +- doc/man/man3/tqcache.3qt | 2 +- doc/man/man3/tqcolor.3qt | 2 +- doc/man/man3/tqdict.3qt | 2 +- doc/man/man3/tqfontmetrics.3qt | 2 +- doc/man/man3/tqintdict.3qt | 2 +- doc/man/man3/tqiodevice.3qt | 6 - doc/man/man3/tqmenubar.3qt | 4 - doc/man/man3/tqmenudata.3qt | 2 +- doc/man/man3/tqmessagebox.3qt | 4 +- doc/man/man3/tqnpinstance.3qt | 290 --- doc/man/man3/tqnplugin.3qt | 157 -- doc/man/man3/tqnpstream.3qt | 114 - doc/man/man3/tqnpwidget.3qt | 129 - doc/man/man3/tqobject.3qt | 4 +- doc/man/man3/tqpainter.3qt | 12 +- doc/man/man3/tqpixmap.3qt | 4 +- doc/man/man3/tqpopupmenu.3qt | 4 +- doc/man/man3/tqptrcollection.3qt | 2 +- doc/man/man3/tqptrdict.3qt | 2 +- doc/man/man3/tqptrlist.3qt | 10 +- doc/man/man3/tqptrvector.3qt | 2 +- doc/man/man3/tqtextstream.3qt | 2 +- doc/man/man3/tqwidget.3qt | 4 +- doc/modules.doc | 1 - doc/overviews-list.doc | 1 - extensions/extensions.pro | 5 - extensions/nsplugin/doc/index.doc | 111 - .../nsplugin/examples/grapher/graph.cgi | 7 - .../nsplugin/examples/grapher/graph.g1n | 8 - .../nsplugin/examples/grapher/grapher.cpp | 619 ----- .../nsplugin/examples/grapher/grapher.def | 9 - .../nsplugin/examples/grapher/grapher.doc | 64 - .../nsplugin/examples/grapher/grapher.pro | 12 - .../nsplugin/examples/grapher/grapher.rc | 36 - .../nsplugin/examples/trivial/trivial.cpp | 67 - .../nsplugin/examples/trivial/trivial.def | 9 - .../nsplugin/examples/trivial/trivial.doc | 22 - .../nsplugin/examples/trivial/trivial.pro | 12 - .../nsplugin/examples/trivial/trivial.rc | 36 - extensions/nsplugin/src/jri.h | 637 ----- extensions/nsplugin/src/jri_md.h | 499 ---- extensions/nsplugin/src/jritypes.h | 179 -- extensions/nsplugin/src/npapi.h | 391 ---- extensions/nsplugin/src/npunix.c | 407 ---- extensions/nsplugin/src/npupp.h | 994 -------- extensions/nsplugin/src/npwin.cpp | 367 --- extensions/nsplugin/src/tqnp.cpp | 2071 ----------------- extensions/nsplugin/src/tqnp.h | 186 -- extensions/nsplugin/src/tqnp.pro | 14 - 101 files changed, 105 insertions(+), 10364 deletions(-) delete mode 100644 doc/html/grapher-nsplugin-example.html delete mode 100644 doc/html/netscape-plugin.html delete mode 100644 doc/html/nsplugin-examples.html delete mode 100644 doc/html/tqnp-h.html delete mode 100644 doc/html/tqnpinstance-members.html delete mode 100644 doc/html/tqnpinstance.html delete mode 100644 doc/html/tqnplugin-members.html delete mode 100644 doc/html/tqnplugin.html delete mode 100644 doc/html/tqnpstream-members.html delete mode 100644 doc/html/tqnpstream.html delete mode 100644 doc/html/tqnpwidget-members.html delete mode 100644 doc/html/tqnpwidget.html delete mode 100644 doc/html/trivial-nsplugin-example.html delete mode 100644 doc/man/man3/TQNPInstance.3qt delete mode 100644 doc/man/man3/TQNPStream.3qt delete mode 100644 doc/man/man3/TQNPWidget.3qt delete mode 100644 doc/man/man3/TQNPlugin.3qt delete mode 100644 doc/man/man3/tqnpinstance.3qt delete mode 100644 doc/man/man3/tqnplugin.3qt delete mode 100644 doc/man/man3/tqnpstream.3qt delete mode 100644 doc/man/man3/tqnpwidget.3qt delete mode 100644 extensions/extensions.pro delete mode 100644 extensions/nsplugin/doc/index.doc delete mode 100755 extensions/nsplugin/examples/grapher/graph.cgi delete mode 100644 extensions/nsplugin/examples/grapher/graph.g1n delete mode 100644 extensions/nsplugin/examples/grapher/grapher.cpp delete mode 100644 extensions/nsplugin/examples/grapher/grapher.def delete mode 100644 extensions/nsplugin/examples/grapher/grapher.doc delete mode 100644 extensions/nsplugin/examples/grapher/grapher.pro delete mode 100644 extensions/nsplugin/examples/grapher/grapher.rc delete mode 100644 extensions/nsplugin/examples/trivial/trivial.cpp delete mode 100644 extensions/nsplugin/examples/trivial/trivial.def delete mode 100644 extensions/nsplugin/examples/trivial/trivial.doc delete mode 100644 extensions/nsplugin/examples/trivial/trivial.pro delete mode 100644 extensions/nsplugin/examples/trivial/trivial.rc delete mode 100644 extensions/nsplugin/src/jri.h delete mode 100644 extensions/nsplugin/src/jri_md.h delete mode 100644 extensions/nsplugin/src/jritypes.h delete mode 100644 extensions/nsplugin/src/npapi.h delete mode 100644 extensions/nsplugin/src/npunix.c delete mode 100644 extensions/nsplugin/src/npupp.h delete mode 100644 extensions/nsplugin/src/npwin.cpp delete mode 100644 extensions/nsplugin/src/tqnp.cpp delete mode 100644 extensions/nsplugin/src/tqnp.h delete mode 100644 extensions/nsplugin/src/tqnp.pro diff --git a/doc/html/annotated.html b/doc/html/annotated.html index aebb2de7..60709674 100644 --- a/doc/html/annotated.html +++ b/doc/html/annotated.html @@ -250,10 +250,6 @@ body { background: #ffffff; color: black; } TQMovieIncremental loading of animations or images, signalling as it progresses TQMutexAccess serialization between threads TQMutexLockerSimplifies locking and unlocking TQMutexes -TQNPInstanceTQObject that is a web browser plugin -TQNPStreamStream of data provided to a TQNPInstance by the browser -TQNPWidgetTQWidget that is a web browser plugin window -TQNPluginThe main factory for plugin objects TQNetworkOperationCommon operations for network protocols TQNetworkProtocolCommon API for network protocols TQObjectThe base class of all TQt objects diff --git a/doc/html/classes.html b/doc/html/classes.html index 82149d62..a0122823 100644 --- a/doc/html/classes.html +++ b/doc/html/classes.html @@ -778,8 +778,8 @@ classes, see TQt's Main Classes. H TQHBox -TQNPInstance -* + + TQSqlSelectCursor TQXmlContentHandler @@ -789,8 +789,8 @@ classes, see TQt's Main Classes. TQHBoxLayout -TQNPlugin -* + + TQStatusBar TQXmlDeclHandler @@ -800,8 +800,8 @@ classes, see TQt's Main Classes. TQHButtonGroup -TQNPStream -* + + TQStoredDrag TQXmlDefaultHandler @@ -811,8 +811,8 @@ classes, see TQt's Main Classes. TQHeader -TQNPWidget -* + + TQStrIList TQXmlDTDHandler @@ -961,7 +961,7 @@ classes, see TQt's Main Classes. -

* Extension classes of Motif and Netscape. +

* Extension classes of Motif. diff --git a/doc/html/examples.html b/doc/html/examples.html index 83fd5972..33046591 100644 --- a/doc/html/examples.html +++ b/doc/html/examples.html @@ -62,7 +62,6 @@ in a line-by-line coverage please refer to the tutorials

Miscellaneous Examples

diff --git a/doc/html/functions.html b/doc/html/functions.html index 530ccbfe..cec33522 100644 --- a/doc/html/functions.html +++ b/doc/html/functions.html @@ -74,8 +74,7 @@ abort: TQPalette
  • activeModalWidget: TQApplication
  • activePopupWidget: TQApplication
  • activeWindow: - TQApplication TQWorkspace
  • actual: - TQNPlugin
  • add: + TQApplication TQWorkspace
  • add: TQActionGroup TQGridLayout TQLayout TQObjectCleanupHandler TQToolTip TQWhatsThis
  • addArgument: TQProcess
  • addBindValue: TQSqlQuery
  • addChild: @@ -163,11 +162,10 @@ abort: TQDockWindow
  • areaPoints: TQCanvasPolygon TQCanvasPolygonalItem
  • areaPointsAdvanced: TQCanvasPolygonalItem
  • arg: - TQNPInstance TQNetworkOperation TQString
  • argc: - TQApplication TQNPInstance
  • argn: - TQNPInstance
  • arguments: + TQNetworkOperation TQString
  • argc: + TQApplication
  • arguments: TQProcess
  • argv: - TQApplication TQNPInstance
  • arrangeItemsInGrid: + TQApplication
  • arrangeItemsInGrid: TQIconView
  • arrangement: TQIconView
  • arrowType: TQStyleOption
  • asBitArray: @@ -467,8 +465,7 @@ c: TQTranslatorMessage
  • communication: TQProcess
  • compare: TQIconViewItem TQListViewItem TQString
  • compareItems: - TQPtrList TQPtrVector
  • complete: - TQNPStream
  • compose: + TQPtrList TQPtrVector
  • compose: TQString
  • confirmCancel: TQDataBrowser TQDataTable
  • confirmCancels: TQDataBrowser TQDataTable
  • confirmDelete: @@ -544,7 +541,7 @@ c: TQMacMime
  • country: TQLocale
  • countryToString: TQLocale
  • create: - TQGLContext TQImage TQNPlugin TQSqlDriverPlugin TQStyleFactory TQStylePlugin TQWidget TQWidgetFactory TQWidgetPlugin
  • createAlphaMask: + TQGLContext TQImage TQSqlDriverPlugin TQStyleFactory TQStylePlugin TQWidget TQWidgetFactory TQWidgetPlugin
  • createAlphaMask: TQImage
  • createAttribute: TQDomDocument
  • createAttributeNS: TQDomDocument
  • createCDATASection: @@ -837,7 +834,7 @@ echoMode: TQFile
  • encodedData: TQDropEvent TQIconDrag TQMimeSource TQStoredDrag
  • encodedPathAndQuery: TQUrl
  • end: - TQImageConsumer TQLineEdit TQMap TQMemArray TQMultiLineEdit TQNPStream TQPainter TQValueList TQValueVector
  • endCDATA: + TQImageConsumer TQLineEdit TQMap TQMemArray TQMultiLineEdit TQPainter TQValueList TQValueVector
  • endCDATA: TQXmlLexicalHandler
  • endDTD: TQXmlLexicalHandler
  • endDocument: TQXmlContentHandler
  • endEdit: @@ -856,8 +853,7 @@ echoMode: TQIconView TQListView
  • ensureVisible: TQScrollView
  • enterAllocContext: TQColor
  • enterEvent: - TQWidget
  • enterInstance: - TQNPWidget
  • enterLoop: + TQWidget
  • enterLoop: TQEventLoop
  • enterWhatsThisMode: TQWhatsThis
  • entities: TQDomDocumentType
  • entityResolver: @@ -1025,29 +1021,20 @@ gamma: TQFontDialog
  • getHsv: TQColor
  • getInteger: TQInputDialog
  • getItem: - TQInputDialog
  • getJavaClass: - TQNPlugin
  • getJavaEnv: - TQNPlugin
  • getJavaPeer: - TQNPInstance
  • getLast: + TQInputDialog
  • getLast: TQPtrList
  • getLocation: - TQMainWindow
  • getMIMEDescription: - TQNPlugin
  • getMarkedRegion: + TQMainWindow
  • getMarkedRegion: TQMultiLineEdit
  • getNetworkProtocol: TQNetworkProtocol TQUrlOperator
  • getOpenFileName: TQFileDialog
  • getOpenFileNames: - TQFileDialog
  • getPluginDescriptionString: - TQNPlugin
  • getPluginNameString: - TQNPlugin
  • getRange: + TQFileDialog
  • getRange: TQSplitter
  • getRgb: TQColor
  • getRgba: TQColorDialog
  • getSaveFileName: TQFileDialog
  • getSelection: TQTextEdit
  • getText: - TQInputDialog
  • getURL: - TQNPInstance
  • getURLNotify: - TQNPInstance
  • getValidRect: - TQMovie
  • getVersionInfo: - TQNPlugin
  • getWFlags: + TQInputDialog
  • getValidRect: + TQMovie
  • getWFlags: TQWidget
  • getch: TQFile TQIODevice TQSocket
  • glDraw: TQGLWidget
  • glInit: @@ -1245,8 +1232,7 @@ icon: TQImageFormatPlugin
  • installIconFactory: TQIconSet
  • installPropertyMap: TQDataTable TQSqlForm
  • installTranslator: - TQApplication
  • instance: - TQNPStream TQNPWidget
  • intValue: + TQApplication
  • intValue: TQLCDNumber
  • internalEntityDecl: TQXmlDeclHandler
  • internalSubset: TQDomDocumentType
  • interpretText: @@ -1480,7 +1466,7 @@ label: TQDomNode
  • lastError: TQSqlDatabase TQSqlDriver TQSqlQuery TQSqlResult
  • lastItem: TQIconView TQListView
  • lastModified: - TQFileInfo TQNPStream TQUrlInfo
  • lastQuery: + TQFileInfo TQUrlInfo
  • lastQuery: TQSqlQuery TQSqlResult
  • lastRead: TQFileInfo TQUrlInfo
  • lastRecordAvailable: TQDataBrowser
  • lastResortFamily: @@ -1498,8 +1484,7 @@ label: TQFontMetrics
  • leapYear: TQDate
  • leaveAllocContext: TQColor
  • leaveEvent: - TQWidget
  • leaveInstance: - TQNPWidget
  • leaveWhatsThisMode: + TQWidget
  • leaveWhatsThisMode: TQWhatsThis
  • left: TQCString TQRect TQString
  • leftBearing: TQFontMetrics
  • leftCol: @@ -1666,7 +1651,7 @@ m11: TQChar
  • mixedColor: TQPlatinumStyle
  • mkdir: TQDir TQFtp TQUrlOperator
  • mode: - TQFileDialog TQIODevice TQLCDNumber TQNPInstance TQSqlCursor
  • modificationChanged: + TQFileDialog TQIODevice TQLCDNumber TQSqlCursor
  • modificationChanged: TQTextEdit
  • month: TQDate
  • motifWidget: TQMotifWidget
  • mouseButtonClicked: @@ -1716,14 +1701,10 @@ name: TQAccessibleInterface
  • newChild: TQNetworkProtocol
  • newChildren: TQNetworkProtocol TQUrlOperator
  • newConnection: - TQServerSocket
  • newInstance: - TQNPlugin
  • newItem: + TQServerSocket
  • newItem: TQPtrCollection
  • newLine: TQDockWindow TQMultiLineEdit
  • newPage: - TQPrinter
  • newStream: - TQNPInstance
  • newStreamCreated: - TQNPInstance
  • newWindow: - TQNPInstance
  • next: + TQPrinter
  • next: TQDataBrowser TQFocusData TQGLayoutIterator TQListBoxItem TQPtrList TQSqlQuery TQWizard TQXmlInputSource
  • nextButton: TQWizard
  • nextItem: TQIconViewItem
  • nextLine: @@ -1743,8 +1724,7 @@ name: TQDial
  • notchTarget: TQDial
  • notchesVisible: TQDial
  • notify: - TQApplication
  • notifyURL: - TQNPInstance
  • nrefs: + TQApplication
  • nrefs: TQMemArray
  • nullText: TQDataTable TQSqlDriver
  • numBitPlanes: TQColor
  • numBytes: @@ -1773,8 +1753,7 @@ object: TQCanvasPixmap
  • offsetY: TQCanvasPixmap
  • ok: TQServerSocket
  • okRename: - TQListViewItem
  • okay: - TQNPStream
  • oldPos: + TQListViewItem
  • oldPos: TQMoveEvent
  • oldSize: TQResizeEvent
  • onCanvas: TQCanvas
  • onItem: @@ -1943,8 +1922,7 @@ packImage: TQSqlRecord
  • positionFromValue: TQRangeControl
  • post: TQHttp
  • postEvent: - TQApplication
  • postURL: - TQNPInstance
  • precision: + TQApplication
  • precision: TQSqlFieldInfo TQTextStream
  • prefix: TQDomNode TQSpinBox TQXmlNamespaceSupport
  • prefixes: TQXmlNamespaceSupport
  • prepare: @@ -1965,9 +1943,7 @@ packImage: TQDesktopWidget
  • primeDelete: TQDataBrowser TQDataTable TQSqlCursor
  • primeInsert: TQDataBrowser TQDataTable TQSqlCursor
  • primeUpdate: - TQDataBrowser TQDataTable TQSqlCursor
  • print: - TQNPInstance
  • printFullPage: - TQNPInstance
  • printProgram: + TQDataBrowser TQDataTable TQSqlCursor
  • printProgram: TQPrinter
  • printRange: TQPrinter
  • printerName: TQPrinter
  • printerSelectionOption: @@ -2177,8 +2153,7 @@ rBottom: TQDomCharacterData
  • request: TQHttp
  • requestFinished: TQHttp
  • requestPhase2: - TQSessionManager
  • requestRead: - TQNPStream
  • requestStarted: + TQSessionManager
  • requestStarted: TQHttp
  • requestedFormat: TQGLContext
  • rereadDir: TQFileDialog
  • reserve: @@ -2284,8 +2259,7 @@ sRect: TQHeader
  • sectionRect: TQHeader
  • sectionSize: TQHeader
  • seek: - TQDataBrowser TQSqlQuery
  • seekable: - TQNPStream
  • segmentStyle: + TQDataBrowser TQSqlQuery
  • segmentStyle: TQLCDNumber
  • select: TQSqlCursor
  • selectAll: TQFileDialog TQIconView TQLineEdit TQListBox TQListView TQSpinBox TQTextEdit
  • selectCells: @@ -3125,7 +3099,7 @@ sRect: TQCheckListItem
  • stateChanged: TQButton TQCheckBox TQFtp TQHttp TQPushButton TQRadioButton
  • statistics: TQAsciiCache TQAsciiDict TQCache TQDict TQIntCache TQIntDict TQPtrDict
  • status: - TQIODevice TQImageIO TQNPInstance
  • statusBar: + TQIODevice TQImageIO
  • statusBar: TQMainWindow
  • statusCode: TQHttpResponseHeader
  • statusTip: TQAction
  • stencil: @@ -3137,9 +3111,7 @@ sRect: TQMovie
  • stereo: TQGLFormat
  • stop: TQNetworkProtocol TQSound TQTimer TQUrlOperator
  • stored: - TQMetaProperty
  • streamAsFile: - TQNPInstance
  • streamDestroyed: - TQNPInstance
  • stretch: + TQMetaProperty
  • stretch: TQFont
  • strikeOut: TQFont
  • strikeOutPos: TQFontMetrics
  • string: @@ -3344,7 +3316,7 @@ tab: TQApplication TQMutex
  • tryTerminate: TQProcess
  • turnOffChild: TQCheckListItem
  • type: - TQApplication TQCheckListItem TQEvent TQMetaProperty TQNPStream TQSocketDevice TQSocketNotifier TQSqlError TQSqlField TQSqlFieldInfo TQVariant TQXmlAttributes
  • typeID: + TQApplication TQCheckListItem TQEvent TQMetaProperty TQSocketDevice TQSocketNotifier TQSqlError TQSqlField TQSqlFieldInfo TQVariant TQXmlAttributes
  • typeID: TQSqlFieldInfo
  • typeName: TQVariant
  • typeToName: TQVariant
  • @@ -3373,8 +3345,7 @@ ucs2: TQWidget
  • unsetPalette: TQWidget
  • unsetf: TQTextStream
  • unsqueeze: - TQTranslator
  • unuseJavaClass: - TQNPlugin
  • upRect: + TQTranslator
  • upRect: TQSpinBox
  • update: TQCanvas TQCanvasItem TQDataBrowser TQSqlCursor TQWidget
  • updateAccessibility: TQAccessible
  • updateBoundary: @@ -3395,10 +3366,9 @@ ucs2: TQXmlAttributes TQXmlNamespaceSupport
  • uriToLocalFile: TQUriDrag
  • uriToUnicodeUri: TQUriDrag
  • url: - TQFileDialog TQNPStream TQNetworkProtocol
  • useHighlightColors: + TQFileDialog TQNetworkProtocol
  • useHighlightColors: TQMotifStyle
  • user: - TQUrl
  • userAgent: - TQNPInstance
  • userName: + TQUrl
  • userName: TQSqlDatabase
  • uses3D: TQToolButton
  • usesBigPixmap: TQToolButton
  • usesBigPixmaps: @@ -3459,7 +3429,7 @@ wait: TQWidget
  • wheelScrollLines: TQApplication
  • whiteSpaceMode: TQStyleSheetItem
  • widget: - TQDockWindow TQLayoutItem TQNPInstance TQSqlForm TQStyleOption TQWidgetItem TQWidgetStack
  • widgetAt: + TQDockWindow TQLayoutItem TQSqlForm TQStyleOption TQWidgetItem TQWidgetStack
  • widgetAt: TQApplication
  • widgetSizePolicy: TQMacStyle
  • widgetToField: TQSqlForm
  • widgets: @@ -3490,14 +3460,13 @@ wait: TQTextEdit
  • wrapping: TQDial TQSpinBox
  • writable: TQMetaProperty
  • write: - TQAsciiDict TQDict TQImageIO TQIntDict TQNPInstance TQNPStream TQPtrDict TQPtrList TQPtrQueue TQPtrStack TQPtrVector TQTranslatorMessage
  • writeBlock: + TQAsciiDict TQDict TQImageIO TQIntDict TQPtrDict TQPtrList TQPtrQueue TQPtrStack TQPtrVector TQTranslatorMessage
  • writeBlock: TQBuffer TQIODevice TQSocket TQSocketDevice
  • writeBytes: TQDataStream
  • writeEntry: TQSettings
  • writeField: TQSqlForm
  • writeFields: TQDataBrowser TQDataView TQSqlForm
  • writeRawBytes: - TQDataStream TQTextStream
  • writeReady: - TQNPInstance
  • writeToStdin: + TQDataStream TQTextStream
  • writeToStdin: TQProcess
  • wroteToStdin: TQProcess
  • x: diff --git a/doc/html/grapher-nsplugin-example.html b/doc/html/grapher-nsplugin-example.html deleted file mode 100644 index bd138c65..00000000 --- a/doc/html/grapher-nsplugin-example.html +++ /dev/null @@ -1,704 +0,0 @@ - - - - - -Grapher Plugin - - - - - - - -
    - -Home - | -All Classes - | -Main Classes - | -Annotated - | -Grouped Classes - | -Functions -

    Grapher Plugin

    - - - -

    This example graphs data from a simple text file. It -demonstrates the use of the TQNPInstance::writeReady() -and TQNPInstance::write() functions. -

    To build the example, you must first build the -TQt Netscape Plugin Extension library. -Then type make in extensions/nsplugin/examples/grapher/ -and copy the resulting grapher.so or npgrapher.dll -to the Plugins directory of your WWW browser. -

    -

    The text file it accepts as input has a title line, then -a sequence of lines with a number, then a string. The -plugin displays a pie chart of the numbers, each segment -labelled by the associated string. The user can select -a bar chart view of the same data by selecting from the -menu that appears when they point at the plugin. -

    The HTML tag used to embed the graph is: - -

    -  <EMBED
    -    SRC=graph.g1n
    -    ALIGN=LEFT
    -    WIDTH=49% HEIGHT=300
    -    graphstyle=pie fontfamily=times
    -    fontsize=18>
    -

    -Note that some HTML arguments (which we have capitalized here) -are interpreted by the browser, while others are used by the -plugin. -


    -With the simplicity and cross-platform nature of TQt-based plugins, -pages like Netcraft's -Server Graphs can be provided much more efficiently for both -the service provider and consumer. Data need not be converted -to an image at the server. -


    -


    -Implementation: -

    // Include TQt Netscape Plugin classes.
    -#include "tqnp.h"
    -
    -// Include other TQt classes.
    -#include <tqpainter.h>
    -#include <tqtextstream.h>
    -#include <tqbuffer.h>
    -#include <tqpixmap.h>
    -#include <tqmenubar.h>
    -#include <tqpushbutton.h>
    -#include <tqptrlist.h>
    -#include <tqmessagebox.h>
    -
    -// Include some C library functions.
    -#include <math.h>
    -#include <stdlib.h>
    -
    -#ifndef M_PI // Some math.h don't include this.
    -#define M_PI 3.14159265358979323846264338327950288
    -#endif
    -
    -
    -
    -//
    -// GraphModel is a simple abstract class that describes
    -// a table of numeric and text data.
    -//
    -
    -class GraphModel {
    -public:
    -    enum ColType { Numeric, Label };
    -
    -    union Datum {
    -        double dbl;
    -        TQString* str;
    -    };
    -
    -    virtual TQPtrList<Datum>& graphData()=0;
    -    virtual ColType colType(int col) const=0;
    -    virtual int nCols() const=0;
    -};
    -
    -
    -//
    -// Graph is a widget subclass that displays a GraphModel.
    -// Since the widget is a TQNPWidget, it can be used as a plugin window,
    -// returned by Grapher::newWindow() below.
    -//
    -
    -class Graph : public TQNPWidget {
    -    TQ_OBJECT
    -public:
    -    // Constructs a Graph to display a GraphModel
    -    //
    -    Graph(GraphModel&);
    -    ~Graph();
    -
    -    // Two styles are available - Pie and Bar graph
    -    //
    -    enum Style { Pie, Bar };
    -    static const char* styleName[];
    -    void setStyle(Style);
    -    void setStyle(const char*);
    -
    -    // Timer event processing rotates the pie graph
    -    //
    -    void timerEvent(TQTimerEvent*);
    -
    -    // These functions are provided by TQNPWidget - we override
    -    // them to hide and show the plugin menubar.
    -    //
    -    void enterInstance();
    -    void leaveInstance();
    -
    -    // Paint the graph...
    -    //
    -    void paintEvent(TQPaintEvent*);
    -    //
    -    // ... as either a "Loading" message, a Bar graph, a Pie graph,
    -    // or an error message.
    -    //
    -    void paintWait(TQPaintEvent*);
    -    void paintBar(TQPaintEvent*);
    -    void paintPie(TQPaintEvent*);
    -    void paintError(const char*);
    -
    -signals:
    -    // Signals emitted when the Help menus are selected.
    -    void aboutPlugin();
    -    void aboutData();
    -
    -private:
    -    GraphModel& model;
    -    TQMenuBar *menubar;
    -    Style style;
    -    TQPopupMenu* stylemenu;
    -    int pieRotationTimer;
    -    int pieRotation;
    -    TQPixmap pm;
    -
    -private slots:
    -    void setStyleFromMenu(int id);
    -};
    -
    -
    -Graph::Graph( GraphModel& mdl ) :
    -    model(mdl),
    -    style(Bar),
    -    pieRotationTimer(0),
    -    pieRotation(0)
    -{
    -    // Create a menubar for the widget
    -    //
    -    menubar = new TQMenuBar( this );
    -    stylemenu = new TQPopupMenu;
    -    stylemenu->setCheckable(TRUE);
    -    for ( Style s = Pie; styleName[s]; s = Style(s+1)) {
    -        stylemenu->insertItem(styleName[s], s+100);
    -    }
    -    connect(stylemenu, TQ_SIGNAL(activated(int)),
    -        this, TQ_SLOT(setStyleFromMenu(int)));
    -    setStyle(Pie);
    -
    -    menubar->insertItem("Style", stylemenu);
    -    menubar->insertSeparator();
    -
    -    TQPopupMenu* help = new TQPopupMenu;
    -    help->insertItem( "About plugin...", this, TQ_SIGNAL(aboutPlugin()) );
    -    help->insertItem( "About data...", this, TQ_SIGNAL(aboutData()) );
    -    menubar->insertItem("Help", help);
    -    menubar->hide();
    -}
    -
    -Graph::~Graph()
    -{
    -}
    -
    -void Graph::setStyle(Style s)
    -{
    -    if (style != s) {
    -        if (pieRotationTimer)
    -            killTimer(pieRotationTimer);
    -        stylemenu->setItemChecked(100+style, FALSE);
    -        style = s;
    -        if ( style == Pie )
    -            pieRotationTimer = startTimer( 80 );
    -        else
    -            pieRotationTimer = 0;
    -        stylemenu->setItemChecked(100+style, TRUE);
    -        update();
    -    }
    -}
    -
    -void Graph::timerEvent(TQTimerEvent*)
    -{
    -    pieRotation = ( pieRotation + 6 ) % 360; repaint(FALSE);
    -}
    -
    -void Graph::setStyle(const char* stext)
    -{
    -    for ( Style s = Pie; styleName[s]; s = Style(s+1) ) {
    -        if ( tqstricmp(stext,styleName[s])==0 ) {
    -            setStyle(s);
    -            return;
    -        }
    -    }
    -}
    -
    -void Graph::enterInstance()
    -{
    -    menubar->show();
    -}
    -
    -void Graph::leaveInstance()
    -{
    -    menubar->hide();
    -}
    -
    -void Graph::paintError(const char* e)
    -{
    -    TQPainter p(this);
    -    int w = width();
    -    p.drawText(w/8, 0, w-w/4, height(), AlignCenter|WordBreak, e);
    -}
    -
    -void Graph::paintBar(TQPaintEvent* event)
    -{
    -    if ( model.colType(0) != GraphModel::Numeric ) {
    -        paintError("First column not numeric, cannot draw bar graph\n");
    -        return;
    -    }
    -
    -    TQPtrList<GraphModel::Datum>& data = model.graphData();
    -
    -    double max = 0.0;
    -
    -    for (GraphModel::Datum* rowdata = data.first();
    -        rowdata; rowdata = data.next())
    -    {
    -        if (rowdata[0].dbl > max) max = rowdata[0].dbl;
    -    }
    -
    -    const uint w = width();
    -    const uint h = height();
    -
    -    TQPainter p(this);
    -
    -    p.setClipRect(event->rect());
    -
    -    if ( w > data.count() ) {
    -        // More pixels than data
    -        int x = 0;
    -        int i = 0;
    -        TQFontMetrics fm=fontMetrics();
    -        int fh = fm.height();
    -
    -        for (GraphModel::Datum* rowdata = data.first();
    -            rowdata; rowdata = data.next())
    -        {
    -            TQColor c;
    -            c.setHsv( (i * 255)/data.count(), 255, 255 );// rainbow effect
    -            p.setBrush(c);
    -            int bw = (w-w/4-x)/(data.count()-i);
    -            int bh = int((h-h/4-1)*rowdata[0].dbl/max);
    -            p.drawRect( w/8+x, h-h/8-1-bh, bw, bh );
    -
    -            i++;
    -            x+=bw;
    -        }
    -    } else {
    -        // More data than pixels
    -        int x = 0;
    -        int i = 0;
    -        double av = 0.0;
    -        int n = 0;
    -        for (GraphModel::Datum* rowdata = data.first(); rowdata;
    -            rowdata = data.next())
    -        {
    -            int bx = i*w/data.count();
    -
    -            if (bx > x) {
    -                TQColor c;
    -                c.setHsv( (x * 255)/w, 255, 255 );// rainbow effect
    -                p.setPen(c);
    -                int bh = int(h*av/n/max);
    -
    -                p.drawLine(x,h-1,x,h-bh);
    -
    -                av = 0.0;
    -                n = 0;
    -                x = bx;
    -            }
    -
    -            av += rowdata[0].dbl;
    -            n++;
    -
    -            i++;
    -        }
    -    }
    -}
    -
    -void Graph::paintPie(TQPaintEvent* event)
    -{
    -    if ( model.colType(0) != GraphModel::Numeric ) {
    -        paintError("First column not numeric, cannot draw pie graph\n");
    -        return;
    -    }
    -
    -    TQPtrList<GraphModel::Datum>& data = model.graphData();
    -
    -    double total = 0.0;
    -
    -    GraphModel::Datum* rowdata;
    -
    -    for (rowdata = data.first();
    -        rowdata; rowdata = data.next())
    -    {
    -        total += rowdata[0].dbl;
    -    }
    -
    -    // Only use first column for pie chart
    -    if ( !total ) return;
    -
    -    int apos = (pieRotation-90)*16;
    -
    -    const int w = width();
    -    const int h = height();
    -
    -    const int xd = w - w/5;
    -    const int yd = h - h/5;
    -
    -    pm.resize(width(),height());
    -    pm.fill(backgroundColor());
    -    TQPainter p(&pm);
    -    p.setFont(font());
    -
    -    p.setClipRect(event->rect());
    -
    -    int i = 0;
    -
    -    for (rowdata = data.first();
    -        rowdata; rowdata = data.next())
    -    {
    -        TQColor c;
    -
    -        c.setHsv( ( i * 255)/data.count(), 255, 255 );// rainbow effect
    -        p.setBrush( c );                        // solid fill with color c
    -
    -        int a = int(( rowdata[0].dbl * 360.0 ) / total * 16.0 + 0.5);
    -        p.drawPie( w/10, h/10, xd, yd, -apos, -a );
    -        apos += a;
    -        i++;
    -    }
    -
    -    if (model.colType(1) == GraphModel::Label) {
    -        double apos = (pieRotation-90)*M_PI/180;
    -
    -        for (rowdata = data.first();
    -            rowdata; rowdata = data.next())
    -        {
    -            double a = rowdata[0].dbl * 360 / total * M_PI / 180;
    -            int x = int(cos(apos+a/2)*w*5/16 + w/2 + 0.5);
    -            int y = int(sin(apos+a/2)*h*5/16 + h/2 + 0.5);
    -
    -            // ### This causes a crash, so comment out for now
    -            /*p.drawText(x-w/8, y-h/8, w/4, h/4,
    -                WordBreak|AlignCenter,
    -                *rowdata[1].str);*/
    -            apos += a;
    -        }
    -    }
    -
    -    TQPainter p2(this);
    -    p2.setClipRect(event->rect());
    -    p2.drawPixmap(0,0,pm);
    -}
    -
    -void Graph::paintWait(TQPaintEvent*)
    -{
    -    TQPainter p(this);
    -    p.drawText(rect(), AlignCenter, "Loading...");
    -}
    -
    -void Graph::paintEvent(TQPaintEvent* event)
    -{
    -    if (!model.nCols()) {
    -        paintWait(event);
    -    } else {
    -        switch (style) {
    -          case Pie:
    -            paintPie(event);
    -            break;
    -          case Bar:
    -            paintBar(event);
    -            break;
    -        }
    -    }
    -}
    -
    -void Graph::setStyleFromMenu(int id)
    -{
    -    setStyle(Style(id-100));
    -}
    -
    -const char* Graph::styleName[] = { "Pie", "Bar", 0 };
    -
    -
    -//
    -// Grapher is a subclass of TQNPInstance, and so it can be returned
    -// by GrapherPlugin::newInstance().  A TQNPInstance represents the
    -// plugin, distinctly from the plugin window.
    -//
    -// Grapher is also a GraphModel, because it loads graph data from
    -// the net.  When Grapher creates a window in newWindow(), it creates
    -// a Graph widget to display the GraphModel that is the Grapher itself.
    -//
    -
    -class Grapher : public TQNPInstance, GraphModel {
    -    TQ_OBJECT
    -public:
    -    // Create a Grapher - all Grapher plugins are created
    -    // by one GrapherPlugin object.
    -    //
    -    Grapher();
    -    ~Grapher();
    -
    -    // We override this TQNPInstance function to create our
    -    // own subclass of TQNPWidget, a Graph widget.
    -    //
    -    TQNPWidget* newWindow();
    -
    -    // We override this TQNPInstance function to process the
    -    // incoming graph data.
    -    //
    -    int write(TQNPStream* /*str*/, int /*offset*/, int len, void* buffer);
    -
    -private:
    -    // Grapher is a GraphModel, so it implements the pure virtual
    -    // functions of that class.
    -    //
    -    TQPtrList<Datum>& graphData();
    -    ColType colType(int col) const;
    -    int nCols() const;
    -
    -    void consumeLine();
    -    TQPtrList<Datum> data;
    -    TQBuffer line;
    -    int ncols;
    -    ColType *coltype;
    -
    -private slots:
    -    // Slots that are connected to the Graph menu items.
    -    //
    -    void aboutPlugin();
    -    void aboutData();
    -};
    -
    -Grapher::Grapher()
    -{
    -    data.setAutoDelete(TRUE);
    -    ncols = 0;
    -    line.open(IO_WriteOnly|IO_Truncate);
    -}
    -
    -Grapher::~Grapher()
    -{
    -}
    -
    -TQPtrList<GraphModel::Datum>& Grapher::graphData()
    -{
    -    return data;
    -}
    -
    -GraphModel::ColType Grapher::colType(int col) const
    -{
    -    return coltype[col];
    -}
    -
    -int Grapher::nCols() const
    -{
    -    return ncols;
    -}
    -
    -
    -TQNPWidget* Grapher::newWindow()
    -{
    -    // Create a Graph - our subclass of TQNPWidget.
    -    Graph *graph = new Graph(*this);
    -
    -    // Look at the arguments from the EMBED tag.
    -    //   GRAPHSTYLE chooses pie or bar
    -    //   FONTFAMILY and FONTSIZE choose the font
    -    //
    -    const char* style = arg("GRAPHSTYLE");
    -    if ( style ) graph->setStyle(style);
    -
    -    const char* fontfamily = arg("FONTFAMILY");
    -    const char* fontsize = arg("FONTSIZE");
    -    int ptsize = fontsize ? atoi(fontsize) : graph->font().pointSize();
    -    if (fontfamily) graph->setFont(TQFont(fontfamily, ptsize));
    -
    -    connect(graph, TQ_SIGNAL(aboutPlugin()), this, TQ_SLOT(aboutPlugin()));
    -    connect(graph, TQ_SIGNAL(aboutData()), this, TQ_SLOT(aboutData()));
    -
    -    return graph;
    -}
    -
    -void Grapher::consumeLine()
    -{
    -    line.close();
    -    line.open(IO_ReadOnly);
    -
    -    TQTextStream ts( &line );
    -
    -    if (ncols == 0 ) {
    -        ncols=0;
    -        TQPtrList<ColType> typelist;
    -        typelist.setAutoDelete(TRUE);
    -        do {
    -            TQString typestr;
    -            ts >> typestr >> ws;
    -            ColType* t = 0;
    -            if ( typestr == "num" ) {
    -                t = new ColType(Numeric);
    -            } else if ( typestr == "label" ) {
    -                t = new ColType(Label);
    -            }
    -            if (t) typelist.append(t);
    -        } while (!ts.atEnd());
    -        coltype = new ColType[ncols];
    -        for (ColType* t = typelist.first(); t; t = typelist.next()) {
    -            coltype[ncols++] = *t;
    -        }
    -    } else {
    -        int col=0;
    -        Datum *rowdata = new Datum[ncols];
    -        while ( col < ncols && !ts.atEnd() ) {
    -            switch (coltype[col]) {
    -              case Numeric: {
    -                double value;
    -                ts >> value >> ws;
    -                rowdata[col].dbl = value;
    -                break;
    -              }
    -              case Label: {
    -                TQString* value = new TQString;
    -                ts >> *value >> ws;
    -                rowdata[col].str = value;
    -                break;
    -              }
    -            }
    -            col++;
    -        }
    -
    -        data.append(rowdata);
    -    }
    -
    -    line.close();
    -    line.open(IO_WriteOnly|IO_Truncate);
    -}
    -
    -int Grapher::write(TQNPStream* /*str*/, int /*offset*/, int len, void* buffer)
    -{
    -    // The browser calls this function when data is available on one
    -    // of the streams the plugin has requested.  Since we are only
    -    // processing one stream - the URL in the SRC argument of the EMBED
    -    // tag, we assume the TQNPStream is that one.  Also, since we do not
    -    // override TQNPInstance::writeReady(), we must accepts ALL the data
    -    // that is sent to this function.
    -    //
    -    char* txt = (char*)buffer;
    -    for (int i=0; i<len; i++) {
    -        char ch = txt[i];
    -        switch ( ch ) {
    -          case '\n':
    -            consumeLine();
    -            break;
    -          case '\r': // ignore;
    -            break;
    -          default:
    -            line.putch(ch);
    -        }
    -    }
    -    if ( widget() )
    -        widget()->update();
    -
    -    return len;
    -}
    -
    -void Grapher::aboutPlugin()
    -{
    -    getURL( "http://doc.trolltech.com/netscape-plugin.html", "_blank" );
    -}
    -
    -void Grapher::aboutData()
    -{
    -    const char* page = arg("DATAPAGE");
    -    if (page)
    -        getURL( page, "_blank" );
    -    else
    -        TQMessageBox::message("Help", "No help for this data");
    -}
    -
    -
    -//
    -// GrapherPlugin is the start of everything.  It is a TQNPlugin subclass,
    -// and it is responsible for describing the plugin to the browser, and
    -// creating instances of the plugin when it appears in web page.
    -//
    -
    -class GrapherPlugin : public TQNPlugin {
    -public:
    -    GrapherPlugin()
    -    {
    -    }
    -
    -    TQNPInstance* newInstance()
    -    {
    -        // Make a new Grapher, our subclass of TQNPInstance.
    -        return new Grapher;
    -    }
    -
    -    const char* getMIMEDescription() const
    -    {
    -        // Describe the MIME types which this plugin can
    -        // process.  Just the concocted "application/x-graphable"
    -        // type, with the "g1n" filename extension.
    -        //
    -        return "application/x-graphable:g1n:Graphable ASCII numeric data";
    -    }
    -
    -    const char * getPluginNameString() const
    -    {
    -        // The name of the plugin.  This is the title string used in
    -        // the "About Plugins" page of the browser.
    -        //
    -        return "TQt-based Graph Plugin";
    -    }
    -
    -    const char * getPluginDescriptionString() const
    -    {
    -        // A longer description of the plugin.
    -        //
    -        return "A TQt-based LiveConnected plug-in that graphs numeric data";
    -    }
    -
    -};
    -
    -//
    -// Finally, we provide the implementation of TQNPlugin::create(), to
    -// provide our subclass of TQNPlugin.
    -//
    -
    -TQNPlugin* TQNPlugin::create()
    -{
    -    return new GrapherPlugin;
    -}
    -
    -#include "grapher.moc"
    -
    - -

    See also Netscape Plugin Examples. - - -


    - -
    Copyright © 2007 -TrolltechTrademarks -
    TQt 3.3.8
    -
    - diff --git a/doc/html/headerfilesynonyms b/doc/html/headerfilesynonyms index 7407d59d..0779e83e 100644 --- a/doc/html/headerfilesynonyms +++ b/doc/html/headerfilesynonyms @@ -116,10 +116,6 @@ tqwindowsmime.h tqmime.h tqmacmime.h tqmime.h tqmutexlocker.h tqmutex.h tqnetworkoperation.h tqnetworkprotocol.h -tqnpstream.h tqnp.h -tqnpwidget.h tqnp.h -tqnpinstance.h tqnp.h -tqnplugin.h tqnp.h tqobjectlistiterator.h tqobjectlist.h tqcolorgroup.h tqpalette.h tqpngimagepacker.h tqpngio.h diff --git a/doc/html/headers.html b/doc/html/headers.html index ff4ae829..b71e332a 100644 --- a/doc/html/headers.html +++ b/doc/html/headers.html @@ -150,7 +150,6 @@ body { background: #ffffff; color: black; }
  • tqmutex.h
  • tqnamespace.h
  • tqnetworkprotocol.h -
  • tqnp.h
  • tqobject.h
  • tqobjectcleanuphandler.h
  • tqobjectlist.h diff --git a/doc/html/hierarchy.html b/doc/html/hierarchy.html index 6142b00f..419e69b5 100644 --- a/doc/html/hierarchy.html +++ b/doc/html/hierarchy.html @@ -163,8 +163,6 @@ classes in the TQt API.
  • TQMovie
  • TQMutex
  • TQMutexLocker -
  • TQNPlugin -
  • TQNPStream
  • TQPaintDevice -
  • TQNPInstance
  • TQObjectCleanupHandler
  • TQProcess
  • TQServerSocket @@ -472,7 +469,6 @@ classes in the TQt API.
  • TQHeader
  • TQMainWindow
  • TQMotifWidget -
  • TQNPWidget
  • TQScrollBar
  • TQSizeGrip
  • TQSlider diff --git a/doc/html/index b/doc/html/index index d9bd1fa4..5914351d 100644 --- a/doc/html/index +++ b/doc/html/index @@ -55,7 +55,6 @@ "Format of the TQDataStream Operators" datastreamformat.html "GNU General Public License" gpl.html "Getting Started" motif-walkthrough-1.html -"Grapher Plugin" grapher-nsplugin-example.html "Grouped Classes" groups.html "Header File Index" headers.html "Hello, World" hello-example.html @@ -4150,62 +4149,6 @@ "TQMutexLocker::~TQMutexLocker" tqmutexlocker.html#~TQMutexLocker "TQMutexPool::get" tqmutexpool.html#get "TQMutexPool::~TQMutexPool" tqmutexpool.html#~TQMutexPool -"TQNPInstance" tqnpinstance.html -"TQNPInstance::InstanceMode" tqnpinstance.html#InstanceMode -"TQNPInstance::Reason" tqnpinstance.html#Reason -"TQNPInstance::StreamMode" tqnpinstance.html#StreamMode -"TQNPInstance::arg" tqnpinstance.html#arg -"TQNPInstance::argc" tqnpinstance.html#argc -"TQNPInstance::argn" tqnpinstance.html#argn -"TQNPInstance::argv" tqnpinstance.html#argv -"TQNPInstance::getJavaPeer" tqnpinstance.html#getJavaPeer -"TQNPInstance::getURL" tqnpinstance.html#getURL -"TQNPInstance::getURLNotify" tqnpinstance.html#getURLNotify -"TQNPInstance::mode" tqnpinstance.html#mode -"TQNPInstance::newStream" tqnpinstance.html#newStream -"TQNPInstance::newStreamCreated" tqnpinstance.html#newStreamCreated -"TQNPInstance::newWindow" tqnpinstance.html#newWindow -"TQNPInstance::notifyURL" tqnpinstance.html#notifyURL -"TQNPInstance::postURL" tqnpinstance.html#postURL -"TQNPInstance::print" tqnpinstance.html#print -"TQNPInstance::printFullPage" tqnpinstance.html#printFullPage -"TQNPInstance::status" tqnpinstance.html#status -"TQNPInstance::streamAsFile" tqnpinstance.html#streamAsFile -"TQNPInstance::streamDestroyed" tqnpinstance.html#streamDestroyed -"TQNPInstance::userAgent" tqnpinstance.html#userAgent -"TQNPInstance::widget" tqnpinstance.html#widget -"TQNPInstance::write" tqnpinstance.html#write -"TQNPInstance::writeReady" tqnpinstance.html#writeReady -"TQNPInstance::~TQNPInstance" tqnpinstance.html#~TQNPInstance -"TQNPStream" tqnpstream.html -"TQNPStream::complete" tqnpstream.html#complete -"TQNPStream::end" tqnpstream.html#end -"TQNPStream::instance" tqnpstream.html#instance -"TQNPStream::lastModified" tqnpstream.html#lastModified -"TQNPStream::okay" tqnpstream.html#okay -"TQNPStream::requestRead" tqnpstream.html#requestRead -"TQNPStream::seekable" tqnpstream.html#seekable -"TQNPStream::type" tqnpstream.html#type -"TQNPStream::url" tqnpstream.html#url -"TQNPStream::write" tqnpstream.html#write -"TQNPStream::~TQNPStream" tqnpstream.html#~TQNPStream -"TQNPWidget" tqnpwidget.html -"TQNPWidget::enterInstance" tqnpwidget.html#enterInstance -"TQNPWidget::instance" tqnpwidget.html#instance -"TQNPWidget::leaveInstance" tqnpwidget.html#leaveInstance -"TQNPWidget::~TQNPWidget" tqnpwidget.html#~TQNPWidget -"TQNPlugin" tqnplugin.html -"TQNPlugin::actual" tqnplugin.html#actual -"TQNPlugin::create" tqnplugin.html#create -"TQNPlugin::getJavaClass" tqnplugin.html#getJavaClass -"TQNPlugin::getJavaEnv" tqnplugin.html#getJavaEnv -"TQNPlugin::getMIMEDescription" tqnplugin.html#getMIMEDescription -"TQNPlugin::getPluginDescriptionString" tqnplugin.html#getPluginDescriptionString -"TQNPlugin::getPluginNameString" tqnplugin.html#getPluginNameString -"TQNPlugin::getVersionInfo" tqnplugin.html#getVersionInfo -"TQNPlugin::newInstance" tqnplugin.html#newInstance -"TQNPlugin::unuseJavaClass" tqnplugin.html#unuseJavaClass -"TQNPlugin::~TQNPlugin" tqnplugin.html#~TQNPlugin "TQNetworkOperation" tqnetworkoperation.html "TQNetworkOperation::arg" tqnetworkoperation.html#arg "TQNetworkOperation::errorCode" tqnetworkoperation.html#errorCode @@ -7783,7 +7726,6 @@ "TQt Editions" editions.html "TQt Motif Extension" motif-extension.html "TQt Motif Extension - A Migration Walkthrough" motif-walkthrough.html -"TQt Netscape Plugin Extension" netscape-plugin.html "TQt Object Model" object.html "TQt Open Source Edition" opensourceedition.html "TQt Open Source Edition License Agreement" license.html @@ -7890,7 +7832,6 @@ "Toplevel Widgets" toplevel-example.html "Trademarks" trademarks.html "Transformed Graphics Demo" xform-example.html -"Trivial Example" trivial-nsplugin-example.html "Tutorial #2" tutorial2.html "User Interface Compiler (uic)" uic.html "Using Custom TQDialogs" motif-walkthrough-4.html @@ -7938,7 +7879,6 @@ "motif-examples" motif-examples.html "multimedia" multimedia.html "network-examples" network-examples.html -"nsplugin-examples" nsplugin-examples.html "objectmodel" objectmodel.html "opengl-examples" opengl-examples.html "operator!=" tqchar.html#operator!-eq diff --git a/doc/html/modules.html b/doc/html/modules.html index e6776549..954e2bd9 100644 --- a/doc/html/modules.html +++ b/doc/html/modules.html @@ -51,7 +51,6 @@ with each Edition.
  • Workspace (MDI) Module
  • XML Module
  • TQMotif Extension -
  • Netscape Plugin Extension

    diff --git a/doc/html/netscape-plugin.html b/doc/html/netscape-plugin.html deleted file mode 100644 index 472a7cc9..00000000 --- a/doc/html/netscape-plugin.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - -TQt Netscape Plugin Extension - - - - - - - -
    - -Home - | -All Classes - | -Main Classes - | -Annotated - | -Grouped Classes - | -Functions -

    TQt Netscape Plugin Extension

    - - -

    -

    The TQt Netscape Plugin software makes it easy to write browser plugins -that can be used on both Unix/Linux and MS-Windows, in Netscape, -Mozilla, and any other web browser supporting Netscape's LiveConnect -protocol. Modern versions of MSIE do not support this protocol. - -

    Information -

    -

    The Netscape Plugin Extension consists of the follow classes: -

    -

    How-to -

    -

      -
    1. Download the -Plugin SDK from Netscape, and copy the following files from there to -$TQTDIR/extensions/nsplugin/src -
        -
      • common/npwin.cpp -
      • common/npunix.c -
      • include/npapi.h -
      • include/npupp.h -
      • include/jri.h -
      • include/jri_md.h -
      • include/jritypes.h -
      -
    2. Build the Netscape Plugin extension library, found in the -extensions/nsplugin/src directory of your TQt distribution. -This produces a static library to be linked with your plugin code. -
    3. Read the plugin class documentation, and -examine the example plugins. -
    4. Do most of your development as a stand-alone TQt application - debugging -Netscape Plugins is cumbersome. You may want to use signal(2) -in your plugin to enable core-dumps if your browser disables them. -
    5. Note the platform-specific build steps below. -
    6. Read about the raw plugin interface -in Netscape's handbook. -
    7. If files viewed by a plugin are provided by an HTTP server -(using a http://... URL) then -the server must be configured to send the correct MIME type -for the file, e.g. by editing Apache's mime.types file. -If the files are viewed via a //... -URL, then the browser will use the filename extension to decide -the file type (and hence the plugin to load) - the user may need -to set the filename extension in the Helpers or Applications -section of their browser preferences. -
    -

    Building under X11 -

    -

      -
    • The Makefiles in the examples are appropriate for UNIX/X11. -
    • The user must install the resulting Shared Object in the Plugins -directory of the browser. -
    -

    Building under Windows -

    -

      -
    • For Netscape plugins to work, TQt needs to be in the system DLL -path or be compiled into the plugin as a static library. -
    • Plugins must be named npname.dll, -or the browser will ignore them. -
    • The link step must include: -
        -
      • /def:name.def -
      • /dll -
      • a compiled resource file defining the -file/MIME types accepted by the plugin. -
      -
    • The user must install the resulting DLL in the Plugins directory -of the browser. -
    -

    Known Bugs and Limitations -

    -

    The TQt-based LiveConnect Plugin binding code has a number of bugs and -limitations, but is sufficiently stable for many production -applications. -

      -
    • Keyboard input only works in secondary windows (e.g. dialogs created by the plugin). -
    • You should not expect modality between the plugin and the browser to work. -
    • Netscape 4.78 on Unix/X11 tends to terminate with a bus error. -
    • Opaque resize behaviour is erratic due to browser behavior. -
    -

    - -


    - -
    Copyright © 2007 -TrolltechTrademarks -
    TQt 3.3.8
    -
    - diff --git a/doc/html/nsplugin-examples.html b/doc/html/nsplugin-examples.html deleted file mode 100644 index 403beff2..00000000 --- a/doc/html/nsplugin-examples.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - -Netscape Plugin Examples - - - - - - - -
    - -Home - | -All Classes - | -Main Classes - | -Annotated - | -Grouped Classes - | -Functions -

    Netscape Plugin Examples

    - - -

    The following example programs show how to write plugins -that can be used with web browsers supporting the LiveConnect -protocol. -

    For more information see the Plugin Howto. - -

    -
    Grapher Plugin -
    Trivial Example -
    - -


    - -
    Copyright © 2007 -TrolltechTrademarks -
    TQt 3.3.8
    -
    - diff --git a/doc/html/overviews-list.html b/doc/html/overviews-list.html index fdf905cc..b004d787 100644 --- a/doc/html/overviews-list.html +++ b/doc/html/overviews-list.html @@ -77,7 +77,6 @@ body { background: #ffffff; color: black; }
  • Events and Event Filters
  • Keyboard Focus Overview
  • Standard Accelerators -
  • TQt-based LiveConnect Plugins
  • Motif Support Extension
  • OpenGL Overlays (X11)
  • Setting the Application Icon diff --git a/doc/html/qt.dcf b/doc/html/qt.dcf index 560e0f23..65d02114 100644 --- a/doc/html/qt.dcf +++ b/doc/html/qt.dcf @@ -4909,78 +4909,6 @@
    -
    - TQNPInstance - InstanceMode - Reason - StreamMode - arg - argc - argn - argv - getJavaPeer - getURL - getURLNotify - mode - newStream - newStreamCreated - newWindow - notifyURL - postURL - print - printFullPage - status - streamAsFile - streamDestroyed - userAgent - widget - write - writeReady - ~TQNPInstance -
    -
    -
    -
    - TQNPlugin - actual - create - getJavaClass - getJavaEnv - getMIMEDescription - getPluginDescriptionString - getPluginNameString - getVersionInfo - newInstance - unuseJavaClass - ~TQNPlugin -
    -
    -
    -
    - TQNPStream - complete - end - instance - lastModified - okay - requestRead - seekable - type - url - write - ~TQNPStream -
    -
    -
    -
    - TQNPWidget - enterInstance - instance - leaveInstance - ~TQNPWidget -
    -
    -
    TQObject activate_signal @@ -9446,9 +9374,6 @@
    GNU General Public License
    -
    - Grapher Plugin -
    graphics
    @@ -9569,9 +9494,6 @@
    multimedia
    -
    - nsplugin-examples -
    network-examples
    @@ -9689,9 +9611,6 @@
    TQt Motif Extension - A Migration Walkthrough
    -
    - TQt Netscape Plugin Extension -
    TQt Object Model
    @@ -9938,9 +9857,6 @@
    Transformed Graphics Demo
    -
    - Trivial Example -
    Tutorial #2
    diff --git a/doc/html/titleindex b/doc/html/titleindex index 878ad9b2..8b76d462 100644 --- a/doc/html/titleindex +++ b/doc/html/titleindex @@ -65,7 +65,6 @@ Font Displayer | qfd-example.html Format of the TQDataStream Operators | datastreamformat.html GNU General Public License | gpl.html Getting Started | motif-walkthrough-1.html -Grapher Plugin | grapher-nsplugin-example.html Graphics Classes | graphics.html Grouped Classes | groups.html Header File Index | headers.html @@ -106,7 +105,6 @@ Meta Object System | metaobjects.html Miscellaneous Classes | misc.html Movies or the Story of the Animated GIF file | movies-example.html Multimedia Classes | multimedia.html -Netscape Plugin Examples | nsplugin-examples.html Network Examples | network-examples.html Network Module | network.html Non-GUI Classes | tools.html @@ -583,14 +581,6 @@ TQMutex Class | tqmutex.html TQMutex Member List | tqmutex-members.html TQMutexLocker Class | tqmutexlocker.html TQMutexLocker Member List | tqmutexlocker-members.html -TQNPInstance Class | tqnpinstance.html -TQNPInstance Member List | tqnpinstance-members.html -TQNPStream Class | tqnpstream.html -TQNPStream Member List | tqnpstream-members.html -TQNPWidget Class | tqnpwidget.html -TQNPWidget Member List | tqnpwidget-members.html -TQNPlugin Class | tqnplugin.html -TQNPlugin Member List | tqnplugin-members.html TQNetworkOperation Class | tqnetworkoperation.html TQNetworkOperation Member List | tqnetworkoperation-members.html TQNetworkProtocol Class | tqnetworkprotocol.html @@ -946,7 +936,6 @@ Qt Editions | editions.html Qt Member List | qt-members.html Qt Motif Extension | motif-extension.html Qt Motif Extension - A Migration Walkthrough | motif-walkthrough.html -Qt Netscape Plugin Extension | netscape-plugin.html Qt Object Model | object.html Qt Open Source Edition | opensourceedition.html Qt Open Source Edition License Agreement | license.html @@ -1029,7 +1018,6 @@ Timers | timers.html Toplevel Widgets | toplevel-example.html Trademarks | trademarks.html Transformed Graphics Demo | xform-example.html -Trivial Example | trivial-nsplugin-example.html Tutorial #2 | tutorial2.html User Interface Compiler (uic) | uic.html Using Custom TQDialogs | motif-walkthrough-4.html @@ -1186,7 +1174,6 @@ tqmutex.h Include File | tqmutex-h.html tqnamespace.h Include File | tqnamespace-h.html tqnetwork.h Example File | tqnetwork-h.html tqnetworkprotocol.h Include File | tqnetworkprotocol-h.html -tqnp.h Include File | tqnp-h.html tqobject.h Include File | tqobject-h.html tqobjectcleanuphandler.h Include File | tqobjectcleanuphandler-h.html tqobjectlist.h Include File | tqobjectlist-h.html diff --git a/doc/html/tqasciidict.html b/doc/html/tqasciidict.html index 1f5cadc1..c1640eba 100644 --- a/doc/html/tqasciidict.html +++ b/doc/html/tqasciidict.html @@ -278,7 +278,7 @@ function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.

    See also autoDelete(). -

    Examples: grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +

    Examples: scribble/scribble.cpp and table/bigtable/main.cpp.

    uint TQAsciiDict::size () const

    diff --git a/doc/html/tqcache.html b/doc/html/tqcache.html index 54a5d7d7..bfc94852 100644 --- a/doc/html/tqcache.html +++ b/doc/html/tqcache.html @@ -225,7 +225,7 @@ function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.

    See also autoDelete(). -

    Examples: grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +

    Examples: scribble/scribble.cpp and table/bigtable/main.cpp.

    void TQCache::setMaxCost ( int m )

    diff --git a/doc/html/tqcolor.html b/doc/html/tqcolor.html index 1df63a35..cb970718 100644 --- a/doc/html/tqcolor.html +++ b/doc/html/tqcolor.html @@ -505,7 +505,7 @@ color is not changed. may return slightly different values to those set by setHsv().

    See also hsv() and setRgb(). -

    Examples: drawdemo/drawdemo.cpp, grapher/grapher.cpp, and progress/progress.cpp. +

    Examples: drawdemo/drawdemo.cpp and progress/progress.cpp.

    void TQColor::setNamedColor ( const TQString & name )

    Sets the RGB value to name, which may be in one of these diff --git a/doc/html/tqdict.html b/doc/html/tqdict.html index 7608ff1c..83d28f27 100644 --- a/doc/html/tqdict.html +++ b/doc/html/tqdict.html @@ -352,7 +352,7 @@ function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.

    See also autoDelete(). -

    Examples: grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +

    Examples: scribble/scribble.cpp and table/bigtable/main.cpp.

    uint TQDict::size () const

    diff --git a/doc/html/tqfontmetrics.html b/doc/html/tqfontmetrics.html index b73fac45..58dcefdf 100644 --- a/doc/html/tqfontmetrics.html +++ b/doc/html/tqfontmetrics.html @@ -260,7 +260,7 @@ Returns the height of the font. base line).

    See also leading() and lineSpacing(). -

    Examples: grapher/grapher.cpp, hello/hello.cpp, and qfd/fontdisplayer.cpp. +

    Examples: hello/hello.cpp and qfd/fontdisplayer.cpp.

    bool TQFontMetrics::inFont ( TQChar ch ) const

    Returns TRUE if character ch is a valid character in the font; diff --git a/doc/html/tqintdict.html b/doc/html/tqintdict.html index f1e3403b..0db062a3 100644 --- a/doc/html/tqintdict.html +++ b/doc/html/tqintdict.html @@ -265,7 +265,7 @@ function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.

    See also autoDelete(). -

    Examples: grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +

    Examples: scribble/scribble.cpp and table/bigtable/main.cpp.

    uint TQIntDict::size () const

    diff --git a/doc/html/tqiodevice.html b/doc/html/tqiodevice.html index e7c2537b..95cedc29 100644 --- a/doc/html/tqiodevice.html +++ b/doc/html/tqiodevice.html @@ -239,7 +239,6 @@ at the end of the input; otherwise returns FALSE.

    This virtual function must be reimplemented by all subclasses.

    See also open(). -

    Example: grapher/grapher.cpp.

    Reimplemented in TQFile and TQSocket.

    int TQIODevice::flags () const

    @@ -397,7 +396,6 @@ binary data. Cannot be combined with IO_Raw.

    This virtual function must be reimplemented by all subclasses.

    See also close(). -

    Example: grapher/grapher.cpp.

    Reimplemented in TQFile and TQSocket.

    int TQIODevice::putch ( int ch ) [pure virtual]

    @@ -407,7 +405,6 @@ binary data. Cannot be combined with IO_Raw.

    This virtual function must be reimplemented by all subclasses.

    See also getch() and ungetch(). -

    Example: grapher/grapher.cpp.

    Reimplemented in TQFile and TQSocket.

    TQByteArray TQIODevice::readAll () [virtual]

    diff --git a/doc/html/tqmenubar.html b/doc/html/tqmenubar.html index 849e813e..04ebf263 100644 --- a/doc/html/tqmenubar.html +++ b/doc/html/tqmenubar.html @@ -235,7 +235,6 @@ menu bar is needed after items have been inserted. See TQWidget::hide() in order to deselect any selected item, and calls setUpLayout() for the main window. -

    Example: grapher/grapher.cpp.

    Reimplemented from TQWidget.

    void TQMenuBar::highlighted ( int id ) [signal]

    @@ -562,7 +561,6 @@ Reimplements TQWidget::show() in order to set u keyboard accelerators and to raise itself to the top of the widget stack. -

    Example: grapher/grapher.cpp.

    Reimplemented from TQWidget.


    Property Documentation

    bool defaultUp

    diff --git a/doc/html/tqmenudata.html b/doc/html/tqmenudata.html index 9d9448a6..d393fa40 100644 --- a/doc/html/tqmenudata.html +++ b/doc/html/tqmenudata.html @@ -647,7 +647,7 @@ unchecks the menu item with id id. Calls TQPopupMenu::setCheckable( TRUE ) if necessary.

    See also isItemChecked(). -

    Examples: canvas/canvas.cpp, grapher/grapher.cpp, mdi/application.cpp, menu/menu.cpp, progress/progress.cpp, scrollview/scrollview.cpp, and showimg/showimg.cpp. +

    Examples: canvas/canvas.cpp, mdi/application.cpp, menu/menu.cpp, progress/progress.cpp, scrollview/scrollview.cpp, and showimg/showimg.cpp.

    void TQMenuData::setItemEnabled ( int id, bool enable )

    If enable is TRUE, enables the menu item with identifier id; diff --git a/doc/html/tqmessagebox.html b/doc/html/tqmessagebox.html index 1d20e2bc..83bbb238 100644 --- a/doc/html/tqmessagebox.html +++ b/doc/html/tqmessagebox.html @@ -407,7 +407,7 @@ See the examples/menu/menu.cpp example.

    TQApplication provides this functionality as a slot.

    See also TQApplication::aboutTQt(). -

    Examples: action/application.cpp, application/application.cpp, chart/chartform.cpp, helpviewer/helpwindow.cpp, menu/menu.cpp, themes/themes.cpp, and trivial/trivial.cpp. +

    Examples: action/application.cpp, application/application.cpp, chart/chartform.cpp, helpviewer/helpwindow.cpp, menu/menu.cpp and themes/themes.cpp.

    void TQMessageBox::adjustSize () [virtual]

    Adjusts the size of the message box to fit the contents just before @@ -539,7 +539,6 @@ you specify an Escape button to prevent this from happening.

    Opens a modal message box directly using the specified parameters.

    Please use information(), warning(), question(), or critical() instead. -

    Example: grapher/grapher.cpp.

    bool TQMessageBox::query ( const TQString & caption, const TQString & text, const TQString & yesButtonText = TQString::null, const TQString & noButtonText = TQString::null, TQWidget * parent = 0, const char * = 0 ) [static]

    This function is obsolete. It is provided to keep old source working. We strongly advise against using it in new code. diff --git a/doc/html/tqnp-h.html b/doc/html/tqnp-h.html deleted file mode 100644 index 3ee1e0cd..00000000 --- a/doc/html/tqnp-h.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - -tqnp.h Include File - - - - - - - -
    - -Home - | -All Classes - | -Main Classes - | -Annotated - | -Grouped Classes - | -Functions -

    tqnp.h

    - -

    This is the verbatim text of the tqnp.h include file. It is provided only for illustration; the copyright remains with Trolltech. -


    -
    -/****************************************************************************
    -** $Id: qt/tqnp.h   3.3.8   edited Jan 11 14:37 $
    -**
    -** Definition of TQt extension classes for Netscape Plugin support.
    -**
    -** Created : 970601
    -**
    -** Copyright (C) 1992-2007 Trolltech ASA.  All rights reserved.
    -**
    -** This file is part of the TQt GUI Toolkit.
    -**
    -** This file may be used under the terms of the GNU General Public
    -** License versions 2.0 or 3.0 as published by the Free Software
    -** Foundation and appearing in the file LICENSE.GPL included in the
    -** packaging of this file. Alternatively you may (at your option) use any
    -** later version of the GNU General Public License if such license has
    -** been publicly approved by Trolltech ASA (or its successors, if any)
    -** and the KDE Free TQt Foundation.
    -**
    -** Please review the following information to ensure GNU General
    -** Public Licensing requirements will be met:
    -** http://trolltech.com/products/qt/licenses/licensing/opensource/.
    -** If you are unsure which license is appropriate for your use, please
    -** review the following information:
    -** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
    -** or contact the sales department at sales@trolltech.com.
    -**
    -** This file may be used under the terms of the Q Public License as
    -** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
    -** included in the packaging of this file.  Licensees holding valid TQt
    -** Commercial licenses may use this file in accordance with the TQt
    -** Commercial License Agreement provided with the Software.
    -**
    -** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
    -** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
    -** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
    -** herein.
    -**
    -**********************************************************************/
    -
    -#ifndef TQNP_H
    -#define TQNP_H
    -
    -#ifndef QT_H
    -#include "tqwidget.h"
    -#endif // QT_H
    -
    -
    -struct _NPInstance;
    -struct _NPStream;
    -class TQNPInstance;
    -
    -class TQNPStream {
    -public:
    -    ~TQNPStream();
    -
    -    const char* url() const;
    -    uint end() const;
    -    uint lastModified() const;
    -
    -    const char* type() const;
    -    bool seekable() const;
    -    bool okay() const;
    -    bool complete() const;
    -
    -    void requestRead(int offset, uint length);
    -    int write( int len, void* buffer );
    -
    -    TQNPInstance* instance() { return inst; }
    -    TQNPStream(TQNPInstance*,const char*,_NPStream*,bool);
    -    void setOkay(bool);
    -    void setComplete(bool);
    -
    -private:
    -    TQNPInstance* inst;
    -    _NPStream* stream;
    -    TQString mtype;
    -    int seek:1;
    -    int isokay:1;
    -    int iscomplete:1;
    -};
    -
    -class TQNPWidget : public TQWidget {
    -    TQ_OBJECT
    -public:
    -    TQNPWidget();
    -    ~TQNPWidget();
    -    void enterEvent(TQEvent*);
    -    void leaveEvent(TQEvent*);
    -
    -    virtual void enterInstance();
    -    virtual void leaveInstance();
    -
    -    TQNPInstance* instance();
    -
    -private:
    -    _NPInstance* pi;
    -};
    -
    -class TQNPInstance : public TQObject {
    -    TQ_OBJECT
    -public:
    -    ~TQNPInstance();
    -
    -    // Arguments passed to EMBED
    -    int argc() const;
    -    const char* argn(int) const;
    -    const char* argv(int) const;
    -    enum Reason {
    -        ReasonDone = 0,
    -        ReasonBreak = 1,
    -        ReasonError = 2,
    -        ReasonUnknown = -1
    -    };
    -    const char* arg(const char* name) const;
    -    enum InstanceMode { Embed=1, Full=2, Background=3 };
    -    InstanceMode mode() const;
    -
    -    // The browser's name
    -    const char* userAgent() const;
    -
    -    // Your window.
    -    virtual TQNPWidget* newWindow();
    -    TQNPWidget* widget();
    -
    -    // Incoming streams (SRC=... tag).
    -    // Defaults ignore data.
    -    enum StreamMode { Normal=1, Seek=2, AsFile=3, AsFileOnly=4 };
    -    virtual bool newStreamCreated(TQNPStream*, StreamMode& smode);
    -    virtual int writeReady(TQNPStream*);
    -    virtual int write(TQNPStream*, int offset, int len, void* buffer);
    -    virtual void streamDestroyed(TQNPStream*);
    -
    -    void status(const char* msg);
    -    void getURLNotify(const char* url, const char* window=0, void*data=0);
    -
    -    void getURL(const char* url, const char* window=0);
    -    void postURL(const char* url, const char* window,
    -	     uint len, const char* buf, bool file);
    -
    -    TQNPStream* newStream(const char* mimetype, const char* window,
    -	bool as_file=FALSE);
    -    virtual void streamAsFile(TQNPStream*, const char* fname);
    -
    -    void* getJavaPeer() const;
    -
    -    virtual void notifyURL(const char* url, Reason r, void* notifyData);
    -    virtual bool printFullPage();
    -    virtual void print(TQPainter*);
    -
    -protected:
    -    TQNPInstance();
    -
    -private:
    -    friend class TQNPStream;
    -    _NPInstance* pi;
    -};
    -
    -
    -class TQNPlugin {
    -public:
    -    // Write this to return your TQNPlugin derived class.
    -    static TQNPlugin* create();
    -
    -    static TQNPlugin* actual();
    -
    -    virtual ~TQNPlugin();
    -
    -    void getVersionInfo(int& plugin_major, int& plugin_minor,
    -	     int& browser_major, int& browser_minor);
    -
    -    virtual TQNPInstance* newInstance()=0;
    -    virtual const char* getMIMEDescription() const=0;
    -    virtual const char* getPluginNameString() const=0;
    -    virtual const char* getPluginDescriptionString() const=0;
    -
    -    virtual void* getJavaClass();
    -    virtual void unuseJavaClass();
    -    void* getJavaEnv() const;
    -
    -protected:
    -    TQNPlugin();
    -};
    -
    -
    -#endif  // TQNP_H
    -
    - -


    - -
    Copyright © 2007 -TrolltechTrademarks -
    TQt 3.3.8
    -
    - diff --git a/doc/html/tqnpinstance-members.html b/doc/html/tqnpinstance-members.html deleted file mode 100644 index de65fe31..00000000 --- a/doc/html/tqnpinstance-members.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - -TQNPInstance Member List - - - - - - - -
    - -Home - | -All Classes - | -Main Classes - | -Annotated - | -Grouped Classes - | -Functions -

    Complete Member List for TQNPInstance

    - -

    This is the complete list of member functions for -TQNPInstance, including inherited members. - -

    - -


    - -
    Copyright © 2007 -TrolltechTrademarks -
    TQt 3.3.8
    -
    - diff --git a/doc/html/tqnpinstance.html b/doc/html/tqnpinstance.html deleted file mode 100644 index 8f474a66..00000000 --- a/doc/html/tqnpinstance.html +++ /dev/null @@ -1,320 +0,0 @@ - - - - -TQNPInstance Class - - - - - - - -
    - -Home - | -All Classes - | -Main Classes - | -Annotated - | -Grouped Classes - | -Functions -

    TQNPInstance Class Reference

    - -

    The TQNPInstance class provides a TQObject that is a web browser plugin. -More... -

    This class is part of the TQt Netscape Extension. -

    #include <tqnp.h> -

    Inherits TQObject. -

    List of all member functions. -

    Public Members

    -
      -
    • ~TQNPInstance ()
    • -
    • int argc () const
    • -
    • const char * argn ( int i ) const
    • -
    • const char * argv ( int i ) const
    • -
    • enum Reason { ReasonDone = 0, ReasonBreak = 1, ReasonError = 2, ReasonUnknown = -1 }
    • -
    • const char * arg ( const char * name ) const
    • -
    • enum InstanceMode { Embed = 1, Full = 2, Background = 3 }
    • -
    • InstanceMode mode () const
    • -
    • const char * userAgent () const
    • -
    • virtual TQNPWidget * newWindow ()
    • -
    • TQNPWidget * widget ()
    • -
    • enum StreamMode { Normal = 1, Seek = 2, AsFile = 3, AsFileOnly = 4 }
    • -
    • virtual bool newStreamCreated ( TQNPStream *, StreamMode & smode )
    • -
    • virtual int writeReady ( TQNPStream * )
    • -
    • virtual int write ( TQNPStream *, int offset, int len, void * buffer )
    • -
    • virtual void streamDestroyed ( TQNPStream * )
    • -
    • void status ( const char * msg )
    • -
    • void getURLNotify ( const char * url, const char * window = 0, void * data = 0 )
    • -
    • void getURL ( const char * url, const char * window = 0 )
    • -
    • void postURL ( const char * url, const char * window, uint len, const char * buf, bool file )
    • -
    • TQNPStream * newStream ( const char * mimetype, const char * window, bool as_file = FALSE )
    • -
    • virtual void streamAsFile ( TQNPStream *, const char * fname )
    • -
    • void * getJavaPeer () const
    • -
    • virtual void notifyURL ( const char * url, Reason r, void * notifyData )
    • -
    • virtual bool printFullPage ()
    • -
    • virtual void print ( TQPainter * )
    • -
    -

    Protected Members

    - -

    Detailed Description

    -

    This class is defined in the TQt Netscape Extension, which can be found in the qt/extensions directory. It is not included in the main TQt API. -

    - -The TQNPInstance class provides a TQObject that is a web browser plugin. -

    -

    Deriving from TQNPInstance creates an object that represents a -single <EMBED> tag in an HTML document. -

    The TQNPInstance is responsible for creating an appropriate -TQNPWidget window if required (not all plugins have windows), and -for interacting with the input/output facilities intrinsic to -plugins. -

    Note that there is absolutely no guarantee regarding the order -in which functions are called. Sometimes the browser will call -newWindow() first, at other times, newStreamCreated() will be -called first (assuming the <EMBED> tag has a SRC parameter). -

    None of TQt's GUI functionality may be used until after the -first call to newWindow(). This includes any use of TQPaintDevice -(i.e. TQPixmap, TQWidget, and all subclasses), TQApplication, anything -related to TQPainter (TQBrush, etc.), fonts, TQMovie, TQToolTip, etc. -Useful classes which specifically can be used are TQImage, -TQFile, and TQBuffer. -

    This restriction can easily be accommodated by structuring your -plugin so that the task of the TQNPInstance is to gather data, -while the task of the TQNPWidget is to provide a graphical -interface to that data. - -


    Member Type Documentation

    -

    TQNPInstance::InstanceMode

    - -

    This enum type provides TQt-style names for three #defines in -npapi.h: -

      -
    • TQNPInstance::Embed - corresponds to NP_EMBED -
    • TQNPInstance::Full - corresponds to NP_FULL -
    • TQNPInstance::Background - corresponds to NP_BACKGROUND -

    -

    TQNPInstance::Reason

    - -
      -
    • TQNPInstance::ReasonDone -
    • TQNPInstance::ReasonBreak -
    • TQNPInstance::ReasonError -
    • TQNPInstance::ReasonUnknown -
    -

    TQNPInstance::StreamMode

    - -
      -
    • TQNPInstance::Normal -
    • TQNPInstance::Seek -
    • TQNPInstance::AsFile -
    • TQNPInstance::AsFileOnly -
    -

    Member Function Documentation

    -

    TQNPInstance::TQNPInstance () [protected] -

    -Creates a TQNPInstance. -

    Can only be called from within a derived class created within -TQNPlugin::newInstance(). - -

    TQNPInstance::~TQNPInstance () -

    -Called when the plugin instance is about to be deleted. - -

    const char * TQNPInstance::arg ( const char * name ) const -

    -Returns the value of the named arguments, or 0 if no argument -called name appears in the <EMBED> tag of this instance. -If the argument appears, but has no value assigned, the empty -string is returned. In summary: -

    -
    Tag Result -
    <EMBED ...> arg("FOO") == 0 -
    <EMBED FOO ...> arg("FOO") == "" -
    <EMBED FOO=BAR ...> arg("FOO") == "BAR" -
    - -

    int TQNPInstance::argc () const -

    -Returns the number of arguments to the instance. Note that you -should not normally rely on the ordering of arguments, and -note that the SGML specification does not permit multiple -arguments with the same name. -

    See also arg() and argn(). - -

    const char * TQNPInstance::argn ( int i ) const -

    -Returns the name of the i-th argument. -

    See also argc() and argv(). - -

    const char * TQNPInstance::argv ( int i ) const -

    -Returns the value of the i-th argument. -

    \as argc(), arg() - -

    void * TQNPInstance::getJavaPeer () const -

    -Returns the Java object associated with the plugin instance, an -object of the plugin's Java - class, or 0 if the plug-in does not have a Java class, -Java is disabled, or an error occurred. -

    The return value is actually a jref we use void* so as to -avoid burdening plugins which do not require Java. -

    See also TQNPlugin::getJavaClass() and TQNPlugin::getJavaEnv(). - -

    void TQNPInstance::getURL ( const char * url, const char * window = 0 ) -

    -Requests that the url be retrieved and sent to the named window. See Netscape's JavaScript documentation for an explanation -of window names. - -

    void TQNPInstance::getURLNotify ( const char * url, const char * window = 0, void * data = 0 ) -

    -Requests that the given url be retrieved and sent to -the named window. See Netscape's JavaScript documentation for -an explanation of window names. Passes the arguments including data to NPN_GetURLNotify. -

    -Netscape: NPN_GetURLNotify method - -

    InstanceMode TQNPInstance::mode () const -

    -Returns the mode of the plugin. - -

    TQNPStream * TQNPInstance::newStream ( const char * mimetype, const char * window, bool as_file = FALSE ) -

    -

    This function is under development and is subject to change. -

    This function is not tested. -

    Requests the creation of a new data stream from the plugin. -The MIME type and window are passed in mimetype and window. -as_file holds the AsFileOnly flag. It is an interface to the -NPN_NewStream function of the Netscape Plugin API. - -

    bool TQNPInstance::newStreamCreated ( TQNPStream *, StreamMode & smode ) [virtual] -

    - -

    This function is called when a new stream has been created. The -instance should return TRUE if it accepts the processing of the -stream. If the instance requires the stream as a file, it should -set smode to AsFileOnly, in which case the data will be -delivered some time later to the streamAsFile() function. -Otherwise, the data will be delivered in chunks to the write() -function, which must consume at least as much data as returned -by the most recent call to writeReady(). -

    Note that the AsFileOnly method is not supported by Netscape -2.0 and MSIE 3.0. -

    The default implementation accepts any stream. - -

    TQNPWidget * TQNPInstance::newWindow () [virtual] -

    -Called at most once, at some time after the TQNPInstance is -created. If the plugin requires a window, this function should -return a derived class of TQNPWidget that provides the required -interface. - -

    Example: grapher/grapher.cpp. -

    void TQNPInstance::notifyURL ( const char * url, Reason r, void * notifyData ) [virtual] -

    -

    This function is under development and is subject to change. -

    This function is not tested. -

    Called whenever a url is notified after a call to -NPN_GetURLNotify with notifyData. The reason is given in r. -

    It is an encapsulation of the NPP_URLNotify function of the -Netscape Plugin API. -

    See also: -Netscape: NPP_URLNotify method - -

    void TQNPInstance::postURL ( const char * url, const char * window, uint len, const char * buf, bool file ) -

    -

    This function is under development and is subject to change. -

    This function is not tested. -

    It is an interface to the NPN_PostURL function of the Netscape -Plugin API. -

    Passes url, window, buf, len, and file to -NPN_PostURL. - -

    void TQNPInstance::print ( TQPainter * ) [virtual] -

    -

    This function is under development and is subject to change. -

    This function is not tested. -

    Print the instance embedded in a page. -

    It is an encapsulation of the NPP_Print function of the Netscape -Plugin API. - -

    bool TQNPInstance::printFullPage () [virtual] -

    -

    This function is under development and is subject to change. -

    This function is not tested. -

    It is an encapsulation of the NPP_Print function of the Netscape -Plugin API. - -

    void TQNPInstance::status ( const char * msg ) -

    -Sets the status message in the browser containing this instance to -msg. - -

    void TQNPInstance::streamAsFile ( TQNPStream *, const char * fname ) [virtual] -

    -Called when a stream is delivered as a single file called fname -rather than as chunks. This may be simpler for a plugin to deal -with, but precludes any incremental behavior. -

    Note that the AsFileOnly method is not supported by Netscape -2.0 and MSIE 3.0. -

    See also newStreamCreated() and newStream(). - -

    void TQNPInstance::streamDestroyed ( TQNPStream * ) [virtual] -

    -Called when a stream is destroyed. At this point, the stream may -be complete() and okay(). If it is not okay(), then an error has -occurred. If it is okay(), but not complete(), then the user has -cancelled the transmission; do not give an error message in this -case. - -

    const char * TQNPInstance::userAgent () const -

    -Returns the user agent (browser name) containing this instance. - -

    TQNPWidget * TQNPInstance::widget () -

    -Returns the plugin window created by newWindow(), if any. - -

    int TQNPInstance::write ( TQNPStream *, int offset, int len, void * buffer ) [virtual] -

    - -

    Called when incoming data is available for processing by the -instance. The instance must consume at least the amount that it -returned in the most recent call to writeReady(), but it may -consume up to the amount given by len. buffer is the data -available for consumption. The offset argument is merely an -informational value indicating the total amount of data that has -been consumed in prior calls. -

    This function should return the amount of data actually consumed. - -

    Example: grapher/grapher.cpp. -

    int TQNPInstance::writeReady ( TQNPStream * ) [virtual] -

    -Returns the minimum amount of data the instance is willing to -receive from the given stream. -

    The default returns a very large value. - - -


    -This file is part of the TQt toolkit. -Copyright © 1995-2007 -Trolltech. All Rights Reserved.


    - -
    Copyright © 2007 -TrolltechTrademarks -
    TQt 3.3.8
    -
    - diff --git a/doc/html/tqnplugin-members.html b/doc/html/tqnplugin-members.html deleted file mode 100644 index ecbf9a1c..00000000 --- a/doc/html/tqnplugin-members.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -TQNPlugin Member List - - - - - - - -
    - -Home - | -All Classes - | -Main Classes - | -Annotated - | -Grouped Classes - | -Functions -

    Complete Member List for TQNPlugin

    - -

    This is the complete list of member functions for -TQNPlugin, including inherited members. - -

    - -


    - -
    Copyright © 2007 -TrolltechTrademarks -
    TQt 3.3.8
    -
    - diff --git a/doc/html/tqnplugin.html b/doc/html/tqnplugin.html deleted file mode 100644 index 7ae91600..00000000 --- a/doc/html/tqnplugin.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - -TQNPlugin Class - - - - - - - -
    - -Home - | -All Classes - | -Main Classes - | -Annotated - | -Grouped Classes - | -Functions -

    TQNPlugin Class Reference

    - -

    The TQNPlugin class provides the main factory for plugin objects. -More... -

    This class is part of the TQt Netscape Extension. -

    #include <tqnp.h> -

    List of all member functions. -

    Public Members

    - -

    Static Public Members

    - -

    Protected Members

    - -

    Detailed Description

    -

    This class is defined in the TQt Netscape Extension, which can be found in the qt/extensions directory. It is not included in the main TQt API. -

    - -The TQNPlugin class provides the main factory for plugin objects. -

    -

    This class is the heart of the plugin. One instance of this object -is created when the plugin is first needed, by calling -TQNPlugin::create(), which must be implemented in your plugin code -to return some derived class of TQNPlugin. The one TQNPlugin object -creates all TQNPInstance instances for a web browser running in a -single process. -

    Additionally, if TQt is linked to the plugin as a dynamic library, -only one instance of TQApplication will exist across all plugins that have been made with TQt. So, your plugin should tread lightly -on global settings. Do not, for example, use -TQApplication::setFont() - that will change the font in every -widget of every TQt-based plugin currently loaded! - -


    Member Function Documentation

    -

    TQNPlugin::TQNPlugin () [protected] -

    -Creates a TQNPlugin. This may only be used by the constructor -of the class, derived from TQNPlugin, that is returned by your -plugin's implementation of the TQNPlugin::create() function. - -

    TQNPlugin::~TQNPlugin () [virtual] -

    -Destroys the TQNPlugin. This is called by the plugin binding code -just before the plugin is about to be unloaded from memory. If -newWindow() has been called, a TQApplication will still exist at -this time, but will be deleted shortly after, just before the plugin -is deleted. - -

    TQNPlugin * TQNPlugin::actual () [static] -

    -Returns the plugin most recently returned by TQNPlugin::create(). - -

    TQNPlugin * TQNPlugin::create () [static] -

    - -

    This function must be implemented by your plugin code. It should return a -derived class of TQNPlugin. - -

    void * TQNPlugin::getJavaClass () [virtual] -

    -Override this function to return a reference to the Java class that represents -the plugin. The default returns 0, indicating no class. -

    If you override this class, you must also override -TQNPlugin::unuseJavaClass(). -

    The return value is actually a jref; we use void* so as to -avoid burdening plugins which do not require Java. -

    See also getJavaEnv() and TQNPInstance::getJavaPeer(). - -

    void * TQNPlugin::getJavaEnv () const -

    -Returns a pointer to the Java execution environment, or 0 if -either Java is disabled or an error occurred. -

    The return value is actually a JRIEnv*; we use void* so as -to avoid burdening plugins which do not require Java. -

    See also getJavaClass() and TQNPInstance::getJavaPeer(). - -

    const char * TQNPlugin::getMIMEDescription () const [pure virtual] -

    - -

    Override this function to return the MIME description of the data formats -supported by your plugin. The format of this string is shown by -the following example: -

    -    const char* getMIMEDescription() const
    -    {
    -        return "image/x-png:png:PNG Image;"
    -               "image/png:png:PNG Image;"
    -               "image/x-portable-bitmap:pbm:PBM Image;"
    -               "image/x-portable-graymap:pgm:PGM Image;"
    -               "image/x-portable-pixmap:ppm:PPM Image;"
    -               "image/bmp:bmp:BMP Image;"
    -               "image/x-ms-bmp:bmp:BMP Image;"
    -               "image/x-xpixmap:xpm:XPM Image;"
    -               "image/xpm:xpm:XPM Image";
    -    }
    -
    - - -

    const char * TQNPlugin::getPluginDescriptionString () const [pure virtual] -

    - -

    Returns a pointer to the plain-text description of the plugin. - -

    const char * TQNPlugin::getPluginNameString () const [pure virtual] -

    - -

    Returns a pointer to the plain-text name of the plugin. - -

    void TQNPlugin::getVersionInfo ( int & plugin_major, int & plugin_minor, int & browser_major, int & browser_minor ) -

    -Populates *plugin_major and *plugin_minor with the -version of the plugin API and populates *browser_major and -*browser_minor with the version of the web browser. - -

    TQNPInstance * TQNPlugin::newInstance () [pure virtual] -

    - -

    Override this function to return an appropriate derived class of -TQNPInstance. - -

    void TQNPlugin::unuseJavaClass () [virtual] -

    -This function is called when the plugin is shutting down. The -function should unuse the Java class returned earlier by -getJavaClass(). - - -

    -This file is part of the TQt toolkit. -Copyright © 1995-2007 -Trolltech. All Rights Reserved.


    - -
    Copyright © 2007 -TrolltechTrademarks -
    TQt 3.3.8
    -
    - diff --git a/doc/html/tqnpstream-members.html b/doc/html/tqnpstream-members.html deleted file mode 100644 index f34408d6..00000000 --- a/doc/html/tqnpstream-members.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -TQNPStream Member List - - - - - - - -
    - -Home - | -All Classes - | -Main Classes - | -Annotated - | -Grouped Classes - | -Functions -

    Complete Member List for TQNPStream

    - -

    This is the complete list of member functions for -TQNPStream, including inherited members. - -

    - -


    - -
    Copyright © 2007 -TrolltechTrademarks -
    TQt 3.3.8
    -
    - diff --git a/doc/html/tqnpstream.html b/doc/html/tqnpstream.html deleted file mode 100644 index 2c6437a7..00000000 --- a/doc/html/tqnpstream.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - -TQNPStream Class - - - - - - - -
    - -Home - | -All Classes - | -Main Classes - | -Annotated - | -Grouped Classes - | -Functions -

    TQNPStream Class Reference

    - -

    The TQNPStream class provides a stream of data provided to a TQNPInstance by the browser. -More... -

    This class is part of the TQt Netscape Extension. -

    #include <tqnp.h> -

    List of all member functions. -

    Public Members

    - -

    Detailed Description

    -

    This class is defined in the TQt Netscape Extension, which can be found in the qt/extensions directory. It is not included in the main TQt API. -

    - -The TQNPStream class provides a stream of data provided to a TQNPInstance by the browser. -

    -

    Note that this is neither a TQTextStream nor a TQDataStream. -

    See also TQNPInstance::write() and TQNPInstance::newStreamCreated(). - -


    Member Function Documentation

    -

    TQNPStream::TQNPStream ( TQNPInstance * in, const char * mt, _NPStream * st, bool se ) -

    -Creates a stream. Plugins should not call this; they should call -TQNPInstance::newStream() if they need a stream. -

    Takes a TQNPInstance in, MIME type mt, a pointer to an -_NPStream st and a seekable flag se. - -

    TQNPStream::~TQNPStream () -

    -Destroys the stream. - -

    bool TQNPStream::complete () const -

    -Returns TRUE if the stream has received all the data from the -source; otherwise returns FALSE. - -

    uint TQNPStream::end () const -

    -Returns the length of the stream in bytes. The function might -return 0 for streams of unknown length. - -

    TQNPInstance * TQNPStream::instance () -

    - -

    Returns the TQNPInstance for which this stream was created. - -

    uint TQNPStream::lastModified () const -

    -Returns the time when the source of the stream was last modified. - -

    bool TQNPStream::okay () const -

    -Returns TRUE if no errors have occurred on the stream; otherwise -returns FALSE. - -

    void TQNPStream::requestRead ( int offset, uint length ) -

    -Requests the section of the stream, of length bytes from offset, be sent to the TQNPInstance::write() function of the -instance() of this stream. - -

    bool TQNPStream::seekable () const -

    -Returns TRUE if the stream is seekable; otherwise returns FALSE. - -

    const char * TQNPStream::type () const -

    -Returns the MIME type of the stream. - -

    const char * TQNPStream::url () const -

    -Returns the URL from which the stream was created. - -

    int TQNPStream::write ( int len, void * buffer ) -

    -Writes len bytes from buffer to the stream. - - -

    -This file is part of the TQt toolkit. -Copyright © 1995-2007 -Trolltech. All Rights Reserved.


    - -
    Copyright © 2007 -TrolltechTrademarks -
    TQt 3.3.8
    -
    - diff --git a/doc/html/tqnpwidget-members.html b/doc/html/tqnpwidget-members.html deleted file mode 100644 index 1fee40d0..00000000 --- a/doc/html/tqnpwidget-members.html +++ /dev/null @@ -1,340 +0,0 @@ - - - - - -TQNPWidget Member List - - - - - - - -
    - -Home - | -All Classes - | -Main Classes - | -Annotated - | -Grouped Classes - | -Functions -

    Complete Member List for TQNPWidget

    - -

    This is the complete list of member functions for -TQNPWidget, including inherited members. - -

    - -


    - -
    Copyright © 2007 -TrolltechTrademarks -
    TQt 3.3.8
    -
    - diff --git a/doc/html/tqnpwidget.html b/doc/html/tqnpwidget.html deleted file mode 100644 index 846853bb..00000000 --- a/doc/html/tqnpwidget.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - -TQNPWidget Class - - - - - - - -
    - -Home - | -All Classes - | -Main Classes - | -Annotated - | -Grouped Classes - | -Functions -

    TQNPWidget Class Reference

    - -

    The TQNPWidget class provides a TQWidget that is a web browser plugin window. -More... -

    This class is part of the TQt Netscape Extension. -

    #include <tqnp.h> -

    Inherits TQWidget. -

    List of all member functions. -

    Public Members

    - -

    Detailed Description

    -

    This class is defined in the TQt Netscape Extension, which can be found in the qt/extensions directory. It is not included in the main TQt API. -

    - -The TQNPWidget class provides a TQWidget that is a web browser plugin window. -

    -

    Derive from TQNPWidget to create a widget that can be used as a -web browser plugin window, or create one and add child widgets. -Instances of TQNPWidget may only be created when -TQNPInstance::newWindow() is called by the browser. -

    A common way to develop a plugin widget is to develop it as a -stand-alone application window, then make it a child of a -plugin widget to use it as a browser plugin. The technique is: -

    -class MyPluginWindow : public TQNPWidget
    -{
    -    TQWidget* child;
    -public:
    -    MyPluginWindow()
    -    {
    -        // Some widget that is normally used as a top-level widget
    -        child = new MyIndependentlyDevelopedWidget();
    -
    -        // Use the background color of the web page
    -        child->setBackgroundColor( backgroundColor() );
    -
    -        // Fill the plugin widget
    -        child->setGeometry( 0, 0, width(), height() );
    -    }
    -
    -    void resizeEvent(TQResizeEvent*)
    -    {
    -        // Fill the plugin widget
    -        child->resize(size());
    -    }
    -};
    -
    - -

    The default implementation is an empty window. - -


    Member Function Documentation

    -

    TQNPWidget::TQNPWidget () -

    -Creates a TQNPWidget. - -

    TQNPWidget::~TQNPWidget () -

    -Destroys the window. This will be called by the plugin binding -code when the window is no longer required. The web browser will -delete windows when they leave the page. The bindings will change -the TQWidget::winId() of the window when the window is resized, but -this should not affect normal widget behavior. - -

    void TQNPWidget::enterInstance () [virtual] -

    -Called when the mouse enters the plugin window. Does nothing by -default. - -

    Example: grapher/grapher.cpp. -

    TQNPInstance * TQNPWidget::instance () -

    -Returns the instance for which this widget is the plugin window. - -

    void TQNPWidget::leaveInstance () [virtual] -

    -Called when the mouse leaves the plugin window. Does nothing by -default. - -

    Example: grapher/grapher.cpp. - -


    -This file is part of the TQt toolkit. -Copyright © 1995-2007 -Trolltech. All Rights Reserved.


    - -
    Copyright © 2007 -TrolltechTrademarks -
    TQt 3.3.8
    -
    - diff --git a/doc/html/tqobject.html b/doc/html/tqobject.html index 62dcefb8..74d40b68 100644 --- a/doc/html/tqobject.html +++ b/doc/html/tqobject.html @@ -36,7 +36,7 @@ body { background: #ffffff; color: black; }

    All the functions in this class are reentrant when TQt is built with thread support.

    #include <tqobject.h>

    Inherits TQt. --

    Inherited by TQAccel, TQAccessibleObject, TQAction, TQApplication, TQAssistantClient, TQDataPump, TQWidget, TQCanvas, TQStyle, TQClipboard, TQDns, TQLayout, TQDragObject, TQEditorFactory, TQEventLoop, TQFileIconProvider, TQNetworkProtocol, TQNetworkOperation, TQNPInstance, TQObjectCleanupHandler, TQProcess, TQServerSocket, TQSessionManager, TQSignal, TQSignalMapper, TQSocket, TQSocketNotifier, TQSound, TQSqlDatabase, TQSqlDriver, TQSqlForm, TQStyleSheet, TQTimer, TQToolTipGroup, TQTranslator, TQUrlOperator, and TQValidator. +-

    Inherited by TQAccel, TQAccessibleObject, TQAction, TQApplication, TQAssistantClient, TQDataPump, TQWidget, TQCanvas, TQStyle, TQClipboard, TQDns, TQLayout, TQDragObject, TQEditorFactory, TQEventLoop, TQFileIconProvider, TQNetworkProtocol, TQNetworkOperation, TQObjectCleanupHandler, TQProcess, TQServerSocket, TQSessionManager, TQSignal, TQSignalMapper, TQSocket, TQSocketNotifier, TQSound, TQSqlDatabase, TQSqlDriver, TQSqlForm, TQStyleSheet, TQTimer, TQToolTipGroup, TQTranslator, TQUrlOperator, and TQValidator.

    List of all member functions.

    Public Members

      @@ -877,7 +877,7 @@ timer events for the object. functionality, and also more general information about timers.

      See also startTimer(), killTimer(), killTimers(), and event(). -

      Examples: biff/biff.cpp, dclock/dclock.cpp, forever/forever.cpp, grapher/grapher.cpp, qmag/qmag.cpp, and xform/xform.cpp. +

      Examples: biff/biff.cpp, dclock/dclock.cpp, forever/forever.cpp, qmag/qmag.cpp, and xform/xform.cpp.

      TQString TQObject::tr ( const char * sourceText, const char * comment ) [static]

      diff --git a/doc/html/tqpainter.html b/doc/html/tqpainter.html index e960c21e..2ae52c2d 100644 --- a/doc/html/tqpainter.html +++ b/doc/html/tqpainter.html @@ -691,7 +691,7 @@ mean counter-clockwise while negative values mean the clockwise direction. Zero degrees is at the 3 o'clock position.

      See also drawArc() and drawChord(). -

      Examples: drawdemo/drawdemo.cpp, grapher/grapher.cpp, t10/cannon.cpp, and t9/cannon.cpp. +

      Examples: drawdemo/drawdemo.cpp, t10/cannon.cpp, and t9/cannon.cpp.

      void TQPainter::drawPie ( const TQRect & r, int a, int alen )

      This is an overloaded member function, provided for convenience. It behaves essentially like the above function. @@ -711,7 +711,7 @@ the pixmap. when painting on a TQPrinter.

      See also bitBlt() and TQPixmap::setMask(). -

      Examples: grapher/grapher.cpp, picture/picture.cpp, tqdir/tqdir.cpp, qmag/qmag.cpp, showimg/showimg.cpp, t10/cannon.cpp, and xform/xform.cpp. +

      Examples: picture/picture.cpp, tqdir/tqdir.cpp, qmag/qmag.cpp, showimg/showimg.cpp, t10/cannon.cpp, and xform/xform.cpp.

      void TQPainter::drawPixmap ( const TQPoint & p, const TQPixmap & pm, const TQRect & sr )

      This is an overloaded member function, provided for convenience. It behaves essentially like the above function. @@ -786,7 +786,7 @@ Draws a rectangle with upper left corner at (x, y) and with width w and height h.

      See also TQPen and drawRoundRect(). -

      Examples: drawdemo/drawdemo.cpp, picture/picture.cpp, t10/cannon.cpp, t11/cannon.cpp, t9/cannon.cpp, tooltip/tooltip.cpp, and trivial/trivial.cpp. +

      Examples: drawdemo/drawdemo.cpp, picture/picture.cpp, t10/cannon.cpp, t11/cannon.cpp, t9/cannon.cpp and tooltip/tooltip.cpp.

      void TQPainter::drawRect ( const TQRect & r )

      This is an overloaded member function, provided for convenience. It behaves essentially like the above function. @@ -821,7 +821,7 @@ rectangle and the text is aligned within that rectangle in accordance with the alignment flags.

      See also TQPainter::TextDirection. -

      Examples: desktop/desktop.cpp, drawdemo/drawdemo.cpp, grapher/grapher.cpp, picture/picture.cpp, progress/progress.cpp, t8/cannon.cpp, and trivial/trivial.cpp. +

      Examples: desktop/desktop.cpp, drawdemo/drawdemo.cpp, picture/picture.cpp, progress/progress.cpp and t8/cannon.cpp.

      void TQPainter::drawText ( int x, int y, const TQString &, int len = -1, TextDirection dir = Auto )

      @@ -1203,7 +1203,7 @@ coordinates given for the clip region are taken to be model coordinates.

      See also setClipRegion(), clipRegion(), setClipping(), and TQPainter::CoordinateMode. -

      Examples: grapher/grapher.cpp, progress/progress.cpp, showimg/showimg.cpp, splitter/splitter.cpp, and trivial/trivial.cpp. +

      Examples: progress/progress.cpp, showimg/showimg.cpp and splitter/splitter.cpp.

      void TQPainter::setClipRect ( const TQRect & r, CoordinateMode m = CoordDevice )

      This is an overloaded member function, provided for convenience. It behaves essentially like the above function. @@ -1234,7 +1234,7 @@ Sets the painter's font to font. color is the same as the pen color.

      See also font() and drawText(). -

      Examples: drawdemo/drawdemo.cpp, grapher/grapher.cpp, hello/hello.cpp, picture/picture.cpp, qwerty/qwerty.cpp, t13/cannon.cpp, and xform/xform.cpp. +

      Examples: drawdemo/drawdemo.cpp, hello/hello.cpp, picture/picture.cpp, qwerty/qwerty.cpp, t13/cannon.cpp, and xform/xform.cpp.

      void TQPainter::setPen ( const TQPen & pen )

      Sets a new painter pen. diff --git a/doc/html/tqpixmap.html b/doc/html/tqpixmap.html index a909ab91..585cf5b3 100644 --- a/doc/html/tqpixmap.html +++ b/doc/html/tqpixmap.html @@ -401,7 +401,7 @@ or if the pixmap has not been initialized yet. Fills the pixmap with the color fillColor. -

      Examples: chart/setdataform.cpp, desktop/desktop.cpp, grapher/grapher.cpp, hello/hello.cpp, t10/cannon.cpp, themes/metal.cpp, and xform/xform.cpp. +

      Examples: chart/setdataform.cpp, desktop/desktop.cpp, hello/hello.cpp, t10/cannon.cpp, themes/metal.cpp, and xform/xform.cpp.

      void TQPixmap::fill ( const TQWidget * widget, int xofs, int yofs )

      This is an overloaded member function, provided for convenience. It behaves essentially like the above function. @@ -652,7 +652,7 @@ or h is 0, the pixmap becomes a null pixmap. created. New pixels will be uninitialized (random) if the pixmap is expanded. -

      Examples: desktop/desktop.cpp and grapher/grapher.cpp. +

      Examples: desktop/desktop.cpp.

      void TQPixmap::resize ( const TQSize & size )

      This is an overloaded member function, provided for convenience. It behaves essentially like the above function. diff --git a/doc/html/tqpopupmenu.html b/doc/html/tqpopupmenu.html index f118950c..153d718a 100644 --- a/doc/html/tqpopupmenu.html +++ b/doc/html/tqpopupmenu.html @@ -226,7 +226,7 @@ several items to a single slot (most often if the user selects from an array). This signal is useful in such cases.

      See also highlighted() and TQMenuData::insertItem(). -

      Examples: grapher/grapher.cpp, helpviewer/helpwindow.cpp, tqdir/tqdir.cpp, qwerty/qwerty.cpp, scrollview/scrollview.cpp, and showimg/showimg.cpp. +

      Examples: helpviewer/helpwindow.cpp, tqdir/tqdir.cpp, qwerty/qwerty.cpp, scrollview/scrollview.cpp, and showimg/showimg.cpp.

      void TQMenuData::changeItem ( int id, const TQString & text )

      Changes the text of the menu item id to text. If the item @@ -764,7 +764,7 @@ unchecks the menu item with id id. Calls TQPopupMenu::setCheckable( TRUE ) if necessary.

      See also isItemChecked(). -

      Examples: canvas/canvas.cpp, grapher/grapher.cpp, mdi/application.cpp, menu/menu.cpp, progress/progress.cpp, scrollview/scrollview.cpp, and showimg/showimg.cpp. +

      Examples: canvas/canvas.cpp, mdi/application.cpp, menu/menu.cpp, progress/progress.cpp, scrollview/scrollview.cpp, and showimg/showimg.cpp.

      void TQMenuData::setItemEnabled ( int id, bool enable )

      If enable is TRUE, enables the menu item with identifier id; diff --git a/doc/html/tqptrcollection.html b/doc/html/tqptrcollection.html index 5e76b611..09b5f51e 100644 --- a/doc/html/tqptrcollection.html +++ b/doc/html/tqptrcollection.html @@ -163,7 +163,7 @@ function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.

      See also autoDelete(). -

      Examples: grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +

      Examples: scribble/scribble.cpp and table/bigtable/main.cpp.


      This file is part of the TQt toolkit. diff --git a/doc/html/tqptrdict.html b/doc/html/tqptrdict.html index 8332ded1..e79a05b6 100644 --- a/doc/html/tqptrdict.html +++ b/doc/html/tqptrdict.html @@ -269,7 +269,7 @@ function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.

      See also autoDelete(). -

      Examples: grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +

      Examples: scribble/scribble.cpp and table/bigtable/main.cpp.

      uint TQPtrDict::size () const

      diff --git a/doc/html/tqptrlist.html b/doc/html/tqptrlist.html index 60fbd080..6f1c4ea0 100644 --- a/doc/html/tqptrlist.html +++ b/doc/html/tqptrlist.html @@ -236,7 +236,7 @@ equivalent to insert( count(), item ).

      item must not be 0.

      See also insert(), current(), and prepend(). -

      Examples: customlayout/border.cpp, customlayout/card.cpp, customlayout/flow.cpp, grapher/grapher.cpp, listviews/listviews.cpp, listviews/listviews.h, and qwerty/qwerty.cpp. +

      Examples: customlayout/border.cpp, customlayout/card.cpp, customlayout/flow.cpp, listviews/listviews.cpp, listviews/listviews.h, and qwerty/qwerty.cpp.

      type * TQPtrList::at ( uint index )

      @@ -320,7 +320,7 @@ contains() compares item with each list item using

      Returns the number of items in the list.

      See also isEmpty(). -

      Examples: customlayout/border.cpp, customlayout/card.cpp, customlayout/flow.cpp, dirview/dirview.cpp, grapher/grapher.cpp, mdi/application.cpp, and qwerty/qwerty.cpp. +

      Examples: customlayout/border.cpp, customlayout/card.cpp, customlayout/flow.cpp, dirview/dirview.cpp, mdi/application.cpp and qwerty/qwerty.cpp.

      Reimplemented from TQPtrCollection.

      type * TQPtrList::current () const

      @@ -400,7 +400,7 @@ this function only compares the pointers. current list item; returns 0 if the list is empty.

      See also getFirst(), last(), next(), prev(), and current(). -

      Examples: grapher/grapher.cpp, listviews/listviews.h, and showimg/showimg.cpp. +

      Examples: listviews/listviews.h and showimg/showimg.cpp.

      type * TQPtrList::getFirst () const

      @@ -469,7 +469,7 @@ function call was the last item, the current item will be set to 0. If the current item was 0, this function does nothing.

      See also first(), last(), prev(), and current(). -

      Examples: grapher/grapher.cpp, listviews/listviews.h, and showimg/showimg.cpp. +

      Examples: listviews/listviews.h and showimg/showimg.cpp.

      bool TQPtrList::operator!= ( const TQPtrList<type> & list ) const

      @@ -651,7 +651,7 @@ function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.

      See also autoDelete(). -

      Examples: grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +

      Examples: scribble/scribble.cpp and table/bigtable/main.cpp.

      void TQPtrList::sort ()

      diff --git a/doc/html/tqptrvector.html b/doc/html/tqptrvector.html index d591978c..02aa910a 100644 --- a/doc/html/tqptrvector.html +++ b/doc/html/tqptrvector.html @@ -344,7 +344,7 @@ function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.

      See also autoDelete(). -

      Examples: grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +

      Examples: scribble/scribble.cpp and table/bigtable/main.cpp.

      uint TQPtrVector::size () const

      diff --git a/doc/html/tqtextstream.html b/doc/html/tqtextstream.html index 505aa9b1..0c8b7019 100644 --- a/doc/html/tqtextstream.html +++ b/doc/html/tqtextstream.html @@ -252,7 +252,7 @@ the stream or file) or if there is no IO device set; otherwise returns FALSE.

      See also TQIODevice::atEnd(). -

      Examples: addressbook/centralwidget.cpp and grapher/grapher.cpp. +

      Examples: addressbook/centralwidget.cpp.

      TQTextCodec * TQTextStream::codec ()

      Returns the codec actually used for this stream. diff --git a/doc/html/tqwidget.html b/doc/html/tqwidget.html index a84c38c2..2cf57943 100644 --- a/doc/html/tqwidget.html +++ b/doc/html/tqwidget.html @@ -35,7 +35,7 @@ body { background: #ffffff; color: black; } More...

      #include <tqwidget.h>

      Inherits TQObject and TQPaintDevice. --

      Inherited by TQButton, TQFrame, TQDialog, TQComboBox, TQDataBrowser, TQDataView, TQDateTimeEditBase, TQDateTimeEdit, TQDesktopWidget, TQDial, TQDockArea, TQGLWidget, TQHeader, TQMainWindow, TQMotifWidget, TQNPWidget, TQScrollBar, TQSizeGrip, TQSlider, TQSpinBox, TQSplashScreen, TQStatusBar, TQTabBar, TQTabWidget, TQWorkspace, and TQXtWidget. +-

      Inherited by TQButton, TQFrame, TQDialog, TQComboBox, TQDataBrowser, TQDataView, TQDateTimeEditBase, TQDateTimeEdit, TQDesktopWidget, TQDial, TQDockArea, TQGLWidget, TQHeader, TQMainWindow, TQMotifWidget, TQScrollBar, TQSizeGrip, TQSlider, TQSpinBox, TQSplashScreen, TQStatusBar, TQTabBar, TQTabWidget, TQWorkspace, and TQXtWidget.

      List of all member functions.

      Public Members

        @@ -2183,7 +2183,7 @@ applications should avoid it and use one consistent GUI style instead.

        See also style(), TQStyle, TQApplication::style(), and TQApplication::setStyle(). -

        Examples: grapher/grapher.cpp and progressbar/progressbar.cpp. +

        Examples: progressbar/progressbar.cpp.

        TQStyle * TQWidget::setStyle ( const TQString & style )

        This is an overloaded member function, provided for convenience. It behaves essentially like the above function. diff --git a/doc/html/trivial-nsplugin-example.html b/doc/html/trivial-nsplugin-example.html deleted file mode 100644 index 277c7993..00000000 --- a/doc/html/trivial-nsplugin-example.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - -Trivial Example - - - - - - - -
        - -Home - | -All Classes - | -Main Classes - | -Annotated - | -Grouped Classes - | -Functions -

        Trivial Example

        - - - -

        This example is trivial, and thus useful for -investigating problems you might have installing the -extension. -

        To build the example, you must first build the -TQt Netscape Plugin Extension library. -Then type make in extensions/nsplugin/examples/trivial/ -and copy the resulting trivial.so or nptrivial.dll -to the Plugins directory of your WWW browser. -

        -


        -Implementation: -

        // TQt stuff
        -#include "tqnp.h"
        -#include <tqpainter.h>
        -#include <tqmessagebox.h>
        -
        -class Trivial : public TQNPWidget {
        -    TQ_OBJECT
        -public:
        -    void mouseReleaseEvent(TQMouseEvent* event)
        -    {
        -        TQMessageBox::aboutTQt(this);
        -    }
        -
        -    void paintEvent(TQPaintEvent* event)
        -    {
        -        TQPainter p(this);
        -        p.setClipRect(event->rect());
        -        int w = width();
        -        p.drawRect(rect());
        -        p.drawText(w/8, 0, w-w/4, height(), AlignCenter|WordBreak, "Trivial!");
        -    }
        -};
        -
        -class TrivialInstance : public TQNPInstance {
        -    TQ_OBJECT
        -public:
        -    TQNPWidget* newWindow()
        -    {
        -        return new Trivial;
        -    }
        -
        -    void print(TQPainter* p)
        -    {
        -        p->drawText(0,0,"Hello");
        -    }
        -};
        -
        -class TrivialPlugin : public TQNPlugin {
        -public:
        -    TQNPInstance* newInstance()
        -    {
        -        return new TrivialInstance;
        -    }
        -
        -    const char* getMIMEDescription() const
        -    {
        -        return "trivial/very:xxx:Trivial and useless";
        -    }
        -
        -    const char * getPluginNameString() const
        -    {
        -        return "Trivial TQt-based Plugin";
        -    }
        -
        -    const char * getPluginDescriptionString() const
        -    {
        -        return "A TQt-based LiveConnected plug-in that does nothing";
        -    }
        -
        -};
        -
        -TQNPlugin* TQNPlugin::create()
        -{
        -    return new TrivialPlugin;
        -}
        -
        -#include "trivial.moc"
        -
        - -

        See also Netscape Plugin Examples. - - -


        - -
        Copyright © 2007 -TrolltechTrademarks -
        TQt 3.3.8
        -
        - diff --git a/doc/html/whatsthis b/doc/html/whatsthis index c59f6aa8..6ffd4e04 100644 --- a/doc/html/whatsthis +++ b/doc/html/whatsthis @@ -264,9 +264,7 @@ Polygon on a TQCanvas. | TQCanvasPolygon Polygonal canvas item on a TQCanvas. | TQCanvasPolygonalItem Popup menu widget. | TQPopupMenu Powerful single-page rich text editor. | TQTextEdit -TQObject that is a web browser plugin. | TQNPInstance TQPtrList of TQObjects. | TQObjectList -TQWidget that is a web browser plugin window. | TQNPWidget Quick-access button to commands or options, usually used inside a TQToolBar. | TQToolButton Radio button with a text or pixmap label. | TQRadioButton Range checking of floating-point numbers. | TQDoubleValidator @@ -311,7 +309,6 @@ State-based encoder. | TQTextEncoder Stores information about URLs. | TQUrlInfo Stores meta data about a property. | TQMetaProperty Stores meta data associated with a SQL field. | TQSqlFieldInfo -Stream of data provided to a TQNPInstance by the browser. | TQNPStream String objects using constant Unicode data. | TQConstString Support for custom events. | TQCustomEvent Support for socket callbacks. | TQSocketNotifier @@ -355,7 +352,6 @@ The cell content for TQTable cells. | TQTableItem The display format of an OpenGL rendering context. | TQGLFormat The input data for the TQXmlReader subclasses. | TQXmlInputSource The look and feel of a GUI. | TQStyle -The main factory for plugin objects. | TQNPlugin The representation of the DTD in the document tree. | TQDomDocumentType The structures in a TQTabBar. | TQTab Time editor. | TQTimeEdit diff --git a/doc/indices.doc b/doc/indices.doc index 2dc59840..88f60d3c 100644 --- a/doc/indices.doc +++ b/doc/indices.doc @@ -360,7 +360,6 @@ in a line-by-line coverage please refer to the tutorials \list \i \link motif-examples.html TQMotif support extension \endlink \omit \i \link xt-motif-examples.html Xt/Motif support extension \endlink \endomit -\i \link nsplugin-examples.html Qt-based plugins for web browsers \endlink \endlist \section1 Miscellaneous Examples @@ -439,17 +438,6 @@ Qt XML classes. */ -/*! \defgroup nsplugin-examples - -\title Netscape Plugin Examples - -The following example programs show how to write plugins -that can be used with web browsers supporting the LiveConnect -protocol. - -For more information see the \link netscape-plugin.html Plugin Howto \endlink. -*/ - /*! \defgroup motif-examples \title TQMotif Support Extension diff --git a/doc/man/man3/TQNPInstance.3qt b/doc/man/man3/TQNPInstance.3qt deleted file mode 100644 index 335a56d0..00000000 --- a/doc/man/man3/TQNPInstance.3qt +++ /dev/null @@ -1 +0,0 @@ -.so man3/tqnpinstance.3qt diff --git a/doc/man/man3/TQNPStream.3qt b/doc/man/man3/TQNPStream.3qt deleted file mode 100644 index 4f347ce8..00000000 --- a/doc/man/man3/TQNPStream.3qt +++ /dev/null @@ -1 +0,0 @@ -.so man3/tqnpstream.3qt diff --git a/doc/man/man3/TQNPWidget.3qt b/doc/man/man3/TQNPWidget.3qt deleted file mode 100644 index abcb7e5d..00000000 --- a/doc/man/man3/TQNPWidget.3qt +++ /dev/null @@ -1 +0,0 @@ -.so man3/tqnpwidget.3qt diff --git a/doc/man/man3/TQNPlugin.3qt b/doc/man/man3/TQNPlugin.3qt deleted file mode 100644 index 7b7c90bd..00000000 --- a/doc/man/man3/TQNPlugin.3qt +++ /dev/null @@ -1 +0,0 @@ -.so man3/tqnplugin.3qt diff --git a/doc/man/man3/tqasciidict.3qt b/doc/man/man3/tqasciidict.3qt index e02592ef..f82b7a39 100644 --- a/doc/man/man3/tqasciidict.3qt +++ b/doc/man/man3/tqasciidict.3qt @@ -269,7 +269,7 @@ Note that the auto-delete setting may also affect other functions in subclasses. See also autoDelete(). .PP Examples: -.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +.)l scribble/scribble.cpp, and table/bigtable/main.cpp. .SH "uint TQAsciiDict::size () const" Returns the size of the internal hash array (as specified in the constructor). .PP diff --git a/doc/man/man3/tqcache.3qt b/doc/man/man3/tqcache.3qt index 56b1f3a3..a879d302 100644 --- a/doc/man/man3/tqcache.3qt +++ b/doc/man/man3/tqcache.3qt @@ -167,7 +167,7 @@ Note that the auto-delete setting may also affect other functions in subclasses. See also autoDelete(). .PP Examples: -.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +.)l scribble/scribble.cpp, and table/bigtable/main.cpp. .SH "void TQCache::setMaxCost ( int m )" Sets the maximum allowed total cost of the cache to \fIm\fR. If the current total cost is greater than \fIm\fR, some items are deleted immediately. .PP diff --git a/doc/man/man3/tqcolor.3qt b/doc/man/man3/tqcolor.3qt index bec58616..62dd6f42 100644 --- a/doc/man/man3/tqcolor.3qt +++ b/doc/man/man3/tqcolor.3qt @@ -495,7 +495,7 @@ If \fIs\fR or \fIv\fR are not in the range 0-255, or \fIh\fR is < -1, the color See also hsv() and setRgb(). .PP Examples: -.)l drawdemo/drawdemo.cpp, grapher/grapher.cpp, and progress/progress.cpp. +.)l drawdemo/drawdemo.cpp] and progress/progress.cpp. .SH "void TQColor::setNamedColor ( const TQString & name )" Sets the RGB value to \fIname\fR, which may be in one of these formats: .TP diff --git a/doc/man/man3/tqdict.3qt b/doc/man/man3/tqdict.3qt index a91eb407..5bd827e9 100644 --- a/doc/man/man3/tqdict.3qt +++ b/doc/man/man3/tqdict.3qt @@ -326,7 +326,7 @@ Note that the auto-delete setting may also affect other functions in subclasses. See also autoDelete(). .PP Examples: -.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +.)l scribble/scribble.cpp and table/bigtable/main.cpp. .SH "uint TQDict::size () const" Returns the size of the internal hash array (as specified in the constructor). .PP diff --git a/doc/man/man3/tqfontmetrics.3qt b/doc/man/man3/tqfontmetrics.3qt index 21955f59..c737f79e 100644 --- a/doc/man/man3/tqfontmetrics.3qt +++ b/doc/man/man3/tqfontmetrics.3qt @@ -257,7 +257,7 @@ This is always equal to ascent()+descent()+1 (the 1 is for the base line). See also leading() and lineSpacing(). .PP Examples: -.)l grapher/grapher.cpp, hello/hello.cpp, and qfd/fontdisplayer.cpp. +.)l hello/hello.cpp and qfd/fontdisplayer.cpp. .SH "bool TQFontMetrics::inFont ( TQChar ch ) const" Returns TRUE if character \fIch\fR is a valid character in the font; otherwise returns FALSE. .PP diff --git a/doc/man/man3/tqintdict.3qt b/doc/man/man3/tqintdict.3qt index d38f8560..c754c1d8 100644 --- a/doc/man/man3/tqintdict.3qt +++ b/doc/man/man3/tqintdict.3qt @@ -265,7 +265,7 @@ Note that the auto-delete setting may also affect other functions in subclasses. See also autoDelete(). .PP Examples: -.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +.)l scribble/scribble.cpp and table/bigtable/main.cpp. .SH "uint TQIntDict::size () const" Returns the size of the internal hash array (as specified in the constructor). .PP diff --git a/doc/man/man3/tqiodevice.3qt b/doc/man/man3/tqiodevice.3qt index f2675e62..4a581aa4 100644 --- a/doc/man/man3/tqiodevice.3qt +++ b/doc/man/man3/tqiodevice.3qt @@ -306,8 +306,6 @@ This virtual function must be reimplemented by all subclasses. .PP See also open(). .PP -Example: grapher/grapher.cpp. -.PP Reimplemented in TQFile and TQSocket. .SH "int TQIODevice::flags () const" Returns the current I/O device flags setting. @@ -409,8 +407,6 @@ This virtual function must be reimplemented by all subclasses. .PP See also close(). .PP -Example: grapher/grapher.cpp. -.PP Reimplemented in TQFile and TQSocket. .SH "int TQIODevice::putch ( int ch )\fC [pure virtual]\fR" Writes the character \fIch\fR to the I/O device. @@ -421,8 +417,6 @@ This virtual function must be reimplemented by all subclasses. .PP See also getch() and ungetch(). .PP -Example: grapher/grapher.cpp. -.PP Reimplemented in TQFile and TQSocket. .SH "TQByteArray TQIODevice::readAll ()\fC [virtual]\fR" This convenience function returns all of the remaining data in the device. diff --git a/doc/man/man3/tqmenubar.3qt b/doc/man/man3/tqmenubar.3qt index 7869ccf8..7269f08d 100644 --- a/doc/man/man3/tqmenubar.3qt +++ b/doc/man/man3/tqmenubar.3qt @@ -266,8 +266,6 @@ Reimplemented from TQWidget. .SH "void TQMenuBar::hide ()\fC [virtual]\fR" Reimplements TQWidget::hide() in order to deselect any selected item, and calls setUpLayout() for the main window. .PP -Example: grapher/grapher.cpp. -.PP Reimplemented from TQWidget. .SH "void TQMenuBar::highlighted ( int id )\fC [signal]\fR" This signal is emitted when a menu item is highlighted; \fIid\fR is the id of the highlighted item. @@ -543,8 +541,6 @@ Sets in which cases a menubar sparator is drawn to \fIwhen\fR. See the "separato .SH "void TQMenuBar::show ()\fC [virtual]\fR" Reimplements TQWidget::show() in order to set up the correct keyboard accelerators and to raise itself to the top of the widget stack. .PP -Example: grapher/grapher.cpp. -.PP Reimplemented from TQWidget. .SS "Property Documentation" .SH "bool defaultUp" diff --git a/doc/man/man3/tqmenudata.3qt b/doc/man/man3/tqmenudata.3qt index da5af429..7f37b430 100644 --- a/doc/man/man3/tqmenudata.3qt +++ b/doc/man/man3/tqmenudata.3qt @@ -638,7 +638,7 @@ If \fIcheck\fR is TRUE, checks the menu item with id \fIid\fR; otherwise uncheck See also isItemChecked(). .PP Examples: -.)l canvas/canvas.cpp, grapher/grapher.cpp, mdi/application.cpp, menu/menu.cpp, progress/progress.cpp, scrollview/scrollview.cpp, and showimg/showimg.cpp. +.)l canvas/canvas.cpp, mdi/application.cpp, menu/menu.cpp, progress/progress.cpp, scrollview/scrollview.cpp, and showimg/showimg.cpp. .SH "void TQMenuData::setItemEnabled ( int id, bool enable )" If \fIenable\fR is TRUE, enables the menu item with identifier \fIid\fR; otherwise disables the menu item with identifier \fIid\fR. .PP diff --git a/doc/man/man3/tqmessagebox.3qt b/doc/man/man3/tqmessagebox.3qt index eae71d3d..a3b208d8 100644 --- a/doc/man/man3/tqmessagebox.3qt +++ b/doc/man/man3/tqmessagebox.3qt @@ -546,7 +546,7 @@ QApplication provides this functionality as a slot. See also QApplication::aboutTQt(). .PP Examples: -.)l action/application.cpp, application/application.cpp, chart/chartform.cpp, helpviewer/helpwindow.cpp, menu/menu.cpp, themes/themes.cpp, and trivial/trivial.cpp. +.)l action/application.cpp, application/application.cpp, chart/chartform.cpp, helpviewer/helpwindow.cpp, menu/menu.cpp and themes/themes.cpp. .SH "void TQMessageBox::adjustSize ()\fC [virtual]\fR" Adjusts the size of the message box to fit the contents just before TQDialog::exec() or TQDialog::show() is called. .PP @@ -659,8 +659,6 @@ See also question(), warning(), and critical(). Opens a modal message box directly using the specified parameters. .PP Please use information(), warning(), question(), or critical() instead. -.PP -Example: grapher/grapher.cpp. .SH "bool TQMessageBox::query ( const TQString & caption, const TQString & text, const TQString & yesButtonText = TQString::null, const TQString & noButtonText = TQString::null, TQWidget * parent = 0, const char * = 0 )\fC [static]\fR" \fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code. .PP diff --git a/doc/man/man3/tqnpinstance.3qt b/doc/man/man3/tqnpinstance.3qt deleted file mode 100644 index ef3eea78..00000000 --- a/doc/man/man3/tqnpinstance.3qt +++ /dev/null @@ -1,290 +0,0 @@ -'\" t -.TH TQNPInstance 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*- -.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the -.\" license file included in the distribution for a complete license -.\" statement. -.\" -.ad l -.nh -.SH NAME -TQNPInstance \- TQObject that is a web browser plugin -.SH SYNOPSIS -This class is part of the \fBQt Netscape Extension\fR. -.PP -\fC#include \fR -.PP -Inherits TQObject. -.PP -.SS "Public Members" -.in +1c -.ti -1c -.BI "\fB~TQNPInstance\fR ()" -.br -.ti -1c -.BI "int \fBargc\fR () const" -.br -.ti -1c -.BI "const char * \fBargn\fR ( int i ) const" -.br -.ti -1c -.BI "const char * \fBargv\fR ( int i ) const" -.br -.ti -1c -.BI "enum \fBReason\fR { ReasonDone = 0, ReasonBreak = 1, ReasonError = 2, ReasonUnknown = -1 }" -.br -.ti -1c -.BI "const char * \fBarg\fR ( const char * name ) const" -.br -.ti -1c -.BI "enum \fBInstanceMode\fR { Embed = 1, Full = 2, Background = 3 }" -.br -.ti -1c -.BI "InstanceMode \fBmode\fR () const" -.br -.ti -1c -.BI "const char * \fBuserAgent\fR () const" -.br -.ti -1c -.BI "virtual TQNPWidget * \fBnewWindow\fR ()" -.br -.ti -1c -.BI "TQNPWidget * \fBwidget\fR ()" -.br -.ti -1c -.BI "enum \fBStreamMode\fR { Normal = 1, Seek = 2, AsFile = 3, AsFileOnly = 4 }" -.br -.ti -1c -.BI "virtual bool \fBnewStreamCreated\fR ( TQNPStream *, StreamMode & smode )" -.br -.ti -1c -.BI "virtual int \fBwriteReady\fR ( TQNPStream * )" -.br -.ti -1c -.BI "virtual int \fBwrite\fR ( TQNPStream *, int offset, int len, void * buffer )" -.br -.ti -1c -.BI "virtual void \fBstreamDestroyed\fR ( TQNPStream * )" -.br -.ti -1c -.BI "void \fBstatus\fR ( const char * msg )" -.br -.ti -1c -.BI "void \fBgetURLNotify\fR ( const char * url, const char * window = 0, void * data = 0 )" -.br -.ti -1c -.BI "void \fBgetURL\fR ( const char * url, const char * window = 0 )" -.br -.ti -1c -.BI "void \fBpostURL\fR ( const char * url, const char * window, uint len, const char * buf, bool file )" -.br -.ti -1c -.BI "TQNPStream * \fBnewStream\fR ( const char * mimetype, const char * window, bool as_file = FALSE )" -.br -.ti -1c -.BI "virtual void \fBstreamAsFile\fR ( TQNPStream *, const char * fname )" -.br -.ti -1c -.BI "void * \fBgetJavaPeer\fR () const" -.br -.ti -1c -.BI "virtual void \fBnotifyURL\fR ( const char * url, Reason r, void * notifyData )" -.br -.ti -1c -.BI "virtual bool \fBprintFullPage\fR ()" -.br -.ti -1c -.BI "virtual void \fBprint\fR ( TQPainter * )" -.br -.in -1c -.SS "Protected Members" -.in +1c -.ti -1c -.BI "\fBTQNPInstance\fR ()" -.br -.in -1c -.SH DESCRIPTION -This class is defined in the \fBQt Netscape Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main TQt API. -.PP -The TQNPInstance class provides a TQObject that is a web browser plugin. -.PP -Deriving from TQNPInstance creates an object that represents a single \fC\fR tag in an HTML document. -.PP -The TQNPInstance is responsible for creating an appropriate TQNPWidget window if required (not all plugins have windows), and for interacting with the input/output facilities intrinsic to plugins. -.PP -Note that there is \fIabsolutely no guarantee\fR regarding the order in which functions are called. Sometimes the browser will call newWindow() first, at other times, newStreamCreated() will be called first (assuming the \fC\fR tag has a SRC parameter). -.PP -\fINone of Qt's GUI functionality\fR may be used until after the first call to newWindow(). This includes any use of TQPaintDevice (i.e. TQPixmap, TQWidget, and all subclasses), QApplication, anything related to TQPainter (TQBrush, etc.), fonts, TQMovie, TQToolTip, etc. Useful classes which specifically \fIcan\fR be used are TQImage, TQFile, and TQBuffer. -.PP -This restriction can easily be accommodated by structuring your plugin so that the task of the TQNPInstance is to gather data, while the task of the TQNPWidget is to provide a graphical interface to that data. -.SS "Member Type Documentation" -.SH "TQNPInstance::InstanceMode" -This enum type provides Qt-style names for three #defines in \fCnpapi.h\fR: -.TP -\fCTQNPInstance::Embed\fR - corresponds to NP_EMBED -.TP -\fCTQNPInstance::Full\fR - corresponds to NP_FULL -.TP -\fCTQNPInstance::Background\fR - corresponds to NP_BACKGROUND -.SH "TQNPInstance::Reason" -.TP -\fCTQNPInstance::ReasonDone\fR -.TP -\fCTQNPInstance::ReasonBreak\fR -.TP -\fCTQNPInstance::ReasonError\fR -.TP -\fCTQNPInstance::ReasonUnknown\fR -.SH "TQNPInstance::StreamMode" -.TP -\fCTQNPInstance::Normal\fR -.TP -\fCTQNPInstance::Seek\fR -.TP -\fCTQNPInstance::AsFile\fR -.TP -\fCTQNPInstance::AsFileOnly\fR -.SH MEMBER FUNCTION DOCUMENTATION -.SH "TQNPInstance::TQNPInstance ()\fC [protected]\fR" -Creates a TQNPInstance. -.PP -Can only be called from within a derived class created within TQNPlugin::newInstance(). -.SH "TQNPInstance::~TQNPInstance ()" -Called when the plugin instance is about to be deleted. -.SH "const char * TQNPInstance::arg ( const char * name ) const" -Returns the value of the named arguments, or 0 if no argument called \fIname\fR appears in the \fC\fR tag of this instance. If the argument appears, but has no value assigned, the empty string is returned. In summary: -.PP -
        .nf -.TS -l -- -l. -Tag Result - arg("FOO") == 0 - arg("FOO") == "" - -.TE -.fi -
        -.SH "int TQNPInstance::argc () const" -Returns the number of arguments to the instance. Note that you should not normally rely on the ordering of arguments, and note that the SGML specification does not permit multiple arguments with the same name. -.PP -See also arg() and argn(). -.SH "const char * TQNPInstance::argn ( int i ) const" -Returns the name of the \fIi\fR-th argument. -.PP -See also argc() and argv(). -.SH "const char * TQNPInstance::argv ( int i ) const" -Returns the value of the \fIi\fR-th argument. -.PP -\\as argc(), arg() -.SH "void * TQNPInstance::getJavaPeer () const" -Returns the Java object associated with the plugin instance, an object of the plugin's Java class, or 0 if the plug-in does not have a Java class, Java is disabled, or an error occurred. -.PP -The return value is actually a \fCjref\fR we use \fCvoid*\fR so as to avoid burdening plugins which do not require Java. -.PP -See also TQNPlugin::getJavaClass() and TQNPlugin::getJavaEnv(). -.SH "void TQNPInstance::getURL ( const char * url, const char * window = 0 )" -Requests that the \fIurl\fR be retrieved and sent to the named \fIwindow\fR. See Netscape's JavaScript documentation for an explanation of window names. -.SH "void TQNPInstance::getURLNotify ( const char * url, const char * window = 0, void * data = 0 )" -Requests that the given \fIurl\fR be retrieved and sent to the named \fIwindow\fR. See Netscape's JavaScript documentation for an explanation of window names. Passes the arguments including \fIdata\fR to NPN_GetURLNotify. -.PP -Netscape: NPN_GetURLNotify method -.SH "InstanceMode TQNPInstance::mode () const" -Returns the mode of the plugin. -.SH "TQNPStream * TQNPInstance::newStream ( const char * mimetype, const char * window, bool as_file = FALSE )" -\fBThis function is under development and is subject to change.\fR -.PP -This function is \fInot tested\fR. -.PP -Requests the creation of a new data stream \fIfrom\fR the plugin. The MIME type and window are passed in \fImimetype\fR and \fIwindow\fR. \fIas_file\fR holds the AsFileOnly flag. It is an interface to the NPN_NewStream function of the Netscape Plugin API. -.SH "bool TQNPInstance::newStreamCreated ( TQNPStream *, StreamMode & smode )\fC [virtual]\fR" -This function is called when a new stream has been created. The instance should return TRUE if it accepts the processing of the stream. If the instance requires the stream as a file, it should set \fIsmode\fR to AsFileOnly, in which case the data will be delivered some time later to the streamAsFile() function. Otherwise, the data will be delivered in chunks to the write() function, which must consume at least as much data as returned by the most recent call to writeReady(). -.PP -Note that the AsFileOnly method is not supported by Netscape 2.0 and MSIE 3.0. -.PP -The default implementation accepts any stream. -.SH "TQNPWidget * TQNPInstance::newWindow ()\fC [virtual]\fR" -Called at most once, at some time after the TQNPInstance is created. If the plugin requires a window, this function should return a derived class of TQNPWidget that provides the required interface. -.PP -Example: grapher/grapher.cpp. -.SH "void TQNPInstance::notifyURL ( const char * url, Reason r, void * notifyData )\fC [virtual]\fR" -\fBThis function is under development and is subject to change.\fR -.PP -This function is \fInot tested\fR. -.PP -Called whenever a \fIurl\fR is notified after a call to NPN_GetURLNotify with \fInotifyData\fR. The reason is given in \fIr\fR. -.PP -It is an encapsulation of the NPP_URLNotify function of the Netscape Plugin API. -.PP -See also: Netscape: NPP_URLNotify method -.SH "void TQNPInstance::postURL ( const char * url, const char * window, uint len, const char * buf, bool file )" -\fBThis function is under development and is subject to change.\fR -.PP -This function is \fInot tested\fR. -.PP -It is an interface to the NPN_PostURL function of the Netscape Plugin API. -.PP -Passes \fIurl\fR, \fIwindow\fR, \fIbuf\fR, \fIlen\fR, and \fIfile\fR to NPN_PostURL. -.SH "void TQNPInstance::print ( TQPainter * )\fC [virtual]\fR" -\fBThis function is under development and is subject to change.\fR -.PP -This function is \fInot tested\fR. -.PP -Print the instance embedded in a page. -.PP -It is an encapsulation of the NPP_Print function of the Netscape Plugin API. -.SH "bool TQNPInstance::printFullPage ()\fC [virtual]\fR" -\fBThis function is under development and is subject to change.\fR -.PP -This function is \fInot tested\fR. -.PP -It is an encapsulation of the NPP_Print function of the Netscape Plugin API. -.SH "void TQNPInstance::status ( const char * msg )" -Sets the status message in the browser containing this instance to \fImsg\fR. -.SH "void TQNPInstance::streamAsFile ( TQNPStream *, const char * fname )\fC [virtual]\fR" -Called when a stream is delivered as a single file called \fIfname\fR rather than as chunks. This may be simpler for a plugin to deal with, but precludes any incremental behavior. -.PP -Note that the AsFileOnly method is not supported by Netscape 2.0 and MSIE 3.0. -.PP -See also newStreamCreated() and newStream(). -.SH "void TQNPInstance::streamDestroyed ( TQNPStream * )\fC [virtual]\fR" -Called when a stream is destroyed. At this point, the stream may be complete() and okay(). If it is not okay(), then an error has occurred. If it is okay(), but not complete(), then the user has cancelled the transmission; do not give an error message in this case. -.SH "const char * TQNPInstance::userAgent () const" -Returns the user agent (browser name) containing this instance. -.SH "TQNPWidget * TQNPInstance::widget ()" -Returns the plugin window created by newWindow(), if any. -.SH "int TQNPInstance::write ( TQNPStream *, int offset, int len, void * buffer )\fC [virtual]\fR" -Called when incoming data is available for processing by the instance. The instance \fImust\fR consume at least the amount that it returned in the most recent call to writeReady(), but it may consume up to the amount given by \fIlen\fR. \fIbuffer\fR is the data available for consumption. The \fIoffset\fR argument is merely an informational value indicating the total amount of data that has been consumed in prior calls. -.PP -This function should return the amount of data actually consumed. -.PP -Example: grapher/grapher.cpp. -.SH "int TQNPInstance::writeReady ( TQNPStream * )\fC [virtual]\fR" -Returns the minimum amount of data the instance is willing to receive from the given stream. -.PP -The default returns a very large value. - -.SH "SEE ALSO" -.BR http://doc.trolltech.com/tqnpinstance.html -.BR http://www.trolltech.com/faq/tech.html -.SH COPYRIGHT -Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the -license file included in the distribution for a complete license -statement. -.SH AUTHOR -Generated automatically from the source code. -.SH BUGS -If you find a bug in Qt, please report it as described in -.BR http://doc.trolltech.com/bughowto.html . -Good bug reports help us to help you. Thank you. -.P -The definitive TQt documentation is provided in HTML format; it is -located at $TQTDIR/doc/html and can be read using TQt Assistant or with -a web browser. This man page is provided as a convenience for those -users who prefer man pages, although this format is not officially -supported by Trolltech. -.P -If you find errors in this manual page, please report them to -.BR qt-bugs@trolltech.com . -Please include the name of the manual page (tqnpinstance.3qt) and the Qt -version (3.3.8). diff --git a/doc/man/man3/tqnplugin.3qt b/doc/man/man3/tqnplugin.3qt deleted file mode 100644 index 0c18274f..00000000 --- a/doc/man/man3/tqnplugin.3qt +++ /dev/null @@ -1,157 +0,0 @@ -'\" t -.TH TQNPlugin 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*- -.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the -.\" license file included in the distribution for a complete license -.\" statement. -.\" -.ad l -.nh -.SH NAME -TQNPlugin \- The main factory for plugin objects -.SH SYNOPSIS -This class is part of the \fBQt Netscape Extension\fR. -.PP -\fC#include \fR -.PP -.SS "Public Members" -.in +1c -.ti -1c -.BI "virtual \fB~TQNPlugin\fR ()" -.br -.ti -1c -.BI "void \fBgetVersionInfo\fR ( int & plugin_major, int & plugin_minor, int & browser_major, int & browser_minor )" -.br -.ti -1c -.BI "virtual TQNPInstance * \fBnewInstance\fR () = 0" -.br -.ti -1c -.BI "virtual const char * \fBgetMIMEDescription\fR () const = 0" -.br -.ti -1c -.BI "virtual const char * \fBgetPluginNameString\fR () const = 0" -.br -.ti -1c -.BI "virtual const char * \fBgetPluginDescriptionString\fR () const = 0" -.br -.ti -1c -.BI "virtual void * \fBgetJavaClass\fR ()" -.br -.ti -1c -.BI "virtual void \fBunuseJavaClass\fR ()" -.br -.ti -1c -.BI "void * \fBgetJavaEnv\fR () const" -.br -.in -1c -.SS "Static Public Members" -.in +1c -.ti -1c -.BI "TQNPlugin * \fBcreate\fR ()" -.br -.ti -1c -.BI "TQNPlugin * \fBactual\fR ()" -.br -.in -1c -.SS "Protected Members" -.in +1c -.ti -1c -.BI "\fBTQNPlugin\fR ()" -.br -.in -1c -.SH DESCRIPTION -This class is defined in the \fBQt Netscape Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main TQt API. -.PP -The TQNPlugin class provides the main factory for plugin objects. -.PP -This class is the heart of the plugin. One instance of this object is created when the plugin is \fIfirst\fR needed, by calling TQNPlugin::create(), which must be implemented in your plugin code to return some derived class of TQNPlugin. The one TQNPlugin object creates all TQNPInstance instances for a web browser running in a single process. -.PP -Additionally, if TQt is linked to the plugin as a dynamic library, only one instance of QApplication will exist \fIacross all plugins that have been made with Qt\fR. So, your plugin should tread lightly on global settings. Do not, for example, use QApplication::setFont() - that will change the font in every widget of every Qt-based plugin currently loaded! -.SH MEMBER FUNCTION DOCUMENTATION -.SH "TQNPlugin::TQNPlugin ()\fC [protected]\fR" -Creates a TQNPlugin. This may only be used by the constructor of the class, derived from TQNPlugin, that is returned by your plugin's implementation of the TQNPlugin::create() function. -.SH "TQNPlugin::~TQNPlugin ()\fC [virtual]\fR" -Destroys the TQNPlugin. This is called by the plugin binding code just before the plugin is about to be unloaded from memory. If newWindow() has been called, a QApplication will still exist at this time, but will be deleted shortly after, just before the plugin is deleted. -.SH "TQNPlugin * TQNPlugin::actual ()\fC [static]\fR" -Returns the plugin most recently returned by TQNPlugin::create(). -.SH "TQNPlugin * TQNPlugin::create ()\fC [static]\fR" -This function must be implemented by your plugin code. It should return a derived class of TQNPlugin. -.SH "void * TQNPlugin::getJavaClass ()\fC [virtual]\fR" -Override this function to return a reference to the Java class that represents the plugin. The default returns 0, indicating no class. -.PP -If you override this class, you must also override TQNPlugin::unuseJavaClass(). -.PP -The return value is actually a \fCjref\fR; we use \fCvoid*\fR so as to avoid burdening plugins which do not require Java. -.PP -See also getJavaEnv() and TQNPInstance::getJavaPeer(). -.SH "void * TQNPlugin::getJavaEnv () const" -Returns a pointer to the Java execution environment, or 0 if either Java is disabled or an error occurred. -.PP -The return value is actually a \fCJRIEnv*\fR; we use \fCvoid*\fR so as to avoid burdening plugins which do not require Java. -.PP -See also getJavaClass() and TQNPInstance::getJavaPeer(). -.SH "const char * TQNPlugin::getMIMEDescription () const\fC [pure virtual]\fR" -Override this function to return the MIME description of the data formats supported by your plugin. The format of this string is shown by the following example: -.PP -.nf -.br - const char* getMIMEDescription() const -.br - { -.br - return "image/x-png:png:PNG Image;" -.br - "image/png:png:PNG Image;" -.br - "image/x-portable-bitmap:pbm:PBM Image;" -.br - "image/x-portable-graymap:pgm:PGM Image;" -.br - "image/x-portable-pixmap:ppm:PPM Image;" -.br - "image/bmp:bmp:BMP Image;" -.br - "image/x-ms-bmp:bmp:BMP Image;" -.br - "image/x-xpixmap:xpm:XPM Image;" -.br - "image/xpm:xpm:XPM Image"; -.br - } -.fi -.SH "const char * TQNPlugin::getPluginDescriptionString () const\fC [pure virtual]\fR" -Returns a pointer to the plain-text description of the plugin. -.SH "const char * TQNPlugin::getPluginNameString () const\fC [pure virtual]\fR" -Returns a pointer to the plain-text name of the plugin. -.SH "void TQNPlugin::getVersionInfo ( int & plugin_major, int & plugin_minor, int & browser_major, int & browser_minor )" -Populates \fI*\fR\fIplugin_major\fR and \fI*\fR\fIplugin_minor\fR with the version of the plugin API and populates \fI*\fR\fIbrowser_major\fR and \fI*\fR\fIbrowser_minor\fR with the version of the web browser. -.SH "TQNPInstance * TQNPlugin::newInstance ()\fC [pure virtual]\fR" -Override this function to return an appropriate derived class of TQNPInstance. -.SH "void TQNPlugin::unuseJavaClass ()\fC [virtual]\fR" -This function is called when the plugin is shutting down. The -function should \fIunuse\fR the Java class returned earlier by -getJavaClass(). - -.SH "SEE ALSO" -.BR http://doc.trolltech.com/tqnplugin.html -.BR http://www.trolltech.com/faq/tech.html -.SH COPYRIGHT -Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the -license file included in the distribution for a complete license -statement. -.SH AUTHOR -Generated automatically from the source code. -.SH BUGS -If you find a bug in Qt, please report it as described in -.BR http://doc.trolltech.com/bughowto.html . -Good bug reports help us to help you. Thank you. -.P -The definitive TQt documentation is provided in HTML format; it is -located at $TQTDIR/doc/html and can be read using TQt Assistant or with -a web browser. This man page is provided as a convenience for those -users who prefer man pages, although this format is not officially -supported by Trolltech. -.P -If you find errors in this manual page, please report them to -.BR qt-bugs@trolltech.com . -Please include the name of the manual page (tqnplugin.3qt) and the Qt -version (3.3.8). diff --git a/doc/man/man3/tqnpstream.3qt b/doc/man/man3/tqnpstream.3qt deleted file mode 100644 index e185be6a..00000000 --- a/doc/man/man3/tqnpstream.3qt +++ /dev/null @@ -1,114 +0,0 @@ -'\" t -.TH TQNPStream 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*- -.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the -.\" license file included in the distribution for a complete license -.\" statement. -.\" -.ad l -.nh -.SH NAME -TQNPStream \- Stream of data provided to a TQNPInstance by the browser -.SH SYNOPSIS -This class is part of the \fBQt Netscape Extension\fR. -.PP -\fC#include \fR -.PP -.SS "Public Members" -.in +1c -.ti -1c -.BI "\fB~TQNPStream\fR ()" -.br -.ti -1c -.BI "const char * \fBurl\fR () const" -.br -.ti -1c -.BI "uint \fBend\fR () const" -.br -.ti -1c -.BI "uint \fBlastModified\fR () const" -.br -.ti -1c -.BI "const char * \fBtype\fR () const" -.br -.ti -1c -.BI "bool \fBseekable\fR () const" -.br -.ti -1c -.BI "bool \fBokay\fR () const" -.br -.ti -1c -.BI "bool \fBcomplete\fR () const" -.br -.ti -1c -.BI "void \fBrequestRead\fR ( int offset, uint length )" -.br -.ti -1c -.BI "int \fBwrite\fR ( int len, void * buffer )" -.br -.ti -1c -.BI "TQNPInstance * \fBinstance\fR ()" -.br -.ti -1c -.BI "\fBTQNPStream\fR ( TQNPInstance * in, const char * mt, _NPStream * st, bool se )" -.br -.in -1c -.SH DESCRIPTION -This class is defined in the \fBQt Netscape Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main TQt API. -.PP -The TQNPStream class provides a stream of data provided to a TQNPInstance by the browser. -.PP -Note that this is neither a TQTextStream nor a TQDataStream. -.PP -See also TQNPInstance::write() and TQNPInstance::newStreamCreated(). -.SH MEMBER FUNCTION DOCUMENTATION -.SH "TQNPStream::TQNPStream ( TQNPInstance * in, const char * mt, _NPStream * st, bool se )" -Creates a stream. Plugins should not call this; they should call TQNPInstance::newStream() if they need a stream. -.PP -Takes a TQNPInstance \fIin\fR, MIME type \fImt\fR, a pointer to an _NPStream \fIst\fR and a seekable flag \fIse\fR. -.SH "TQNPStream::~TQNPStream ()" -Destroys the stream. -.SH "bool TQNPStream::complete () const" -Returns TRUE if the stream has received all the data from the source; otherwise returns FALSE. -.SH "uint TQNPStream::end () const" -Returns the length of the stream in bytes. The function might return 0 for streams of unknown length. -.SH "TQNPInstance * TQNPStream::instance ()" -Returns the TQNPInstance for which this stream was created. -.SH "uint TQNPStream::lastModified () const" -Returns the time when the source of the stream was last modified. -.SH "bool TQNPStream::okay () const" -Returns TRUE if no errors have occurred on the stream; otherwise returns FALSE. -.SH "void TQNPStream::requestRead ( int offset, uint length )" -Requests the section of the stream, of \fIlength\fR bytes from \fIoffset\fR, be sent to the TQNPInstance::write() function of the instance() of this stream. -.SH "bool TQNPStream::seekable () const" -Returns TRUE if the stream is seekable; otherwise returns FALSE. -.SH "const char * TQNPStream::type () const" -Returns the MIME type of the stream. -.SH "const char * TQNPStream::url () const" -Returns the URL from which the stream was created. -.SH "int TQNPStream::write ( int len, void * buffer )" -Writes \fIlen\fR bytes from \fIbuffer\fR \fIto\fR the stream. - -.SH "SEE ALSO" -.BR http://doc.trolltech.com/tqnpstream.html -.BR http://www.trolltech.com/faq/tech.html -.SH COPYRIGHT -Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the -license file included in the distribution for a complete license -statement. -.SH AUTHOR -Generated automatically from the source code. -.SH BUGS -If you find a bug in Qt, please report it as described in -.BR http://doc.trolltech.com/bughowto.html . -Good bug reports help us to help you. Thank you. -.P -The definitive TQt documentation is provided in HTML format; it is -located at $TQTDIR/doc/html and can be read using TQt Assistant or with -a web browser. This man page is provided as a convenience for those -users who prefer man pages, although this format is not officially -supported by Trolltech. -.P -If you find errors in this manual page, please report them to -.BR qt-bugs@trolltech.com . -Please include the name of the manual page (tqnpstream.3qt) and the Qt -version (3.3.8). diff --git a/doc/man/man3/tqnpwidget.3qt b/doc/man/man3/tqnpwidget.3qt deleted file mode 100644 index 9f1ac1d0..00000000 --- a/doc/man/man3/tqnpwidget.3qt +++ /dev/null @@ -1,129 +0,0 @@ -'\" t -.TH TQNPWidget 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*- -.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the -.\" license file included in the distribution for a complete license -.\" statement. -.\" -.ad l -.nh -.SH NAME -TQNPWidget \- TQWidget that is a web browser plugin window -.SH SYNOPSIS -This class is part of the \fBQt Netscape Extension\fR. -.PP -\fC#include \fR -.PP -Inherits TQWidget. -.PP -.SS "Public Members" -.in +1c -.ti -1c -.BI "\fBTQNPWidget\fR ()" -.br -.ti -1c -.BI "\fB~TQNPWidget\fR ()" -.br -.ti -1c -.BI "virtual void \fBenterInstance\fR ()" -.br -.ti -1c -.BI "virtual void \fBleaveInstance\fR ()" -.br -.ti -1c -.BI "TQNPInstance * \fBinstance\fR ()" -.br -.in -1c -.SH DESCRIPTION -This class is defined in the \fBQt Netscape Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main TQt API. -.PP -The TQNPWidget class provides a TQWidget that is a web browser plugin window. -.PP -Derive from TQNPWidget to create a widget that can be used as a web browser plugin window, or create one and add child widgets. Instances of TQNPWidget may only be created when TQNPInstance::newWindow() is called by the browser. -.PP -A common way to develop a plugin widget is to develop it as a stand-alone application window, then make it a \fIchild\fR of a plugin widget to use it as a browser plugin. The technique is: -.PP -.nf -.br -class MyPluginWindow : public TQNPWidget -.br -{ -.br - TQWidget* child; -.br -public: -.br - MyPluginWindow() -.br - { -.br - // Some widget that is normally used as a top-level widget -.br - child = new MyIndependentlyDevelopedWidget(); -.br -.br - // Use the background color of the web page -.br - child->setBackgroundColor( backgroundColor() ); -.br -.br - // Fill the plugin widget -.br - child->setGeometry( 0, 0, width(), height() ); -.br - } -.br -.br - void resizeEvent(TQResizeEvent*) -.br - { -.br - // Fill the plugin widget -.br - child->resize(size()); -.br - } -.br -}; -.fi -.PP -The default implementation is an empty window. -.SH MEMBER FUNCTION DOCUMENTATION -.SH "TQNPWidget::TQNPWidget ()" -Creates a TQNPWidget. -.SH "TQNPWidget::~TQNPWidget ()" -Destroys the window. This will be called by the plugin binding code when the window is no longer required. The web browser will delete windows when they leave the page. The bindings will change the TQWidget::winId() of the window when the window is resized, but this should not affect normal widget behavior. -.SH "void TQNPWidget::enterInstance ()\fC [virtual]\fR" -Called when the mouse enters the plugin window. Does nothing by default. -.PP -Example: grapher/grapher.cpp. -.SH "TQNPInstance * TQNPWidget::instance ()" -Returns the instance for which this widget is the plugin window. -.SH "void TQNPWidget::leaveInstance ()\fC [virtual]\fR" -Called when the mouse leaves the plugin window. Does nothing by default. -.PP -Example: grapher/grapher.cpp. - -.SH "SEE ALSO" -.BR http://doc.trolltech.com/tqnpwidget.html -.BR http://www.trolltech.com/faq/tech.html -.SH COPYRIGHT -Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the -license file included in the distribution for a complete license -statement. -.SH AUTHOR -Generated automatically from the source code. -.SH BUGS -If you find a bug in Qt, please report it as described in -.BR http://doc.trolltech.com/bughowto.html . -Good bug reports help us to help you. Thank you. -.P -The definitive TQt documentation is provided in HTML format; it is -located at $TQTDIR/doc/html and can be read using TQt Assistant or with -a web browser. This man page is provided as a convenience for those -users who prefer man pages, although this format is not officially -supported by Trolltech. -.P -If you find errors in this manual page, please report them to -.BR qt-bugs@trolltech.com . -Please include the name of the manual page (tqnpwidget.3qt) and the Qt -version (3.3.8). diff --git a/doc/man/man3/tqobject.3qt b/doc/man/man3/tqobject.3qt index 8e37f12d..7c371e7a 100644 --- a/doc/man/man3/tqobject.3qt +++ b/doc/man/man3/tqobject.3qt @@ -15,7 +15,7 @@ All the functions in this class are reentrant when TQt is built with thread supp .PP Inherits Qt. .PP --Inherited by TQAccel, TQAccessibleObject, TQAction, QApplication, TQAssistantClient, TQDataPump, TQWidget, TQCanvas, TQStyle, TQClipboard, TQDns, TQLayout, TQDragObject, TQEditorFactory, TQEventLoop, TQFileIconProvider, TQNetworkProtocol, TQNetworkOperation, TQNPInstance, TQObjectCleanupHandler, TQProcess, TQServerSocket, TQSessionManager, TQSignal, TQSignalMapper, TQSocket, TQSocketNotifier, TQSound, TQSqlDatabase, TQSqlDriver, TQSqlForm, TQStyleSheet, TQTimer, TQToolTipGroup, TQTranslator, TQUrlOperator, and TQValidator. +-Inherited by TQAccel, TQAccessibleObject, TQAction, QApplication, TQAssistantClient, TQDataPump, TQWidget, TQCanvas, TQStyle, TQClipboard, TQDns, TQLayout, TQDragObject, TQEditorFactory, TQEventLoop, TQFileIconProvider, TQNetworkProtocol, TQNetworkOperation, TQObjectCleanupHandler, TQProcess, TQServerSocket, TQSessionManager, TQSignal, TQSignalMapper, TQSocket, TQSocketNotifier, TQSound, TQSqlDatabase, TQSqlDriver, TQSqlForm, TQStyleSheet, TQTimer, TQToolTipGroup, TQTranslator, TQUrlOperator, and TQValidator. .PP .SS "Public Members" .in +1c @@ -922,7 +922,7 @@ TQTimer provides a higher-level interface to the timer functionality, and also m See also startTimer(), killTimer(), killTimers(), and event(). .PP Examples: -.)l biff/biff.cpp, dclock/dclock.cpp, forever/forever.cpp, grapher/grapher.cpp, qmag/qmag.cpp, and xform/xform.cpp. +.)l biff/biff.cpp, dclock/dclock.cpp, forever/forever.cpp, qmag/qmag.cpp and xform/xform.cpp. .SH "TQString TQObject::tr ( const char * sourceText, const char * comment )\fC [static]\fR" Returns a translated version of \fIsourceText\fR, or \fIsourceText\fR itself if there is no appropriate translated version. The translation context is TQObject with \fIcomment\fR (0 by default). All TQObject subclasses using the TQ_OBJECT macro automatically have a reimplementation of this function with the subclass name as context. .PP diff --git a/doc/man/man3/tqpainter.3qt b/doc/man/man3/tqpainter.3qt index f88a37cf..b7e586ee 100644 --- a/doc/man/man3/tqpainter.3qt +++ b/doc/man/man3/tqpainter.3qt @@ -868,7 +868,7 @@ The angles \fIa\fR and \fIalen\fR are 1/16th of a degree, i.e. a full circle equ See also drawArc() and drawChord(). .PP Examples: -.)l drawdemo/drawdemo.cpp, grapher/grapher.cpp, t10/cannon.cpp, and t9/cannon.cpp. +.)l drawdemo/drawdemo.cpp, t10/cannon.cpp and t9/cannon.cpp. .SH "void TQPainter::drawPie ( const TQRect & r, int a, int alen )" This is an overloaded member function, provided for convenience. It behaves essentially like the above function. .PP @@ -885,7 +885,7 @@ Currently the mask of the pixmap or it's alpha channel are ignored when painting See also bitBlt() and TQPixmap::setMask(). .PP Examples: -.)l grapher/grapher.cpp, picture/picture.cpp, tqdir/tqdir.cpp, qmag/qmag.cpp, showimg/showimg.cpp, t10/cannon.cpp, and xform/xform.cpp. +.)l picture/picture.cpp, tqdir/tqdir.cpp, qmag/qmag.cpp, showimg/showimg.cpp, t10/cannon.cpp, and xform/xform.cpp. .SH "void TQPainter::drawPixmap ( const TQPoint & p, const TQPixmap & pm, const TQRect & sr )" This is an overloaded member function, provided for convenience. It behaves essentially like the above function. .PP @@ -947,7 +947,7 @@ Draws a rectangle with upper left corner at \fI(x, y)\fR and with width \fIw\fR See also TQPen and drawRoundRect(). .PP Examples: -.)l drawdemo/drawdemo.cpp, picture/picture.cpp, t10/cannon.cpp, t11/cannon.cpp, t9/cannon.cpp, tooltip/tooltip.cpp, and trivial/trivial.cpp. +.)l drawdemo/drawdemo.cpp, picture/picture.cpp, t10/cannon.cpp, t11/cannon.cpp, t9/cannon.cpp and tooltip/tooltip.cpp. .SH "void TQPainter::drawRect ( const TQRect & r )" This is an overloaded member function, provided for convenience. It behaves essentially like the above function. .PP @@ -975,7 +975,7 @@ Note that the meaning of \fIy\fR is not the same for the two drawText() varietie See also TQPainter::TextDirection. .PP Examples: -.)l desktop/desktop.cpp, drawdemo/drawdemo.cpp, grapher/grapher.cpp, picture/picture.cpp, progress/progress.cpp, t8/cannon.cpp, and trivial/trivial.cpp. +.)l desktop/desktop.cpp, drawdemo/drawdemo.cpp, picture/picture.cpp, progress/progress.cpp and t8/cannon.cpp. .SH "void TQPainter::drawText ( int x, int y, const TQString &, int len = -1, TextDirection dir = Auto )" This is an overloaded member function, provided for convenience. It behaves essentially like the above function. .PP @@ -1284,7 +1284,7 @@ If \fIm\fR is CoordDevice (the default), the coordinates given for the clip regi See also setClipRegion(), clipRegion(), setClipping(), and TQPainter::CoordinateMode. .PP Examples: -.)l grapher/grapher.cpp, progress/progress.cpp, showimg/showimg.cpp, splitter/splitter.cpp, and trivial/trivial.cpp. +.)l progress/progress.cpp, showimg/showimg.cpp and splitter/splitter.cpp. .SH "void TQPainter::setClipRect ( const TQRect & r, CoordinateMode m = CoordDevice )" This is an overloaded member function, provided for convenience. It behaves essentially like the above function. .PP @@ -1314,7 +1314,7 @@ This font is used by subsequent drawText() functions. The text color is the same See also font() and drawText(). .PP Examples: -.)l drawdemo/drawdemo.cpp, grapher/grapher.cpp, hello/hello.cpp, picture/picture.cpp, qwerty/qwerty.cpp, t13/cannon.cpp, and xform/xform.cpp. +.)l drawdemo/drawdemo.cpp, hello/hello.cpp, picture/picture.cpp, qwerty/qwerty.cpp, t13/cannon.cpp, and xform/xform.cpp. .SH "void TQPainter::setPen ( const TQPen & pen )" Sets a new painter pen. .PP diff --git a/doc/man/man3/tqpixmap.3qt b/doc/man/man3/tqpixmap.3qt index d548c12b..a4dd2dc4 100644 --- a/doc/man/man3/tqpixmap.3qt +++ b/doc/man/man3/tqpixmap.3qt @@ -423,7 +423,7 @@ detach() returns immediately if there is just a single reference or if the pixma Fills the pixmap with the color \fIfillColor\fR. .PP Examples: -.)l chart/setdataform.cpp, desktop/desktop.cpp, grapher/grapher.cpp, hello/hello.cpp, t10/cannon.cpp, themes/metal.cpp, and xform/xform.cpp. +.)l chart/setdataform.cpp, desktop/desktop.cpp, hello/hello.cpp, t10/cannon.cpp, themes/metal.cpp, and xform/xform.cpp. .SH "void TQPixmap::fill ( const TQWidget * widget, int xofs, int yofs )" This is an overloaded member function, provided for convenience. It behaves essentially like the above function. .PP @@ -630,7 +630,7 @@ Resizes the pixmap to \fIw\fR width and \fIh\fR height. If either \fIw\fR or \fI If both \fIw\fR and \fIh\fR are greater than 0, a valid pixmap is created. New pixels will be uninitialized (random) if the pixmap is expanded. .PP Examples: -.)l desktop/desktop.cpp and grapher/grapher.cpp. +.)l desktop/desktop.cpp. .SH "void TQPixmap::resize ( const TQSize & size )" This is an overloaded member function, provided for convenience. It behaves essentially like the above function. .PP diff --git a/doc/man/man3/tqpopupmenu.3qt b/doc/man/man3/tqpopupmenu.3qt index 519dcbff..e1d8f4dd 100644 --- a/doc/man/man3/tqpopupmenu.3qt +++ b/doc/man/man3/tqpopupmenu.3qt @@ -278,7 +278,7 @@ Normally, you connect each menu item to a single slot using TQMenuData::insertIt See also highlighted() and TQMenuData::insertItem(). .PP Examples: -.)l grapher/grapher.cpp, helpviewer/helpwindow.cpp, tqdir/tqdir.cpp, qwerty/qwerty.cpp, scrollview/scrollview.cpp, and showimg/showimg.cpp. +.)l helpviewer/helpwindow.cpp, tqdir/tqdir.cpp, qwerty/qwerty.cpp, scrollview/scrollview.cpp, and showimg/showimg.cpp. .SH "void TQMenuData::changeItem ( int id, const TQString & text )" Changes the text of the menu item \fIid\fR to \fItext\fR. If the item has an icon, the icon remains unchanged. .PP @@ -732,7 +732,7 @@ If \fIcheck\fR is TRUE, checks the menu item with id \fIid\fR; otherwise uncheck See also isItemChecked(). .PP Examples: -.)l canvas/canvas.cpp, grapher/grapher.cpp, mdi/application.cpp, menu/menu.cpp, progress/progress.cpp, scrollview/scrollview.cpp, and showimg/showimg.cpp. +.)l canvas/canvas.cpp, mdi/application.cpp, menu/menu.cpp, progress/progress.cpp, scrollview/scrollview.cpp, and showimg/showimg.cpp. .SH "void TQMenuData::setItemEnabled ( int id, bool enable )" If \fIenable\fR is TRUE, enables the menu item with identifier \fIid\fR; otherwise disables the menu item with identifier \fIid\fR. .PP diff --git a/doc/man/man3/tqptrcollection.3qt b/doc/man/man3/tqptrcollection.3qt index 5d52d73f..6de2ba4c 100644 --- a/doc/man/man3/tqptrcollection.3qt +++ b/doc/man/man3/tqptrcollection.3qt @@ -117,7 +117,7 @@ Note that the auto-delete setting may also affect other functions in subclasses. See also autoDelete(). .PP Examples: -.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +.)l scribble/scribble.cpp and table/bigtable/main.cpp. .SH "SEE ALSO" .BR http://doc.trolltech.com/tqptrcollection.html diff --git a/doc/man/man3/tqptrdict.3qt b/doc/man/man3/tqptrdict.3qt index 20b47f22..9d1305b9 100644 --- a/doc/man/man3/tqptrdict.3qt +++ b/doc/man/man3/tqptrdict.3qt @@ -267,7 +267,7 @@ Note that the auto-delete setting may also affect other functions in subclasses. See also autoDelete(). .PP Examples: -.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +.)l scribble/scribble.cpp and table/bigtable/main.cpp. .SH "uint TQPtrDict::size () const" Returns the size of the internal hash table (as specified in the constructor). .PP diff --git a/doc/man/man3/tqptrlist.3qt b/doc/man/man3/tqptrlist.3qt index ce36a213..9531a08d 100644 --- a/doc/man/man3/tqptrlist.3qt +++ b/doc/man/man3/tqptrlist.3qt @@ -308,7 +308,7 @@ The inserted item becomes the current list item. This is equivalent to \fCinsert See also insert(), current(), and prepend(). .PP Examples: -.)l customlayout/border.cpp, customlayout/card.cpp, customlayout/flow.cpp, grapher/grapher.cpp, listviews/listviews.cpp, listviews/listviews.h, and qwerty/qwerty.cpp. +.)l customlayout/border.cpp, customlayout/card.cpp, customlayout/flow.cpp, listviews/listviews.cpp, listviews/listviews.h, and qwerty/qwerty.cpp. .SH "type * TQPtrList::at ( uint index )" Returns a pointer to the item at position \fIindex\fR in the list, or 0 if the index is out of range. .PP @@ -384,7 +384,7 @@ Returns the number of items in the list. See also isEmpty(). .PP Examples: -.)l customlayout/border.cpp, customlayout/card.cpp, customlayout/flow.cpp, dirview/dirview.cpp, grapher/grapher.cpp, mdi/application.cpp, and qwerty/qwerty.cpp. +.)l customlayout/border.cpp, customlayout/card.cpp, customlayout/flow.cpp, dirview/dirview.cpp, mdi/application.cpp, and qwerty/qwerty.cpp. .PP Reimplemented from TQPtrCollection. .SH "type * TQPtrList::current () const" @@ -437,7 +437,7 @@ Returns a pointer to the first item in the list and makes this the current list See also getFirst(), last(), next(), prev(), and current(). .PP Examples: -.)l grapher/grapher.cpp, listviews/listviews.h, and showimg/showimg.cpp. +.)l listviews/listviews.h and showimg/showimg.cpp. .SH "type * TQPtrList::getFirst () const" Returns a pointer to the first item in the list, or 0 if the list is empty. .PP @@ -488,7 +488,7 @@ Makes the succeeding item current. If the current item before this function call See also first(), last(), prev(), and current(). .PP Examples: -.)l grapher/grapher.cpp, listviews/listviews.h, and showimg/showimg.cpp. +.)l listviews/listviews.h and showimg/showimg.cpp. .SH "bool TQPtrList::operator!= ( const TQPtrList & list ) const" Compares this list with \fIlist\fR. Returns TRUE if the lists contain different data; otherwise returns FALSE. .SH "TQPtrList & TQPtrList::operator= ( const TQPtrList & list )" @@ -635,7 +635,7 @@ Note that the auto-delete setting may also affect other functions in subclasses. See also autoDelete(). .PP Examples: -.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +.)l scribble/scribble.cpp and table/bigtable/main.cpp. .SH "void TQPtrList::sort ()" Sorts the list by the result of the virtual compareItems() function. .PP diff --git a/doc/man/man3/tqptrvector.3qt b/doc/man/man3/tqptrvector.3qt index 5d675735..4730eb3c 100644 --- a/doc/man/man3/tqptrvector.3qt +++ b/doc/man/man3/tqptrvector.3qt @@ -299,7 +299,7 @@ Note that the auto-delete setting may also affect other functions in subclasses. See also autoDelete(). .PP Examples: -.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp. +.)l scribble/scribble.cpp and table/bigtable/main.cpp. .SH "uint TQPtrVector::size () const" Returns the size of the vector, i.e. the number of vector positions. This is also the maximum number of items the vector can hold. .PP diff --git a/doc/man/man3/tqtextstream.3qt b/doc/man/man3/tqtextstream.3qt index 41682ee1..a9b92b73 100644 --- a/doc/man/man3/tqtextstream.3qt +++ b/doc/man/man3/tqtextstream.3qt @@ -324,7 +324,7 @@ Returns TRUE if the IO device has reached the end position (end of the stream or See also TQIODevice::atEnd(). .PP Examples: -.)l addressbook/centralwidget.cpp and grapher/grapher.cpp. +.)l addressbook/centralwidget.cpp. .SH "TQTextCodec * TQTextStream::codec ()" Returns the codec actually used for this stream. .PP diff --git a/doc/man/man3/tqwidget.3qt b/doc/man/man3/tqwidget.3qt index 7a5ddc75..b8f31822 100644 --- a/doc/man/man3/tqwidget.3qt +++ b/doc/man/man3/tqwidget.3qt @@ -13,7 +13,7 @@ TQWidget \- The base class of all user interface objects .PP Inherits TQObject and TQPaintDevice. .PP -Inherited by TQButton, TQFrame, TQDialog, TQComboBox, TQDataBrowser, TQDataView, TQDateTimeEditBase, TQDateTimeEdit, TQDesktopWidget, TQDial, TQDockArea, TQGLWidget, TQHeader, TQMainWindow, TQMotifWidget, TQNPWidget, TQScrollBar, TQSizeGrip, TQSlider, TQSpinBox, TQSplashScreen, TQStatusBar, TQTabBar, TQTabWidget, TQWorkspace, and QXtWidget. +Inherited by TQButton, TQFrame, TQDialog, TQComboBox, TQDataBrowser, TQDataView, TQDateTimeEditBase, TQDateTimeEdit, TQDesktopWidget, TQDial, TQDockArea, TQGLWidget, TQHeader, TQMainWindow, TQMotifWidget, TQScrollBar, TQSizeGrip, TQSlider, TQSpinBox, TQSplashScreen, TQStatusBar, TQTabBar, TQTabWidget, TQWorkspace, and QXtWidget. .PP .SS "Public Members" .in +1c @@ -2206,7 +2206,7 @@ Setting a widget's style has no effect on existing or future child widgets. See also style(), TQStyle, QApplication::style(), and QApplication::setStyle(). .PP Examples: -.)l grapher/grapher.cpp and progressbar/progressbar.cpp. +.)l progressbar/progressbar.cpp. .SH "TQStyle * TQWidget::setStyle ( const TQString & style )" This is an overloaded member function, provided for convenience. It behaves essentially like the above function. .PP diff --git a/doc/modules.doc b/doc/modules.doc index 4a853641..9f4bc55a 100644 --- a/doc/modules.doc +++ b/doc/modules.doc @@ -61,7 +61,6 @@ with each Edition. \i \link workspace.html Workspace (MDI) Module\endlink \i \link xml.html XML Module\endlink \i \link motif-extension.html TQMotif Extension\endlink -\i \link netscape-plugin.html Netscape Plugin Extension\endlink \endlist */ diff --git a/doc/overviews-list.doc b/doc/overviews-list.doc index d295dac6..7f60ebcd 100644 --- a/doc/overviews-list.doc +++ b/doc/overviews-list.doc @@ -94,7 +94,6 @@ \i \link eventsandfilters.html Events and Event Filters \endlink \i \link focus.html Keyboard Focus Overview \endlink \i \link accelerators.html Standard Accelerators \endlink - \i \link netscape-plugin.html Qt-based LiveConnect Plugins \endlink \i \link motif-extension.html Motif Support Extension \endlink \i \link opengl-x11-overlays.html OpenGL Overlays (X11)\endlink \i \link appicon.html Setting the Application Icon \endlink diff --git a/extensions/extensions.pro b/extensions/extensions.pro deleted file mode 100644 index df53c908..00000000 --- a/extensions/extensions.pro +++ /dev/null @@ -1,5 +0,0 @@ -TEMPLATE = subdirs - -contains( QT_PRODUCT, qt-(enterprise|internal|eval) ) { - x11: SUBDIRS = motif -} diff --git a/extensions/nsplugin/doc/index.doc b/extensions/nsplugin/doc/index.doc deleted file mode 100644 index 0d7bd213..00000000 --- a/extensions/nsplugin/doc/index.doc +++ /dev/null @@ -1,111 +0,0 @@ -/**************************************************************************** -** -** Index page -** -** Copyright (C) 1995-2008 Trolltech ASA. All rights reserved. -** -*****************************************************************************/ - -#if defined(QT_DEBUG) -#endif - -/*! \page netscape-plugin.html - -\title TQt Netscape Plugin Extension -\keyword Netscape - -The TQt Netscape Plugin software makes it easy to write browser plugins -that can be used on both Unix/Linux and MS-Windows, in Netscape, -Mozilla, and any other web browser supporting Netscape's LiveConnect -protocol. Modern versions of MSIE do not support this protocol. - -\section1 Information - -The Netscape Plugin Extension consists of the follow classes: -\list -\i \l TQNPlugin -\i \l TQNPInstance -\i \l TQNPWidget -\i \l TQNPStream -\endlist - -\section1 How-to - -\list 1 - \i Download the - \link http://home.netscape.com/comprod/development_partners/plugin_api/index.html - Plugin SDK from Netscape \endlink, and copy the following files from there to - \c{$TQTDIR/extensions/nsplugin/src} - \list - \i \c common/npwin.cpp - \i \c common/npunix.c - \i \c include/npapi.h - \i \c include/npupp.h - \i \c include/jri.h - \i \c include/jri_md.h - \i \c include/jritypes.h - \endlist - \i Build the Netscape Plugin extension library, found in the - \c{extensions/nsplugin/src} directory of your TQt distribution. - This produces a static library to be linked with your plugin code. - \i Read the \link tqnplugin.html plugin class documentation \endlink, and - examine the \link nsplugin-examples.html example plugins \endlink. - \i Do most of your development as a stand-alone TQt application - debugging - Netscape Plugins is cumbersome. You may want to use \c{signal(2)} - in your plugin to enable core-dumps if your browser disables them. - \i Note the platform-specific build steps below. - \i Read about the raw plugin interface - \link http://developer.netscape.com/docs/manuals/communicator/plugin/index.htm - in Netscape's handbook. \endlink - \i If files viewed by a plugin are provided by an HTTP server - (using a \c{http://...} URL) then - the server must be configured to send the correct MIME type - for the file, e.g. by editing Apache's \c{mime.types} file. - If the files are viewed via a \c{file://...} - URL, then the browser will use the filename extension to decide - the file type (and hence the plugin to load) - the user may need - to set the filename extension in the Helpers or Applications - section of their browser preferences. -\endlist - - -\section2 Building under X11 - -\list - \i The Makefiles in the examples are appropriate for UNIX/X11. - \i The user must install the resulting Shared Object in the Plugins - directory of the browser. -\endlist - -\section2 Building under Windows - -\list - \i For Netscape plugins to work, TQt needs to be in the system DLL - path or be compiled into the plugin as a static library. - \i Plugins must be named \c{np}\e{name}\c{.dll}, - or the browser will ignore them. - \i The link step must include: - \list - \i \c{/def:}\e{name}\c{.def} - \i \c{/dll} - \i a compiled resource file defining the - file/MIME types accepted by the plugin. - \endlist - \i The user must install the resulting DLL in the Plugins directory - of the browser. -\endlist - -\section1 Known Bugs and Limitations - -The Qt-based LiveConnect Plugin binding code has a number of bugs and -limitations, but is sufficiently stable for many production -applications. - -\list - \i Keyboard input only works in secondary windows (e.g. dialogs created by the plugin). - \i You should not expect modality between the plugin and the browser to work. - \i Netscape 4.78 on Unix/X11 tends to terminate with a bus error. - \i Opaque resize behaviour is erratic due to browser behavior. -\endlist - -*/ diff --git a/extensions/nsplugin/examples/grapher/graph.cgi b/extensions/nsplugin/examples/grapher/graph.cgi deleted file mode 100755 index 91445c81..00000000 --- a/extensions/nsplugin/examples/grapher/graph.cgi +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -echo "Content-type: application/x-graphable" -echo - -cat graph.g1n -# ./slowcat < graph.g1n diff --git a/extensions/nsplugin/examples/grapher/graph.g1n b/extensions/nsplugin/examples/grapher/graph.g1n deleted file mode 100644 index d366327c..00000000 --- a/extensions/nsplugin/examples/grapher/graph.g1n +++ /dev/null @@ -1,8 +0,0 @@ -num label -10 A -24 B -12 C -7 D -34 E -15 F -19 G diff --git a/extensions/nsplugin/examples/grapher/grapher.cpp b/extensions/nsplugin/examples/grapher/grapher.cpp deleted file mode 100644 index 22f7d09d..00000000 --- a/extensions/nsplugin/examples/grapher/grapher.cpp +++ /dev/null @@ -1,619 +0,0 @@ -// Include TQt Netscape Plugin classes. -#include "tqnp.h" - -// Include other TQt classes. -#include -#include -#include -#include -#include -#include -#include -#include - -// Include some C library functions. -#include -#include - -#ifndef M_PI // Some math.h don't include this. -#define M_PI 3.14159265358979323846264338327950288 -#endif - - - -// -// GraphModel is a simple abstract class that describes -// a table of numeric and text data. -// - -class GraphModel { -public: - enum ColType { Numeric, Label }; - - union Datum { - double dbl; - TQString* str; - }; - - virtual TQPtrList& graphData()=0; - virtual ColType colType(int col) const=0; - virtual int nCols() const=0; -}; - - -// -// Graph is a widget subclass that displays a GraphModel. -// Since the widget is a TQNPWidget, it can be used as a plugin window, -// returned by Grapher::newWindow() below. -// - -class Graph : public TQNPWidget { - TQ_OBJECT -public: - // Constructs a Graph to display a GraphModel - // - Graph(GraphModel&); - ~Graph(); - - // Two styles are available - Pie and Bar graph - // - enum Style { Pie, Bar }; - static const char* styleName[]; - void setStyle(Style); - void setStyle(const char*); - - // Timer event processing rotates the pie graph - // - void timerEvent(TQTimerEvent*); - - // These functions are provided by TQNPWidget - we override - // them to hide and show the plugin menubar. - // - void enterInstance(); - void leaveInstance(); - - // Paint the graph... - // - void paintEvent(TQPaintEvent*); - // - // ... as either a "Loading" message, a Bar graph, a Pie graph, - // or an error message. - // - void paintWait(TQPaintEvent*); - void paintBar(TQPaintEvent*); - void paintPie(TQPaintEvent*); - void paintError(const char*); - -signals: - // Signals emitted when the Help menus are selected. - void aboutPlugin(); - void aboutData(); - -private: - GraphModel& model; - TQMenuBar *menubar; - Style style; - TQPopupMenu* stylemenu; - int pieRotationTimer; - int pieRotation; - TQPixmap pm; - -private slots: - void setStyleFromMenu(int id); -}; - - -Graph::Graph( GraphModel& mdl ) : - model(mdl), - style(Bar), - pieRotationTimer(0), - pieRotation(0) -{ - // Create a menubar for the widget - // - menubar = new TQMenuBar( this ); - stylemenu = new TQPopupMenu; - stylemenu->setCheckable(TRUE); - for ( Style s = Pie; styleName[s]; s = Style(s+1)) { - stylemenu->insertItem(styleName[s], s+100); - } - connect(stylemenu, TQ_SIGNAL(activated(int)), - this, TQ_SLOT(setStyleFromMenu(int))); - setStyle(Pie); - - menubar->insertItem("Style", stylemenu); - menubar->insertSeparator(); - - TQPopupMenu* help = new TQPopupMenu; - help->insertItem( "About plugin...", this, TQ_SIGNAL(aboutPlugin()) ); - help->insertItem( "About data...", this, TQ_SIGNAL(aboutData()) ); - menubar->insertItem("Help", help); - menubar->hide(); -} - -Graph::~Graph() -{ -} - -void Graph::setStyle(Style s) -{ - if (style != s) { - if (pieRotationTimer) - killTimer(pieRotationTimer); - stylemenu->setItemChecked(100+style, FALSE); - style = s; - if ( style == Pie ) - pieRotationTimer = startTimer( 80 ); - else - pieRotationTimer = 0; - stylemenu->setItemChecked(100+style, TRUE); - update(); - } -} - -void Graph::timerEvent(TQTimerEvent*) -{ - pieRotation = ( pieRotation + 6 ) % 360; repaint(FALSE); -} - -void Graph::setStyle(const char* stext) -{ - for ( Style s = Pie; styleName[s]; s = Style(s+1) ) { - if ( tqstricmp(stext,styleName[s])==0 ) { - setStyle(s); - return; - } - } -} - -void Graph::enterInstance() -{ - menubar->show(); -} - -void Graph::leaveInstance() -{ - menubar->hide(); -} - -void Graph::paintError(const char* e) -{ - TQPainter p(this); - int w = width(); - p.drawText(w/8, 0, w-w/4, height(), AlignCenter|WordBreak, e); -} - -void Graph::paintBar(TQPaintEvent* event) -{ - if ( model.colType(0) != GraphModel::Numeric ) { - paintError("First column not numeric, cannot draw bar graph\n"); - return; - } - - TQPtrList& data = model.graphData(); - - double max = 0.0; - - for (GraphModel::Datum* rowdata = data.first(); - rowdata; rowdata = data.next()) - { - if (rowdata[0].dbl > max) max = rowdata[0].dbl; - } - - const uint w = width(); - const uint h = height(); - - TQPainter p(this); - - p.setClipRect(event->rect()); - - if ( w > data.count() ) { - // More pixels than data - int x = 0; - int i = 0; - TQFontMetrics fm=fontMetrics(); - int fh = fm.height(); - - for (GraphModel::Datum* rowdata = data.first(); - rowdata; rowdata = data.next()) - { - TQColor c; - c.setHsv( (i * 255)/data.count(), 255, 255 );// rainbow effect - p.setBrush(c); - int bw = (w-w/4-x)/(data.count()-i); - int bh = int((h-h/4-1)*rowdata[0].dbl/max); - p.drawRect( w/8+x, h-h/8-1-bh, bw, bh ); - - i++; - x+=bw; - } - } else { - // More data than pixels - int x = 0; - int i = 0; - double av = 0.0; - int n = 0; - for (GraphModel::Datum* rowdata = data.first(); rowdata; - rowdata = data.next()) - { - int bx = i*w/data.count(); - - if (bx > x) { - TQColor c; - c.setHsv( (x * 255)/w, 255, 255 );// rainbow effect - p.setPen(c); - int bh = int(h*av/n/max); - - p.drawLine(x,h-1,x,h-bh); - - av = 0.0; - n = 0; - x = bx; - } - - av += rowdata[0].dbl; - n++; - - i++; - } - } -} - -void Graph::paintPie(TQPaintEvent* event) -{ - if ( model.colType(0) != GraphModel::Numeric ) { - paintError("First column not numeric, cannot draw pie graph\n"); - return; - } - - TQPtrList& data = model.graphData(); - - double total = 0.0; - - GraphModel::Datum* rowdata; - - for (rowdata = data.first(); - rowdata; rowdata = data.next()) - { - total += rowdata[0].dbl; - } - - // Only use first column for pie chart - if ( !total ) return; - - int apos = (pieRotation-90)*16; - - const int w = width(); - const int h = height(); - - const int xd = w - w/5; - const int yd = h - h/5; - - pm.resize(width(),height()); - pm.fill(backgroundColor()); - TQPainter p(&pm); - p.setFont(font()); - - p.setClipRect(event->rect()); - - int i = 0; - - for (rowdata = data.first(); - rowdata; rowdata = data.next()) - { - TQColor c; - - c.setHsv( ( i * 255)/data.count(), 255, 255 );// rainbow effect - p.setBrush( c ); // solid fill with color c - - int a = int(( rowdata[0].dbl * 360.0 ) / total * 16.0 + 0.5); - p.drawPie( w/10, h/10, xd, yd, -apos, -a ); - apos += a; - i++; - } - - if (model.colType(1) == GraphModel::Label) { - double apos = (pieRotation-90)*M_PI/180; - - for (rowdata = data.first(); - rowdata; rowdata = data.next()) - { - double a = rowdata[0].dbl * 360 / total * M_PI / 180; - int x = int(cos(apos+a/2)*w*5/16 + w/2 + 0.5); - int y = int(sin(apos+a/2)*h*5/16 + h/2 + 0.5); - - // ### This causes a crash, so comment out for now - /*p.drawText(x-w/8, y-h/8, w/4, h/4, - WordBreak|AlignCenter, - *rowdata[1].str);*/ - apos += a; - } - } - - TQPainter p2(this); - p2.setClipRect(event->rect()); - p2.drawPixmap(0,0,pm); -} - -void Graph::paintWait(TQPaintEvent*) -{ - TQPainter p(this); - p.drawText(rect(), AlignCenter, "Loading..."); -} - -void Graph::paintEvent(TQPaintEvent* event) -{ - if (!model.nCols()) { - paintWait(event); - } else { - switch (style) { - case Pie: - paintPie(event); - break; - case Bar: - paintBar(event); - break; - } - } -} - -void Graph::setStyleFromMenu(int id) -{ - setStyle(Style(id-100)); -} - -const char* Graph::styleName[] = { "Pie", "Bar", 0 }; - - -// -// Grapher is a subclass of TQNPInstance, and so it can be returned -// by GrapherPlugin::newInstance(). A TQNPInstance represents the -// plugin, distinctly from the plugin window. -// -// Grapher is also a GraphModel, because it loads graph data from -// the net. When Grapher creates a window in newWindow(), it creates -// a Graph widget to display the GraphModel that is the Grapher itself. -// - -class Grapher : public TQNPInstance, GraphModel { - TQ_OBJECT -public: - // Create a Grapher - all Grapher plugins are created - // by one GrapherPlugin object. - // - Grapher(); - ~Grapher(); - - // We override this TQNPInstance function to create our - // own subclass of TQNPWidget, a Graph widget. - // - TQNPWidget* newWindow(); - - // We override this TQNPInstance function to process the - // incoming graph data. - // - int write(TQNPStream* /*str*/, int /*offset*/, int len, void* buffer); - -private: - // Grapher is a GraphModel, so it implements the pure virtual - // functions of that class. - // - TQPtrList& graphData(); - ColType colType(int col) const; - int nCols() const; - - void consumeLine(); - TQPtrList data; - TQBuffer line; - int ncols; - ColType *coltype; - -private slots: - // Slots that are connected to the Graph menu items. - // - void aboutPlugin(); - void aboutData(); -}; - -Grapher::Grapher() -{ - data.setAutoDelete(TRUE); - ncols = 0; - line.open(IO_WriteOnly|IO_Truncate); -} - -Grapher::~Grapher() -{ -} - -TQPtrList& Grapher::graphData() -{ - return data; -} - -GraphModel::ColType Grapher::colType(int col) const -{ - return coltype[col]; -} - -int Grapher::nCols() const -{ - return ncols; -} - - -TQNPWidget* Grapher::newWindow() -{ - // Create a Graph - our subclass of TQNPWidget. - Graph *graph = new Graph(*this); - - // Look at the arguments from the EMBED tag. - // GRAPHSTYLE chooses pie or bar - // FONTFAMILY and FONTSIZE choose the font - // - const char* style = arg("GRAPHSTYLE"); - if ( style ) graph->setStyle(style); - - const char* fontfamily = arg("FONTFAMILY"); - const char* fontsize = arg("FONTSIZE"); - int ptsize = fontsize ? atoi(fontsize) : graph->font().pointSize(); - if (fontfamily) graph->setFont(TQFont(fontfamily, ptsize)); - - connect(graph, TQ_SIGNAL(aboutPlugin()), this, TQ_SLOT(aboutPlugin())); - connect(graph, TQ_SIGNAL(aboutData()), this, TQ_SLOT(aboutData())); - - return graph; -} - -void Grapher::consumeLine() -{ - line.close(); - line.open(IO_ReadOnly); - - TQTextStream ts( &line ); - - if (ncols == 0 ) { - ncols=0; - TQPtrList typelist; - typelist.setAutoDelete(TRUE); - do { - TQString typestr; - ts >> typestr >> ws; - ColType* t = 0; - if ( typestr == "num" ) { - t = new ColType(Numeric); - } else if ( typestr == "label" ) { - t = new ColType(Label); - } - if (t) typelist.append(t); - } while (!ts.atEnd()); - coltype = new ColType[ncols]; - for (ColType* t = typelist.first(); t; t = typelist.next()) { - coltype[ncols++] = *t; - } - } else { - int col=0; - Datum *rowdata = new Datum[ncols]; - while ( col < ncols && !ts.atEnd() ) { - switch (coltype[col]) { - case Numeric: { - double value; - ts >> value >> ws; - rowdata[col].dbl = value; - break; - } - case Label: { - TQString* value = new TQString; - ts >> *value >> ws; - rowdata[col].str = value; - break; - } - } - col++; - } - - data.append(rowdata); - } - - line.close(); - line.open(IO_WriteOnly|IO_Truncate); -} - -int Grapher::write(TQNPStream* /*str*/, int /*offset*/, int len, void* buffer) -{ - // The browser calls this function when data is available on one - // of the streams the plugin has requested. Since we are only - // processing one stream - the URL in the SRC argument of the EMBED - // tag, we assume the TQNPStream is that one. Also, since we do not - // override TQNPInstance::writeReady(), we must accepts ALL the data - // that is sent to this function. - // - char* txt = (char*)buffer; - for (int i=0; iupdate(); - - return len; -} - -void Grapher::aboutPlugin() -{ - getURL( "http://doc.trolltech.com/netscape-plugin.html", "_blank" ); -} - -void Grapher::aboutData() -{ - const char* page = arg("DATAPAGE"); - if (page) - getURL( page, "_blank" ); - else - TQMessageBox::message("Help", "No help for this data"); -} - - -// -// GrapherPlugin is the start of everything. It is a TQNPlugin subclass, -// and it is responsible for describing the plugin to the browser, and -// creating instances of the plugin when it appears in web page. -// - -class GrapherPlugin : public TQNPlugin { -public: - GrapherPlugin() - { - } - - TQNPInstance* newInstance() - { - // Make a new Grapher, our subclass of TQNPInstance. - return new Grapher; - } - - const char* getMIMEDescription() const - { - // Describe the MIME types which this plugin can - // process. Just the concocted "application/x-graphable" - // type, with the "g1n" filename extension. - // - return "application/x-graphable:g1n:Graphable ASCII numeric data"; - } - - const char * getPluginNameString() const - { - // The name of the plugin. This is the title string used in - // the "About Plugins" page of the browser. - // - return "TQt-based Graph Plugin"; - } - - const char * getPluginDescriptionString() const - { - // A longer description of the plugin. - // - return "A TQt-based LiveConnected plug-in that graphs numeric data"; - } - -}; - -// -// Finally, we provide the implementation of TQNPlugin::create(), to -// provide our subclass of TQNPlugin. -// - -TQNPlugin* TQNPlugin::create() -{ - return new GrapherPlugin; -} - -#include "grapher.moc" diff --git a/extensions/nsplugin/examples/grapher/grapher.def b/extensions/nsplugin/examples/grapher/grapher.def deleted file mode 100644 index e71dd470..00000000 --- a/extensions/nsplugin/examples/grapher/grapher.def +++ /dev/null @@ -1,9 +0,0 @@ -LIBRARY npgrapher.dll - -CODE PRELOAD MOVEABLE DISCARDABLE -DATA PRELOAD SINGLE - -EXPORTS - NP_GetEntryPoints @1 - NP_Initialize @2 - NP_Shutdown @3 diff --git a/extensions/nsplugin/examples/grapher/grapher.doc b/extensions/nsplugin/examples/grapher/grapher.doc deleted file mode 100644 index af6189cc..00000000 --- a/extensions/nsplugin/examples/grapher/grapher.doc +++ /dev/null @@ -1,64 +0,0 @@ -/*! \page grapher-nsplugin-example.html - \ingroup nsplugin-examples - - \title Grapher Plugin - - This example graphs data from a simple text file. It - demonstrates the use of the TQNPInstance::writeReady() - and TQNPInstance::write() functions. - - To build the example, you must first build the - TQt Netscape Plugin Extension library. - Then type make in extensions/nsplugin/examples/grapher/ - and copy the resulting grapher.so or npgrapher.dll - to the Plugins directory of your WWW browser. - - - - The text file it accepts as input has a title line, then - a sequence of lines with a number, then a string. The - plugin displays a pie chart of the numbers, each segment - labelled by the associated string. The user can select - a bar chart view of the same data by selecting from the - menu that appears when they point at the plugin. - - The HTML tag used to embed the graph is: - -
        -  <EMBED
        -    SRC=graph.g1n
        -    ALIGN=LEFT
        -    WIDTH=49% HEIGHT=300
        -    graphstyle=pie fontfamily=times
        -    fontsize=18>
        -
        -
        - Note that some HTML arguments (which we have capitalized here) - are interpreted by the browser, while others are used by the - plugin. - -
        -With the simplicity and cross-platform nature of Qt-based plugins, -pages like Netcraft's -Server Graphs can be provided much more efficiently for both -the service provider and consumer. Data need not be converted -to an image at the server. - -
        -
        - Implementation: - - \include grapher/grapher.cpp -*/ - -/*! \plainpage graph.g1n -num label -10 A -24 B -12 C -7 D -34 E -15 F -19 G -*/ diff --git a/extensions/nsplugin/examples/grapher/grapher.pro b/extensions/nsplugin/examples/grapher/grapher.pro deleted file mode 100644 index 6f05b545..00000000 --- a/extensions/nsplugin/examples/grapher/grapher.pro +++ /dev/null @@ -1,12 +0,0 @@ -TEMPLATE = lib -TARGET = grapher -win32:TARGET = npgrapher - -CONFIG += qt dll release -LIBS += -lqnp -unix:LIBS += -lXt - -HEADERS = -SOURCES = grapher.cpp -DEF_FILE = grapher.def -RC_FILE = grapher.rc diff --git a/extensions/nsplugin/examples/grapher/grapher.rc b/extensions/nsplugin/examples/grapher/grapher.rc deleted file mode 100644 index 558c738a..00000000 --- a/extensions/nsplugin/examples/grapher/grapher.rc +++ /dev/null @@ -1,36 +0,0 @@ - -1 VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", "Trolltech\0" - VALUE "FileDescription", "grapher\0" - VALUE "FileExtents", "g1n\0" - VALUE "FileOpenName", "Graphable data (*.g1n)\0" - VALUE "FileVersion", "1, 0, 0, 1\0" - VALUE "InternalName", "grapher\0" - VALUE "LegalCopyright", "Copyright © 1997-2008 Trolltech ASA\0" - VALUE "MIMEType", "application/x-graphable\0" - VALUE "OriginalFilename", "grapher.dll\0" - VALUE "ProductName", "Trolltech grapher\0" - VALUE "ProductVersion", "1, 0, 0, 1\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END diff --git a/extensions/nsplugin/examples/trivial/trivial.cpp b/extensions/nsplugin/examples/trivial/trivial.cpp deleted file mode 100644 index d2c57843..00000000 --- a/extensions/nsplugin/examples/trivial/trivial.cpp +++ /dev/null @@ -1,67 +0,0 @@ -// TQt stuff -#include "tqnp.h" -#include -#include - -class Trivial : public TQNPWidget { - TQ_OBJECT -public: - void mouseReleaseEvent(TQMouseEvent* event) - { - TQMessageBox::aboutTQt(this); - } - - void paintEvent(TQPaintEvent* event) - { - TQPainter p(this); - p.setClipRect(event->rect()); - int w = width(); - p.drawRect(rect()); - p.drawText(w/8, 0, w-w/4, height(), AlignCenter|WordBreak, "Trivial!"); - } -}; - -class TrivialInstance : public TQNPInstance { - TQ_OBJECT -public: - TQNPWidget* newWindow() - { - return new Trivial; - } - - void print(TQPainter* p) - { - p->drawText(0,0,"Hello"); - } -}; - -class TrivialPlugin : public TQNPlugin { -public: - TQNPInstance* newInstance() - { - return new TrivialInstance; - } - - const char* getMIMEDescription() const - { - return "trivial/very:xxx:Trivial and useless"; - } - - const char * getPluginNameString() const - { - return "Trivial TQt-based Plugin"; - } - - const char * getPluginDescriptionString() const - { - return "A TQt-based LiveConnected plug-in that does nothing"; - } - -}; - -TQNPlugin* TQNPlugin::create() -{ - return new TrivialPlugin; -} - -#include "trivial.moc" diff --git a/extensions/nsplugin/examples/trivial/trivial.def b/extensions/nsplugin/examples/trivial/trivial.def deleted file mode 100644 index 1732fc67..00000000 --- a/extensions/nsplugin/examples/trivial/trivial.def +++ /dev/null @@ -1,9 +0,0 @@ -LIBRARY nptrivial.dll - -CODE PRELOAD MOVEABLE DISCARDABLE -DATA PRELOAD SINGLE - -EXPORTS - NP_GetEntryPoints @1 - NP_Initialize @2 - NP_Shutdown @3 diff --git a/extensions/nsplugin/examples/trivial/trivial.doc b/extensions/nsplugin/examples/trivial/trivial.doc deleted file mode 100644 index b1f1b946..00000000 --- a/extensions/nsplugin/examples/trivial/trivial.doc +++ /dev/null @@ -1,22 +0,0 @@ -/*! \page trivial-nsplugin-example.html - \ingroup nsplugin-examples - - \title Trivial Example - - This example is trivial, and thus useful for - investigating problems you might have installing the - extension. - - To build the example, you must first build the - \link netscape-plugin.html TQt Netscape Plugin Extension\endlink library. - Then type \c{make} in \c{extensions/nsplugin/examples/trivial/} - and copy the resulting \c{trivial.so} or \c{nptrivial.dll} - to the Plugins directory of your WWW browser. - - - -
        - Implementation: - - \include trivial/trivial.cpp -*/ diff --git a/extensions/nsplugin/examples/trivial/trivial.pro b/extensions/nsplugin/examples/trivial/trivial.pro deleted file mode 100644 index d61bf783..00000000 --- a/extensions/nsplugin/examples/trivial/trivial.pro +++ /dev/null @@ -1,12 +0,0 @@ -TEMPLATE = lib -TARGET = trivial -win32:TARGET = nptrivial - -CONFIG += qt dll release -LIBS += -lqnp -unix:LIBS += -lXt - -HEADERS = -SOURCES = trivial.cpp -DEF_FILE = trivial.def -RC_FILE = trivial.rc diff --git a/extensions/nsplugin/examples/trivial/trivial.rc b/extensions/nsplugin/examples/trivial/trivial.rc deleted file mode 100644 index 481cf087..00000000 --- a/extensions/nsplugin/examples/trivial/trivial.rc +++ /dev/null @@ -1,36 +0,0 @@ - -1 VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", "Trolltech\0" - VALUE "FileDescription", "trivial\0" - VALUE "FileExtents", "xxx\0" - VALUE "FileOpenName", "Nothing (*.xxx)\0" - VALUE "FileVersion", "1, 0, 0, 1\0" - VALUE "InternalName", "trivial\0" - VALUE "LegalCopyright", "Copyright © 1997-2006 Trolltech ASA\0" - VALUE "MIMEType", "trivial/very\0" - VALUE "OriginalFilename", "trivial.dll\0" - VALUE "ProductName", "Trolltech trivial\0" - VALUE "ProductVersion", "1, 0, 0, 1\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END diff --git a/extensions/nsplugin/src/jri.h b/extensions/nsplugin/src/jri.h deleted file mode 100644 index 09ef682e..00000000 --- a/extensions/nsplugin/src/jri.h +++ /dev/null @@ -1,637 +0,0 @@ -/******************************************************************************* - * Java Runtime Interface - * Copyright (c) 1996 Netscape Communications Corporation. All rights reserved. - ******************************************************************************/ - -#ifndef JRI_H -#define JRI_H - -#include "jritypes.h" - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/******************************************************************************* - * JRIEnv - ******************************************************************************/ - -/* The type of the JRIEnv interface. */ -typedef struct JRIEnvInterface JRIEnvInterface; - -/* The type of a JRIEnv instance. */ -typedef const JRIEnvInterface* JRIEnv; - -/******************************************************************************* - * JRIEnv Operations - ******************************************************************************/ - -#define JRI_LoadClass(env, buf, bufLen) \ - (((*(env))->LoadClass)(env, JRI_LoadClass_op, buf, bufLen)) - -#define JRI_FindClass(env, name) \ - (((*(env))->FindClass)(env, JRI_FindClass_op, name)) - -#define JRI_Throw(env, obj) \ - (((*(env))->Throw)(env, JRI_Throw_op, obj)) - -#define JRI_ThrowNew(env, clazz, message) \ - (((*(env))->ThrowNew)(env, JRI_ThrowNew_op, clazz, message)) - -#define JRI_ExceptionOccurred(env) \ - (((*(env))->ExceptionOccurred)(env, JRI_ExceptionOccurred_op)) - -#define JRI_ExceptionDescribe(env) \ - (((*(env))->ExceptionDescribe)(env, JRI_ExceptionDescribe_op)) - -#define JRI_ExceptionClear(env) \ - (((*(env))->ExceptionClear)(env, JRI_ExceptionClear_op)) - -#define JRI_NewGlobalRef(env, ref) \ - (((*(env))->NewGlobalRef)(env, JRI_NewGlobalRef_op, ref)) - -#define JRI_DisposeGlobalRef(env, gref) \ - (((*(env))->DisposeGlobalRef)(env, JRI_DisposeGlobalRef_op, gref)) - -#define JRI_GetGlobalRef(env, gref) \ - (((*(env))->GetGlobalRef)(env, JRI_GetGlobalRef_op, gref)) - -#define JRI_SetGlobalRef(env, gref, ref) \ - (((*(env))->SetGlobalRef)(env, JRI_SetGlobalRef_op, gref, ref)) - -#define JRI_IsSameObject(env, a, b) \ - (((*(env))->IsSameObject)(env, JRI_IsSameObject_op, a, b)) - -#define JRI_NewObject(env) ((*(env))->NewObject) -#define JRI_NewObjectV(env, clazz, methodID, args) \ - (((*(env))->NewObjectV)(env, JRI_NewObject_op_va_list, clazz, methodID, args)) -#define JRI_NewObjectA(env, clazz, method, args) \ - (((*(env))->NewObjectA)(env, JRI_NewObject_op_array, clazz, methodID, args)) - -#define JRI_GetObjectClass(env, obj) \ - (((*(env))->GetObjectClass)(env, JRI_GetObjectClass_op, obj)) - -#define JRI_IsInstanceOf(env, obj, clazz) \ - (((*(env))->IsInstanceOf)(env, JRI_IsInstanceOf_op, obj, clazz)) - -#define JRI_GetMethodID(env, clazz, name, sig) \ - (((*(env))->GetMethodID)(env, JRI_GetMethodID_op, clazz, name, sig)) - -#define JRI_CallMethod(env) ((*(env))->CallMethod) -#define JRI_CallMethodV(env, obj, methodID, args) \ - (((*(env))->CallMethodV)(env, JRI_CallMethod_op_va_list, obj, methodID, args)) -#define JRI_CallMethodA(env, obj, methodID, args) \ - (((*(env))->CallMethodA)(env, JRI_CallMethod_op_array, obj, methodID, args)) - -#define JRI_CallMethodBoolean(env) ((*(env))->CallMethodBoolean) -#define JRI_CallMethodBooleanV(env, obj, methodID, args) \ - (((*(env))->CallMethodBooleanV)(env, JRI_CallMethodBoolean_op_va_list, obj, methodID, args)) -#define JRI_CallMethodBooleanA(env, obj, methodID, args) \ - (((*(env))->CallMethodBooleanA)(env, JRI_CallMethodBoolean_op_array, obj, methodID, args)) - -#define JRI_CallMethodByte(env) ((*(env))->CallMethodByte) -#define JRI_CallMethodByteV(env, obj, methodID, args) \ - (((*(env))->CallMethodByteV)(env, JRI_CallMethodByte_op_va_list, obj, methodID, args)) -#define JRI_CallMethodByteA(env, obj, methodID, args) \ - (((*(env))->CallMethodByteA)(env, JRI_CallMethodByte_op_array, obj, methodID, args)) - -#define JRI_CallMethodChar(env) ((*(env))->CallMethodChar) -#define JRI_CallMethodCharV(env, obj, methodID, args) \ - (((*(env))->CallMethodCharV)(env, JRI_CallMethodChar_op_va_list, obj, methodID, args)) -#define JRI_CallMethodCharA(env, obj, methodID, args) \ - (((*(env))->CallMethodCharA)(env, JRI_CallMethodChar_op_array, obj, methodID, args)) - -#define JRI_CallMethodShort(env) ((*(env))->CallMethodShort) -#define JRI_CallMethodShortV(env, obj, methodID, args) \ - (((*(env))->CallMethodShortV)(env, JRI_CallMethodShort_op_va_list, obj, methodID, args)) -#define JRI_CallMethodShortA(env, obj, methodID, args) \ - (((*(env))->CallMethodShortA)(env, JRI_CallMethodShort_op_array, obj, methodID, args)) - -#define JRI_CallMethodInt(env) ((*(env))->CallMethodInt) -#define JRI_CallMethodIntV(env, obj, methodID, args) \ - (((*(env))->CallMethodIntV)(env, JRI_CallMethodInt_op_va_list, obj, methodID, args)) -#define JRI_CallMethodIntA(env, obj, methodID, args) \ - (((*(env))->CallMethodIntA)(env, JRI_CallMethodInt_op_array, obj, methodID, args)) - -#define JRI_CallMethodLong(env) ((*(env))->CallMethodLong) -#define JRI_CallMethodLongV(env, obj, methodID, args) \ - (((*(env))->CallMethodLongV)(env, JRI_CallMethodLong_op_va_list, obj, methodID, args)) -#define JRI_CallMethodLongA(env, obj, methodID, args) \ - (((*(env))->CallMethodLongA)(env, JRI_CallMethodLong_op_array, obj, methodID, args)) - -#define JRI_CallMethodFloat(env) ((*(env))->CallMethodFloat) -#define JRI_CallMethodFloatV(env, obj, methodID, args) \ - (((*(env))->CallMethodFloatV)(env, JRI_CallMethodFloat_op_va_list, obj, methodID, args)) -#define JRI_CallMethodFloatA(env, obj, methodID, args) \ - (((*(env))->CallMethodFloatA)(env, JRI_CallMethodFloat_op_array, obj, methodID, args)) - -#define JRI_CallMethodDouble(env) ((*(env))->CallMethodDouble) -#define JRI_CallMethodDoubleV(env, obj, methodID, args) \ - (((*(env))->CallMethodDoubleV)(env, JRI_CallMethodDouble_op_va_list, obj, methodID, args)) -#define JRI_CallMethodDoubleA(env, obj, methodID, args) \ - (((*(env))->CallMethodDoubleA)(env, JRI_CallMethodDouble_op_array, obj, methodID, args)) - -#define JRI_GetFieldID(env, clazz, name, sig) \ - (((*(env))->GetFieldID)(env, JRI_GetFieldID_op, clazz, name, sig)) - -#define JRI_GetField(env, obj, fieldID) \ - (((*(env))->GetField)(env, JRI_GetField_op, obj, fieldID)) - -#define JRI_GetFieldBoolean(env, obj, fieldID) \ - (((*(env))->GetFieldBoolean)(env, JRI_GetFieldBoolean_op, obj, fieldID)) - -#define JRI_GetFieldByte(env, obj, fieldID) \ - (((*(env))->GetFieldByte)(env, JRI_GetFieldByte_op, obj, fieldID)) - -#define JRI_GetFieldChar(env, obj, fieldID) \ - (((*(env))->GetFieldChar)(env, JRI_GetFieldChar_op, obj, fieldID)) - -#define JRI_GetFieldShort(env, obj, fieldID) \ - (((*(env))->GetFieldShort)(env, JRI_GetFieldShort_op, obj, fieldID)) - -#define JRI_GetFieldInt(env, obj, fieldID) \ - (((*(env))->GetFieldInt)(env, JRI_GetFieldInt_op, obj, fieldID)) - -#define JRI_GetFieldLong(env, obj, fieldID) \ - (((*(env))->GetFieldLong)(env, JRI_GetFieldLong_op, obj, fieldID)) - -#define JRI_GetFieldFloat(env, obj, fieldID) \ - (((*(env))->GetFieldFloat)(env, JRI_GetFieldFloat_op, obj, fieldID)) - -#define JRI_GetFieldDouble(env, obj, fieldID) \ - (((*(env))->GetFieldDouble)(env, JRI_GetFieldDouble_op, obj, fieldID)) - -#define JRI_SetField(env, obj, fieldID, value) \ - (((*(env))->SetField)(env, JRI_SetField_op, obj, fieldID, value)) - -#define JRI_SetFieldBoolean(env, obj, fieldID, value) \ - (((*(env))->SetFieldBoolean)(env, JRI_SetFieldBoolean_op, obj, fieldID, value)) - -#define JRI_SetFieldByte(env, obj, fieldID, value) \ - (((*(env))->SetFieldByte)(env, JRI_SetFieldByte_op, obj, fieldID, value)) - -#define JRI_SetFieldChar(env, obj, fieldID, value) \ - (((*(env))->SetFieldChar)(env, JRI_SetFieldChar_op, obj, fieldID, value)) - -#define JRI_SetFieldShort(env, obj, fieldID, value) \ - (((*(env))->SetFieldShort)(env, JRI_SetFieldShort_op, obj, fieldID, value)) - -#define JRI_SetFieldInt(env, obj, fieldID, value) \ - (((*(env))->SetFieldInt)(env, JRI_SetFieldInt_op, obj, fieldID, value)) - -#define JRI_SetFieldLong(env, obj, fieldID, value) \ - (((*(env))->SetFieldLong)(env, JRI_SetFieldLong_op, obj, fieldID, value)) - -#define JRI_SetFieldFloat(env, obj, fieldID, value) \ - (((*(env))->SetFieldFloat)(env, JRI_SetFieldFloat_op, obj, fieldID, value)) - -#define JRI_SetFieldDouble(env, obj, fieldID, value) \ - (((*(env))->SetFieldDouble)(env, JRI_SetFieldDouble_op, obj, fieldID, value)) - -#define JRI_IsSubclassOf(env, a, b) \ - (((*(env))->IsSubclassOf)(env, JRI_IsSubclassOf_op, a, b)) - -#define JRI_GetStaticMethodID(env, clazz, name, sig) \ - (((*(env))->GetStaticMethodID)(env, JRI_GetStaticMethodID_op, clazz, name, sig)) - -#define JRI_CallStaticMethod(env) ((*(env))->CallStaticMethod) -#define JRI_CallStaticMethodV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodV)(env, JRI_CallStaticMethod_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodA)(env, JRI_CallStaticMethod_op_array, clazz, methodID, args)) - -#define JRI_CallStaticMethodBoolean(env) ((*(env))->CallStaticMethodBoolean) -#define JRI_CallStaticMethodBooleanV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodBooleanV)(env, JRI_CallStaticMethodBoolean_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodBooleanA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodBooleanA)(env, JRI_CallStaticMethodBoolean_op_array, clazz, methodID, args)) - -#define JRI_CallStaticMethodByte(env) ((*(env))->CallStaticMethodByte) -#define JRI_CallStaticMethodByteV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodByteV)(env, JRI_CallStaticMethodByte_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodByteA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodByteA)(env, JRI_CallStaticMethodByte_op_array, clazz, methodID, args)) - -#define JRI_CallStaticMethodChar(env) ((*(env))->CallStaticMethodChar) -#define JRI_CallStaticMethodCharV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodCharV)(env, JRI_CallStaticMethodChar_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodCharA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodCharA)(env, JRI_CallStaticMethodChar_op_array, clazz, methodID, args)) - -#define JRI_CallStaticMethodShort(env) ((*(env))->CallStaticMethodShort) -#define JRI_CallStaticMethodShortV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodShortV)(env, JRI_CallStaticMethodShort_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodShortA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodShortA)(env, JRI_CallStaticMethodShort_op_array, clazz, methodID, args)) - -#define JRI_CallStaticMethodInt(env) ((*(env))->CallStaticMethodInt) -#define JRI_CallStaticMethodIntV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodIntV)(env, JRI_CallStaticMethodInt_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodIntA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodIntA)(env, JRI_CallStaticMethodInt_op_array, clazz, methodID, args)) - -#define JRI_CallStaticMethodLong(env) ((*(env))->CallStaticMethodLong) -#define JRI_CallStaticMethodLongV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodLongV)(env, JRI_CallStaticMethodLong_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodLongA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodLongA)(env, JRI_CallStaticMethodLong_op_array, clazz, methodID, args)) - -#define JRI_CallStaticMethodFloat(env) ((*(env))->CallStaticMethodFloat) -#define JRI_CallStaticMethodFloatV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodFloatV)(env, JRI_CallStaticMethodFloat_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodFloatA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodFloatA)(env, JRI_CallStaticMethodFloat_op_array, clazz, methodID, args)) - -#define JRI_CallStaticMethodDouble(env) ((*(env))->CallStaticMethodDouble) -#define JRI_CallStaticMethodDoubleV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodDoubleV)(env, JRI_CallStaticMethodDouble_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodDoubleA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodDoubleA)(env, JRI_CallStaticMethodDouble_op_array, clazz, methodID, args)) - -#define JRI_GetStaticFieldID(env, clazz, name, sig) \ - (((*(env))->GetStaticFieldID)(env, JRI_GetStaticFieldID_op, clazz, name, sig)) - -#define JRI_GetStaticField(env, clazz, fieldID) \ - (((*(env))->GetStaticField)(env, JRI_GetStaticField_op, clazz, fieldID)) - -#define JRI_GetStaticFieldBoolean(env, clazz, fieldID) \ - (((*(env))->GetStaticFieldBoolean)(env, JRI_GetStaticFieldBoolean_op, clazz, fieldID)) - -#define JRI_GetStaticFieldByte(env, clazz, fieldID) \ - (((*(env))->GetStaticFieldByte)(env, JRI_GetStaticFieldByte_op, clazz, fieldID)) - -#define JRI_GetStaticFieldChar(env, clazz, fieldID) \ - (((*(env))->GetStaticFieldChar)(env, JRI_GetStaticFieldChar_op, clazz, fieldID)) - -#define JRI_GetStaticFieldShort(env, clazz, fieldID) \ - (((*(env))->GetStaticFieldShort)(env, JRI_GetStaticFieldShort_op, clazz, fieldID)) - -#define JRI_GetStaticFieldInt(env, clazz, fieldID) \ - (((*(env))->GetStaticFieldInt)(env, JRI_GetStaticFieldInt_op, clazz, fieldID)) - -#define JRI_GetStaticFieldLong(env, clazz, fieldID) \ - (((*(env))->GetStaticFieldLong)(env, JRI_GetStaticFieldLong_op, clazz, fieldID)) - -#define JRI_GetStaticFieldFloat(env, clazz, fieldID) \ - (((*(env))->GetStaticFieldFloat)(env, JRI_GetStaticFieldFloat_op, clazz, fieldID)) - -#define JRI_GetStaticFieldDouble(env, clazz, fieldID) \ - (((*(env))->GetStaticFieldDouble)(env, JRI_GetStaticFieldDouble_op, clazz, fieldID)) - -#define JRI_SetStaticField(env, clazz, fieldID, value) \ - (((*(env))->SetStaticField)(env, JRI_SetStaticField_op, clazz, fieldID, value)) - -#define JRI_SetStaticFieldBoolean(env, clazz, fieldID, value) \ - (((*(env))->SetStaticFieldBoolean)(env, JRI_SetStaticFieldBoolean_op, clazz, fieldID, value)) - -#define JRI_SetStaticFieldByte(env, clazz, fieldID, value) \ - (((*(env))->SetStaticFieldByte)(env, JRI_SetStaticFieldByte_op, clazz, fieldID, value)) - -#define JRI_SetStaticFieldChar(env, clazz, fieldID, value) \ - (((*(env))->SetStaticFieldChar)(env, JRI_SetStaticFieldChar_op, clazz, fieldID, value)) - -#define JRI_SetStaticFieldShort(env, clazz, fieldID, value) \ - (((*(env))->SetStaticFieldShort)(env, JRI_SetStaticFieldShort_op, clazz, fieldID, value)) - -#define JRI_SetStaticFieldInt(env, clazz, fieldID, value) \ - (((*(env))->SetStaticFieldInt)(env, JRI_SetStaticFieldInt_op, clazz, fieldID, value)) - -#define JRI_SetStaticFieldLong(env, clazz, fieldID, value) \ - (((*(env))->SetStaticFieldLong)(env, JRI_SetStaticFieldLong_op, clazz, fieldID, value)) - -#define JRI_SetStaticFieldFloat(env, clazz, fieldID, value) \ - (((*(env))->SetStaticFieldFloat)(env, JRI_SetStaticFieldFloat_op, clazz, fieldID, value)) - -#define JRI_SetStaticFieldDouble(env, clazz, fieldID, value) \ - (((*(env))->SetStaticFieldDouble)(env, JRI_SetStaticFieldDouble_op, clazz, fieldID, value)) - -#define JRI_NewString(env, unicode, len) \ - (((*(env))->NewString)(env, JRI_NewString_op, unicode, len)) - -#define JRI_GetStringLength(env, string) \ - (((*(env))->GetStringLength)(env, JRI_GetStringLength_op, string)) - -#define JRI_GetStringChars(env, string) \ - (((*(env))->GetStringChars)(env, JRI_GetStringChars_op, string)) - -#define JRI_NewStringUTF(env, utf, len) \ - (((*(env))->NewStringUTF)(env, JRI_NewStringUTF_op, utf, len)) - -#define JRI_GetStringUTFLength(env, string) \ - (((*(env))->GetStringUTFLength)(env, JRI_GetStringUTFLength_op, string)) - -#define JRI_GetStringUTFChars(env, string) \ - (((*(env))->GetStringUTFChars)(env, JRI_GetStringUTFChars_op, string)) - -#define JRI_NewScalarArray(env, length, elementSig, initialElements) \ - (((*(env))->NewScalarArray)(env, JRI_NewScalarArray_op, length, elementSig, initialElements)) - -#define JRI_GetScalarArrayLength(env, array) \ - (((*(env))->GetScalarArrayLength)(env, JRI_GetScalarArrayLength_op, array)) - -#define JRI_GetScalarArrayElements(env, array) \ - (((*(env))->GetScalarArrayElements)(env, JRI_GetScalarArrayElements_op, array)) - -#define JRI_NewObjectArray(env, length, elementClass, initialElement) \ - (((*(env))->NewObjectArray)(env, JRI_NewObjectArray_op, length, elementClass, initialElement)) - -#define JRI_GetObjectArrayLength(env, array) \ - (((*(env))->GetObjectArrayLength)(env, JRI_GetObjectArrayLength_op, array)) - -#define JRI_GetObjectArrayElement(env, array, index) \ - (((*(env))->GetObjectArrayElement)(env, JRI_GetObjectArrayElement_op, array, index)) - -#define JRI_SetObjectArrayElement(env, array, index, value) \ - (((*(env))->SetObjectArrayElement)(env, JRI_SetObjectArrayElement_op, array, index, value)) - -#define JRI_RegisterNatives(env, clazz, nameAndSigArray, nativeProcArray) \ - (((*(env))->RegisterNatives)(env, JRI_RegisterNatives_op, clazz, nameAndSigArray, nativeProcArray)) - -#define JRI_UnregisterNatives(env, clazz) \ - (((*(env))->UnregisterNatives)(env, JRI_UnregisterNatives_op, clazz)) - -/******************************************************************************* - * JRIEnv Interface - ******************************************************************************/ - -struct java_lang_Class; -struct java_lang_Throwable; -struct java_lang_Object; -struct java_lang_String; - -struct JRIEnvInterface { - void* reserved0; - void* reserved1; - void* reserved2; - struct java_lang_Class* (*LoadClass)(JRIEnv* env, jint op, jbyte* a, jsize aLen); - struct java_lang_Class* (*FindClass)(JRIEnv* env, jint op, const char* a); - void (*Throw)(JRIEnv* env, jint op, struct java_lang_Throwable* a); - void (*ThrowNew)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b); - struct java_lang_Throwable* (*ExceptionOccurred)(JRIEnv* env, jint op); - void (*ExceptionDescribe)(JRIEnv* env, jint op); - void (*ExceptionClear)(JRIEnv* env, jint op); - jglobal (*NewGlobalRef)(JRIEnv* env, jint op, void* a); - void (*DisposeGlobalRef)(JRIEnv* env, jint op, jglobal a); - void* (*GetGlobalRef)(JRIEnv* env, jint op, jglobal a); - void (*SetGlobalRef)(JRIEnv* env, jint op, jglobal a, void* b); - jbool (*IsSameObject)(JRIEnv* env, jint op, void* a, void* b); - void* (*NewObject)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - void* (*NewObjectV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - void* (*NewObjectA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - struct java_lang_Class* (*GetObjectClass)(JRIEnv* env, jint op, void* a); - jbool (*IsInstanceOf)(JRIEnv* env, jint op, void* a, struct java_lang_Class* b); - jint (*GetMethodID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c); - void* (*CallMethod)(JRIEnv* env, jint op, void* a, jint b, ...); - void* (*CallMethodV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - void* (*CallMethodA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jbool (*CallMethodBoolean)(JRIEnv* env, jint op, void* a, jint b, ...); - jbool (*CallMethodBooleanV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - jbool (*CallMethodBooleanA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jbyte (*CallMethodByte)(JRIEnv* env, jint op, void* a, jint b, ...); - jbyte (*CallMethodByteV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - jbyte (*CallMethodByteA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jchar (*CallMethodChar)(JRIEnv* env, jint op, void* a, jint b, ...); - jchar (*CallMethodCharV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - jchar (*CallMethodCharA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jshort (*CallMethodShort)(JRIEnv* env, jint op, void* a, jint b, ...); - jshort (*CallMethodShortV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - jshort (*CallMethodShortA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jint (*CallMethodInt)(JRIEnv* env, jint op, void* a, jint b, ...); - jint (*CallMethodIntV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - jint (*CallMethodIntA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jlong (*CallMethodLong)(JRIEnv* env, jint op, void* a, jint b, ...); - jlong (*CallMethodLongV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - jlong (*CallMethodLongA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jfloat (*CallMethodFloat)(JRIEnv* env, jint op, void* a, jint b, ...); - jfloat (*CallMethodFloatV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - jfloat (*CallMethodFloatA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jdouble (*CallMethodDouble)(JRIEnv* env, jint op, void* a, jint b, ...); - jdouble (*CallMethodDoubleV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - jdouble (*CallMethodDoubleA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jint (*GetFieldID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c); - void* (*GetField)(JRIEnv* env, jint op, void* a, jint b); - jbool (*GetFieldBoolean)(JRIEnv* env, jint op, void* a, jint b); - jbyte (*GetFieldByte)(JRIEnv* env, jint op, void* a, jint b); - jchar (*GetFieldChar)(JRIEnv* env, jint op, void* a, jint b); - jshort (*GetFieldShort)(JRIEnv* env, jint op, void* a, jint b); - jint (*GetFieldInt)(JRIEnv* env, jint op, void* a, jint b); - jlong (*GetFieldLong)(JRIEnv* env, jint op, void* a, jint b); - jfloat (*GetFieldFloat)(JRIEnv* env, jint op, void* a, jint b); - jdouble (*GetFieldDouble)(JRIEnv* env, jint op, void* a, jint b); - void (*SetField)(JRIEnv* env, jint op, void* a, jint b, void* c); - void (*SetFieldBoolean)(JRIEnv* env, jint op, void* a, jint b, jbool c); - void (*SetFieldByte)(JRIEnv* env, jint op, void* a, jint b, jbyte c); - void (*SetFieldChar)(JRIEnv* env, jint op, void* a, jint b, jchar c); - void (*SetFieldShort)(JRIEnv* env, jint op, void* a, jint b, jshort c); - void (*SetFieldInt)(JRIEnv* env, jint op, void* a, jint b, jint c); - void (*SetFieldLong)(JRIEnv* env, jint op, void* a, jint b, jlong c); - void (*SetFieldFloat)(JRIEnv* env, jint op, void* a, jint b, jfloat c); - void (*SetFieldDouble)(JRIEnv* env, jint op, void* a, jint b, jdouble c); - jbool (*IsSubclassOf)(JRIEnv* env, jint op, struct java_lang_Class* a, struct java_lang_Class* b); - jint (*GetStaticMethodID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c); - void* (*CallStaticMethod)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - void* (*CallStaticMethodV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - void* (*CallStaticMethodA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jbool (*CallStaticMethodBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - jbool (*CallStaticMethodBooleanV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - jbool (*CallStaticMethodBooleanA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jbyte (*CallStaticMethodByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - jbyte (*CallStaticMethodByteV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - jbyte (*CallStaticMethodByteA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jchar (*CallStaticMethodChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - jchar (*CallStaticMethodCharV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - jchar (*CallStaticMethodCharA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jshort (*CallStaticMethodShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - jshort (*CallStaticMethodShortV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - jshort (*CallStaticMethodShortA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jint (*CallStaticMethodInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - jint (*CallStaticMethodIntV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - jint (*CallStaticMethodIntA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jlong (*CallStaticMethodLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - jlong (*CallStaticMethodLongV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - jlong (*CallStaticMethodLongA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jfloat (*CallStaticMethodFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - jfloat (*CallStaticMethodFloatV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - jfloat (*CallStaticMethodFloatA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jdouble (*CallStaticMethodDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - jdouble (*CallStaticMethodDoubleV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - jdouble (*CallStaticMethodDoubleA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jint (*GetStaticFieldID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c); - void* (*GetStaticField)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - jbool (*GetStaticFieldBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - jbyte (*GetStaticFieldByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - jchar (*GetStaticFieldChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - jshort (*GetStaticFieldShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - jint (*GetStaticFieldInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - jlong (*GetStaticFieldLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - jfloat (*GetStaticFieldFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - jdouble (*GetStaticFieldDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - void (*SetStaticField)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, void* c); - void (*SetStaticFieldBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jbool c); - void (*SetStaticFieldByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jbyte c); - void (*SetStaticFieldChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jchar c); - void (*SetStaticFieldShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jshort c); - void (*SetStaticFieldInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jint c); - void (*SetStaticFieldLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jlong c); - void (*SetStaticFieldFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jfloat c); - void (*SetStaticFieldDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jdouble c); - struct java_lang_String* (*NewString)(JRIEnv* env, jint op, const jchar* a, jint b); - jint (*GetStringLength)(JRIEnv* env, jint op, struct java_lang_String* a); - const jchar* (*GetStringChars)(JRIEnv* env, jint op, struct java_lang_String* a); - struct java_lang_String* (*NewStringUTF)(JRIEnv* env, jint op, const jbyte* a, jint b); - jint (*GetStringUTFLength)(JRIEnv* env, jint op, struct java_lang_String* a); - const jbyte* (*GetStringUTFChars)(JRIEnv* env, jint op, struct java_lang_String* a); - void* (*NewScalarArray)(JRIEnv* env, jint op, jint a, const char* b, const jbyte* c); - jint (*GetScalarArrayLength)(JRIEnv* env, jint op, void* a); - jbyte* (*GetScalarArrayElements)(JRIEnv* env, jint op, void* a); - void* (*NewObjectArray)(JRIEnv* env, jint op, jint a, struct java_lang_Class* b, void* c); - jint (*GetObjectArrayLength)(JRIEnv* env, jint op, void* a); - void* (*GetObjectArrayElement)(JRIEnv* env, jint op, void* a, jint b); - void (*SetObjectArrayElement)(JRIEnv* env, jint op, void* a, jint b, void* c); - void (*RegisterNatives)(JRIEnv* env, jint op, struct java_lang_Class* a, char** b, void** c); - void (*UnregisterNatives)(JRIEnv* env, jint op, struct java_lang_Class* a); -}; - -/******************************************************************************* - * JRIEnv Operation IDs - ******************************************************************************/ - -typedef enum JRIEnvOperations { - JRI_Reserved0_op, - JRI_Reserved1_op, - JRI_Reserved2_op, - JRI_LoadClass_op, - JRI_FindClass_op, - JRI_Throw_op, - JRI_ThrowNew_op, - JRI_ExceptionOccurred_op, - JRI_ExceptionDescribe_op, - JRI_ExceptionClear_op, - JRI_NewGlobalRef_op, - JRI_DisposeGlobalRef_op, - JRI_GetGlobalRef_op, - JRI_SetGlobalRef_op, - JRI_IsSameObject_op, - JRI_NewObject_op, - JRI_NewObject_op_va_list, - JRI_NewObject_op_array, - JRI_GetObjectClass_op, - JRI_IsInstanceOf_op, - JRI_GetMethodID_op, - JRI_CallMethod_op, - JRI_CallMethod_op_va_list, - JRI_CallMethod_op_array, - JRI_CallMethodBoolean_op, - JRI_CallMethodBoolean_op_va_list, - JRI_CallMethodBoolean_op_array, - JRI_CallMethodByte_op, - JRI_CallMethodByte_op_va_list, - JRI_CallMethodByte_op_array, - JRI_CallMethodChar_op, - JRI_CallMethodChar_op_va_list, - JRI_CallMethodChar_op_array, - JRI_CallMethodShort_op, - JRI_CallMethodShort_op_va_list, - JRI_CallMethodShort_op_array, - JRI_CallMethodInt_op, - JRI_CallMethodInt_op_va_list, - JRI_CallMethodInt_op_array, - JRI_CallMethodLong_op, - JRI_CallMethodLong_op_va_list, - JRI_CallMethodLong_op_array, - JRI_CallMethodFloat_op, - JRI_CallMethodFloat_op_va_list, - JRI_CallMethodFloat_op_array, - JRI_CallMethodDouble_op, - JRI_CallMethodDouble_op_va_list, - JRI_CallMethodDouble_op_array, - JRI_GetFieldID_op, - JRI_GetField_op, - JRI_GetFieldBoolean_op, - JRI_GetFieldByte_op, - JRI_GetFieldChar_op, - JRI_GetFieldShort_op, - JRI_GetFieldInt_op, - JRI_GetFieldLong_op, - JRI_GetFieldFloat_op, - JRI_GetFieldDouble_op, - JRI_SetField_op, - JRI_SetFieldBoolean_op, - JRI_SetFieldByte_op, - JRI_SetFieldChar_op, - JRI_SetFieldShort_op, - JRI_SetFieldInt_op, - JRI_SetFieldLong_op, - JRI_SetFieldFloat_op, - JRI_SetFieldDouble_op, - JRI_IsSubclassOf_op, - JRI_GetStaticMethodID_op, - JRI_CallStaticMethod_op, - JRI_CallStaticMethod_op_va_list, - JRI_CallStaticMethod_op_array, - JRI_CallStaticMethodBoolean_op, - JRI_CallStaticMethodBoolean_op_va_list, - JRI_CallStaticMethodBoolean_op_array, - JRI_CallStaticMethodByte_op, - JRI_CallStaticMethodByte_op_va_list, - JRI_CallStaticMethodByte_op_array, - JRI_CallStaticMethodChar_op, - JRI_CallStaticMethodChar_op_va_list, - JRI_CallStaticMethodChar_op_array, - JRI_CallStaticMethodShort_op, - JRI_CallStaticMethodShort_op_va_list, - JRI_CallStaticMethodShort_op_array, - JRI_CallStaticMethodInt_op, - JRI_CallStaticMethodInt_op_va_list, - JRI_CallStaticMethodInt_op_array, - JRI_CallStaticMethodLong_op, - JRI_CallStaticMethodLong_op_va_list, - JRI_CallStaticMethodLong_op_array, - JRI_CallStaticMethodFloat_op, - JRI_CallStaticMethodFloat_op_va_list, - JRI_CallStaticMethodFloat_op_array, - JRI_CallStaticMethodDouble_op, - JRI_CallStaticMethodDouble_op_va_list, - JRI_CallStaticMethodDouble_op_array, - JRI_GetStaticFieldID_op, - JRI_GetStaticField_op, - JRI_GetStaticFieldBoolean_op, - JRI_GetStaticFieldByte_op, - JRI_GetStaticFieldChar_op, - JRI_GetStaticFieldShort_op, - JRI_GetStaticFieldInt_op, - JRI_GetStaticFieldLong_op, - JRI_GetStaticFieldFloat_op, - JRI_GetStaticFieldDouble_op, - JRI_SetStaticField_op, - JRI_SetStaticFieldBoolean_op, - JRI_SetStaticFieldByte_op, - JRI_SetStaticFieldChar_op, - JRI_SetStaticFieldShort_op, - JRI_SetStaticFieldInt_op, - JRI_SetStaticFieldLong_op, - JRI_SetStaticFieldFloat_op, - JRI_SetStaticFieldDouble_op, - JRI_NewString_op, - JRI_GetStringLength_op, - JRI_GetStringChars_op, - JRI_NewStringUTF_op, - JRI_GetStringUTFLength_op, - JRI_GetStringUTFChars_op, - JRI_NewScalarArray_op, - JRI_GetScalarArrayLength_op, - JRI_GetScalarArrayElements_op, - JRI_NewObjectArray_op, - JRI_GetObjectArrayLength_op, - JRI_GetObjectArrayElement_op, - JRI_SetObjectArrayElement_op, - JRI_RegisterNatives_op, - JRI_UnregisterNatives_op -} JRIEnvOperations; - -#ifdef __cplusplus -} /* extern "C" */ -#endif /* __cplusplus */ - -#endif /* JRI_H */ -/******************************************************************************/ diff --git a/extensions/nsplugin/src/jri_md.h b/extensions/nsplugin/src/jri_md.h deleted file mode 100644 index 9a1c227b..00000000 --- a/extensions/nsplugin/src/jri_md.h +++ /dev/null @@ -1,499 +0,0 @@ -/******************************************************************************* - * Java Runtime Interface - Machine Dependent Types - * Copyright (c) 1996 Netscape Communications Corporation. All rights reserved. - ******************************************************************************/ - -#ifndef JRI_MD_H -#define JRI_MD_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/******************************************************************************* - * WHAT'S UP WITH THIS FILE? - * - * This is where we define the mystical JRI_PUBLIC_API macro that works on all - * platforms. If you're running with Visual C++, Symantec C, or Borland's - * development environment on the PC, you're all set. Or if you're on the Mac - * with Metrowerks, Symantec or MPW with SC you're ok too. For UNIX it shouldn't - * matter. - * - * On UNIX though you probably care about a couple of other symbols though: - * IS_LITTLE_ENDIAN must be defined for little-endian systems - * HAVE_LONG_LONG must be defined on systems that have 'long long' integers - * HAVE_ALIGNED_LONGLONGS must be defined if long-longs must be 8 byte aligned - * HAVE_ALIGNED_DOUBLES must be defined if doubles must be 8 byte aligned - * IS_64 must be defined on 64-bit machines (like Dec Alpha) - ******************************************************************************/ - -/* DLL Entry modifiers... */ - -/* PC */ -#if defined(XP_PC) || defined(_WINDOWS) || defined(WIN32) || defined(_WIN32) -# include -# if defined(_MSC_VER) -# if defined(WIN32) || defined(_WIN32) -# define JRI_PUBLIC_API(ResultType) _declspec(dllexport) ResultType -# define JRI_CALLBACK -# else /* !_WIN32 */ -# if defined(_WINDLL) -# define JRI_PUBLIC_API(ResultType) ResultType __cdecl __export __loadds -# define JRI_CALLBACK __loadds -# else /* !WINDLL */ -# define JRI_PUBLIC_API(ResultType) ResultType __cdecl __export -# define JRI_CALLBACK __export -# endif /* !WINDLL */ -# endif /* !_WIN32 */ -# elif defined(__BORLANDC__) -# if defined(WIN32) || defined(_WIN32) -# define JRI_PUBLIC_API(ResultType) __export ResultType -# define JRI_CALLBACK -# else /* !_WIN32 */ -# define JRI_PUBLIC_API(ResultType) ResultType _cdecl _export _loadds -# define JRI_CALLBACK _loadds -# endif -# else -# error Unsupported PC development environment. -# endif -# ifndef IS_LITTLE_ENDIAN -# define IS_LITTLE_ENDIAN -# endif - -/* Mac */ -#elif macintosh || Macintosh || THINK_C -# if defined(__MWERKS__) /* Metrowerks */ -# if !__option(enumsalwaysint) -# error You need to define 'Enums Always Int' for your project. -# endif -# if defined(GENERATING68K) && !GENERATINGCFM -# if !__option(fourbyteints) -# error You need to define 'Struct Alignment: 68k' for your project. -# endif -# endif /* !GENERATINGCFM */ -# elif defined(__SC__) /* Symantec */ -# error What are the Symantec defines? (warren@netscape.com) -# elif macintosh && applec /* MPW */ -# error Please upgrade to the latest MPW compiler (SC). -# else -# error Unsupported Mac development environment. -# endif -# define JRI_PUBLIC_API(ResultType) ResultType -# define JRI_CALLBACK - -/* Unix or else */ -#else -# define JRI_PUBLIC_API(ResultType) ResultType -# define JRI_CALLBACK -#endif - -#ifndef FAR /* for non-Win16 */ -#define FAR -#endif - -/******************************************************************************/ - -/* Java Scalar Types */ - -typedef unsigned char jbool; -typedef char jbyte; -typedef short jchar; -typedef short jshort; -#ifdef IS_64 /* XXX ok for alpha, but not right on all 64-bit architectures */ -typedef unsigned int juint; -typedef int jint; -#else -typedef unsigned long juint; -typedef long jint; -#endif -typedef float jfloat; -typedef double jdouble; - -typedef juint jsize; - -/******************************************************************************* - * jlong : long long (64-bit signed integer type) support. - ******************************************************************************/ - -/* -** Bit masking macros. (n must be <= 31 to be portable) -*/ -#define JRI_BIT(n) ((juint)1 << (n)) -#define JRI_BITMASK(n) (JRI_BIT(n) - 1) - -#ifdef HAVE_LONG_LONG - -#if !(defined(WIN32) || defined(_WIN32)) -typedef long long jlong; -typedef unsigned long long julong; - -#define jlong_MAXINT 0x7fffffffffffffffLL -#define jlong_MININT 0x8000000000000000LL -#define jlong_ZERO 0x0LL - -#else -typedef LONGLONG jlong; -typedef DWORDLONG julong; - -#define jlong_MAXINT 0x7fffffffffffffffi64 -#define jlong_MININT 0x8000000000000000i64 -#define jlong_ZERO 0x0i64 - -#endif - -#define jlong_IS_ZERO(a) ((a) == 0) -#define jlong_EQ(a, b) ((a) == (b)) -#define jlong_NE(a, b) ((a) != (b)) -#define jlong_GE_ZERO(a) ((a) >= 0) -#define jlong_CMP(a, op, b) ((a) op (b)) - -#define jlong_AND(r, a, b) ((r) = (a) & (b)) -#define jlong_OR(r, a, b) ((r) = (a) | (b)) -#define jlong_XOR(r, a, b) ((r) = (a) ^ (b)) -#define jlong_OR2(r, a) ((r) = (r) | (a)) -#define jlong_NOT(r, a) ((r) = ~(a)) - -#define jlong_NEG(r, a) ((r) = -(a)) -#define jlong_ADD(r, a, b) ((r) = (a) + (b)) -#define jlong_SUB(r, a, b) ((r) = (a) - (b)) - -#define jlong_MUL(r, a, b) ((r) = (a) * (b)) -#define jlong_DIV(r, a, b) ((r) = (a) / (b)) -#define jlong_MOD(r, a, b) ((r) = (a) % (b)) - -#define jlong_SHL(r, a, b) ((r) = (a) << (b)) -#define jlong_SHR(r, a, b) ((r) = (a) >> (b)) -#define jlong_USHR(r, a, b) ((r) = (julong)(a) >> (b)) -#define jlong_ISHL(r, a, b) ((r) = ((jlong)(a)) << (b)) - -#define jlong_L2I(i, l) ((i) = (int)(l)) -#define jlong_L2UI(ui, l) ((ui) =(unsigned int)(l)) -#define jlong_L2F(f, l) ((f) = (l)) -#define jlong_L2D(d, l) ((d) = (l)) - -#define jlong_I2L(l, i) ((l) = (i)) -#define jlong_UI2L(l, ui) ((l) = (ui)) -#define jlong_F2L(l, f) ((l) = (f)) -#define jlong_D2L(l, d) ((l) = (d)) - -#define jlong_UDIVMOD(qp, rp, a, b) \ - (*(qp) = ((julong)(a) / (b)), \ - *(rp) = ((julong)(a) % (b))) - -#else /* !HAVE_LONG_LONG */ - -typedef struct { -#ifdef IS_LITTLE_ENDIAN - juint lo, hi; -#else - juint hi, lo; -#endif -} jlong; -typedef jlong julong; - -extern jlong jlong_MAXINT, jlong_MININT, jlong_ZERO; - -#define jlong_IS_ZERO(a) (((a).hi == 0) && ((a).lo == 0)) -#define jlong_EQ(a, b) (((a).hi == (b).hi) && ((a).lo == (b).lo)) -#define jlong_NE(a, b) (((a).hi != (b).hi) || ((a).lo != (b).lo)) -#define jlong_GE_ZERO(a) (((a).hi >> 31) == 0) - -/* - * NB: jlong_CMP and jlong_UCMP work only for strict relationals (<, >). - */ -#define jlong_CMP(a, op, b) (((int32)(a).hi op (int32)(b).hi) || \ - (((a).hi == (b).hi) && ((a).lo op (b).lo))) -#define jlong_UCMP(a, op, b) (((a).hi op (b).hi) || \ - (((a).hi == (b).hi) && ((a).lo op (b).lo))) - -#define jlong_AND(r, a, b) ((r).lo = (a).lo & (b).lo, \ - (r).hi = (a).hi & (b).hi) -#define jlong_OR(r, a, b) ((r).lo = (a).lo | (b).lo, \ - (r).hi = (a).hi | (b).hi) -#define jlong_XOR(r, a, b) ((r).lo = (a).lo ^ (b).lo, \ - (r).hi = (a).hi ^ (b).hi) -#define jlong_OR2(r, a) ((r).lo = (r).lo | (a).lo, \ - (r).hi = (r).hi | (a).hi) -#define jlong_NOT(r, a) ((r).lo = ~(a).lo, \ - (r).hi = ~(a).hi) - -#define jlong_NEG(r, a) ((r).lo = -(int32)(a).lo, \ - (r).hi = -(int32)(a).hi - ((r).lo != 0)) -#define jlong_ADD(r, a, b) { \ - jlong _a, _b; \ - _a = a; _b = b; \ - (r).lo = _a.lo + _b.lo; \ - (r).hi = _a.hi + _b.hi + ((r).lo < _b.lo); \ -} - -#define jlong_SUB(r, a, b) { \ - jlong _a, _b; \ - _a = a; _b = b; \ - (r).lo = _a.lo - _b.lo; \ - (r).hi = _a.hi - _b.hi - (_a.lo < _b.lo); \ -} \ - -/* - * Multiply 64-bit operands a and b to get 64-bit result r. - * First multiply the low 32 bits of a and b to get a 64-bit result in r. - * Then add the outer and inner products to r.hi. - */ -#define jlong_MUL(r, a, b) { \ - jlong _a, _b; \ - _a = a; _b = b; \ - jlong_MUL32(r, _a.lo, _b.lo); \ - (r).hi += _a.hi * _b.lo + _a.lo * _b.hi; \ -} - -/* XXX _jlong_lo16(a) = ((a) << 16 >> 16) is better on some archs (not on mips) */ -#define _jlong_lo16(a) ((a) & JRI_BITMASK(16)) -#define _jlong_hi16(a) ((a) >> 16) - -/* - * Multiply 32-bit operands a and b to get 64-bit result r. - * Use polynomial expansion based on primitive field element (1 << 16). - */ -#define jlong_MUL32(r, a, b) { \ - juint _a1, _a0, _b1, _b0, _y0, _y1, _y2, _y3; \ - _a1 = _jlong_hi16(a), _a0 = _jlong_lo16(a); \ - _b1 = _jlong_hi16(b), _b0 = _jlong_lo16(b); \ - _y0 = _a0 * _b0; \ - _y1 = _a0 * _b1; \ - _y2 = _a1 * _b0; \ - _y3 = _a1 * _b1; \ - _y1 += _jlong_hi16(_y0); /* can't carry */ \ - _y1 += _y2; /* might carry */ \ - if (_y1 < _y2) _y3 += 1 << 16; /* propagate */ \ - (r).lo = (_jlong_lo16(_y1) << 16) + _jlong_lo16(_y0); \ - (r).hi = _y3 + _jlong_hi16(_y1); \ -} - -/* - * Divide 64-bit unsigned operand a by 64-bit unsigned operand b, setting *qp - * to the 64-bit unsigned quotient, and *rp to the 64-bit unsigned remainder. - * Minimize effort if one of qp and rp is null. - */ -#define jlong_UDIVMOD(qp, rp, a, b) jlong_udivmod(qp, rp, a, b) - -extern JRI_PUBLIC_API(void) -jlong_udivmod(julong *qp, julong *rp, julong a, julong b); - -#define jlong_DIV(r, a, b) { \ - jlong _a, _b; \ - juint _negative = (int32)(a).hi < 0; \ - if (_negative) { \ - jlong_NEG(_a, a); \ - } else { \ - _a = a; \ - } \ - if ((int32)(b).hi < 0) { \ - _negative ^= 1; \ - jlong_NEG(_b, b); \ - } else { \ - _b = b; \ - } \ - jlong_UDIVMOD(&(r), 0, _a, _b); \ - if (_negative) \ - jlong_NEG(r, r); \ -} - -#define jlong_MOD(r, a, b) { \ - jlong _a, _b; \ - juint _negative = (int32)(a).hi < 0; \ - if (_negative) { \ - jlong_NEG(_a, a); \ - } else { \ - _a = a; \ - } \ - if ((int32)(b).hi < 0) { \ - jlong_NEG(_b, b); \ - } else { \ - _b = b; \ - } \ - jlong_UDIVMOD(0, &(r), _a, _b); \ - if (_negative) \ - jlong_NEG(r, r); \ -} - -/* - * NB: b is a juint, not jlong or julong, for the shift ops. - */ -#define jlong_SHL(r, a, b) { \ - if (b) { \ - jlong _a; \ - _a = a; \ - if ((b) < 32) { \ - (r).lo = _a.lo << (b); \ - (r).hi = (_a.hi << (b)) | (_a.lo >> (32 - (b))); \ - } else { \ - (r).lo = 0; \ - (r).hi = _a.lo << ((b) & 31); \ - } \ - } else { \ - (r) = (a); \ - } \ -} - -/* a is an int32, b is int32, r is jlong */ -#define jlong_ISHL(r, a, b) { \ - if (b) { \ - jlong _a; \ - _a.lo = (a); \ - _a.hi = 0; \ - if ((b) < 32) { \ - (r).lo = (a) << (b); \ - (r).hi = ((a) >> (32 - (b))); \ - } else { \ - (r).lo = 0; \ - (r).hi = (a) << ((b) & 31); \ - } \ - } else { \ - (r).lo = (a); \ - (r).hi = 0; \ - } \ -} - -#define jlong_SHR(r, a, b) { \ - if (b) { \ - jlong _a; \ - _a = a; \ - if ((b) < 32) { \ - (r).lo = (_a.hi << (32 - (b))) | (_a.lo >> (b)); \ - (r).hi = (int32)_a.hi >> (b); \ - } else { \ - (r).lo = (int32)_a.hi >> ((b) & 31); \ - (r).hi = (int32)_a.hi >> 31; \ - } \ - } else { \ - (r) = (a); \ - } \ -} - -#define jlong_USHR(r, a, b) { \ - if (b) { \ - jlong _a; \ - _a = a; \ - if ((b) < 32) { \ - (r).lo = (_a.hi << (32 - (b))) | (_a.lo >> (b)); \ - (r).hi = _a.hi >> (b); \ - } else { \ - (r).lo = _a.hi >> ((b) & 31); \ - (r).hi = 0; \ - } \ - } else { \ - (r) = (a); \ - } \ -} - -#define jlong_L2I(i, l) ((i) = (l).lo) -#define jlong_L2UI(ui, l) ((ui) = (l).lo) -#define jlong_L2F(f, l) { double _d; jlong_L2D(_d, l); (f) = (float) _d; } - -#define jlong_L2D(d, l) { \ - int32 _negative; \ - jlong _absval; \ - \ - _negative = (l).hi >> 31; \ - if (_negative) { \ - jlong_NEG(_absval, l); \ - } else { \ - _absval = l; \ - } \ - (d) = (double)_absval.hi * 4.294967296e9 + _absval.lo; \ - if (_negative) \ - (d) = -(d); \ -} - -#define jlong_I2L(l, i) ((l).hi = (i) >> 31, (l).lo = (i)) -#define jlong_UI2L(l, ui) ((l).hi = 0, (l).lo = (ui)) -#define jlong_F2L(l, f) { double _d = (double) f; jlong_D2L(l, _d); } - -#define jlong_D2L(l, d) { \ - int _negative; \ - double _absval, _d_hi; \ - jlong _lo_d; \ - \ - _negative = ((d) < 0); \ - _absval = _negative ? -(d) : (d); \ - \ - (l).hi = (juint)(_absval / 4.294967296e9); \ - (l).lo = 0; \ - jlong_L2D(_d_hi, l); \ - _absval -= _d_hi; \ - _lo_d.hi = 0; \ - if (_absval < 0) { \ - _lo_d.lo = (juint) -_absval; \ - jlong_SUB(l, l, _lo_d); \ - } else { \ - _lo_d.lo = (juint) _absval; \ - jlong_ADD(l, l, _lo_d); \ - } \ - \ - if (_negative) \ - jlong_NEG(l, l); \ -} - -#endif /* !HAVE_LONG_LONG */ - -/******************************************************************************/ -/* -** JDK Stuff -- This stuff is still needed while we're using the JDK -** dynamic linking strategy to call native methods. -*/ - -typedef union JRI_JDK_stack_item { - /* Non pointer items */ - jint i; - jfloat f; - jint o; - /* Pointer items */ - void *h; - void *p; - unsigned char *addr; -#ifdef IS_64 - double d; - long l; /* == 64bits! */ -#endif -} JRI_JDK_stack_item; - -typedef union JRI_JDK_Java8Str { - jint x[2]; - jdouble d; - jlong l; - void *p; - float f; -} JRI_JDK_Java8; - -#ifdef HAVE_ALIGNED_LONGLONGS -#define JRI_GET_INT64(_t,_addr) ( ((_t).x[0] = ((jint*)(_addr))[0]), \ - ((_t).x[1] = ((jint*)(_addr))[1]), \ - (_t).l ) -#define JRI_SET_INT64(_t, _addr, _v) ( (_t).l = (_v), \ - ((jint*)(_addr))[0] = (_t).x[0], \ - ((jint*)(_addr))[1] = (_t).x[1] ) -#else -#define JRI_GET_INT64(_t,_addr) (*(jlong*)(_addr)) -#define JRI_SET_INT64(_t, _addr, _v) (*(jlong*)(_addr) = (_v)) -#endif - -/* If double's must be aligned on doubleword boundaries then define this */ -#ifdef HAVE_ALIGNED_DOUBLES -#define JRI_GET_DOUBLE(_t,_addr) ( ((_t).x[0] = ((jint*)(_addr))[0]), \ - ((_t).x[1] = ((jint*)(_addr))[1]), \ - (_t).d ) -#define JRI_SET_DOUBLE(_t, _addr, _v) ( (_t).d = (_v), \ - ((jint*)(_addr))[0] = (_t).x[0], \ - ((jint*)(_addr))[1] = (_t).x[1] ) -#else -#define JRI_GET_DOUBLE(_t,_addr) (*(jdouble*)(_addr)) -#define JRI_SET_DOUBLE(_t, _addr, _v) (*(jdouble*)(_addr) = (_v)) -#endif - -/******************************************************************************/ -#ifdef __cplusplus -} -#endif -#endif /* JRI_MD_H */ -/******************************************************************************/ diff --git a/extensions/nsplugin/src/jritypes.h b/extensions/nsplugin/src/jritypes.h deleted file mode 100644 index e48fb0ce..00000000 --- a/extensions/nsplugin/src/jritypes.h +++ /dev/null @@ -1,179 +0,0 @@ -/******************************************************************************* - * Java Runtime Interface - * Copyright (c) 1996 Netscape Communications Corporation. All rights reserved. - ******************************************************************************/ - -#ifndef JRITYPES_H -#define JRITYPES_H - -#include "jri_md.h" -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/******************************************************************************* - * Types - ******************************************************************************/ - -struct JRIEnvInterface; - -typedef void* JRIRef; -typedef void* JRIGlobalRef; - -typedef jint JRIInterfaceID[4]; -typedef jint JRIFieldID; -typedef jint JRIMethodID; - -/* synonyms: */ -typedef JRIGlobalRef jglobal; -typedef JRIRef jref; - -typedef union JRIValue { - jbool z; - jbyte b; - jchar c; - jshort s; - jint i; - jlong l; - jfloat f; - jdouble d; - jref r; -} JRIValue; - -typedef JRIValue jvalue; - -typedef enum JRIBoolean { - JRIFalse = 0, - JRITrue = 1 -} JRIBoolean; - -typedef enum JRIConstant { - JRIUninitialized = -1 -} JRIConstant; - -/* convenience types: */ -typedef JRIRef jbooleanArray; -typedef JRIRef jbyteArray; -typedef JRIRef jcharArray; -typedef JRIRef jshortArray; -typedef JRIRef jintArray; -typedef JRIRef jlongArray; -typedef JRIRef jfloatArray; -typedef JRIRef jdoubleArray; -typedef JRIRef jobjectArray; -typedef JRIRef jstringArray; -typedef JRIRef jarrayArray; - -#define JRIConstructorMethodName "" - -/******************************************************************************* - * Signature Construction Macros - ******************************************************************************/ - -/* -** These macros can be used to construct signature strings. Hopefully their names -** are a little easier to remember than the single character they correspond to. -** For example, to specify the signature of the method: -** -** public int read(byte b[], int off, int len); -** -** you could write something like this in C: -** -** char* readSig = JRISigMethod(JRISigArray(JRISigByte) -** JRISigInt -** JRISigInt) JRISigInt; -** -** Of course, don't put commas between the types. -*/ -#define JRISigArray(T) "[" T -#define JRISigByte "B" -#define JRISigChar "C" -#define JRISigClass(name) "L" name ";" -#define JRISigFloat "F" -#define JRISigDouble "D" -#define JRISigMethod(args) "(" args ")" -#define JRISigNoArgs "" -#define JRISigInt "I" -#define JRISigLong "J" -#define JRISigShort "S" -#define JRISigVoid "V" -#define JRISigBoolean "Z" - -/******************************************************************************* - * Environments - ******************************************************************************/ - -extern JRI_PUBLIC_API(const struct JRIEnvInterface**) -JRI_GetCurrentEnv(void); - -/******************************************************************************* - * Specific Scalar Array Types - ******************************************************************************/ - -/* -** The JRI Native Method Interface does not support boolean arrays. This -** is to allow Java runtime implementations to optimize boolean array -** storage. Using the ScalarArray operations on boolean arrays is bound -** to fail, so convert any boolean arrays to byte arrays in Java before -** passing them to a native method. -*/ - -#define JRI_NewByteArray(env, length, initialValues) \ - JRI_NewScalarArray(env, length, JRISigByte, (jbyte*)(initialValues)) -#define JRI_GetByteArrayLength(env, array) \ - JRI_GetScalarArrayLength(env, array) -#define JRI_GetByteArrayElements(env, array) \ - JRI_GetScalarArrayElements(env, array) - -#define JRI_NewCharArray(env, length, initialValues) \ - JRI_NewScalarArray(env, ((length) * sizeof(jchar)), JRISigChar, (jbyte*)(initialValues)) -#define JRI_GetCharArrayLength(env, array) \ - JRI_GetScalarArrayLength(env, array) -#define JRI_GetCharArrayElements(env, array) \ - ((jchar*)JRI_GetScalarArrayElements(env, array)) - -#define JRI_NewShortArray(env, length, initialValues) \ - JRI_NewScalarArray(env, ((length) * sizeof(jshort)), JRISigShort, (jbyte*)(initialValues)) -#define JRI_GetShortArrayLength(env, array) \ - JRI_GetScalarArrayLength(env, array) -#define JRI_GetShortArrayElements(env, array) \ - ((jshort*)JRI_GetScalarArrayElements(env, array)) - -#define JRI_NewIntArray(env, length, initialValues) \ - JRI_NewScalarArray(env, ((length) * sizeof(jint)), JRISigInt, (jbyte*)(initialValues)) -#define JRI_GetIntArrayLength(env, array) \ - JRI_GetScalarArrayLength(env, array) -#define JRI_GetIntArrayElements(env, array) \ - ((jint*)JRI_GetScalarArrayElements(env, array)) - -#define JRI_NewLongArray(env, length, initialValues) \ - JRI_NewScalarArray(env, ((length) * sizeof(jlong)), JRISigLong, (jbyte*)(initialValues)) -#define JRI_GetLongArrayLength(env, array) \ - JRI_GetScalarArrayLength(env, array) -#define JRI_GetLongArrayElements(env, array) \ - ((jlong*)JRI_GetScalarArrayElements(env, array)) - -#define JRI_NewFloatArray(env, length, initialValues) \ - JRI_NewScalarArray(env, ((length) * sizeof(jfloat)), JRISigFloat, (jbyte*)(initialValues)) -#define JRI_GetFloatArrayLength(env, array) \ - JRI_GetScalarArrayLength(env, array) -#define JRI_GetFloatArrayElements(env, array) \ - ((jfloat*)JRI_GetScalarArrayElements(env, array)) - -#define JRI_NewDoubleArray(env, length, initialValues) \ - JRI_NewScalarArray(env, ((length) * sizeof(jdouble)), JRISigDouble, (jbyte*)(initialValues)) -#define JRI_GetDoubleArrayLength(env, array) \ - JRI_GetScalarArrayLength(env, array) -#define JRI_GetDoubleArrayElements(env, array) \ - ((jdouble*)JRI_GetScalarArrayElements(env, array)) - -/******************************************************************************/ -#ifdef __cplusplus -} -#endif -#endif /* JRITYPES_H */ -/******************************************************************************/ diff --git a/extensions/nsplugin/src/npapi.h b/extensions/nsplugin/src/npapi.h deleted file mode 100644 index 96c308de..00000000 --- a/extensions/nsplugin/src/npapi.h +++ /dev/null @@ -1,391 +0,0 @@ -/* - * npapi.h $Revision: 1.1 $ - * Netscape client plug-in API spec - */ - -#ifndef _NPAPI_H_ -#define _NPAPI_H_ - -#include "jri.h" /* Java Runtime Interface */ - - -/* XXX this needs to get out of here */ -#if defined(__MWERKS__) -#ifndef XP_MAC -#define XP_MAC -#endif -#endif - - - -/*----------------------------------------------------------------------*/ -/* Plugin Version Constants */ -/*----------------------------------------------------------------------*/ - -#define NP_VERSION_MAJOR 0 -#define NP_VERSION_MINOR 9 - - - -/*----------------------------------------------------------------------*/ -/* Definition of Basic Types */ -/*----------------------------------------------------------------------*/ - -#ifndef _UINT16 -typedef unsigned short uint16; -#endif -#ifndef _UINT32 -#if defined(__alpha) -typedef unsigned int uint32; -#else /* __alpha */ -typedef unsigned long uint32; -#endif /* __alpha */ -#endif -#ifndef _INT16 -typedef short int16; -#endif -#ifndef _INT32 -#if defined(__alpha) -typedef int int32; -#else /* __alpha */ -typedef long int32; -#endif /* __alpha */ -#endif - -#ifndef FALSE -#define FALSE (0) -#endif -#ifndef TRUE -#define TRUE (1) -#endif -#ifndef NULL -#define NULL (0L) -#endif - -typedef unsigned char NPBool; -typedef void* NPEvent; -typedef int16 NPError; -typedef int16 NPReason; -typedef char* NPMIMEType; - - - -/*----------------------------------------------------------------------*/ -/* Structures and definitions */ -/*----------------------------------------------------------------------*/ - -/* - * NPP is a plug-in's opaque instance handle - */ -typedef struct _NPP -{ - void* pdata; /* plug-in private data */ - void* ndata; /* netscape private data */ -} NPP_t; - -typedef NPP_t* NPP; - - -typedef struct _NPStream -{ - void* pdata; /* plug-in private data */ - void* ndata; /* netscape private data */ - const char* url; - uint32 end; - uint32 lastmodified; - void* notifyData; -} NPStream; - - -typedef struct _NPByteRange -{ - int32 offset; /* negative offset means from the end */ - uint32 length; - struct _NPByteRange* next; -} NPByteRange; - - -typedef struct _NPSavedData -{ - int32 len; - void* buf; -} NPSavedData; - - -typedef struct _NPRect -{ - uint16 top; - uint16 left; - uint16 bottom; - uint16 right; -} NPRect; - - -#ifdef XP_UNIX -/* - * Unix specific structures and definitions - */ -#include - -/* - * Callback Structures. - * - * These are used to pass additional platform specific information. - */ -enum { - NP_SETWINDOW = 1 -}; - -typedef struct -{ - int32 type; -} NPAnyCallbackStruct; - -typedef struct -{ - int32 type; - Display* display; - Visual* visual; - Colormap colormap; - unsigned int depth; -} NPSetWindowCallbackStruct; - -/* - * List of variable names for which NPP_GetValue shall be implemented - */ -typedef enum { - NPPVpluginNameString = 1, - NPPVpluginDescriptionString -} NPPVariable; - -/* - * List of variable names for which NPN_GetValue is implemented by Mozilla - */ -typedef enum { - NPNVxDisplay = 1, - NPNVxtAppContext -} NPNVariable; - -#endif /* XP_UNIX */ - - -typedef struct _NPWindow -{ - void* window; /* Platform specific window handle */ - uint32 x; /* Position of top left corner relative */ - uint32 y; /* to a netscape page. */ - uint32 width; /* Maximum window size */ - uint32 height; - NPRect clipRect; /* Clipping rectangle in port coordinates */ - /* Used by MAC only. */ -#ifdef XP_UNIX - void * ws_info; /* Platform-dependent additonal data */ -#endif /* XP_UNIX */ -} NPWindow; - - -typedef struct _NPFullPrint -{ - NPBool pluginPrinted; /* Set TRUE if plugin handled fullscreen */ - /* printing */ - NPBool printOne; /* TRUE if plugin should print one copy */ - /* to default printer */ - void* platformPrint; /* Platform-specific printing info */ -} NPFullPrint; - -typedef struct _NPEmbedPrint -{ - NPWindow window; - void* platformPrint; /* Platform-specific printing info */ -} NPEmbedPrint; - -typedef struct _NPPrint -{ - uint16 mode; /* NP_FULL or NP_EMBED */ - union - { - NPFullPrint fullPrint; /* if mode is NP_FULL */ - NPEmbedPrint embedPrint; /* if mode is NP_EMBED */ - } print; -} NPPrint; - - -#ifdef XP_MAC -/* - * Mac-specific structures and definitions. - */ - -#include -#include - -typedef struct NP_Port -{ - CGrafPtr port; /* Grafport */ - int32 portx; /* position inside the topmost window */ - int32 porty; -} NP_Port; - -/* - * Non-standard event types that can be passed to HandleEvent - */ -#define getFocusEvent (osEvt + 16) -#define loseFocusEvent (osEvt + 17) -#define adjustCursorEvent (osEvt + 18) - -#endif /* XP_MAC */ - - -/* - * Values for mode passed to NPP_New: - */ -#define NP_EMBED 1 -#define NP_FULL 2 - -/* - * Values for stream type passed to NPP_NewStream: - */ -#define NP_NORMAL 1 -#define NP_SEEK 2 -#define NP_ASFILE 3 -#define NP_ASFILEONLY 4 - -#define NP_MAXREADY (((unsigned)(~0)<<1)>>1) - - - -/*----------------------------------------------------------------------*/ -/* Error and Reason Code definitions */ -/*----------------------------------------------------------------------*/ - -/* - * Values of type NPError: - */ -#define NPERR_BASE 0 -#define NPERR_NO_ERROR (NPERR_BASE + 0) -#define NPERR_GENERIC_ERROR (NPERR_BASE + 1) -#define NPERR_INVALID_INSTANCE_ERROR (NPERR_BASE + 2) -#define NPERR_INVALID_FUNCTABLE_ERROR (NPERR_BASE + 3) -#define NPERR_MODULE_LOAD_FAILED_ERROR (NPERR_BASE + 4) -#define NPERR_OUT_OF_MEMORY_ERROR (NPERR_BASE + 5) -#define NPERR_INVALID_PLUGIN_ERROR (NPERR_BASE + 6) -#define NPERR_INVALID_PLUGIN_DIR_ERROR (NPERR_BASE + 7) -#define NPERR_INCOMPATIBLE_VERSION_ERROR (NPERR_BASE + 8) -#define NPERR_INVALID_PARAM (NPERR_BASE + 9) -#define NPERR_INVALID_URL (NPERR_BASE + 10) -#define NPERR_FILE_NOT_FOUND (NPERR_BASE + 11) -#define NPERR_NO_DATA (NPERR_BASE + 12) -#define NPERR_STREAM_NOT_SEEKABLE (NPERR_BASE + 13) - -/* - * Values of type NPReason: - */ -#define NPRES_BASE 0 -#define NPRES_DONE (NPRES_BASE + 0) -#define NPRES_NETWORK_ERR (NPRES_BASE + 1) -#define NPRES_USER_BREAK (NPRES_BASE + 2) - -/* - * Don't use these obsolete error codes any more. - */ -#define NP_NOERR NP_NOERR_is_obsolete_use_NPERR_NO_ERROR -#define NP_EINVAL NP_EINVAL_is_obsolete_use_NPERR_GENERIC_ERROR -#define NP_EABORT NP_EABORT_is_obsolete_use_NPRES_USER_BREAK - -/* - * Version feature information - */ -#define NPVERS_HAS_STREAMOUTPUT 8 -#define NPVERS_HAS_NOTIFICATION 9 -#define NPVERS_HAS_LIVECONNECT 9 - - -/*----------------------------------------------------------------------*/ -/* Function Prototypes */ -/*----------------------------------------------------------------------*/ - -#if defined(_WINDOWS) && !defined(WIN32) -#define NP_LOADDS _loadds -#else -#define NP_LOADDS -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * NPP_* functions are provided by the plugin and called by the navigator. - */ - -#ifdef XP_UNIX -char* NPP_GetMIMEDescription(void); -NPError NPP_GetValue(void *instance, NPPVariable variable, - void *value); -#endif /* XP_UNIX */ -NPError NPP_Initialize(void); -void NPP_Shutdown(void); -NPError NP_LOADDS NPP_New(NPMIMEType pluginType, NPP instance, - uint16 mode, int16 argc, char* argn[], - char* argv[], NPSavedData* saved); -NPError NP_LOADDS NPP_Destroy(NPP instance, NPSavedData** save); -NPError NP_LOADDS NPP_SetWindow(NPP instance, NPWindow* window); -NPError NP_LOADDS NPP_NewStream(NPP instance, NPMIMEType type, - NPStream* stream, NPBool seekable, - uint16* stype); -NPError NP_LOADDS NPP_DestroyStream(NPP instance, NPStream* stream, - NPReason reason); -int32 NP_LOADDS NPP_WriteReady(NPP instance, NPStream* stream); -int32 NP_LOADDS NPP_Write(NPP instance, NPStream* stream, int32 offset, - int32 len, void* buffer); -void NP_LOADDS NPP_StreamAsFile(NPP instance, NPStream* stream, - const char* fname); -void NP_LOADDS NPP_Print(NPP instance, NPPrint* platformPrint); -int16 NPP_HandleEvent(NPP instance, void* event); -void NPP_URLNotify(NPP instance, const char* url, - NPReason reason, void* notifyData); -jref NPP_GetJavaClass(void); - - -/* - * NPN_* functions are provided by the navigator and called by the plugin. - */ - -#ifdef XP_UNIX -NPError NPN_GetValue(NPP instance, NPNVariable variable, - void *value); -#endif /* XP_UNIX */ -void NPN_Version(int* plugin_major, int* plugin_minor, - int* netscape_major, int* netscape_minor); -NPError NPN_GetURLNotify(NPP instance, const char* url, - const char* target, void* notifyData); -NPError NPN_GetURL(NPP instance, const char* url, - const char* target); -NPError NPN_PostURLNotify(NPP instance, const char* url, - const char* target, uint32 len, - const char* buf, NPBool file, - void* notifyData); -NPError NPN_PostURL(NPP instance, const char* url, - const char* target, uint32 len, - const char* buf, NPBool file); -NPError NPN_RequestRead(NPStream* stream, NPByteRange* rangeList); -NPError NPN_NewStream(NPP instance, NPMIMEType type, - const char* target, NPStream** stream); -int32 NPN_Write(NPP instance, NPStream* stream, int32 len, - void* buffer); -NPError NPN_DestroyStream(NPP instance, NPStream* stream, - NPReason reason); -void NPN_Status(NPP instance, const char* message); -const char* NPN_UserAgent(NPP instance); -void* NPN_MemAlloc(uint32 size); -void NPN_MemFree(void* ptr); -uint32 NPN_MemFlush(uint32 size); -void NPN_ReloadPlugins(NPBool reloadPages); -JRIEnv* NPN_GetJavaEnv(void); -jref NPN_GetJavaPeer(NPP instance); - - -#ifdef __cplusplus -} /* end extern "C" */ -#endif - -#endif /* _NPAPI_H_ */ diff --git a/extensions/nsplugin/src/npunix.c b/extensions/nsplugin/src/npunix.c deleted file mode 100644 index 0f9ae9b6..00000000 --- a/extensions/nsplugin/src/npunix.c +++ /dev/null @@ -1,407 +0,0 @@ -/* - * npunix.c - * - * Netscape Client Plugin API - * - Wrapper function to interface with the Netscape Navigator - * - * dp Suresh - * - *---------------------------------------------------------------------- - * PLUGIN DEVELOPERS: - * YOU WILL NOT NEED TO EDIT THIS FILE. - *---------------------------------------------------------------------- - */ - -#define XP_UNIX 1 - -#include -#include "npapi.h" -#include "npupp.h" - -/* - * Define PLUGIN_TRACE to have the wrapper functions print - * messages to fd 3 or 4 (cannot use stderr - ns3 grabs that) - * whenever they are called. - */ - -#ifdef PLUGIN_TRACE -#include -#define PLUGINDEBUGSTR(msg) fprintf(out(), "%s\n", msg) -#else -#define PLUGINDEBUGSTR(msg) -#endif - - -/*********************************************************************** - * - * Globals - * - ***********************************************************************/ - -static NPNetscapeFuncs gNetscapeFuncs; /* Netscape Function table */ - - -/*********************************************************************** - * - * Wrapper functions : plugin calling Netscape Navigator - * - * These functions let the plugin developer just call the APIs - * as documented and defined in npapi.h, without needing to know - * about the function table and call macros in npupp.h. - * - ***********************************************************************/ - -void -NPN_Version(int* plugin_major, int* plugin_minor, - int* netscape_major, int* netscape_minor) -{ - *plugin_major = NP_VERSION_MAJOR; - *plugin_minor = NP_VERSION_MINOR; - - /* Major version is in high byte */ - *netscape_major = gNetscapeFuncs.version >> 8; - /* Minor version is in low byte */ - *netscape_minor = gNetscapeFuncs.version & 0xFF; -} - -NPError -NPN_GetValue(NPP instance, NPNVariable variable, void *r_value) -{ - return CallNPN_GetValueProc(gNetscapeFuncs.getvalue, - instance, variable, r_value); -} - -NPError -NPN_GetURL(NPP instance, const char* url, const char* window) -{ - return CallNPN_GetURLProc(gNetscapeFuncs.geturl, instance, url, window); -} - -NPError -NPN_PostURL(NPP instance, const char* url, const char* window, - uint32 len, const char* buf, NPBool file) -{ - return CallNPN_PostURLProc(gNetscapeFuncs.posturl, instance, - url, window, len, buf, file); -} - -NPError -NPN_RequestRead(NPStream* stream, NPByteRange* rangeList) -{ - return CallNPN_RequestReadProc(gNetscapeFuncs.requestread, - stream, rangeList); -} - -NPError -NPN_NewStream(NPP instance, NPMIMEType type, const char *window, - NPStream** stream_ptr) -{ - return CallNPN_NewStreamProc(gNetscapeFuncs.newstream, instance, - type, window, stream_ptr); -} - -int32 -NPN_Write(NPP instance, NPStream* stream, int32 len, void* buffer) -{ - return CallNPN_WriteProc(gNetscapeFuncs.write, instance, - stream, len, buffer); -} - -NPError -NPN_DestroyStream(NPP instance, NPStream* stream, NPError reason) -{ - return CallNPN_DestroyStreamProc(gNetscapeFuncs.destroystream, - instance, stream, reason); -} - -void -NPN_Status(NPP instance, const char* message) -{ - CallNPN_StatusProc(gNetscapeFuncs.status, instance, message); -} - -const char* -NPN_UserAgent(NPP instance) -{ - return CallNPN_UserAgentProc(gNetscapeFuncs.uagent, instance); -} - -void* -NPN_MemAlloc(uint32 size) -{ - return CallNPN_MemAllocProc(gNetscapeFuncs.memalloc, size); -} - -void NPN_MemFree(void* ptr) -{ - CallNPN_MemFreeProc(gNetscapeFuncs.memfree, ptr); -} - -uint32 NPN_MemFlush(uint32 size) -{ - return CallNPN_MemFlushProc(gNetscapeFuncs.memflush, size); -} - -void NPN_ReloadPlugins(NPBool reloadPages) -{ - CallNPN_ReloadPluginsProc(gNetscapeFuncs.reloadplugins, reloadPages); -} - -JRIEnv* NPN_GetJavaEnv() -{ - return CallNPN_GetJavaEnvProc(gNetscapeFuncs.getJavaEnv); -} - -jref NPN_GetJavaPeer(NPP instance) -{ - return CallNPN_GetJavaPeerProc(gNetscapeFuncs.getJavaPeer, - instance); -} - - -/*********************************************************************** - * - * Wrapper functions : Netscape Navigator -> plugin - * - * These functions let the plugin developer just create the APIs - * as documented and defined in npapi.h, without needing to - * install those functions in the function table or worry about - * setting up globals for 68K plugins. - * - ***********************************************************************/ - -NPError -Private_New(NPMIMEType pluginType, NPP instance, uint16 mode, - int16 argc, char* argn[], char* argv[], NPSavedData* saved) -{ - NPError ret; - PLUGINDEBUGSTR("New"); - ret = NPP_New(pluginType, instance, mode, argc, argn, argv, saved); - return ret; -} - -NPError -Private_Destroy(NPP instance, NPSavedData** save) -{ - PLUGINDEBUGSTR("Destroy"); - return NPP_Destroy(instance, save); -} - -NPError -Private_SetWindow(NPP instance, NPWindow* window) -{ - NPError err; - PLUGINDEBUGSTR("SetWindow"); - err = NPP_SetWindow(instance, window); - return err; -} - -NPError -Private_NewStream(NPP instance, NPMIMEType type, NPStream* stream, - NPBool seekable, uint16* stype) -{ - NPError err; - PLUGINDEBUGSTR("NewStream"); - err = NPP_NewStream(instance, type, stream, seekable, stype); - return err; -} - -int32 -Private_WriteReady(NPP instance, NPStream* stream) -{ - unsigned int result; - PLUGINDEBUGSTR("WriteReady"); - result = NPP_WriteReady(instance, stream); - return result; -} - -int32 -Private_Write(NPP instance, NPStream* stream, int32 offset, int32 len, - void* buffer) -{ - unsigned int result; - PLUGINDEBUGSTR("Write"); - result = NPP_Write(instance, stream, offset, len, buffer); - return result; -} - -void -Private_StreamAsFile(NPP instance, NPStream* stream, const char* fname) -{ - PLUGINDEBUGSTR("StreamAsFile"); - NPP_StreamAsFile(instance, stream, fname); -} - - -NPError -Private_DestroyStream(NPP instance, NPStream* stream, NPError reason) -{ - NPError err; - PLUGINDEBUGSTR("DestroyStream"); - err = NPP_DestroyStream(instance, stream, reason); - return err; -} - - -void -Private_Print(NPP instance, NPPrint* platformPrint) -{ - PLUGINDEBUGSTR("Print"); - NPP_Print(instance, platformPrint); -} - -JRIGlobalRef -Private_GetJavaClass(void) -{ - jref clazz = NPP_GetJavaClass(); - if (clazz) { - JRIEnv* env = NPN_GetJavaEnv(); - return JRI_NewGlobalRef(env, clazz); - } - return NULL; -} - -/*********************************************************************** - * - * These functions are located automagically by netscape. - * - ***********************************************************************/ - -/* - * NP_GetMIMEDescription - * - Netscape needs to know about this symbol - * - Netscape uses the return value to identify when an object instance - * of this plugin should be created. - */ -char * -NP_GetMIMEDescription(void) -{ - return NPP_GetMIMEDescription(); -} - -/* - * NP_GetValue [optional] - * - Netscape needs to know about this symbol. - * - Interfaces with plugin to get values for predefined variables - * that the navigator needs. - */ -NPError -NP_GetValue(void *future, NPPVariable variable, void *value) -{ - return NPP_GetValue(future, variable, value); -} - -/* - * NP_Initialize - * - Netscape needs to know about this symbol. - * - It calls this function after looking up its symbol before it - * is about to create the first ever object of this kind. - * - * PARAMETERS - * nsTable - The netscape function table. If developers just use these - * wrappers, they dont need to worry about all these function - * tables. - * RETURN - * pluginFuncs - * - This functions needs to fill the plugin function table - * pluginFuncs and return it. Netscape Navigator plugin - * library will use this function table to call the plugin. - * - */ -NPError -NP_Initialize(NPNetscapeFuncs* nsTable, NPPluginFuncs* pluginFuncs) -{ - NPError err = NPERR_NO_ERROR; - - PLUGINDEBUGSTR("NP_Initialize"); - - /* validate input parameters */ - - if ((nsTable == NULL) || (pluginFuncs == NULL)) - err = NPERR_INVALID_FUNCTABLE_ERROR; - - /* - * Check the major version passed in Netscape's function table. - * We won't load if the major version is newer than what we expect. - * Also check that the function tables passed in are big enough for - * all the functions we need (they could be bigger, if Netscape added - * new APIs, but that's OK with us -- we'll just ignore them). - * - */ - - if (err == NPERR_NO_ERROR) { - if ((nsTable->version >> 8) > NP_VERSION_MAJOR) - err = NPERR_INCOMPATIBLE_VERSION_ERROR; - if (nsTable->size < sizeof(NPNetscapeFuncs)) - err = NPERR_INVALID_FUNCTABLE_ERROR; - if (pluginFuncs->size < sizeof(NPPluginFuncs)) - err = NPERR_INVALID_FUNCTABLE_ERROR; - } - - - if (err == NPERR_NO_ERROR) { - /* - * Copy all the fields of Netscape function table into our - * copy so we can call back into Netscape later. Note that - * we need to copy the fields one by one, rather than assigning - * the whole structure, because the Netscape function table - * could actually be bigger than what we expect. - */ - gNetscapeFuncs.version = nsTable->version; - gNetscapeFuncs.size = nsTable->size; - gNetscapeFuncs.posturl = nsTable->posturl; - gNetscapeFuncs.geturl = nsTable->geturl; - gNetscapeFuncs.requestread = nsTable->requestread; - gNetscapeFuncs.newstream = nsTable->newstream; - gNetscapeFuncs.write = nsTable->write; - gNetscapeFuncs.destroystream = nsTable->destroystream; - gNetscapeFuncs.status = nsTable->status; - gNetscapeFuncs.uagent = nsTable->uagent; - gNetscapeFuncs.memalloc = nsTable->memalloc; - gNetscapeFuncs.memfree = nsTable->memfree; - gNetscapeFuncs.memflush = nsTable->memflush; - gNetscapeFuncs.reloadplugins = nsTable->reloadplugins; - gNetscapeFuncs.getJavaEnv = nsTable->getJavaEnv; - gNetscapeFuncs.getJavaPeer = nsTable->getJavaPeer; - gNetscapeFuncs.getvalue = nsTable->getvalue; - - /* - * Set up the plugin function table that Netscape will use to - * call us. Netscape needs to know about our version and size - * and have a UniversalProcPointer for every function we - * implement. - */ - pluginFuncs->version = (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR; - pluginFuncs->size = sizeof(NPPluginFuncs); - pluginFuncs->newp = NewNPP_NewProc(Private_New); - pluginFuncs->destroy = NewNPP_DestroyProc(Private_Destroy); - pluginFuncs->setwindow = NewNPP_SetWindowProc(Private_SetWindow); - pluginFuncs->newstream = NewNPP_NewStreamProc(Private_NewStream); - pluginFuncs->destroystream = NewNPP_DestroyStreamProc(Private_DestroyStream); - pluginFuncs->asfile = NewNPP_StreamAsFileProc(Private_StreamAsFile); - pluginFuncs->writeready = NewNPP_WriteReadyProc(Private_WriteReady); - pluginFuncs->write = NewNPP_WriteProc(Private_Write); - pluginFuncs->print = NewNPP_PrintProc(Private_Print); - pluginFuncs->event = NULL; - pluginFuncs->javaClass = Private_GetJavaClass(); - - err = NPP_Initialize(); - } - - return err; -} - -/* - * NP_Shutdown [optional] - * - Netscape needs to know about this symbol. - * - It calls this function after looking up its symbol after - * the last object of this kind has been destroyed. - * - */ -NPError -NP_Shutdown(void) -{ - PLUGINDEBUGSTR("NP_Shutdown"); - NPP_Shutdown(); - return NPERR_NO_ERROR; -} diff --git a/extensions/nsplugin/src/npupp.h b/extensions/nsplugin/src/npupp.h deleted file mode 100644 index 3e7d35a9..00000000 --- a/extensions/nsplugin/src/npupp.h +++ /dev/null @@ -1,994 +0,0 @@ -/* - * npupp.h $Revision: 1.1 $ - * function call mecahnics needed by platform specific glue code. - */ - - -#ifndef _NPUPP_H_ -#define _NPUPP_H_ - -#ifndef GENERATINGCFM -#define GENERATINGCFM 0 -#endif - -#ifndef _NPAPI_H_ -#include "npapi.h" -#endif - -#include "jri.h" - -/****************************************************************************************** - plug-in function table macros - for each function in and out of the plugin API we define - typedef NPP_FooUPP - #define NewNPP_FooProc - #define CallNPP_FooProc - for mac, define the UPP magic for PPC/68K calling - *******************************************************************************************/ - - -/* NPP_Initialize */ - -#if GENERATINGCFM -typedef UniversalProcPtr NPP_InitializeUPP; - -enum { - uppNPP_InitializeProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(0)) - | RESULT_SIZE(SIZE_CODE(0)) -}; - -#define NewNPP_InitializeProc(FUNC) \ - (NPP_InitializeUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_InitializeProcInfo, GetCurrentArchitecture()) -#define CallNPP_InitializeProc(FUNC) \ - (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_InitializeProcInfo) - -#else - -typedef void (*NPP_InitializeUPP)(void); -#define NewNPP_InitializeProc(FUNC) \ - ((NPP_InitializeUPP) (FUNC)) -#define CallNPP_InitializeProc(FUNC) \ - (*(FUNC))() - -#endif - - -/* NPP_Shutdown */ - -#if GENERATINGCFM -typedef UniversalProcPtr NPP_ShutdownUPP; - -enum { - uppNPP_ShutdownProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(0)) - | RESULT_SIZE(SIZE_CODE(0)) -}; - -#define NewNPP_ShutdownProc(FUNC) \ - (NPP_ShutdownUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_ShutdownProcInfo, GetCurrentArchitecture()) -#define CallNPP_ShutdownProc(FUNC) \ - (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_ShutdownProcInfo) - -#else - -typedef void (*NPP_ShutdownUPP)(void); -#define NewNPP_ShutdownProc(FUNC) \ - ((NPP_ShutdownUPP) (FUNC)) -#define CallNPP_ShutdownProc(FUNC) \ - (*(FUNC))() - -#endif - - -/* NPP_New */ - -#if GENERATINGCFM -typedef UniversalProcPtr NPP_NewUPP; - -enum { - uppNPP_NewProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPMIMEType))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(uint16))) - | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(int16))) - | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(char **))) - | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(char **))) - | STACK_ROUTINE_PARAMETER(7, SIZE_CODE(sizeof(NPSavedData *))) - | RESULT_SIZE(SIZE_CODE(sizeof(NPError))) -}; - -#define NewNPP_NewProc(FUNC) \ - (NPP_NewUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_NewProcInfo, GetCurrentArchitecture()) -#define CallNPP_NewProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \ - (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_NewProcInfo, \ - (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7)) -#else - -typedef NPError (*NPP_NewUPP)(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, char* argn[], char* argv[], NPSavedData* saved); -#define NewNPP_NewProc(FUNC) \ - ((NPP_NewUPP) (FUNC)) -#define CallNPP_NewProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7)) - -#endif - - -/* NPP_Destroy */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPP_DestroyUPP; -enum { - uppNPP_DestroyProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPSavedData **))) - | RESULT_SIZE(SIZE_CODE(sizeof(NPError))) -}; -#define NewNPP_DestroyProc(FUNC) \ - (NPP_DestroyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_DestroyProcInfo, GetCurrentArchitecture()) -#define CallNPP_DestroyProc(FUNC, ARG1, ARG2) \ - (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_DestroyProcInfo, (ARG1), (ARG2)) -#else - -typedef NPError (*NPP_DestroyUPP)(NPP instance, NPSavedData** save); -#define NewNPP_DestroyProc(FUNC) \ - ((NPP_DestroyUPP) (FUNC)) -#define CallNPP_DestroyProc(FUNC, ARG1, ARG2) \ - (*(FUNC))((ARG1), (ARG2)) - -#endif - - -/* NPP_SetWindow */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPP_SetWindowUPP; -enum { - uppNPP_SetWindowProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPWindow *))) - | RESULT_SIZE(SIZE_CODE(sizeof(NPError))) -}; -#define NewNPP_SetWindowProc(FUNC) \ - (NPP_SetWindowUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_SetWindowProcInfo, GetCurrentArchitecture()) -#define CallNPP_SetWindowProc(FUNC, ARG1, ARG2) \ - (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_SetWindowProcInfo, (ARG1), (ARG2)) - -#else - -typedef NPError (*NPP_SetWindowUPP)(NPP instance, NPWindow* window); -#define NewNPP_SetWindowProc(FUNC) \ - ((NPP_SetWindowUPP) (FUNC)) -#define CallNPP_SetWindowProc(FUNC, ARG1, ARG2) \ - (*(FUNC))((ARG1), (ARG2)) - -#endif - - -/* NPP_NewStream */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPP_NewStreamUPP; -enum { - uppNPP_NewStreamProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPMIMEType))) - | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPStream *))) - | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(NPBool))) - | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(uint16 *))) - | RESULT_SIZE(SIZE_CODE(sizeof(NPError))) -}; -#define NewNPP_NewStreamProc(FUNC) \ - (NPP_NewStreamUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_NewStreamProcInfo, GetCurrentArchitecture()) -#define CallNPP_NewStreamProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \ - (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_NewStreamProcInfo, (ARG1), (ARG2), (ARG3), (ARG4), (ARG5)) -#else - -typedef NPError (*NPP_NewStreamUPP)(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16* stype); -#define NewNPP_NewStreamProc(FUNC) \ - ((NPP_NewStreamUPP) (FUNC)) -#define CallNPP_NewStreamProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5)) -#endif - - -/* NPP_DestroyStream */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPP_DestroyStreamUPP; -enum { - uppNPP_DestroyStreamProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *))) - | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPReason))) - | RESULT_SIZE(SIZE_CODE(sizeof(NPError))) -}; -#define NewNPP_DestroyStreamProc(FUNC) \ - (NPP_DestroyStreamUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_DestroyStreamProcInfo, GetCurrentArchitecture()) -#define CallNPP_DestroyStreamProc(FUNC, NPParg, NPStreamPtr, NPReasonArg) \ - (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_DestroyStreamProcInfo, (NPParg), (NPStreamPtr), (NPReasonArg)) - -#else - -typedef NPError (*NPP_DestroyStreamUPP)(NPP instance, NPStream* stream, NPReason reason); -#define NewNPP_DestroyStreamProc(FUNC) \ - ((NPP_DestroyStreamUPP) (FUNC)) -#define CallNPP_DestroyStreamProc(FUNC, NPParg, NPStreamPtr, NPReasonArg) \ - (*(FUNC))((NPParg), (NPStreamPtr), (NPReasonArg)) - -#endif - - -/* NPP_WriteReady */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPP_WriteReadyUPP; -enum { - uppNPP_WriteReadyProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *))) - | RESULT_SIZE(SIZE_CODE(sizeof(int32))) -}; -#define NewNPP_WriteReadyProc(FUNC) \ - (NPP_WriteReadyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_WriteReadyProcInfo, GetCurrentArchitecture()) -#define CallNPP_WriteReadyProc(FUNC, NPParg, NPStreamPtr) \ - (int32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_WriteReadyProcInfo, (NPParg), (NPStreamPtr)) - -#else - -typedef int32 (*NPP_WriteReadyUPP)(NPP instance, NPStream* stream); -#define NewNPP_WriteReadyProc(FUNC) \ - ((NPP_WriteReadyUPP) (FUNC)) -#define CallNPP_WriteReadyProc(FUNC, NPParg, NPStreamPtr) \ - (*(FUNC))((NPParg), (NPStreamPtr)) - -#endif - - -/* NPP_Write */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPP_WriteUPP; -enum { - uppNPP_WriteProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *))) - | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(int32))) - | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(int32))) - | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(void*))) - | RESULT_SIZE(SIZE_CODE(sizeof(int32))) -}; -#define NewNPP_WriteProc(FUNC) \ - (NPP_WriteUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_WriteProcInfo, GetCurrentArchitecture()) -#define CallNPP_WriteProc(FUNC, NPParg, NPStreamPtr, offsetArg, lenArg, bufferPtr) \ - (int32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_WriteProcInfo, (NPParg), (NPStreamPtr), (offsetArg), (lenArg), (bufferPtr)) - -#else - -typedef int32 (*NPP_WriteUPP)(NPP instance, NPStream* stream, int32 offset, int32 len, void* buffer); -#define NewNPP_WriteProc(FUNC) \ - ((NPP_WriteUPP) (FUNC)) -#define CallNPP_WriteProc(FUNC, NPParg, NPStreamPtr, offsetArg, lenArg, bufferPtr) \ - (*(FUNC))((NPParg), (NPStreamPtr), (offsetArg), (lenArg), (bufferPtr)) - -#endif - - -/* NPP_StreamAsFile */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPP_StreamAsFileUPP; -enum { - uppNPP_StreamAsFileProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *))) - | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char *))) - | RESULT_SIZE(SIZE_CODE(0)) -}; -#define NewNPP_StreamAsFileProc(FUNC) \ - (NPP_StreamAsFileUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_StreamAsFileProcInfo, GetCurrentArchitecture()) -#define CallNPP_StreamAsFileProc(FUNC, ARG1, ARG2, ARG3) \ - (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_StreamAsFileProcInfo, (ARG1), (ARG2), (ARG3)) - -#else - -typedef void (*NPP_StreamAsFileUPP)(NPP instance, NPStream* stream, const char* fname); -#define NewNPP_StreamAsFileProc(FUNC) \ - ((NPP_StreamAsFileUPP) (FUNC)) -#define CallNPP_StreamAsFileProc(FUNC, ARG1, ARG2, ARG3) \ - (*(FUNC))((ARG1), (ARG2), (ARG3)) -#endif - - -/* NPP_Print */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPP_PrintUPP; -enum { - uppNPP_PrintProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPPrint *))) - | RESULT_SIZE(SIZE_CODE(0)) -}; -#define NewNPP_PrintProc(FUNC) \ - (NPP_PrintUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_PrintProcInfo, GetCurrentArchitecture()) -#define CallNPP_PrintProc(FUNC, NPParg, voidPtr) \ - (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_PrintProcInfo, (NPParg), (voidPtr)) - -#else - -typedef void (*NPP_PrintUPP)(NPP instance, NPPrint* platformPrint); -#define NewNPP_PrintProc(FUNC) \ - ((NPP_PrintUPP) (FUNC)) -#define CallNPP_PrintProc(FUNC, NPParg, NPPrintArg) \ - (*(FUNC))((NPParg), (NPPrintArg)) - -#endif - - -/* NPP_HandleEvent */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPP_HandleEventUPP; -enum { - uppNPP_HandleEventProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(void *))) - | RESULT_SIZE(SIZE_CODE(sizeof(int16))) -}; -#define NewNPP_HandleEventProc(FUNC) \ - (NPP_HandleEventUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_HandleEventProcInfo, GetCurrentArchitecture()) -#define CallNPP_HandleEventProc(FUNC, NPParg, voidPtr) \ - (int16)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_HandleEventProcInfo, (NPParg), (voidPtr)) - -#else - -typedef int16 (*NPP_HandleEventUPP)(NPP instance, void* event); -#define NewNPP_HandleEventProc(FUNC) \ - ((NPP_HandleEventUPP) (FUNC)) -#define CallNPP_HandleEventProc(FUNC, NPParg, voidPtr) \ - (*(FUNC))((NPParg), (voidPtr)) - -#endif - - -/* NPP_URLNotify */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPP_URLNotifyUPP; -enum { - uppNPP_URLNotifyProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*))) - | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPReason))) - | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(void*))) - | RESULT_SIZE(SIZE_CODE(SIZE_CODE(0))) -}; -#define NewNPP_URLNotifyProc(FUNC) \ - (NPP_URLNotifyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_URLNotifyProcInfo, GetCurrentArchitecture()) -#define CallNPP_URLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \ - (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPP_URLNotifyProcInfo, (ARG1), (ARG2), (ARG3), (ARG4)) - -#else - -typedef void (*NPP_URLNotifyUPP)(NPP instance, const char* url, NPReason reason, void* notifyData); -#define NewNPP_URLNotifyProc(FUNC) \ - ((NPP_URLNotifyUPP) (FUNC)) -#define CallNPP_URLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4)) - -#endif - - - - -/* - * Netscape entry points - */ - -#ifdef XP_UNIX - -/* NPN_GetValue */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_GetValueUPP; -enum { - uppNPN_GetValueProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPNVariable))) - | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void *))) - | RESULT_SIZE(SIZE_CODE(sizeof(NPError))) -}; -#define NewNPN_GetValueProc(FUNC) \ - (NPN_GetValueUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetValueProcInfo, GetCurrentArchitecture()) -#define CallNPN_GetURNotifyLProc(FUNC, ARG1, ARG2, ARG3) \ - (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetValueProcInfo, (ARG1), (ARG2), (ARG3)) -#else - -typedef NPError (*NPN_GetValueUPP)(NPP instance, NPNVariable variable, void *ret_alue); -#define NewNPN_GetValueProc(FUNC) \ - ((NPN_GetValueUPP) (FUNC)) -#define CallNPN_GetValueProc(FUNC, ARG1, ARG2, ARG3) \ - (*(FUNC))((ARG1), (ARG2), (ARG3)) -#endif - -#endif /* XP_UNIX */ - - - -/* NPN_GetUrlNotify */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_GetURLNotifyUPP; -enum { - uppNPN_GetURLNotifyProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*))) - | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char*))) - | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(void*))) - | RESULT_SIZE(SIZE_CODE(sizeof(NPError))) -}; -#define NewNPN_GetURLNotifyProc(FUNC) \ - (NPN_GetURLNotifyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetURLNotifyProcInfo, GetCurrentArchitecture()) -#define CallNPN_GetURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \ - (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetURLNotifyProcInfo, (ARG1), (ARG2), (ARG3), (ARG4)) -#else - -typedef NPError (*NPN_GetURLNotifyUPP)(NPP instance, const char* url, const char* window, void* notifyData); -#define NewNPN_GetURLNotifyProc(FUNC) \ - ((NPN_GetURLNotifyUPP) (FUNC)) -#define CallNPN_GetURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4)) -#endif - - -/* NPN_PostUrlNotify */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_PostURLNotifyUPP; -enum { - uppNPN_PostURLNotifyProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*))) - | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char*))) - | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(uint32))) - | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(const char*))) - | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(NPBool))) - | STACK_ROUTINE_PARAMETER(7, SIZE_CODE(sizeof(void*))) - | RESULT_SIZE(SIZE_CODE(sizeof(NPError))) -}; -#define NewNPN_PostURLNotifyProc(FUNC) \ - (NPN_PostURLNotifyUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_PostURLNotifyProcInfo, GetCurrentArchitecture()) -#define CallNPN_PostURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \ - (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_PostURLNotifyProcInfo, (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7)) -#else - -typedef NPError (*NPN_PostURLNotifyUPP)(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file, void* notifyData); -#define NewNPN_PostURLNotifyProc(FUNC) \ - ((NPN_PostURLNotifyUPP) (FUNC)) -#define CallNPN_PostURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7)) -#endif - - -/* NPN_GetUrl */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_GetURLUPP; -enum { - uppNPN_GetURLProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*))) - | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char*))) - | RESULT_SIZE(SIZE_CODE(sizeof(NPError))) -}; -#define NewNPN_GetURLProc(FUNC) \ - (NPN_GetURLUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetURLProcInfo, GetCurrentArchitecture()) -#define CallNPN_GetURLProc(FUNC, ARG1, ARG2, ARG3) \ - (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetURLProcInfo, (ARG1), (ARG2), (ARG3)) -#else - -typedef NPError (*NPN_GetURLUPP)(NPP instance, const char* url, const char* window); -#define NewNPN_GetURLProc(FUNC) \ - ((NPN_GetURLUPP) (FUNC)) -#define CallNPN_GetURLProc(FUNC, ARG1, ARG2, ARG3) \ - (*(FUNC))((ARG1), (ARG2), (ARG3)) -#endif - - -/* NPN_PostUrl */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_PostURLUPP; -enum { - uppNPN_PostURLProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(const char*))) - | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char*))) - | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(uint32))) - | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(const char*))) - | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(NPBool))) - | RESULT_SIZE(SIZE_CODE(sizeof(NPError))) -}; -#define NewNPN_PostURLProc(FUNC) \ - (NPN_PostURLUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_PostURLProcInfo, GetCurrentArchitecture()) -#define CallNPN_PostURLProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \ - (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_PostURLProcInfo, (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6)) -#else - -typedef NPError (*NPN_PostURLUPP)(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file); -#define NewNPN_PostURLProc(FUNC) \ - ((NPN_PostURLUPP) (FUNC)) -#define CallNPN_PostURLProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6)) -#endif - - -/* NPN_RequestRead */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_RequestReadUPP; -enum { - uppNPN_RequestReadProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPStream *))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPByteRange *))) - | RESULT_SIZE(SIZE_CODE(sizeof(NPError))) -}; -#define NewNPN_RequestReadProc(FUNC) \ - (NPN_RequestReadUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_RequestReadProcInfo, GetCurrentArchitecture()) -#define CallNPN_RequestReadProc(FUNC, stream, range) \ - (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_RequestReadProcInfo, (stream), (range)) - -#else - -typedef NPError (*NPN_RequestReadUPP)(NPStream* stream, NPByteRange* rangeList); -#define NewNPN_RequestReadProc(FUNC) \ - ((NPN_RequestReadUPP) (FUNC)) -#define CallNPN_RequestReadProc(FUNC, stream, range) \ - (*(FUNC))((stream), (range)) - -#endif - - -/* NPN_NewStream */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_NewStreamUPP; -enum { - uppNPN_NewStreamProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPMIMEType))) - | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(const char *))) - | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(NPStream **))) - | RESULT_SIZE(SIZE_CODE(sizeof(NPError))) -}; -#define NewNPN_NewStreamProc(FUNC) \ - (NPN_NewStreamUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_NewStreamProcInfo, GetCurrentArchitecture()) -#define CallNPN_NewStreamProc(FUNC, npp, type, window, stream) \ - (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_NewStreamProcInfo, (npp), (type), (window), (stream)) - -#else - -typedef NPError (*NPN_NewStreamUPP)(NPP instance, NPMIMEType type, const char* window, NPStream** stream); -#define NewNPN_NewStreamProc(FUNC) \ - ((NPN_NewStreamUPP) (FUNC)) -#define CallNPN_NewStreamProc(FUNC, npp, type, window, stream) \ - (*(FUNC))((npp), (type), (window), (stream)) - -#endif - - -/* NPN_Write */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_WriteUPP; -enum { - uppNPN_WriteProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *))) - | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(int32))) - | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(void*))) - | RESULT_SIZE(SIZE_CODE(sizeof(int32))) -}; -#define NewNPN_WriteProc(FUNC) \ - (NPN_WriteUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_WriteProcInfo, GetCurrentArchitecture()) -#define CallNPN_WriteProc(FUNC, npp, stream, len, buffer) \ - (int32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_WriteProcInfo, (npp), (stream), (len), (buffer)) - -#else - -typedef int32 (*NPN_WriteUPP)(NPP instance, NPStream* stream, int32 len, void* buffer); -#define NewNPN_WriteProc(FUNC) \ - ((NPN_WriteUPP) (FUNC)) -#define CallNPN_WriteProc(FUNC, npp, stream, len, buffer) \ - (*(FUNC))((npp), (stream), (len), (buffer)) - -#endif - - -/* NPN_DestroyStream */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_DestroyStreamUPP; -enum { - uppNPN_DestroyStreamProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP ))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPStream *))) - | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPReason))) - | RESULT_SIZE(SIZE_CODE(sizeof(NPError))) -}; -#define NewNPN_DestroyStreamProc(FUNC) \ - (NPN_DestroyStreamUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_DestroyStreamProcInfo, GetCurrentArchitecture()) -#define CallNPN_DestroyStreamProc(FUNC, npp, stream, reason) \ - (NPError)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_DestroyStreamProcInfo, (npp), (stream), (reason)) - -#else - -typedef NPError (*NPN_DestroyStreamUPP)(NPP instance, NPStream* stream, NPReason reason); -#define NewNPN_DestroyStreamProc(FUNC) \ - ((NPN_DestroyStreamUPP) (FUNC)) -#define CallNPN_DestroyStreamProc(FUNC, npp, stream, reason) \ - (*(FUNC))((npp), (stream), (reason)) - -#endif - - -/* NPN_Status */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_StatusUPP; -enum { - uppNPN_StatusProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(char *))) -}; - -#define NewNPN_StatusProc(FUNC) \ - (NPN_StatusUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_StatusProcInfo, GetCurrentArchitecture()) -#define CallNPN_StatusProc(FUNC, npp, msg) \ - (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_StatusProcInfo, (npp), (msg)) - -#else - -typedef void (*NPN_StatusUPP)(NPP instance, const char* message); -#define NewNPN_StatusProc(FUNC) \ - ((NPN_StatusUPP) (FUNC)) -#define CallNPN_StatusProc(FUNC, npp, msg) \ - (*(FUNC))((npp), (msg)) - -#endif - - -/* NPN_UserAgent */ -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_UserAgentUPP; -enum { - uppNPN_UserAgentProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | RESULT_SIZE(SIZE_CODE(sizeof(const char *))) -}; - -#define NewNPN_UserAgentProc(FUNC) \ - (NPN_UserAgentUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_UserAgentProcInfo, GetCurrentArchitecture()) -#define CallNPN_UserAgentProc(FUNC, ARG1) \ - (const char*)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_UserAgentProcInfo, (ARG1)) - -#else - -typedef const char* (*NPN_UserAgentUPP)(NPP instance); -#define NewNPN_UserAgentProc(FUNC) \ - ((NPN_UserAgentUPP) (FUNC)) -#define CallNPN_UserAgentProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -#endif - - -/* NPN_MemAlloc */ -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_MemAllocUPP; -enum { - uppNPN_MemAllocProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(uint32))) - | RESULT_SIZE(SIZE_CODE(sizeof(void *))) -}; - -#define NewNPN_MemAllocProc(FUNC) \ - (NPN_MemAllocUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_MemAllocProcInfo, GetCurrentArchitecture()) -#define CallNPN_MemAllocProc(FUNC, ARG1) \ - (void*)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_MemAllocProcInfo, (ARG1)) - -#else - -typedef void* (*NPN_MemAllocUPP)(uint32 size); -#define NewNPN_MemAllocProc(FUNC) \ - ((NPN_MemAllocUPP) (FUNC)) -#define CallNPN_MemAllocProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -#endif - - -/* NPN__MemFree */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_MemFreeUPP; -enum { - uppNPN_MemFreeProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(void *))) -}; - -#define NewNPN_MemFreeProc(FUNC) \ - (NPN_MemFreeUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_MemFreeProcInfo, GetCurrentArchitecture()) -#define CallNPN_MemFreeProc(FUNC, ARG1) \ - (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_MemFreeProcInfo, (ARG1)) - -#else - -typedef void (*NPN_MemFreeUPP)(void* ptr); -#define NewNPN_MemFreeProc(FUNC) \ - ((NPN_MemFreeUPP) (FUNC)) -#define CallNPN_MemFreeProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -#endif - - -/* NPN_MemFlush */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_MemFlushUPP; -enum { - uppNPN_MemFlushProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(uint32))) - | RESULT_SIZE(SIZE_CODE(sizeof(uint32))) -}; - -#define NewNPN_MemFlushProc(FUNC) \ - (NPN_MemFlushUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_MemFlushProcInfo, GetCurrentArchitecture()) -#define CallNPN_MemFlushProc(FUNC, ARG1) \ - (uint32)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_MemFlushProcInfo, (ARG1)) - -#else - -typedef uint32 (*NPN_MemFlushUPP)(uint32 size); -#define NewNPN_MemFlushProc(FUNC) \ - ((NPN_MemFlushUPP) (FUNC)) -#define CallNPN_MemFlushProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -#endif - - - -/* NPN_ReloadPlugins */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_ReloadPluginsUPP; -enum { - uppNPN_ReloadPluginsProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPBool))) - | RESULT_SIZE(SIZE_CODE(0)) -}; - -#define NewNPN_ReloadPluginsProc(FUNC) \ - (NPN_ReloadPluginsUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_ReloadPluginsProcInfo, GetCurrentArchitecture()) -#define CallNPN_ReloadPluginsProc(FUNC, ARG1) \ - (void)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_ReloadPluginsProcInfo, (ARG1)) - -#else - -typedef void (*NPN_ReloadPluginsUPP)(NPBool reloadPages); -#define NewNPN_ReloadPluginsProc(FUNC) \ - ((NPN_ReloadPluginsUPP) (FUNC)) -#define CallNPN_ReloadPluginsProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -#endif - - -/* NPN_GetJavaEnv */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_GetJavaEnvUPP; -enum { - uppNPN_GetJavaEnvProcInfo = kThinkCStackBased - | RESULT_SIZE(SIZE_CODE(sizeof(JRIEnv*))) -}; - -#define NewNPN_GetJavaEnvProc(FUNC) \ - (NPN_GetJavaEnvUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetJavaEnvProcInfo, GetCurrentArchitecture()) -#define CallNPN_GetJavaEnvProc(FUNC) \ - (JRIEnv*)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetJavaEnvProcInfo) - -#else - -typedef JRIEnv* (*NPN_GetJavaEnvUPP)(void); -#define NewNPN_GetJavaEnvProc(FUNC) \ - ((NPN_GetJavaEnvUPP) (FUNC)) -#define CallNPN_GetJavaEnvProc(FUNC) \ - (*(FUNC))() - -#endif - - -/* NPN_GetJavaPeer */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPN_GetJavaPeerUPP; -enum { - uppNPN_GetJavaPeerProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPP))) - | RESULT_SIZE(SIZE_CODE(sizeof(jref))) -}; - -#define NewNPN_GetJavaPeerProc(FUNC) \ - (NPN_GetJavaPeerUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPN_GetJavaPeerProcInfo, GetCurrentArchitecture()) -#define CallNPN_GetJavaPeerProc(FUNC, ARG1) \ - (jref)CallUniversalProc((UniversalProcPtr)(FUNC), uppNPN_GetJavaPeerProcInfo, (ARG1)) - -#else - -typedef jref (*NPN_GetJavaPeerUPP)(NPP instance); -#define NewNPN_GetJavaPeerProc(FUNC) \ - ((NPN_GetJavaPeerUPP) (FUNC)) -#define CallNPN_GetJavaPeerProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -#endif - - - - -/****************************************************************************************** - * The actual plugin function table definitions - *******************************************************************************************/ - -typedef struct _NPPluginFuncs { - uint16 size; - uint16 version; - NPP_NewUPP newp; - NPP_DestroyUPP destroy; - NPP_SetWindowUPP setwindow; - NPP_NewStreamUPP newstream; - NPP_DestroyStreamUPP destroystream; - NPP_StreamAsFileUPP asfile; - NPP_WriteReadyUPP writeready; - NPP_WriteUPP write; - NPP_PrintUPP print; - NPP_HandleEventUPP event; - NPP_URLNotifyUPP urlnotify; - JRIGlobalRef javaClass; -} NPPluginFuncs; - -typedef struct _NPNetscapeFuncs { - uint16 size; - uint16 version; - NPN_GetURLUPP geturl; - NPN_PostURLUPP posturl; - NPN_RequestReadUPP requestread; - NPN_NewStreamUPP newstream; - NPN_WriteUPP write; - NPN_DestroyStreamUPP destroystream; - NPN_StatusUPP status; - NPN_UserAgentUPP uagent; - NPN_MemAllocUPP memalloc; - NPN_MemFreeUPP memfree; - NPN_MemFlushUPP memflush; - NPN_ReloadPluginsUPP reloadplugins; - NPN_GetJavaEnvUPP getJavaEnv; - NPN_GetJavaPeerUPP getJavaPeer; - NPN_GetURLNotifyUPP geturlnotify; - NPN_PostURLNotifyUPP posturlnotify; -#ifdef XP_UNIX - NPN_GetValueUPP getvalue; -#endif /* XP_UNIX */ -} NPNetscapeFuncs; - - - -#ifdef XP_MAC -/****************************************************************************************** - * Mac platform-specific plugin glue stuff - *******************************************************************************************/ - -/* - * Main entry point of the plugin. - * This routine will be called when the plugin is loaded. The function - * tables are passed in and the plugin fills in the NPPluginFuncs table - * and NPPShutdownUPP for Netscape's use. - */ - -#if GENERATINGCFM - -typedef UniversalProcPtr NPP_MainEntryUPP; -enum { - uppNPP_MainEntryProcInfo = kThinkCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(NPNetscapeFuncs*))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(NPPluginFuncs*))) - | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(NPP_ShutdownUPP*))) - | RESULT_SIZE(SIZE_CODE(sizeof(NPError))) -}; -#define NewNPP_MainEntryProc(FUNC) \ - (NPP_MainEntryUPP) NewRoutineDescriptor((ProcPtr)(FUNC), uppNPP_MainEntryProcInfo, GetCurrentArchitecture()) -#define CallNPP_MainEntryProc(FUNC, netscapeFunc, pluginFunc, shutdownUPP) \ - CallUniversalProc((UniversalProcPtr)(FUNC), (ProcInfoType)uppNPP_MainEntryProcInfo, (netscapeFunc), (pluginFunc), (shutdownUPP)) - -#else - -typedef NPError (*NPP_MainEntryUPP)(NPNetscapeFuncs*, NPPluginFuncs*, NPP_ShutdownUPP*); -#define NewNPP_MainEntryProc(FUNC) \ - ((NPP_MainEntryUPP) (FUNC)) -#define CallNPP_MainEntryProc(FUNC, netscapeFunc, pluginFunc, shutdownUPP) \ - (*(FUNC))((netscapeFunc), (pluginFunc), (shutdownUPP)) - -#endif -#endif /* MAC */ - - -#ifdef _WINDOWS - -#ifdef __cplusplus -extern "C" { -#endif - -/* plugin meta member functions */ - -NPError WINAPI NP_GetEntryPoints(NPPluginFuncs* pFuncs); - -NPError WINAPI NP_Initialize(NPNetscapeFuncs* pFuncs); - -NPError WINAPI NP_Shutdown(); - -#ifdef __cplusplus -} -#endif - -#endif /* _WINDOWS */ - -#ifdef XP_UNIX - -#ifdef __cplusplus -extern "C" { -#endif - -/* plugin meta member functions */ - -char* NP_GetMIMEDescription(void); -NPError NP_Initialize(NPNetscapeFuncs*, NPPluginFuncs*); -NPError NP_Shutdown(void); - -#ifdef __cplusplus -} -#endif - -#endif /* XP_UNIX */ - -#endif /* _NPUPP_H_ */ diff --git a/extensions/nsplugin/src/npwin.cpp b/extensions/nsplugin/src/npwin.cpp deleted file mode 100644 index 45a71227..00000000 --- a/extensions/nsplugin/src/npwin.cpp +++ /dev/null @@ -1,367 +0,0 @@ -/* npwin.cpp */ - -//\\// INCLUDE -//#include "StdAfx.h" - -// netscape -#ifndef _NPAPI_H_ -#include "npapi.h" -#endif -#ifndef _NPUPP_H_ -#include "npupp.h" -#endif - -//\\// DEFINE -#ifdef WIN32 - #define NP_EXPORT //__declspec( dllexport ) -#else - #define NP_EXPORT _export -#endif - -//\\// GLOBAL DATA -NPNetscapeFuncs* g_pNavigatorFuncs = NULL; - -//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\. -////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//. -// Private_GetJavaClass (global function) -// -// Given a Java class reference (thru NPP_GetJavaClass) inform JRT -// of this class existence -// -JRIGlobalRef -Private_GetJavaClass(void) -{ - jref clazz = NPP_GetJavaClass(); - if (clazz) { - JRIEnv* env = NPN_GetJavaEnv(); - return JRI_NewGlobalRef(env, clazz); - } - return NULL; -} - -//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\. -////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//. -// PLUGIN DLL entry points -// -// These are the Windows specific DLL entry points. They must be exoprted -// - -// we need these to be global since we have to fill one of its field -// with a data (class) which requires knowlwdge of the navigator -// jump-table. This jump table is known at Initialize time (NP_Initialize) -// which is called after NP_GetEntryPoint -static NPPluginFuncs* g_pluginFuncs; - -//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\. -////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//. -// NP_GetEntryPoints -// -// fills in the func table used by Navigator to call entry points in -// plugin DLL. Note that these entry points ensure that DS is loaded -// by using the NP_LOADDS macro, when compiling for Win16 -// -NPError WINAPI NP_EXPORT -NP_GetEntryPoints(NPPluginFuncs* pFuncs) -{ - // trap a NULL ptr - if(pFuncs == NULL) - return NPERR_INVALID_FUNCTABLE_ERROR; - - // if the plugin's function table is smaller than the plugin expects, - // then they are incompatible, and should return an error - - pFuncs->version = (NP_VERSION_MAJOR << 8) | NP_VERSION_MINOR; - pFuncs->newp = NPP_New; - pFuncs->destroy = NPP_Destroy; - pFuncs->setwindow = NPP_SetWindow; - pFuncs->newstream = NPP_NewStream; - pFuncs->destroystream = NPP_DestroyStream; - pFuncs->asfile = NPP_StreamAsFile; - pFuncs->writeready = NPP_WriteReady; - pFuncs->write = NPP_Write; - pFuncs->print = NPP_Print; - pFuncs->event = NULL; /// reserved - - g_pluginFuncs = pFuncs; - - return NPERR_NO_ERROR; -} - -//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\. -////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//. -// NP_Initialize -// -// called immediately after the plugin DLL is loaded -// -NPError WINAPI NP_EXPORT -NP_Initialize(NPNetscapeFuncs* pFuncs) -{ - // trap a NULL ptr - if(pFuncs == NULL) - return NPERR_INVALID_FUNCTABLE_ERROR; - - g_pNavigatorFuncs = pFuncs; // save it for future reference - - // if the plugin's major ver level is lower than the Navigator's, - // then they are incompatible, and should return an error - if(HIBYTE(pFuncs->version) > NP_VERSION_MAJOR) - return NPERR_INCOMPATIBLE_VERSION_ERROR; - - // We have to defer these assignments until g_pNavigatorFuncs is set - int navMinorVers = g_pNavigatorFuncs->version & 0xFF; - - - if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) { - - g_pluginFuncs->urlnotify = NPP_URLNotify; - - } - - if( navMinorVers >= NPVERS_HAS_LIVECONNECT ) { - - g_pluginFuncs->javaClass = Private_GetJavaClass(); - - } - - - // NPP_Initialize is a standard (cross-platform) initialize function. - return NPP_Initialize(); -} - -//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\. -////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//. -// NP_Shutdown -// -// called immediately before the plugin DLL is unloaded. -// This functio shuold check for some ref count on the dll to see if it is -// unloadable or it needs to stay in memory. -// -NPError WINAPI NP_EXPORT -NP_Shutdown() -{ - NPP_Shutdown(); - - g_pNavigatorFuncs = NULL; - - return NPERR_NO_ERROR; -} - -// END - PLUGIN DLL entry points -////\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//. -//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\. - -/* NAVIGATOR Entry points */ - -/* These entry points expect to be called from within the plugin. The - noteworthy assumption is that DS has already been set to point to the - plugin's DLL data segment. Don't call these functions from outside - the plugin without ensuring DS is set to the DLLs data segment first, - typically using the NP_LOADDS macro -*/ - -/* returns the major/minor version numbers of the Plugin API for the plugin - and the Navigator -*/ -void NPN_Version(int* plugin_major, int* plugin_minor, int* netscape_major, int* netscape_minor) -{ - *plugin_major = NP_VERSION_MAJOR; - *plugin_minor = NP_VERSION_MINOR; - *netscape_major = HIBYTE(g_pNavigatorFuncs->version); - *netscape_minor = LOBYTE(g_pNavigatorFuncs->version); -} - -/* causes the specified URL to be fetched and streamed in -*/ -NPError NPN_GetURLNotify(NPP instance, const char *url, const char *target, void* notifyData) - -{ - - int navMinorVers = g_pNavigatorFuncs->version & 0xFF; - - NPError err; - - if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) { - - err = g_pNavigatorFuncs->geturlnotify(instance, url, target, notifyData); - - } - - else { - - err = NPERR_INCOMPATIBLE_VERSION_ERROR; - - } - - return err; - -} - - -NPError NPN_GetURL(NPP instance, const char *url, const char *target) -{ - return g_pNavigatorFuncs->geturl(instance, url, target); -} - -NPError NPN_PostURLNotify(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file, void* notifyData) - -{ - - int navMinorVers = g_pNavigatorFuncs->version & 0xFF; - - NPError err; - - if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) { - - err = g_pNavigatorFuncs->posturlnotify(instance, url, window, len, buf, file, notifyData); - - } - - else { - - err = NPERR_INCOMPATIBLE_VERSION_ERROR; - - } - - return err; - -} - - -NPError NPN_PostURL(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file) -{ - return g_pNavigatorFuncs->posturl(instance, url, window, len, buf, file); -} - -/* Requests that a number of bytes be provided on a stream. Typically - this would be used if a stream was in "pull" mode. An optional - position can be provided for streams which are seekable. -*/ -NPError NPN_RequestRead(NPStream* stream, NPByteRange* rangeList) -{ - return g_pNavigatorFuncs->requestread(stream, rangeList); -} - -/* Creates a new stream of data from the plug-in to be interpreted - by Netscape in the current window. -*/ -NPError NPN_NewStream(NPP instance, NPMIMEType type, - const char* target, NPStream** stream) -{ - - int navMinorVersion = g_pNavigatorFuncs->version & 0xFF; - - NPError err; - - - if( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT ) { - - err = g_pNavigatorFuncs->newstream(instance, type, target, stream); - - } - - else { - - err = NPERR_INCOMPATIBLE_VERSION_ERROR; - - } - - return err; -} - -/* Provides len bytes of data. -*/ -int32 NPN_Write(NPP instance, NPStream *stream, - int32 len, void *buffer) -{ - int navMinorVersion = g_pNavigatorFuncs->version & 0xFF; - - int32 result; - - - if( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT ) { - - result = g_pNavigatorFuncs->write(instance, stream, len, buffer); - - } - - else { - result = -1; - - } - - return result; - -} - -/* Closes a stream object. -reason indicates why the stream was closed. -*/ -NPError NPN_DestroyStream(NPP instance, NPStream* stream, NPError reason) -{ - int navMinorVersion = g_pNavigatorFuncs->version & 0xFF; - - NPError err; - - - if( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT ) { - - err = g_pNavigatorFuncs->destroystream(instance, stream, reason); - - } - else { - - err = NPERR_INCOMPATIBLE_VERSION_ERROR; - - } - - return err; - -} - -/* Provides a text status message in the Netscape client user interface -*/ -void NPN_Status(NPP instance, const char *message) -{ - g_pNavigatorFuncs->status(instance, message); -} - -/* returns the user agent string of Navigator, which contains version info -*/ -const char* NPN_UserAgent(NPP instance) -{ - return g_pNavigatorFuncs->uagent(instance); -} - -/* allocates memory from the Navigator's memory space. Necessary so that - saved instance data may be freed by Navigator when exiting. -*/ - - -void* NPN_MemAlloc(uint32 size) -{ - return g_pNavigatorFuncs->memalloc(size); -} - -/* reciprocal of MemAlloc() above -*/ -void NPN_MemFree(void* ptr) -{ - g_pNavigatorFuncs->memfree(ptr); -} - -/* private function to Netscape. do not use! -*/ -void NPN_ReloadPlugins(NPBool reloadPages) -{ - g_pNavigatorFuncs->reloadplugins(reloadPages); -} - -JRIEnv* NPN_GetJavaEnv(void) -{ - return g_pNavigatorFuncs->getJavaEnv(); -} - -jref NPN_GetJavaPeer(NPP instance) -{ - return g_pNavigatorFuncs->getJavaPeer(instance); -} diff --git a/extensions/nsplugin/src/tqnp.cpp b/extensions/nsplugin/src/tqnp.cpp deleted file mode 100644 index cd373ad4..00000000 --- a/extensions/nsplugin/src/tqnp.cpp +++ /dev/null @@ -1,2071 +0,0 @@ -/**************************************************************************** -** -** Implementation of TQt extension classes for Netscape Plugin support. -** -** Created : 970601 -** -** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved. -** -** This file is part of the TQt GUI Toolkit. -** -** This file may be used under the terms of the GNU General -** Public License versions 2.0 or 3.0 as published by the Free -** Software Foundation and appearing in the files LICENSE.GPL2 -** and LICENSE.GPL3 included in the packaging of this file. -** Alternatively you may (at your option) use any later version -** of the GNU General Public License if such license has been -** publicly approved by Trolltech ASA (or its successors, if any) -** and the KDE Free TQt Foundation. -** -** Please review the following information to ensure GNU General -** Public Licensing requirements will be met: -** http://trolltech.com/products/qt/licenses/licensing/opensource/. -** If you are unsure which license is appropriate for your use, please -** review the following information: -** http://trolltech.com/products/qt/licenses/licensing/licensingoverview -** or contact the sales department at sales@trolltech.com. -** -** This file may be used under the terms of the Q Public License as -** defined by Trolltech ASA and appearing in the file LICENSE.TQPL -** included in the packaging of this file. Licensees holding valid TQt -** Commercial licenses may use this file in accordance with the TQt -** Commercial License Agreement provided with the Software. -** -** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, -** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted -** herein. -** -**********************************************************************/ - - -// Remaining TQ_WS_X11 considerations: -// - What if !piApp upon NPP_NewStream? Are we safe? -// - Yes, but users need to know of this: that no GUI can be -// done until after setWindow is called. -// - Use NPN_GetValue in Communicator4.0 to get the display earlier! -// - For ClientMessage events, trap them, and if they are not for us, -// untrap them and retransmit them and set a timer to retrap them -// after N seconds. - -// Remaining TQ_WS_WIN considerations: -// - we need to activateZeroTimers() at some time. -// - we need to call winEventFilter on events -// - timers: -// if ( msg.message == WM_TIMER ) { // timer message received -// activateTimer( msg.wParam ); -// return TRUE; -// } -// if ( msg.message == WM_KEYDOWN || msg.message == WM_KEYUP ) { -// if ( translateKeyCode(msg.wParam) == 0 ) { -// TranslateMessage( &msg ); // translate to WM_CHAR -// return TRUE; -// } -// } -// - qWinProcessConfigRequests? - -// Remaining general stuff: -// - Provide the "reason" parameter to streamDestroyed - -// TQt stuff -#include -#include -#include -#include -#include -#include -#include -#include - -#include "tqnp.h" - -#include // Must be here for Borland C++ -#include -#include -#include -#include - -#ifdef TQ_WS_X11 -#include - -class TQNPXtPrivate; - -class TQNPXt : public TQEventLoop -{ -public: - TQNPXt( const char *applicationClass, XtAppContext context = NULL, XrmOptionDescRec *options = 0, int numOptions = 0); - ~TQNPXt(); - - XtAppContext applicationContext() const; - - void registerSocketNotifier( TQSocketNotifier * ); - void unregisterSocketNotifier( TQSocketNotifier * ); - - static void registerWidget( TQWidget* ); - static void unregisterWidget( TQWidget* ); - static bool redeliverEvent( XEvent *event ); - static XEvent* lastEvent(); - -protected: - bool processEvents( ProcessEventsFlags flags ); - -private: - void appStartingUp(); - void appClosingDown(); - TQNPXtPrivate *d; - -}; - -#define GC GC_QQQ -#endif - -extern "C" { -// -// Netscape plugin API -// -#ifdef TQ_WS_WIN -#ifndef _WINDOWS -#define _WINDOWS -#endif -#endif -#ifdef TQ_WS_X11 -#define XP_UNIX -#endif - - -// This is to allow mingw support on windows without altering the sun header files -#if defined(Q_CC_GNU) && defined(TQ_WS_WIN) && !defined(_MSC_VER) -#define _MSC_VER 1 -#include "npapi.h" -#undef _MSC_VER -#else -#include "npapi.h" -#endif - -#ifdef TQ_WS_X11 -#undef XP_UNIX -#include "npunix.c" -#endif - -// -// Stuff for the NPP_SetWindow function: -// -#ifdef TQ_WS_X11 -#include -#include -#include // for XtCreateWindow -#include -#include -#include -#include -//#include -#endif -#ifdef TQ_WS_WIN -#include -#endif -} - -#ifdef TQ_WS_WIN -#include "npwin.cpp" -#endif - -static TQEventLoop* event_loop = 0; -static TQApplication* application = 0; - -struct _NPInstance -{ - uint16 fMode; - -#ifdef TQ_WS_WIN - HWND window; -#endif - - NPP npp; - -#ifdef TQ_WS_X11 - Window window; - Display *display; -#endif - - uint32 x, y; - uint32 width, height; - - TQNPWidget* widget; - TQNPInstance* instance; - - int16 argc; - TQString *argn; - TQString *argv; -}; - - - -// The single global plugin -static TQNPlugin *qNP=0; -static int instance_count=0; - -// Temporary parameter passed `around the side' of calls to user functions -static _NPInstance* next_pi=0; - -// To avoid looping when browser OR plugin can delete streams -static int qnps_no_call_back = 0; - -#ifdef TQ_WS_WIN -// defined in qapplication_win.cpp -TQ_EXPORT extern bool qt_win_use_simple_timers; -TQ_EXPORT void qWinProcessConfigRequests(); -static HHOOK hhook = 0; - -LRESULT CALLBACK FilterProc( int nCode, WPARAM wParam, LPARAM lParam ) -{ - if ( tqApp ) { - tqApp->sendPostedEvents(); - tqApp->eventLoop()->activateSocketNotifiers(); - qWinProcessConfigRequests(); - } - - return CallNextHookEx( hhook, nCode, wParam, lParam ); -} - -#endif - -#ifdef TQ_WS_X11 -static int (*original_x_errhandler)( Display *dpy, XErrorEvent * ) = 0; -static int dummy_x_errhandler( Display *, XErrorEvent * ) -{ - return 0; -} -#endif - -/****************************************************************************** - * Plug-in Calls - these are called by Netscape - *****************************************************************************/ - - -// Instance state information about the plugin. - -#ifdef TQ_WS_X11 - -extern "C" char* -NPP_GetMIMEDescription(void) -{ - if (!qNP) qNP = TQNPlugin::create(); - return (char*)qNP->getMIMEDescription(); -} - - - -extern "C" NPError -NPP_GetValue(void * /*future*/, NPPVariable variable, void *value) -{ - if (!qNP) qNP = TQNPlugin::create(); - NPError err = NPERR_NO_ERROR; - if (variable == NPPVpluginNameString) - *((const char **)value) = qNP->getPluginNameString(); - else if (variable == NPPVpluginDescriptionString) - *((const char **)value) = qNP->getPluginDescriptionString(); - else - err = NPERR_GENERIC_ERROR; - - return err; -} - -#endif - -/* -** NPP_Initialize is called when your DLL is being loaded to do any -** DLL-specific initialization. -*/ -extern "C" NPError -NPP_Initialize(void) -{ -#ifdef TQ_WS_WIN - qt_win_use_simple_timers = TRUE; - // Nothing more - we do it in DLLMain -#endif - - if (!qNP) qNP = TQNPlugin::create(); - return NPERR_NO_ERROR; -} - -static jref plugin_java_class = 0; - -/* -** NPP_GetJavaClass is called during initialization to ask your plugin -** what its associated Java class is. If you don't have one, just return -** NULL. Otherwise, use the javah-generated "use_" function to both -** initialize your class and return it. If you can't find your class, an -** error will be signalled by "use_" and will cause the Navigator to -** complain to the user. -*/ -extern "C" jref -NPP_GetJavaClass(void) -{ - if (!qNP) qNP = TQNPlugin::create(); - plugin_java_class = (jref)qNP->getJavaClass(); - return plugin_java_class; -} - -/* -** NPP_Shutdown is called when your DLL is being unloaded to do any -** DLL-specific shut-down. You should be a good citizen and declare that -** you're not using your java class any more. This allows java to unload -** it, freeing up memory. -*/ -extern "C" void -NPP_Shutdown(void) -{ - if (qNP) { - if (plugin_java_class) - qNP->unuseJavaClass(); - delete qNP; - qNP = 0; - } - -#ifdef TQ_WS_X11 - if ( original_x_errhandler ) - XSetErrorHandler( original_x_errhandler ); -#endif - if ( tqApp) { -#ifdef TQ_WS_WIN32 - if ( hhook ) - UnhookWindowsHookEx( hhook ); - hhook = 0; -#endif - delete application; - delete event_loop; - } - -} - - -struct NS_Private { - uchar* a; - uchar* b; -}; - -/* -** NPP_New is called when your plugin is instantiated (i.e. when an EMBED -** tag appears on a page). -*/ -extern "C" NPError -NPP_New(NPMIMEType /*pluginType*/, - NPP instance, - uint16 mode, - int16 argc, - char* argn[], - char* argv[], - NPSavedData* /*saved*/) -{ - NPError result = NPERR_NO_ERROR; - _NPInstance* This; - - if (instance == NULL) - return NPERR_INVALID_INSTANCE_ERROR; - - instance->pdata = new _NPInstance; - - This = (_NPInstance*) instance->pdata; - - if (This == NULL) - return NPERR_OUT_OF_MEMORY_ERROR; - - This->npp = instance; - - /* mode is NP_EMBED, NP_FULL, or NP_BACKGROUND (see npapi.h) */ - This->fMode = mode; - - This->window = 0; - This->widget = 0; - - This->argc = argc; - This->argn = new TQString[argc+1]; - This->argv = new TQString[argc+1]; - for (int i=0; iargc; i++) { - This->argn[i] = argn[i]; - This->argv[i] = argv[i]; - } - - // Everything is set up - we can let TQNPInstance be created now. - next_pi = This; - qNP->newInstance(); - instance_count++; - - return result; -} - -extern "C" NPError -NPP_Destroy(NPP instance, NPSavedData** /*save*/) -{ - _NPInstance* This; - - if (instance == NULL) - return NPERR_INVALID_INSTANCE_ERROR; - - This = (_NPInstance*) instance->pdata; - - if (This != NULL) { - delete This->widget; - delete This->instance; - delete [] This->argn; - delete [] This->argv; - - delete This; - instance->pdata = NULL; - - instance_count--; - } - - return NPERR_NO_ERROR; -} - -extern "C" NPError -NPP_SetWindow(NPP instance, NPWindow* window) -{ - if (!qNP) qNP = TQNPlugin::create(); - NPError result = NPERR_NO_ERROR; - _NPInstance* This; - - if (instance == NULL) - return NPERR_INVALID_INSTANCE_ERROR; - - This = (_NPInstance*) instance->pdata; - - - // take a shortcut if all that was changed is the geometry - if ( This->widget && window -#ifdef TQ_WS_X11 - && This->window == (Window) window->window -#endif -#ifdef TQ_WS_WIN - && This->window == (HWND) window->window -#endif - ) { - This->x = window->x; - This->y = window->y; - This->width = window->width; - This->height = window->height; - This->widget->resize( This->width, This->height ); - return result; - } - - delete This->widget; - - if ( !window ) - return result; - -#ifdef TQ_WS_X11 - This->window = (Window) window->window; - This->display = - ((NPSetWindowCallbackStruct *)window->ws_info)->display; -#endif -#ifdef TQ_WS_WIN - This->window = (HWND) window->window; -#endif - - This->x = window->x; - This->y = window->y; - This->width = window->width; - This->height = window->height; - - - if (!tqApp) { -#ifdef TQ_WS_X11 - // We are the first TQt-based plugin to arrive - event_loop = new TQNPXt( "qnp", XtDisplayToApplicationContext(This->display) ); - application = new TQApplication(This->display); -#endif -#ifdef TQ_WS_WIN - static int argc=0; - static char **argv={ 0 }; - application = new TQApplication( argc, argv ); -#ifdef UNICODE - if ( qWinVersion() & TQt::WV_NT_based ) - hhook = SetWindowsHookExW( WH_GETMESSAGE, FilterProc, 0, GetCurrentThreadId() ); - else -#endif - hhook = SetWindowsHookExA( WH_GETMESSAGE, FilterProc, 0, GetCurrentThreadId() ); -#endif - } - -#ifdef TQ_WS_X11 - if ( !original_x_errhandler ) - original_x_errhandler = XSetErrorHandler( dummy_x_errhandler ); -#endif - - // New widget on this new window. - next_pi = This; - /* This->widget = */ // (happens sooner - in TQNPWidget constructor) - This->instance->newWindow(); - - if ( !This->widget ) - return result; - -#ifdef TQ_WS_X11 - This->widget->resize( This->width, This->height ); - XReparentWindow( This->widget->x11Display(), This->widget->winId(), This->window, 0, 0 ); - XSync( This->widget->x11Display(), False ); -#endif -#ifdef TQ_WS_WIN - LONG oldLong = GetWindowLong(This->window, GWL_STYLE); - ::SetWindowLong(This->window, GWL_STYLE, oldLong | WS_CLIPCHILDREN | WS_CLIPSIBLINGS); - ::SetWindowLong( This->widget->winId(), GWL_STYLE, WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS ); - ::SetParent( This->widget->winId(), This->window ); - This->widget->raise(); - This->widget->setGeometry( 0, 0, This->width, This->height ); -#endif - This->widget->show(); - return result; -} - - -extern "C" NPError -NPP_NewStream(NPP instance, - NPMIMEType type, - NPStream *stream, - NPBool seekable, - uint16 *stype) -{ - _NPInstance* This; - - if (instance == NULL) - return NPERR_INVALID_INSTANCE_ERROR; - - This = (_NPInstance*) instance->pdata; - - if ( This ) { - TQNPStream* qnps = new TQNPStream(This->instance,type,stream,seekable); - stream->pdata = qnps; - TQNPInstance::StreamMode sm = (TQNPInstance::StreamMode)*stype; - if (!This->instance->newStreamCreated(qnps, sm)) { - return NPERR_GENERIC_ERROR; - } - *stype = sm; - } - - return NPERR_NO_ERROR; -} - - -int32 STREAMBUFSIZE = 0X0FFFFFFF; /* If we are reading from a file in NPAsFile - * mode so we can take any size stream in our - * write call (since we ignore it) */ - -extern "C" int32 -NPP_WriteReady(NPP instance, NPStream *stream) -{ - _NPInstance* This; - if (instance != NULL) { - This = (_NPInstance*) instance->pdata; - } else { - // Yikes, that's unusual! - return 0; - } - - if (This) { - return This->instance->writeReady((TQNPStream*)stream->pdata); - } - - /* Number of bytes ready to accept in NPP_Write() */ - return STREAMBUFSIZE; -} - - -extern "C" int32 -NPP_Write(NPP instance, NPStream *stream, int32 offset, int32 len, void *buffer) -{ - if (instance != NULL) - { - _NPInstance* This = (_NPInstance*) instance->pdata; - - if (This) { - return This->instance->write((TQNPStream*)stream->pdata, - offset, len, buffer); - } - } - - return len; /* The number of bytes accepted */ -} - - -extern "C" NPError -NPP_DestroyStream(NPP instance, NPStream *stream, NPError reason) -{ - _NPInstance* This; - - if (instance == NULL) - return NPERR_INVALID_INSTANCE_ERROR; - - if (!qnps_no_call_back) { - This = (_NPInstance*) instance->pdata; - - TQNPStream* qnps = (TQNPStream*)stream->pdata; - if ( qnps ) - switch (reason) { - case NPRES_DONE: - qnps->setComplete(TRUE); - break; - case NPRES_USER_BREAK: - break; - case NPRES_NETWORK_ERR: - qnps->setOkay(FALSE); - break; - } - - if (This) { - // Give the instance a chance to do something - This->instance->streamDestroyed(qnps); - } - - qnps_no_call_back++; - delete qnps; - qnps_no_call_back--; - } - - return NPERR_NO_ERROR; -} - - -extern "C" void -NPP_StreamAsFile(NPP instance, NPStream *stream, const char* fname) -{ - _NPInstance* This; - - if (instance == NULL) return; - - This = (_NPInstance*) instance->pdata; - - if ( This ) { - TQNPStream* qnps = (TQNPStream*)stream->pdata; - This->instance->streamAsFile(qnps, fname); - } -} - -typedef struct -{ - int32 type; - FILE* fp; -} NPPrintCallbackStruct; - -#ifdef TQ_WS_X11 - -class TQNPPrinter : public TQPrinter { - TQFile file; -public: - TQNPPrinter(FILE* fp) - { - file.open(IO_WriteOnly, fp); - TQPDevCmdParam param; - param.device = &file; - cmd(PdcSetdev, 0, ¶m); - } - void end() - { - TQPDevCmdParam param; - param.device = 0; - cmd(PdcSetdev, 0, ¶m); - } -}; -#endif - -extern "C" void -NPP_Print(NPP instance, NPPrint* printInfo) -{ - if(printInfo == NULL) - return; - - if (instance != NULL) { - _NPInstance* This = (_NPInstance*) instance->pdata; - - if (printInfo->mode == NP_FULL) { - printInfo->print.fullPrint.pluginPrinted = - This->instance->printFullPage(); - } else if (printInfo->mode == NP_EMBED) { -#ifdef TQ_WS_X11 - void* platformPrint = - printInfo->print.embedPrint.platformPrint; - FILE* outfile = ((NPPrintCallbackStruct*)platformPrint)->fp; - if (ftell(outfile)) { -// NPWindow* w = -// &(printInfo->print.embedPrint.window); - TQNPPrinter prn(outfile); - TQPainter painter(&prn); - // #### config viewport with w->{x,y,width,height} - This->instance->print(&painter); - prn.end(); - } else { - // Why does the browser make spurious NPP_Print calls? - } -#endif -#ifdef TQ_WS_WIN - NPWindow* printWindow = - &(printInfo->print.embedPrint.window); - void* platformPrint = - printInfo->print.embedPrint.platformPrint; - // #### Nothing yet. -#endif - } - } -} - -extern "C" void -NPP_URLNotify(NPP instance, - const char* url, - NPReason reason, - void* notifyData) -{ - if (instance != NULL) { - TQNPInstance::Reason r; - switch (reason) { - case NPRES_DONE: - r = TQNPInstance::ReasonDone; - break; - case NPRES_USER_BREAK: - r = TQNPInstance::ReasonBreak; - break; - case NPRES_NETWORK_ERR: - r = TQNPInstance::ReasonError; - break; - default: - r = TQNPInstance::ReasonUnknown; - break; - } - _NPInstance* This = (_NPInstance*) instance->pdata; - This->instance->notifyURL(url, r, notifyData); - } -} - - - -#ifdef TQ_WS_WIN - -BOOL WINAPI DllMain (HANDLE hInst, - ULONG ul_reason_for_call, - LPVOID lpReserved) -{ - return TRUE; -} - -#endif - - - -/*! - \class TQNPWidget tqnp.h - \brief The TQNPWidget class provides a TQWidget that is a web browser plugin window. - - \extension Netscape Plugin - - Derive from TQNPWidget to create a widget that can be used as a - web browser plugin window, or create one and add child widgets. - Instances of TQNPWidget may only be created when - TQNPInstance::newWindow() is called by the browser. - - A common way to develop a plugin widget is to develop it as a - stand-alone application window, then make it a \e child of a - plugin widget to use it as a browser plugin. The technique is: - -\code -class MyPluginWindow : public TQNPWidget -{ - TQWidget* child; -public: - MyPluginWindow() - { - // Some widget that is normally used as a top-level widget - child = new MyIndependentlyDevelopedWidget(); - - // Use the background color of the web page - child->setBackgroundColor( backgroundColor() ); - - // Fill the plugin widget - child->setGeometry( 0, 0, width(), height() ); - } - - void resizeEvent(TQResizeEvent*) - { - // Fill the plugin widget - child->resize(size()); - } -}; -\endcode - - The default implementation is an empty window. -*/ - -/*! - Creates a TQNPWidget. -*/ -TQNPWidget::TQNPWidget() : - pi(next_pi) -{ - if (!next_pi) { - tqFatal("TQNPWidget must only be created within call to newWindow"); - } - next_pi->widget = this; - next_pi = 0; - -#ifdef TQ_WS_WIN - clearWFlags( WStyle_NormalBorder | WStyle_Title | WStyle_MinMax | WStyle_SysMenu ); - topData()->ftop = 0; - topData()->fright = 0; - topData()->fleft = 0; - topData()->fbottom = 0; -#endif -} - -/*! - Destroys the window. This will be called by the plugin binding - code when the window is no longer required. The web browser will - delete windows when they leave the page. The bindings will change - the TQWidget::winId() of the window when the window is resized, but - this should not affect normal widget behavior. -*/ -TQNPWidget::~TQNPWidget() -{ -#ifdef TQ_WS_X11 - destroy( FALSE, FALSE ); // X has destroyed all windows -#endif -} - - -/*!\internal */ -void TQNPWidget::enterEvent(TQEvent*) -{ - enterInstance(); -} - -/*!\internal */ -void TQNPWidget:: leaveEvent(TQEvent*) -{ - if ( !TQApplication::activePopupWidget() ) - leaveInstance(); -} - -/*! - Called when the mouse enters the plugin window. Does nothing by - default. -*/ -void TQNPWidget::enterInstance() -{ -} - -/*! - Called when the mouse leaves the plugin window. Does nothing by - default. -*/ -void TQNPWidget::leaveInstance() -{ -} - -/*! - Returns the instance for which this widget is the plugin window. -*/ -TQNPInstance* TQNPWidget::instance() -{ - return pi->instance; -} - - - - - -/*! - \class TQNPInstance tqnp.h - \brief The TQNPInstance class provides a TQObject that is a web browser plugin. - - \extension Netscape Plugin - - Deriving from TQNPInstance creates an object that represents a - single \c{} tag in an HTML document. - - The TQNPInstance is responsible for creating an appropriate - TQNPWidget window if required (not all plugins have windows), and - for interacting with the input/output facilities intrinsic to - plugins. - - Note that there is \e{absolutely no guarantee} regarding the order - in which functions are called. Sometimes the browser will call - newWindow() first, at other times, newStreamCreated() will be - called first (assuming the \c{} tag has a SRC parameter). - - \e{None of TQt's GUI functionality} may be used until after the - first call to newWindow(). This includes any use of TQPaintDevice - (i.e. TQPixmap, TQWidget, and all subclasses), TQApplication, anything - related to TQPainter (TQBrush, etc.), fonts, TQMovie, TQToolTip, etc. - Useful classes which specifically \e can be used are TQImage, - TQFile, and TQBuffer. - - This restriction can easily be accommodated by structuring your - plugin so that the task of the TQNPInstance is to gather data, - while the task of the TQNPWidget is to provide a graphical - interface to that data. -*/ - -/*! - \enum TQNPInstance::InstanceMode - - This enum type provides TQt-style names for three #defines in - \c npapi.h: - - \value Embed - corresponds to NP_EMBED - \value Full - corresponds to NP_FULL - \value Background - corresponds to NP_BACKGROUND - -*/ - -/*! - \enum TQNPInstance::Reason - - \value ReasonDone - \value ReasonBreak - \value ReasonError - \value ReasonUnknown -*/ - -/*! - \enum TQNPInstance::StreamMode - - \value Normal - \value Seek - \value AsFile - \value AsFileOnly -*/ - -/*! - Creates a TQNPInstance. - - Can only be called from within a derived class created within - TQNPlugin::newInstance(). -*/ -TQNPInstance::TQNPInstance() : - pi(next_pi) -{ - if (!next_pi) { - tqFatal("TQNPInstance must only be created within call to newInstance"); - } - next_pi->instance = this; - next_pi = 0; -} - -/*! - Called when the plugin instance is about to be deleted. -*/ -TQNPInstance::~TQNPInstance() -{ -} - -/*! - Called at most once, at some time after the TQNPInstance is - created. If the plugin requires a window, this function should - return a derived class of TQNPWidget that provides the required - interface. -*/ -TQNPWidget* TQNPInstance::newWindow() -{ - // No window by default - next_pi = 0; - return 0; -} - -/*! - Returns the plugin window created by newWindow(), if any. -*/ -TQNPWidget* TQNPInstance::widget() -{ - return pi->widget; -} - -/*! - \fn bool TQNPInstance::newStreamCreated(TQNPStream*, StreamMode& smode) - - This function is called when a new stream has been created. The - instance should return TRUE if it accepts the processing of the - stream. If the instance requires the stream as a file, it should - set \a smode to \c AsFileOnly, in which case the data will be - delivered some time later to the streamAsFile() function. - Otherwise, the data will be delivered in chunks to the write() - function, which must consume at least as much data as returned - by the most recent call to writeReady(). - - Note that the \c AsFileOnly method is not supported by Netscape - 2.0 and MSIE 3.0. - - The default implementation accepts any stream. -*/ -bool TQNPInstance::newStreamCreated(TQNPStream*, StreamMode&) -{ - return TRUE; -} - -/*! - Called when a stream is delivered as a single file called \a fname - rather than as chunks. This may be simpler for a plugin to deal - with, but precludes any incremental behavior. - - Note that the \c AsFileOnly method is not supported by Netscape - 2.0 and MSIE 3.0. - - \sa newStreamCreated(), newStream() -*/ -void TQNPInstance::streamAsFile(TQNPStream*, const char* fname) -{ -} - -/*! - Called when a stream is destroyed. At this point, the stream may - be complete() and okay(). If it is not okay(), then an error has - occurred. If it is okay(), but not complete(), then the user has - cancelled the transmission; do not give an error message in this - case. -*/ -void TQNPInstance::streamDestroyed(TQNPStream*) -{ -} - -/*! - Returns the minimum amount of data the instance is willing to - receive from the given stream. - - The default returns a very large value. -*/ -int TQNPInstance::writeReady(TQNPStream*) -{ - // Yes, we can handle any amount of data at once. - return 0X0FFFFFFF; -} - -/*! - \fn int TQNPInstance::write(TQNPStream*, int offset, int len, void* buffer) - - Called when incoming data is available for processing by the - instance. The instance \e must consume at least the amount that it - returned in the most recent call to writeReady(), but it may - consume up to the amount given by \a len. \a buffer is the data - available for consumption. The \a offset argument is merely an - informational value indicating the total amount of data that has - been consumed in prior calls. - - This function should return the amount of data actually consumed. -*/ -int TQNPInstance::write(TQNPStream*, int, int len, void*) -{ - // Yes, we processed it all... into the bit bucket. - return len; -} - -/*! - Requests that the \a url be retrieved and sent to the named \a - window. See Netscape's JavaScript documentation for an explanation - of window names. -*/ -void TQNPInstance::getURL(const char* url, const char* window) -{ - NPN_GetURL( pi->npp, url, window ); -} - -/*! - \preliminary - - This function is \e{not tested}. - - It is an interface to the NPN_PostURL function of the Netscape - Plugin API. - - Passes \a url, \a window, \a buf, \a len, and \a file to - NPN_PostURL. -*/ -void TQNPInstance::postURL(const char* url, const char* window, - uint len, const char* buf, bool file) -{ - NPN_PostURL( pi->npp, url, window, len, buf, file ); -} - -/*! - Requests that the given \a url be retrieved and sent to - the named \a window. See Netscape's JavaScript documentation for - an explanation of window names. Passes the arguments including \a - data to NPN_GetURLNotify. - - \sa - \link http://developer.netscape.com/docs/manuals/communicator/plugin/refpgur.htm#npngeturlnotify - Netscape: NPN_GetURLNotify method\endlink -*/ -void TQNPInstance::getURLNotify(const char* url, const char* window, void*data) -{ -#ifdef TQ_WS_WIN // Only on Windows? - NPN_GetURLNotify( pi->npp, url, window, data ); -#else - Q_UNUSED( url ); - Q_UNUSED( window ); - Q_UNUSED( data ); -#endif -} - -/*! - \preliminary - - This function is \e{not tested}. - - It is an encapsulation of the NPP_Print function of the Netscape - Plugin API. -*/ -bool TQNPInstance::printFullPage() -{ - return FALSE; -} - -/*! - \preliminary - - This function is \e{not tested}. - - Print the instance embedded in a page. - - It is an encapsulation of the NPP_Print function of the Netscape - Plugin API. -*/ -void TQNPInstance::print(TQPainter*) -{ - // ### default could redirected-print the window. -} - -/*! - Returns the number of arguments to the instance. Note that you - should not normally rely on the ordering of arguments, and - note that the SGML specification does not permit multiple - arguments with the same name. - - \sa arg(), argn() -*/ -int TQNPInstance::argc() const -{ - return pi->argc; -} - -/*! - Returns the name of the \a{i}-th argument. - - \sa argc(), argv() -*/ -const char* TQNPInstance::argn(int i) const -{ - return pi->argn[i]; -} - -/*! - \preliminary - - This function is \e{not tested}. - - Called whenever a \a url is notified after a call to - NPN_GetURLNotify with \a notifyData. The reason is given in \a r. - - It is an encapsulation of the NPP_URLNotify function of the - Netscape Plugin API. - - See also: - \link http://developer.netscape.com/docs/manuals/communicator/plugin/refpgur.htm#nppurlnotify - Netscape: NPP_URLNotify method\endlink -*/ -void TQNPInstance::notifyURL(const char*, Reason, void*) -{ -} - -/*! - Returns the value of the \a{i}-th argument. - - \as argc(), arg() -*/ -const char* TQNPInstance::argv(int i) const -{ - return pi->argv[i]; -} - -/*! - Returns the mode of the plugin. -*/ -TQNPInstance::InstanceMode TQNPInstance::mode() const -{ - return (TQNPInstance::InstanceMode)pi->fMode; -} - -/*! - Returns the value of the named arguments, or 0 if no argument - called \a name appears in the \c{} tag of this instance. - If the argument appears, but has no value assigned, the empty - string is returned. In summary: - - \table - \header \i Tag \i Result - \row \i \c{} \i arg("FOO") == 0 - \row \i \c{} \i arg("FOO") == "" - \row \i \c{} \i arg("FOO") == "BAR" - \endtable -*/ -const char* TQNPInstance::arg(const char* name) const -{ - for (int i=0; iargc; i++) { - // SGML: names are case insensitive - if ( tqstricmp( name, pi->argn[i] ) == 0 ) { - if (pi->argv[i].isEmpty()) - return ""; - else - return pi->argv[i]; - } - } - return 0; -} - -/*! - Returns the user agent (browser name) containing this instance. -*/ -const char* TQNPInstance::userAgent() const -{ - return NPN_UserAgent(pi->npp); -} - -/*! - \preliminary - - This function is \e{not tested}. - - Requests the creation of a new data stream \e from the plugin. - The MIME type and window are passed in \a mimetype and \a window. - \a as_file holds the \c AsFileOnly flag. It is an interface to the - NPN_NewStream function of the Netscape Plugin API. -*/ -TQNPStream* TQNPInstance::newStream(const char* mimetype, const char* window, - bool as_file) -{ - NPStream* s=0; - NPError err = NPN_NewStream(pi->npp, (char*)mimetype, window, &s); - if (err != NPERR_NO_ERROR) return 0; - return s ? new TQNPStream(this, mimetype, s, as_file) : 0; -} - -/*! - Sets the status message in the browser containing this instance to - \a msg. -*/ -void TQNPInstance::status(const char* msg) -{ - NPN_Status(pi->npp, msg); -} - - -/*! - Returns the Java object associated with the plugin instance, an - object of the \link TQNPlugin::getJavaClass() plugin's Java - class\endlink, or 0 if the plug-in does not have a Java class, - Java is disabled, or an error occurred. - - The return value is actually a \c{jref} we use \c{void*} so as to - avoid burdening plugins which do not require Java. - - \sa TQNPlugin::getJavaClass(), TQNPlugin::getJavaEnv(), getJavaPeer() -*/ -void* TQNPInstance::getJavaPeer() const -{ - return NPN_GetJavaPeer(pi->npp); -} - - -/*! - \class TQNPStream tqnp.h - \brief The TQNPStream class provides a stream of data provided to a TQNPInstance by the browser. - - \extension Netscape Plugin - - Note that this is neither a TQTextStream nor a TQDataStream. - - \sa TQNPInstance::write(), TQNPInstance::newStreamCreated() -*/ - -/*! - Creates a stream. Plugins should not call this; they should call - TQNPInstance::newStream() if they need a stream. - - Takes a TQNPInstance \a in, MIME type \a mt, a pointer to an - _NPStream \a st and a seekable flag \a se. -*/ -TQNPStream::TQNPStream(TQNPInstance* in,const char* mt, _NPStream* st, bool se) : - inst(in), - stream(st), - mtype(mt), - seek(se) -{ - isokay = TRUE; - iscomplete = FALSE; -} - -/*! - Destroys the stream. -*/ -TQNPStream::~TQNPStream() -{ - if (!qnps_no_call_back) { - qnps_no_call_back++; - NPN_DestroyStream(inst->pi->npp, stream, NPRES_USER_BREAK); - qnps_no_call_back--; - } -} - -/*! - \fn TQNPInstance* TQNPStream::instance() - - Returns the TQNPInstance for which this stream was created. -*/ - -/*! - Returns the URL from which the stream was created. -*/ -const char* TQNPStream::url() const -{ - return stream->url; -} - -/*! - Returns the length of the stream in bytes. The function might - return 0 for streams of unknown length. -*/ -uint TQNPStream::end() const -{ - return stream->end; -} - -/*! - Returns the time when the source of the stream was last modified. -*/ -uint TQNPStream::lastModified() const -{ - return stream->lastmodified; -} - -/*! - Returns the MIME type of the stream. -*/ -const char* TQNPStream::type() const -{ - return mtype; -} - -/*! - Returns TRUE if the stream is seekable; otherwise returns FALSE. -*/ -bool TQNPStream::seekable() const -{ - return seek; -} - -/*! - \internal -*/ -void TQNPStream::setOkay(bool y) -{ - isokay = y; -} - -/*! - \internal -*/ -void TQNPStream::setComplete(bool y) -{ - iscomplete = y; -} - -/*! - Returns TRUE if no errors have occurred on the stream; otherwise - returns FALSE. -*/ -bool TQNPStream::okay() const -{ - return isokay; -} - -/*! - Returns TRUE if the stream has received all the data from the - source; otherwise returns FALSE. -*/ -bool TQNPStream::complete() const -{ - return iscomplete; -} - -/*! - Requests the section of the stream, of \a length bytes from \a - offset, be sent to the TQNPInstance::write() function of the - instance() of this stream. -*/ -void TQNPStream::requestRead(int offset, uint length) -{ - NPByteRange range; - range.offset = offset; - range.length = length; - range.next = 0; // ### Only one supported at this time - NPN_RequestRead(stream, &range); -} - -/*! - Writes \a len bytes from \a buffer \e to the stream. -*/ -int TQNPStream::write( int len, void* buffer ) -{ - return NPN_Write(inst->pi->npp, stream, len, buffer); -} - - - -/****************************************************************************** - * The plugin itself - only one ever exists, created by TQNPlugin::create() - *****************************************************************************/ - - -/*! - \class TQNPlugin tqnp.h - \brief The TQNPlugin class provides the main factory for plugin objects. - - \extension Netscape Plugin - - This class is the heart of the plugin. One instance of this object - is created when the plugin is \e first needed, by calling - TQNPlugin::create(), which must be implemented in your plugin code - to return some derived class of TQNPlugin. The one TQNPlugin object - creates all TQNPInstance instances for a web browser running in a - single process. - - Additionally, if TQt is linked to the plugin as a dynamic library, - only one instance of TQApplication will exist \e{across all plugins - that have been made with TQt}. So, your plugin should tread lightly - on global settings. Do not, for example, use - TQApplication::setFont() - that will change the font in every - widget of every TQt-based plugin currently loaded! -*/ - -/*! - \fn TQNPlugin* TQNPlugin::create() - - This function must be implemented by your plugin code. It should return a - derived class of TQNPlugin. -*/ - -/*! - Returns the plugin most recently returned by TQNPlugin::create(). -*/ -TQNPlugin* TQNPlugin::actual() -{ - return qNP; -} - -/*! - Creates a TQNPlugin. This may only be used by the constructor - of the class, derived from TQNPlugin, that is returned by your - plugin's implementation of the TQNPlugin::create() function. -*/ -TQNPlugin::TQNPlugin() -{ - // Encourage linker to include stuff. - static void* a; - a = (void*)NP_Initialize; - a = (void*)NP_Shutdown; -} - -/*! - Destroys the TQNPlugin. This is called by the plugin binding code - just before the plugin is about to be unloaded from memory. If - newWindow() has been called, a TQApplication will still exist at - this time, but will be deleted shortly after, just before the plugin - is deleted. -*/ -TQNPlugin::~TQNPlugin() -{ -} - -/*! - Populates \e *\a plugin_major and \e *\a plugin_minor with the - version of the plugin API and populates \e *\a browser_major and - \e *\a browser_minor with the version of the web browser. -*/ -void TQNPlugin::getVersionInfo(int& plugin_major, int& plugin_minor, - int& browser_major, int& browser_minor) -{ - NPN_Version(&plugin_major, &plugin_minor, &browser_major, &browser_minor); -} - -/*! - \fn TQNPInstance* TQNPlugin::newInstance() - - Override this function to return an appropriate derived class of - TQNPInstance. -*/ - -/*! - \fn const char* TQNPlugin::getMIMEDescription() const - - Override this function to return the MIME description of the data formats - supported by your plugin. The format of this string is shown by - the following example: - -\code - const char* getMIMEDescription() const - { - return "image/x-png:png:PNG Image;" - "image/png:png:PNG Image;" - "image/x-portable-bitmap:pbm:PBM Image;" - "image/x-portable-graymap:pgm:PGM Image;" - "image/x-portable-pixmap:ppm:PPM Image;" - "image/bmp:bmp:BMP Image;" - "image/x-ms-bmp:bmp:BMP Image;" - "image/x-xpixmap:xpm:XPM Image;" - "image/xpm:xpm:XPM Image"; - } -\endcode -*/ - -/*! - \fn const char* TQNPlugin::getPluginNameString() const - - Returns a pointer to the plain-text name of the plugin. -*/ - -/*! - \fn const char* TQNPlugin::getPluginDescriptionString() const - - Returns a pointer to the plain-text description of the plugin. -*/ - -/*! - Override this function to return a reference to the Java class that represents - the plugin. The default returns 0, indicating no class. - - If you override this class, you must also override - TQNPlugin::unuseJavaClass(). - - The return value is actually a \c{jref}; we use \c{void*} so as to - avoid burdening plugins which do not require Java. - - \sa getJavaEnv(), TQNPInstance::getJavaPeer() -*/ -void* TQNPlugin::getJavaClass() -{ - return NULL; -} - -/*! - This function is called when the plugin is shutting down. The - function should \e unuse the Java class returned earlier by - getJavaClass(). -*/ -void TQNPlugin::unuseJavaClass() -{ - tqFatal("TQNPlugin::unuseJavaClass() must be overridden along with getJavaClass()"); -} - -/*! - Returns a pointer to the Java execution environment, or 0 if - either Java is disabled or an error occurred. - - The return value is actually a \c{JRIEnv*}; we use \c{void*} so as - to avoid burdening plugins which do not require Java. - - \sa getJavaClass(), TQNPInstance::getJavaPeer() -*/ -void* TQNPlugin::getJavaEnv() const -{ - return NPN_GetJavaEnv(); -} - -#ifdef TQ_WS_X11 - -#include -#include - -// resolve the conflict between X11's FocusIn and TQEvent::FocusIn -const int XFocusOut = FocusOut; -const int XFocusIn = FocusIn; -#undef FocusOut -#undef FocusIn - -const int XKeyPress = KeyPress; -const int XKeyRelease = KeyRelease; -#undef KeyPress -#undef KeyRelease - -Boolean qnpxt_event_dispatcher( XEvent *event ); -static void qnpxt_keep_alive(); -void qnpxt_timeout_handler( XtPointer, XtIntervalId * ); - -class TQNPXtPrivate -{ -public: - TQNPXtPrivate(); - - void hookMeUp(); - void unhook(); - - XtAppContext appContext, ownContext; - TQMemArray dispatchers; - TQWidgetIntDict mapper; - - TQIntDict socknotDict; - uint pending_socknots; - bool activate_timers; - int timerid; - - // arguments for Xt display initialization - const char* applicationClass; - XrmOptionDescRec* options; - int numOptions; -}; -static TQNPXtPrivate *static_d = 0; -static XEvent* last_xevent = 0; - - -bool TQNPXt::redeliverEvent( XEvent *event ) -{ - // redeliver the event to Xt, NOT through TQt - if ( static_d->dispatchers[ event->type ]( event ) ) { - // tqDebug( "Xt: redelivered event" ); - return TRUE; - } - return FALSE; -}; - - -XEvent* TQNPXt::lastEvent() -{ - return last_xevent; -} - - -TQNPXtPrivate::TQNPXtPrivate() - : appContext(NULL), ownContext(NULL), - pending_socknots(0), activate_timers(FALSE), timerid(-1) -{ -} - -void TQNPXtPrivate::hookMeUp() -{ - // worker to plug TQt into Xt (event dispatchers) - // and Xt into TQt (TQNPXtEventLoop) - - // ### TODO extensions? - dispatchers.resize( LASTEvent ); - dispatchers.fill( 0 ); - int et; - for ( et = 2; et < LASTEvent; et++ ) - dispatchers[ et ] = - XtSetEventDispatcher( TQPaintDevice::x11AppDisplay(), - et, ::qnpxt_event_dispatcher ); -} - -void TQNPXtPrivate::unhook() -{ - // unhook TQt from Xt (event dispatchers) - // unhook Xt from TQt? (TQNPXtEventLoop) - - // ### TODO extensions? - int et; - for ( et = 2; et < LASTEvent; et++ ) - (void) XtSetEventDispatcher( TQPaintDevice::x11AppDisplay(), - et, dispatchers[ et ] ); - dispatchers.resize( 0 ); - - /* - We cannot destroy the app context here because it closes the X - display, something TQApplication does as well a bit later. - if ( ownContext ) - XtDestroyApplicationContext( ownContext ); - */ - appContext = ownContext = 0; -} - -extern bool tqt_try_modal( TQWidget *, XEvent * ); // defined in qapplication_x11.cpp -Boolean qnpxt_event_dispatcher( XEvent *event ) -{ - static bool grabbed = FALSE; - - TQApplication::sendPostedEvents(); - - TQWidgetIntDict *mapper = &static_d->mapper; - TQWidget* qnpxt = mapper->find( event->xany.window ); - if ( !qnpxt && TQWidget::find( event->xany.window) == 0 ) { - // event is not for TQt, try Xt - Widget w = XtWindowToWidget( TQPaintDevice::x11AppDisplay(), - event->xany.window ); - while ( w && ! ( qnpxt = mapper->find( XtWindow( w ) ) ) ) { - if ( XtIsShell( w ) ) { - break; - } - w = XtParent( w ); - } - - if ( qnpxt && ( event->type == XKeyPress || - event->type == XKeyRelease ) ) { - // remap key events to keep accelerators working - event->xany.window = qnpxt->winId(); - } - - if ( w ) { - if ( !grabbed && ( event->type == XFocusIn && - event->xfocus.mode == NotifyGrab ) ) { - // tqDebug( "Xt: grab started" ); - grabbed = TRUE; - } else if ( grabbed && ( event->type == XFocusOut && - event->xfocus.mode == NotifyUngrab ) ) { - // tqDebug( "Xt: grab ended" ); - grabbed = FALSE; - } - } - } - - /* - If the mouse has been grabbed for a window that we don't know - about, we shouldn't deliver any pointer events, since this will - intercept the event that ends the mouse grab that Xt/Motif - started. - */ - bool do_deliver = TRUE; - if ( grabbed && ( event->type == ButtonPress || - event->type == ButtonRelease || - event->type == MotionNotify || - event->type == EnterNotify || - event->type == LeaveNotify ) ) - do_deliver = FALSE; - - last_xevent = event; - bool delivered = do_deliver && ( tqApp->x11ProcessEvent( event ) != -1 ); - last_xevent = 0; - if ( qnpxt ) { - switch ( event->type ) { - case EnterNotify: - case LeaveNotify: - event->xcrossing.focus = False; - delivered = FALSE; - break; - case XKeyPress: - case XKeyRelease: - delivered = TRUE; - break; - case XFocusIn: - case XFocusOut: - delivered = FALSE; - break; - default: - delivered = FALSE; - break; - } - } - - qnpxt_keep_alive(); - - if ( delivered ) { - // tqDebug( "TQt: delivered event" ); - return True; - } - - // discard user input events when we have an active popup widget - if ( TQApplication::activePopupWidget() ) { - switch ( event->type ) { - case ButtonPress: // disallow mouse/key events - case ButtonRelease: - case MotionNotify: - case XKeyPress: - case XKeyRelease: - case EnterNotify: - case LeaveNotify: - case ClientMessage: - // tqDebug( "TQt: active popup - discarding event" ); - return True; - - default: - break; - } - } - - if ( TQApplication::activeModalWidget() ) { - if ( qnpxt ) { - // send event through TQt modality handling... - if ( !tqt_try_modal( qnpxt, event ) ) { - // tqDebug( "TQt: active modal widget discarded event" ); - return True; - } - } else if ( !grabbed ) { - // we could have a pure Xt shell as a child of the active - // modal widget - TQWidget *qw = 0; - Widget xw = XtWindowToWidget( TQPaintDevice::x11AppDisplay(), - event->xany.window ); - while ( xw && !( qw = mapper->find( XtWindow( xw ) ) ) ) - xw = XtParent( xw ); - - while ( qw && qw != TQApplication::activeModalWidget() ) - qw = qw->parentWidget(); - - if ( !qw ) { - // event is destined for an Xt widget, but since TQt has an - // active modal widget, we stop here... - switch ( event->type ) { - case ButtonPress: // disallow mouse/key events - case ButtonRelease: - case MotionNotify: - case XKeyPress: - case XKeyRelease: - case EnterNotify: - case LeaveNotify: - case ClientMessage: - // tqDebug( "TQt: active modal widget discarded unknown event" ); - return True; - default: - break; - } - } - } - } - - if ( static_d->dispatchers[ event->type ]( event ) ) { - // tqDebug( "Xt: delivered event" ); - // Xt handled the event. - return True; - } - - return False; -} - - - -TQNPXt::TQNPXt( const char *applicationClass, XtAppContext context, - XrmOptionDescRec *options , int numOptions) -{ -#if defined(QT_CHECK_STATE) - if ( static_d ) - tqWarning( "TQNPXt: should only have one TQNPXt instance!" ); -#endif - - d = static_d = new TQNPXtPrivate; - XtToolkitInitialize(); - if ( context ) - d->appContext = context; - else - d->ownContext = d->appContext = XtCreateApplicationContext(); - - d->applicationClass = applicationClass; - d->options = options; - d->numOptions = numOptions; -} - - -TQNPXt::~TQNPXt() -{ - delete d; - static_d = 0; -} - -XtAppContext TQNPXt::applicationContext() const -{ - return d->appContext; -} - - -void TQNPXt::appStartingUp() -{ - /* - TQApplication could be using a Display from an outside source, so - we should only initialize the display if the current application - context does not contain the TQApplication display - */ - - bool display_found = FALSE; - Display **displays; - Cardinal x, count; - XtGetDisplays( d->appContext, &displays, &count ); - for ( x = 0; x < count && ! display_found; ++x ) { - if ( displays[x] == TQPaintDevice::x11AppDisplay() ) - display_found = TRUE; - } - if ( displays ) - XtFree( (char *) displays ); - - if ( ! display_found ) { - int argc = tqApp->argc(); - XtDisplayInitialize( d->appContext, - TQPaintDevice::x11AppDisplay(), - tqApp->name(), - d->applicationClass, - d->options, - d->numOptions, - &argc, - tqApp->argv() ); - } - - d->hookMeUp(); - - // start a zero-timer to get the timer keep-alive working - d->timerid = XtAppAddTimeOut( d->appContext, 0, qnpxt_timeout_handler, 0 ); -} - -void TQNPXt::appClosingDown() -{ - if ( d->timerid != -1 ) - XtRemoveTimeOut( d->timerid ); - d->timerid = -1; - - d->unhook(); -} - - -void TQNPXt::registerWidget( TQWidget* w ) -{ - if ( !static_d ) - return; - static_d->mapper.insert( w->winId(), w ); -} - - -void TQNPXt::unregisterWidget( TQWidget* w ) -{ - if ( !static_d ) - return; - static_d->mapper.remove( w->winId() ); -} - - -void qnpxt_socknot_handler( XtPointer pointer, int *, XtInputId *id ) -{ - TQNPXt *eventloop = (TQNPXt *) pointer; - TQSocketNotifier *socknot = static_d->socknotDict.find( *id ); - if ( ! socknot ) // this shouldn't happen - return; - eventloop->setSocketNotifierPending( socknot ); - if ( ++static_d->pending_socknots > static_d->socknotDict.count() ) { - /* - We have too many pending socket notifiers. Since Xt prefers - socket notifiers over X events, we should go ahead and - activate all our pending socket notifiers so that the event - loop doesn't freeze up because of this. - */ - eventloop->activateSocketNotifiers(); - static_d->pending_socknots = 0; - } -} - -void TQNPXt::registerSocketNotifier( TQSocketNotifier *notifier ) -{ - XtInputMask mask; - switch ( notifier->type() ) { - case TQSocketNotifier::Read: - mask = XtInputReadMask; - break; - - case TQSocketNotifier::Write: - mask = XtInputWriteMask; - break; - - case TQSocketNotifier::Exception: - mask = XtInputExceptMask; - break; - - default: - tqWarning( "TQNPXtEventLoop: socket notifier has invalid type" ); - return; - } - - XtInputId id = XtAppAddInput( d->appContext, - notifier->socket(), (XtPointer) mask, - qnpxt_socknot_handler, this ); - d->socknotDict.insert( id, notifier ); - - TQEventLoop::registerSocketNotifier( notifier ); -} - -void TQNPXt::unregisterSocketNotifier( TQSocketNotifier *notifier ) -{ - TQIntDictIterator it( d->socknotDict ); - while ( it.current() && notifier != it.current() ) - ++it; - if ( ! it.current() ) { - // this shouldn't happen - tqWarning( "TQNPXtEventLoop: failed to unregister socket notifier" ); - return; - } - - XtRemoveInput( it.currentKey() ); - d->socknotDict.remove( it.currentKey() ); - - TQEventLoop::unregisterSocketNotifier( notifier ); -} - -static void qnpxt_keep_alive() { - // make sure we fire off TQt's timers - int ttw = TQApplication::eventLoop()->timeToWait(); - if ( static_d->timerid != -1 ) - XtRemoveTimeOut( static_d->timerid ); - static_d->timerid = -1; - if ( ttw != -1 ) { - static_d->timerid = - XtAppAddTimeOut( static_d->appContext, ttw, qnpxt_timeout_handler, 0 ); - } -} - -void qnpxt_timeout_handler( XtPointer, XtIntervalId * ) -{ - static_d->timerid = -1; - - if ( ! TQApplication::eventLoop()->loopLevel() ) { - /* - when the TQt eventloop is not running, make sure that TQt - timers still work with an Xt keep-alive timer - */ - TQApplication::eventLoop()->activateTimers(); - static_d->activate_timers = FALSE; - - qnpxt_keep_alive(); - } else { - static_d->activate_timers = TRUE; - } -} - -bool TQNPXt::processEvents( ProcessEventsFlags flags ) -{ - // TQt uses posted events to do lots of delayed operations, like - // repaints... these need to be delivered before we go to sleep - TQApplication::sendPostedEvents(); - - bool canWait = ( flags & WaitForMore ); - - qnpxt_keep_alive(); - - // get the pending event mask from Xt and process the next event - XtInputMask pendingmask = XtAppPending( d->appContext ); - XtInputMask mask = pendingmask; - if ( pendingmask & XtIMTimer ) { - mask &= ~XtIMTimer; - // zero timers will starve the Xt X event dispatcher... so - // process something *instead* of a timer first... - if ( mask != 0 ) - XtAppProcessEvent( d->appContext, mask ); - // and process a timer afterwards - mask = pendingmask & XtIMTimer; - } - - if ( canWait ) - XtAppProcessEvent( d->appContext, XtIMAll ); - else - XtAppProcessEvent( d->appContext, mask ); - - int nevents = 0; - if ( ! ( flags & ExcludeSocketNotifiers ) ) { - nevents += activateSocketNotifiers(); - d->pending_socknots = 0; - } - - if ( d->activate_timers ) { - nevents += activateTimers(); - } - d->activate_timers = FALSE; - - return ( canWait || ( pendingmask != 0 ) || nevents > 0 ); -} - - -#endif // TQ_WS_X11 diff --git a/extensions/nsplugin/src/tqnp.h b/extensions/nsplugin/src/tqnp.h deleted file mode 100644 index 3451afbb..00000000 --- a/extensions/nsplugin/src/tqnp.h +++ /dev/null @@ -1,186 +0,0 @@ -/**************************************************************************** -** -** Definition of TQt extension classes for Netscape Plugin support. -** -** Created : 970601 -** -** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved. -** -** This file is part of the TQt GUI Toolkit. -** -** This file may be used under the terms of the GNU General -** Public License versions 2.0 or 3.0 as published by the Free -** Software Foundation and appearing in the files LICENSE.GPL2 -** and LICENSE.GPL3 included in the packaging of this file. -** Alternatively you may (at your option) use any later version -** of the GNU General Public License if such license has been -** publicly approved by Trolltech ASA (or its successors, if any) -** and the KDE Free TQt Foundation. -** -** Please review the following information to ensure GNU General -** Public Licensing requirements will be met: -** http://trolltech.com/products/qt/licenses/licensing/opensource/. -** If you are unsure which license is appropriate for your use, please -** review the following information: -** http://trolltech.com/products/qt/licenses/licensing/licensingoverview -** or contact the sales department at sales@trolltech.com. -** -** This file may be used under the terms of the Q Public License as -** defined by Trolltech ASA and appearing in the file LICENSE.TQPL -** included in the packaging of this file. Licensees holding valid TQt -** Commercial licenses may use this file in accordance with the TQt -** Commercial License Agreement provided with the Software. -** -** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, -** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted -** herein. -** -**********************************************************************/ - -#ifndef TQNP_H -#define TQNP_H - -#ifndef QT_H -#include "tqwidget.h" -#endif // QT_H - - -struct _NPInstance; -struct _NPStream; -class TQNPInstance; - -class TQNPStream { -public: - ~TQNPStream(); - - const char* url() const; - uint end() const; - uint lastModified() const; - - const char* type() const; - bool seekable() const; - bool okay() const; - bool complete() const; - - void requestRead(int offset, uint length); - int write( int len, void* buffer ); - - TQNPInstance* instance() { return inst; } - TQNPStream(TQNPInstance*,const char*,_NPStream*,bool); - void setOkay(bool); - void setComplete(bool); - -private: - TQNPInstance* inst; - _NPStream* stream; - TQString mtype; - int seek:1; - int isokay:1; - int iscomplete:1; -}; - -class TQNPWidget : public TQWidget { - TQ_OBJECT -public: - TQNPWidget(); - ~TQNPWidget(); - void enterEvent(TQEvent*); - void leaveEvent(TQEvent*); - - virtual void enterInstance(); - virtual void leaveInstance(); - - TQNPInstance* instance(); - -private: - _NPInstance* pi; -}; - -class TQNPInstance : public TQObject { - TQ_OBJECT -public: - ~TQNPInstance(); - - // Arguments passed to EMBED - int argc() const; - const char* argn(int) const; - const char* argv(int) const; - enum Reason { - ReasonDone = 0, - ReasonBreak = 1, - ReasonError = 2, - ReasonUnknown = -1 - }; - const char* arg(const char* name) const; - enum InstanceMode { Embed=1, Full=2, Background=3 }; - InstanceMode mode() const; - - // The browser's name - const char* userAgent() const; - - // Your window. - virtual TQNPWidget* newWindow(); - TQNPWidget* widget(); - - // Incoming streams (SRC=... tag). - // Defaults ignore data. - enum StreamMode { Normal=1, Seek=2, AsFile=3, AsFileOnly=4 }; - virtual bool newStreamCreated(TQNPStream*, StreamMode& smode); - virtual int writeReady(TQNPStream*); - virtual int write(TQNPStream*, int offset, int len, void* buffer); - virtual void streamDestroyed(TQNPStream*); - - void status(const char* msg); - void getURLNotify(const char* url, const char* window=0, void*data=0); - - void getURL(const char* url, const char* window=0); - void postURL(const char* url, const char* window, - uint len, const char* buf, bool file); - - TQNPStream* newStream(const char* mimetype, const char* window, - bool as_file=FALSE); - virtual void streamAsFile(TQNPStream*, const char* fname); - - void* getJavaPeer() const; - - virtual void notifyURL(const char* url, Reason r, void* notifyData); - virtual bool printFullPage(); - virtual void print(TQPainter*); - -protected: - TQNPInstance(); - -private: - friend class TQNPStream; - _NPInstance* pi; -}; - - -class TQNPlugin { -public: - // Write this to return your TQNPlugin derived class. - static TQNPlugin* create(); - - static TQNPlugin* actual(); - - virtual ~TQNPlugin(); - - void getVersionInfo(int& plugin_major, int& plugin_minor, - int& browser_major, int& browser_minor); - - virtual TQNPInstance* newInstance()=0; - virtual const char* getMIMEDescription() const=0; - virtual const char* getPluginNameString() const=0; - virtual const char* getPluginDescriptionString() const=0; - - virtual void* getJavaClass(); - virtual void unuseJavaClass(); - void* getJavaEnv() const; - -protected: - TQNPlugin(); -}; - - -#endif // TQNP_H diff --git a/extensions/nsplugin/src/tqnp.pro b/extensions/nsplugin/src/tqnp.pro deleted file mode 100644 index e2d3047c..00000000 --- a/extensions/nsplugin/src/tqnp.pro +++ /dev/null @@ -1,14 +0,0 @@ -TEMPLATE = lib -TARGET = tqnp - -CONFIG -= dll -CONFIG += qt x11 release staticlib -DESTDIR = ../../../lib -VERSION = 0.4 - -SOURCES = tqnp.cpp -unix:HEADERS += tqnp.h -win32:HEADERS = ../../../include/tqnp.h -win32:LIBS += -lqtmain -MOC_DIR = . -DESTINCDIR = ../../../include