mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-28 00:17:30 -05:00
If you resize columns, the width will be restored when next opening the attribute table for that layer.
113 lines
3.5 KiB
Plaintext
113 lines
3.5 KiB
Plaintext
class QgsAttributeTableView : QTableView
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsattributetableview.h>
|
|
%End
|
|
|
|
public:
|
|
QgsAttributeTableView( QWidget* parent /TransferThis/ = 0 );
|
|
virtual ~QgsAttributeTableView();
|
|
|
|
virtual void setModel( QgsAttributeTableFilterModel* filterModel );
|
|
|
|
/**
|
|
* @brief setFeatureSelectionManager
|
|
* @param featureSelectionManager We will take ownership
|
|
*/
|
|
void setFeatureSelectionManager( QgsIFeatureSelectionManager* featureSelectionManager );
|
|
|
|
/**
|
|
* This event filter is installed on the verticalHeader to intercept mouse press and release
|
|
* events. These are used to disable / enable live synchronisation with the map canvas selection
|
|
* which can be slow due to recurring canvas repaints.
|
|
*
|
|
* @param object The object which is the target of the event.
|
|
* @param event The intercepted event
|
|
*
|
|
* @return Returns always false, so the event gets processed
|
|
*/
|
|
virtual bool eventFilter( QObject* object, QEvent* event );
|
|
|
|
/**
|
|
* Set the attribute table config which should be used to control
|
|
* the appearance of the attribute table.
|
|
* @note added in QGIS 2.16
|
|
*/
|
|
void setAttributeTableConfig( const QgsAttributeTableConfig& config );
|
|
|
|
protected:
|
|
/**
|
|
* Called for mouse press events on a table cell.
|
|
* Disables selection change for these events.
|
|
*
|
|
* @param event The mouse event
|
|
*/
|
|
void mousePressEvent( QMouseEvent *event );
|
|
|
|
/**
|
|
* Called for mouse release events on a table cell.
|
|
* Disables selection change for these events.
|
|
*
|
|
* @param event The mouse event
|
|
*/
|
|
void mouseReleaseEvent( QMouseEvent *event );
|
|
|
|
/**
|
|
* Called for mouse move events on a table cell.
|
|
* Disables selection change for these events.
|
|
*
|
|
* @param event The mouse event
|
|
*/
|
|
void mouseMoveEvent( QMouseEvent *event );
|
|
|
|
/**
|
|
* Called for key press events
|
|
* Disables selection change by only pressing an arrow key
|
|
*
|
|
* @param event The mouse event
|
|
*/
|
|
void keyPressEvent( QKeyEvent *event );
|
|
|
|
/**
|
|
* @brief
|
|
* Is called when the context menu will be shown. Emits a @link willShowContextMenu @endlink signal,
|
|
* so the menu can be populated by other parts of the application.
|
|
*
|
|
* @param event The associated event object.
|
|
*/
|
|
void contextMenuEvent( QContextMenuEvent* event );
|
|
|
|
/**
|
|
* Saves geometry to the settings on close
|
|
* @param event not used
|
|
*/
|
|
void closeEvent( QCloseEvent *event );
|
|
|
|
signals:
|
|
/**
|
|
* @brief
|
|
* Is emitted, in order to provide a hook to add aditional menu entries to the context menu.
|
|
*
|
|
* @param menu If additional QMenuItems are added, they will show up in the context menu.
|
|
* @param atIndex The QModelIndex, to which the context menu belongs. Relative to the source model.
|
|
* In most cases, this will be a @link QgsAttributeTableFilterModel @endlink
|
|
*/
|
|
void willShowContextMenu( QMenu* menu, const QModelIndex& atIndex );
|
|
|
|
void finished();
|
|
|
|
/** Emitted when a column in the view has been resized.
|
|
* @param column column index (starts at 0)
|
|
* @param width new width in pixel
|
|
* @note added in QGIS 2.16
|
|
*/
|
|
void columnResized( int column, int width );
|
|
|
|
public slots:
|
|
void repaintRequested( const QModelIndexList& indexes );
|
|
void repaintRequested();
|
|
virtual void selectAll();
|
|
virtual void selectRow( int row );
|
|
virtual void _q_selectRow( int row );
|
|
};
|