1// qwebpage.sip generated by MetaSIP 2// 3// This file is part of the QtWebKitWidgets Python extension module. 4// 5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com> 6// 7// This file is part of PyQt5. 8// 9// This file may be used under the terms of the GNU General Public License 10// version 3.0 as published by the Free Software Foundation and appearing in 11// the file LICENSE included in the packaging of this file. Please review the 12// following information to ensure the GNU General Public License version 3.0 13// requirements will be met: http://www.gnu.org/copyleft/gpl.html. 14// 15// If you do not wish to use this file under the terms of the GPL version 3.0 16// then you may purchase a commercial license. For more information contact 17// info@riverbankcomputing.com. 18// 19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21 22 23class QWebPage : QObject 24{ 25%TypeHeaderCode 26#include <qwebpage.h> 27%End 28 29public: 30 enum NavigationType 31 { 32 NavigationTypeLinkClicked, 33 NavigationTypeFormSubmitted, 34 NavigationTypeBackOrForward, 35 NavigationTypeReload, 36 NavigationTypeFormResubmitted, 37 NavigationTypeOther, 38 }; 39 40 enum WebAction 41 { 42 NoWebAction, 43 OpenLink, 44 OpenLinkInNewWindow, 45 OpenFrameInNewWindow, 46 DownloadLinkToDisk, 47 CopyLinkToClipboard, 48 OpenImageInNewWindow, 49 DownloadImageToDisk, 50 CopyImageToClipboard, 51 Back, 52 Forward, 53 Stop, 54 Reload, 55 Cut, 56 Copy, 57 Paste, 58 Undo, 59 Redo, 60 MoveToNextChar, 61 MoveToPreviousChar, 62 MoveToNextWord, 63 MoveToPreviousWord, 64 MoveToNextLine, 65 MoveToPreviousLine, 66 MoveToStartOfLine, 67 MoveToEndOfLine, 68 MoveToStartOfBlock, 69 MoveToEndOfBlock, 70 MoveToStartOfDocument, 71 MoveToEndOfDocument, 72 SelectNextChar, 73 SelectPreviousChar, 74 SelectNextWord, 75 SelectPreviousWord, 76 SelectNextLine, 77 SelectPreviousLine, 78 SelectStartOfLine, 79 SelectEndOfLine, 80 SelectStartOfBlock, 81 SelectEndOfBlock, 82 SelectStartOfDocument, 83 SelectEndOfDocument, 84 DeleteStartOfWord, 85 DeleteEndOfWord, 86 SetTextDirectionDefault, 87 SetTextDirectionLeftToRight, 88 SetTextDirectionRightToLeft, 89 ToggleBold, 90 ToggleItalic, 91 ToggleUnderline, 92 InspectElement, 93 InsertParagraphSeparator, 94 InsertLineSeparator, 95 SelectAll, 96 ReloadAndBypassCache, 97 PasteAndMatchStyle, 98 RemoveFormat, 99 ToggleStrikethrough, 100 ToggleSubscript, 101 ToggleSuperscript, 102 InsertUnorderedList, 103 InsertOrderedList, 104 Indent, 105 Outdent, 106 AlignCenter, 107 AlignJustified, 108 AlignLeft, 109 AlignRight, 110 StopScheduledPageRefresh, 111 CopyImageUrlToClipboard, 112 OpenLinkInThisWindow, 113%If (Qt_5_2_0 -) 114 DownloadMediaToDisk, 115%End 116%If (Qt_5_2_0 -) 117 CopyMediaUrlToClipboard, 118%End 119%If (Qt_5_2_0 -) 120 ToggleMediaControls, 121%End 122%If (Qt_5_2_0 -) 123 ToggleMediaLoop, 124%End 125%If (Qt_5_2_0 -) 126 ToggleMediaPlayPause, 127%End 128%If (Qt_5_2_0 -) 129 ToggleMediaMute, 130%End 131%If (Qt_5_2_0 -) 132 ToggleVideoFullscreen, 133%End 134 }; 135 136 enum FindFlag 137 { 138 FindBackward, 139 FindCaseSensitively, 140 FindWrapsAroundDocument, 141 HighlightAllOccurrences, 142%If (Qt_5_2_0 -) 143 FindAtWordBeginningsOnly, 144%End 145%If (Qt_5_2_0 -) 146 TreatMedialCapitalAsWordBeginning, 147%End 148%If (Qt_5_2_0 -) 149 FindBeginsInSelection, 150%End 151 }; 152 153 typedef QFlags<QWebPage::FindFlag> FindFlags; 154 155 enum LinkDelegationPolicy 156 { 157 DontDelegateLinks, 158 DelegateExternalLinks, 159 DelegateAllLinks, 160 }; 161 162 enum WebWindowType 163 { 164 WebBrowserWindow, 165 WebModalDialog, 166 }; 167 168 explicit QWebPage(QObject *parent /TransferThis/ = 0); 169 virtual ~QWebPage(); 170 QWebFrame *mainFrame() const; 171 QWebFrame *currentFrame() const; 172 QWebHistory *history() const; 173 QWebSettings *settings() const; 174 void setView(QWidget *view /KeepReference/); 175 QWidget *view() const; 176 bool isModified() const; 177 QUndoStack *undoStack() const; 178 void setNetworkAccessManager(QNetworkAccessManager *manager /KeepReference/); 179 QNetworkAccessManager *networkAccessManager() const; 180 void setPluginFactory(QWebPluginFactory *factory /KeepReference/); 181 QWebPluginFactory *pluginFactory() const; 182 quint64 totalBytes() const; 183 quint64 bytesReceived() const; 184 QString selectedText() const; 185 QAction *action(QWebPage::WebAction action) const; 186 virtual void triggerAction(QWebPage::WebAction action, bool checked = false); 187 QSize viewportSize() const; 188 void setViewportSize(const QSize &size) const; 189 virtual bool event(QEvent *); 190 bool focusNextPrevChild(bool next); 191 QVariant inputMethodQuery(Qt::InputMethodQuery property) const; 192 bool findText(const QString &subString, QFlags<QWebPage::FindFlag> options = 0); 193 void setForwardUnsupportedContent(bool forward); 194 bool forwardUnsupportedContent() const; 195 void setLinkDelegationPolicy(QWebPage::LinkDelegationPolicy policy); 196 QWebPage::LinkDelegationPolicy linkDelegationPolicy() const; 197 void setPalette(const QPalette &palette); 198 QPalette palette() const; 199 bool swallowContextMenuEvent(QContextMenuEvent *event); 200 void updatePositionDependentActions(const QPoint &pos); 201 202 enum Extension 203 { 204 ChooseMultipleFilesExtension, 205 ErrorPageExtension, 206 }; 207 208 class ExtensionOption 209 { 210%TypeHeaderCode 211#include <qwebpage.h> 212%End 213 }; 214 215 class ExtensionReturn 216 { 217%TypeHeaderCode 218#include <qwebpage.h> 219%End 220 }; 221 222 virtual bool extension(QWebPage::Extension extension, const QWebPage::ExtensionOption *option = 0, QWebPage::ExtensionReturn *output = 0); 223%VirtualCatcherCode 224 const sipTypeDef *option_type = sipType_QWebPage_ExtensionOption; 225 const sipTypeDef *return_type = sipType_QWebPage_ExtensionReturn; 226 227 if (a0 == QWebPage::ChooseMultipleFilesExtension) 228 { 229 option_type = sipType_QWebPage_ChooseMultipleFilesExtensionOption; 230 return_type = sipType_QWebPage_ChooseMultipleFilesExtensionReturn; 231 } 232 else if (a0 == QWebPage::ErrorPageExtension) 233 { 234 option_type = sipType_QWebPage_ErrorPageExtensionOption; 235 return_type = sipType_QWebPage_ErrorPageExtensionReturn; 236 } 237 238 PyObject *res_obj = sipCallMethod(&sipIsErr, sipMethod, "FDD", 239 a0, sipType_QWebPage_Extension, 240 a1, option_type, NULL, 241 a2, return_type, NULL); 242 243 if (res_obj) 244 { 245 sipParseResult(&sipIsErr, sipMethod, res_obj, "b", &sipRes); 246 Py_DECREF(res_obj); 247 } 248 else 249 { 250 sipIsErr = 1; 251 } 252%End 253 254 virtual bool supportsExtension(QWebPage::Extension extension) const; 255 256signals: 257 void loadFinished(bool ok); 258 void loadProgress(int progress); 259 void loadStarted(); 260 void linkHovered(const QString &link, const QString &title, const QString &textContent); 261 void statusBarMessage(const QString &text); 262 void selectionChanged(); 263 void frameCreated(QWebFrame *frame); 264 void geometryChangeRequested(const QRect &geom); 265 void repaintRequested(const QRect &dirtyRect); 266 void scrollRequested(int dx, int dy, const QRect &scrollViewRect); 267 void windowCloseRequested(); 268 void printRequested(QWebFrame *frame); 269 void linkClicked(const QUrl &url); 270 void toolBarVisibilityChangeRequested(bool visible); 271 void statusBarVisibilityChangeRequested(bool visible); 272 void menuBarVisibilityChangeRequested(bool visible); 273 void unsupportedContent(QNetworkReply *reply); 274 void downloadRequested(const QNetworkRequest &request); 275 void microFocusChanged(); 276 277protected: 278 virtual QWebPage *createWindow(QWebPage::WebWindowType type); 279 virtual QObject *createPlugin(const QString &classid, const QUrl &url, const QStringList ¶mNames, const QStringList ¶mValues); 280 virtual bool acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, QWebPage::NavigationType type); 281 virtual QString chooseFile(QWebFrame *originatingFrame, const QString &oldFile); 282 virtual void javaScriptAlert(QWebFrame *originatingFrame, const QString &msg); 283 virtual bool javaScriptConfirm(QWebFrame *originatingFrame, const QString &msg); 284 virtual bool javaScriptPrompt(QWebFrame *originatingFrame, const QString &msg, const QString &defaultValue, QString *result /Out/); 285 virtual void javaScriptConsoleMessage(const QString &message, int lineNumber, const QString &sourceID); 286 virtual QString userAgentForUrl(const QUrl &url) const; 287 288public: 289 void setContentEditable(bool editable); 290 bool isContentEditable() const; 291 QMenu *createStandardContextMenu() /Factory/; 292 293 class ChooseMultipleFilesExtensionOption : QWebPage::ExtensionOption 294 { 295%TypeHeaderCode 296#include <qwebpage.h> 297%End 298 299 public: 300 QWebFrame *parentFrame; 301 QStringList suggestedFileNames; 302 }; 303 304 class ChooseMultipleFilesExtensionReturn : QWebPage::ExtensionReturn 305 { 306%TypeHeaderCode 307#include <qwebpage.h> 308%End 309 310 public: 311 QStringList fileNames; 312 }; 313 314signals: 315 void contentsChanged(); 316 void databaseQuotaExceeded(QWebFrame *frame, QString databaseName); 317 void saveFrameStateRequested(QWebFrame *frame, QWebHistoryItem *item); 318 void restoreFrameStateRequested(QWebFrame *frame); 319 320public: 321 QWebFrame *frameAt(const QPoint &pos) const; 322 QSize preferredContentsSize() const; 323 void setPreferredContentsSize(const QSize &size) const; 324 325 enum ErrorDomain 326 { 327 QtNetwork, 328 Http, 329 WebKit, 330 }; 331 332 class ErrorPageExtensionOption : QWebPage::ExtensionOption 333 { 334%TypeHeaderCode 335#include <qwebpage.h> 336%End 337 338 public: 339 QUrl url; 340 QWebFrame *frame; 341 QWebPage::ErrorDomain domain; 342 int error; 343 QString errorString; 344 }; 345 346 class ErrorPageExtensionReturn : QWebPage::ExtensionReturn 347 { 348%TypeHeaderCode 349#include <qwebpage.h> 350%End 351 352 public: 353 ErrorPageExtensionReturn(); 354 QString contentType; 355 QString encoding; 356 QUrl baseUrl; 357 QByteArray content; 358 }; 359 360 virtual bool shouldInterruptJavaScript(); 361 362 enum PermissionPolicy 363 { 364 PermissionUnknown, 365 PermissionGrantedByUser, 366 PermissionDeniedByUser, 367 }; 368 369 enum Feature 370 { 371 Notifications, 372 Geolocation, 373 }; 374 375 class ViewportAttributes 376 { 377%TypeHeaderCode 378#include <qwebpage.h> 379%End 380 381 public: 382 ViewportAttributes(); 383 ViewportAttributes(const QWebPage::ViewportAttributes &other); 384 ~ViewportAttributes(); 385 qreal initialScaleFactor() const; 386 qreal minimumScaleFactor() const; 387 qreal maximumScaleFactor() const; 388 qreal devicePixelRatio() const; 389 bool isUserScalable() const; 390 bool isValid() const; 391 QSizeF size() const; 392 }; 393 394 bool hasSelection() const; 395 QString selectedHtml() const; 396 QWebPage::ViewportAttributes viewportAttributesForSize(const QSize &availableSize) const; 397 void setActualVisibleContentRect(const QRect &rect) const; 398 void setFeaturePermission(QWebFrame *frame, QWebPage::Feature feature, QWebPage::PermissionPolicy policy); 399 QStringList supportedContentTypes() const; 400 bool supportsContentType(const QString &mimeType) const; 401 402signals: 403 void applicationCacheQuotaExceeded(QWebSecurityOrigin *origin, quint64 defaultOriginQuota, quint64 totalSpaceNeeded); 404 void viewportChangeRequested(); 405 void featurePermissionRequested(QWebFrame *frame, QWebPage::Feature feature); 406 void featurePermissionRequestCanceled(QWebFrame *frame, QWebPage::Feature feature); 407 408public: 409%If (Qt_5_2_0 -) 410 411 enum VisibilityState 412 { 413 VisibilityStateVisible, 414 VisibilityStateHidden, 415 VisibilityStatePrerender, 416 VisibilityStateUnloaded, 417 }; 418 419%End 420%If (Qt_5_2_0 -) 421 QWebPage::VisibilityState visibilityState() const; 422%End 423%If (Qt_5_2_0 -) 424 void setVisibilityState(QWebPage::VisibilityState); 425%End 426}; 427 428QFlags<QWebPage::FindFlag> operator|(QWebPage::FindFlag f1, QFlags<QWebPage::FindFlag> f2); 429