QGIS API Documentation  2.14.0-Essen
qgsphotowidgetwrapper.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsphotowidgetwrapper.h
3  --------------------------------------
4  Date : 5.1.2014
5  Copyright : (C) 2014 Matthias Kuhn
6  Email : matthias at opengis dot ch
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 
16 #ifndef QGSPHOTOWIDGETWRAPPER_H
17 #define QGSPHOTOWIDGETWRAPPER_H
18 
19 #include "qgseditorwidgetwrapper.h"
20 #include "qgspixmaplabel.h"
21 
22 #include <QLabel>
23 #include <QPushButton>
24 #include <QLineEdit>
25 
26 #ifdef WITH_QTWEBKIT
27 #include <QWebView>
28 #endif
29 
30 
44 {
45  Q_OBJECT
46  public:
47  explicit QgsPhotoWidgetWrapper( QgsVectorLayer* vl, int fieldIdx, QWidget* editor = nullptr, QWidget* parent = nullptr );
48 
49  // QgsEditorWidgetWrapper interface
50  public:
51  QVariant value() const override;
52 
53  protected:
54  QWidget* createWidget( QWidget* parent ) override;
55  void initWidget( QWidget* editor ) override;
56  bool valid() const override;
57 
58  public slots:
59  void setValue( const QVariant& value ) override;
60  void setEnabled( bool enabled ) override;
61 
62  private slots:
63  void selectFileName();
64  void loadPixmap( const QString& fileName );
65 
66  private:
68  QLabel* mPhotoLabel;
71  QgsPixmapLabel* mPhotoPixmapLabel;
72 #ifdef WITH_QTWEBKIT
73  QWebView* mWebView;
75 #endif
76  QLineEdit* mLineEdit;
79  QPushButton* mButton;
80 };
81 
82 #endif // QGSPHOTOWIDGETWRAPPER_H
Manages an editor widget Widget and wrapper share the same parent.
void setEnabled(bool enabled) override
Is used to enable or disable the edit functionality of the managed widget.
virtual bool valid() const =0
Return true if the widget has been properly initialized.
virtual QWidget * createWidget(QWidget *parent)=0
This method should create a new widget with the provided parent.
virtual void initWidget(QWidget *editor)
This method should initialize the editor widget with runtime data.
virtual void setValue(const QVariant &value)=0
Is called, when the value of the widget needs to be changed.
Wraps a photo widget.
virtual QVariant value() const =0
Will be used to access the widget&#39;s value.
Represents a vector layer which manages a vector based data sets.
The QgsPixmapLabel class shows a pixmap and adjusts its size to the space given to the widget by the ...