21#ifndef QGSBROWSERDOCKWIDGET_P_H
22#define QGSBROWSERDOCKWIDGET_P_H
35#include "ui_qgsbrowserdirectorypropertiesbase.h"
36#include "ui_qgsbrowserlayerpropertiesbase.h"
37#include "ui_qgsbrowserpropertiesdialogbase.h"
43#include <QSortFilterProxyModel>
49class QgsDockBrowserTreeView;
58class QgsBrowserPropertiesWrapLabel :
public QTextEdit
67 QgsBrowserPropertiesWrapLabel(
const QString &text, QWidget *parent =
nullptr );
70 void adjustHeight( QSizeF size );
76class QgsBrowserPropertiesWidget :
public QWidget
84 explicit QgsBrowserPropertiesWidget( QWidget *parent =
nullptr );
86 static QgsBrowserPropertiesWidget *createWidget( QgsDataItem *item,
const QgsDataItemGuiContext &context, QWidget *parent =
nullptr );
88 virtual void setItem( QgsDataItem *item ) { Q_UNUSED( item ); }
90 virtual void setWidget( QWidget *widget );
97 virtual void setCondensedMode(
bool condensedMode ) { Q_UNUSED( condensedMode ) }
103class QgsBrowserLayerProperties :
public QgsBrowserPropertiesWidget,
private Ui::QgsBrowserLayerPropertiesBase
111 explicit QgsBrowserLayerProperties( QWidget *parent =
nullptr );
113 void setItem( QgsDataItem *item )
override;
120 void setCondensedMode(
bool condensedMode )
override;
124 void urlClicked(
const QUrl &url );
127 void loadAttributeTable();
129 std::unique_ptr<QgsMapLayer> mLayer;
130 QgsAttributeTableFilterModel *mAttributeTableFilterModel =
nullptr;
136class QgsBrowserDirectoryProperties :
public QgsBrowserPropertiesWidget,
private Ui::QgsBrowserDirectoryPropertiesBase
144 explicit QgsBrowserDirectoryProperties( QWidget *parent =
nullptr );
147 void setItem( QgsDataItem *item )
override;
150 QgsDirectoryParamWidget *mDirectoryWidget =
nullptr;
151 QgsBrowserPropertiesWrapLabel *mPathLabel =
nullptr;
157class GUI_EXPORT QgsBrowserPropertiesDialog :
public QDialog,
private Ui::QgsBrowserPropertiesDialogBase
166 QgsBrowserPropertiesDialog(
const QString &settingsSection, QWidget *parent =
nullptr );
169 void setItem( QgsDataItem *item,
const QgsDataItemGuiContext &context );
172 QgsBrowserPropertiesWidget *mPropertiesWidget =
nullptr;
173 QString mSettingsSection;
194 explicit QgsDockBrowserTreeView( QWidget *parent );
196 void dragEnterEvent( QDragEnterEvent *e )
override;
198 void dragMoveEvent( QDragMoveEvent *e )
override;
200 void dropEvent( QDropEvent *e )
override;
203 void setAction( QDropEvent *e );
A model for showing available data sources and other items in a structured tree.
Extends QTreeView with save/restore tree state and other browser-specific functionality.
Base class for all items in the model.
A browser item that represents a layer that can be opened with one of the providers.