MainPage   Related pages 
DataBaseWebInterfaceWidget.h
1 
2 //
3 // $Id: DataBaseWebInterfaceWidget.h 3138 2019-12-06 15:58:43Z ansgar.horstmann $
4 // (c) ceapoint aec technologies GmbH
5 //
6 
7 
8 #pragma once
9 
10 #include "desiteCoreGui.h"
11 
12 #include <domainBim/ProjectClosedInfo.h>
13 #include <domainBim/ProjectOpenedInfo.h>
14 
15 namespace Ui {
16  class DataBaseWebInterfaceWidget;
17 }
18 
19 namespace basicGui {
20  class PrintWidget;
21  class TextBrowserProgress;
22 }
23 namespace model {
24  class IGlobalProject;
25 }
26 namespace modelGui {
27  class ExportPreviewWidget;
28 }
29 namespace domainDB {
30  class DataBaseModel;
31 }
32 namespace desiteCore {
33  class NavigatorProject;
34  class NavigatorProjectAPI;
35 }
36 
37 
38 namespace desiteCoreGui
39 {
40 
41  class WebFormsProgressWidget;
42  class CWebPage;
43 
54  class DataBaseWebInterfaceWidget : public QWidget
55  {
56  Q_OBJECT
57 
58  public:
59 
62  DataBaseWebInterfaceWidget(desiteCore::NavigatorProject& navProject, QWidget *parent, Qt::WindowFlags flags = 0);
64 
65  bool getOpeningFlag() const { return _isOpening; }
66  void setOpeningFlag( bool opening ) { _isOpening = opening; }
67 
71  void enableWebInspector(bool enable);
72 
76  void showButtonConsole(bool v);
77 
81  void showButtonPrintByTemplate(bool v);
82 
86  void showTitle(bool v);
87 
91  void toggleConsole();
92 
97  void setupTouchConfig(const QString& footerStylesheet);
98 
103  QWebView* getWebViewPtr();
104 
109  void addOrRenameBookmark(const QString& url, const QString& suggestedName);
110 
115  void updateHomeButtonToolTip();
116 
117 
118  public slots:
119 
120 
121  void lockTable(bool v);
122 
123  void onDbUpdateFinished();
124 
127 #pragma region HEADER, FOOTER, DEBUG CONSOLE
128 
133  void setFooterVisible( bool visible );
134 
138  void setHeaderVisible( bool visible );
139 
143  void showNavigation(bool visible);
144 
148  void showConsole(bool);
149 
151 #pragma endregion
152 
153 
154 #pragma region PRINTING
155 
167  QString createPdfByTemplate(QString templateFileName, QString pdfFileName);
168 
210  void setPaperSize(int paperSize);
211 
218  void setOrientation(int orientation);
219 
225  void setPageMargins(double L, double R, double T, double B);
226 
228  double getPageMarginTop();
230  double getPageMarginBottom();
232  double getPageMarginLeft();
234  double getPageMarginRight();
235 
236  /*
237  Returns logical DPI of your printing device. <br>
238  Standard is 96 DPI.<br>
239  Necessary for printing on devices with different OS scaling.
240 
241  \since 2.4.4, 2019-06-18, th/ah
242  */
243  double getLogicalDpi();
244 
246 #pragma endregion
247 
248 
249 #pragma region DATABASE
250 
262  void processUpdate();
263 
282  void dataChanged();
283 
291  void setImmediateUpdate(bool);
292 
294 #pragma endregion
295 
296 
297 #pragma region URL, PAGE
298 
303  void reloadPage();
304 
308  void loadUrl( QString url );
309 
324  void addSuffix(QString suffix);
325 
329  void resetSuffixList();
330 
334  void clearHistory();
335 
341  void redirectUrl(QString originalUrl, QString redirectUrl) { _redirectURLs.insert(originalUrl, redirectUrl); }
342 
344 #pragma endregion
345 
346 
350  double getZoomFactor();
351 
355  void setZoomFactor(double v);
356 
357 
361  void savePicture();
362 
363 
364 #pragma region PROGRESS
365 
388  void showProgress( const QVariantMap& v );
389 
395  void hideProgress();
396 
402  void clearProgressMessage();
403 
409  void showProgressMessage( const QString& );
410 
416  void showProgressMessageLabel( const QString& );
417 
424  void showProgressValue( double v );
425 
429  void showProgressMessageConsole( QString v );
430 
443  int getProgressState();
444 
448  void processEvents() { QApplication::processEvents(); }
449 
460  void enableInterruptJavaScriptMsg( bool enable );
461 
466  void clearMemoryCaches();
467 
472  void disableObjectCache();
473 
475 #pragma endregion
476 
479  void delegateSimulationActivated(bool);
481  void delegateSimulationDateChanged(QDateTime);
483 
486  private slots:
487 
488  void onLinkClicked( const QUrl& url );
489  void onUrlChanged ( const QUrl & url );
490  void onTitleChanged( const QString& title );
491 
492  void onLoadFinished(bool ok);
493 
494  void onImmediateUpdateChanged(bool);
495  void onImmediateUpdateClicked();
496 
501  void onUrlEntered();
502 
506  void onAddBookmarkClicked();
507 
511  void printPreview(QPrinter*);
512 
513  void onProjectOpened(domainBim::ProjectOpenedInfo);
514  void onProjectClosed(domainBim::ProjectClosedInfo);
515 
516  void populateJavaScriptWindowObject();
517  void printByTemplate(QString templateFN);
518 
519  void updatePrintMenu();
520  void onMenuItemTriggered(QAction* action);
521 
522  void printToPdf();
523 
524  void onAuthenticationRequired( QNetworkReply* reply, QAuthenticator* authenticator );
525  void onProxyAuthenticationRequired( const QNetworkProxy& proxy, QAuthenticator* authenticator );
526  void onSslErrors( QNetworkReply* reply, const QList<QSslError>& errors );
527  void onDownloadRequested( const QNetworkRequest& request );
528  void onUnsupportedContent( QNetworkReply* reply );
529 
530  void showPrintTools();
531 
532  void toggleNavigation();
533 
537  void _clearDebugOutput();
538 
542  void _onContextMenuRequested_DebugOutput(const QPoint& pt);
543 
544  private:
545 
546  void _getData();
547  void _writeData();
548 
549  QString _renderHtmlTemplate(const QString& templateFileName);
550 
551 
552  std::unique_ptr<Ui::DataBaseWebInterfaceWidget> ui;
553 
554  domainDB::DataBaseModel* _dbmodel;
555  desiteCore::NavigatorProject& _navProject;
556  desiteCore::NavigatorProjectAPI* _navProjectAPI;
557 
558  QHash<QString,QString> _currentValues;
559 
560  CWebPage* _page;
561 
562  bool _isOpening;
563  bool _isWritingData;
564 
565  modelGui::ExportPreviewWidget* _exportPreview;
566 
567  QMenu* _printMenu;
568 
569  QHash<QString,PrintTemplateRecord> _printTemplateHash;
570  basicGui::PrintWidget* _printWidget;
571 
572  QStringList _handleLinksByWindowsSuffixList;
573 
574  WebFormsProgressWidget* _progressWidget;
575  basicGui::TextBrowserProgress* _tbProgress;
576 
577  QString _lockIconOpen;
578  QString _lockIconLocked;
579 
580  QHash<QString, QString> _redirectURLs;
581 
582  };
583 
584 }
Definition: DataBaseWebInterfaceWidget.h:15
void showProgressMessageLabel(const QString &)
Definition: DataBaseWebInterfaceWidget.h:23
void processEvents()
Definition: DataBaseWebInterfaceWidget.h:448
Definition: DataBaseWebInterfaceWidget.h:26
Definition: DataBaseWebInterfaceWidget.h:54
Definition: DataBaseWebInterfaceWidget.h:19
Definition: NavigatorProjectAPI.h:34
void redirectUrl(QString originalUrl, QString redirectUrl)
Definition: DataBaseWebInterfaceWidget.h:341
QString createPdfByTemplate(QString templateFileName, QString pdfFileName)
Definition: ProjectAPI.h:16
void setPageMargins(double L, double R, double T, double B)
Definition: DataBaseWebInterfaceWidget.h:29
Definition: DataBaseWebInterfaceWidget.h:38
void showProgress(const QVariantMap &v)

Created: Tue May 5 2020 03:45:29