/usr/include/qgis/qgsattributedialog.h is in libqgis-dev 2.4.0-1+b1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | /***************************************************************************
qgsattributedialog.h - description
-------------------
begin : October 2004
copyright : (C) 2004 by Marco Hugentobler
email : marco.hugentobler@autoform.ch
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef QGSATTRIBUTEDIALOG_H
#define QGSATTRIBUTEDIALOG_H
#include "qgsfeature.h"
#include "qgsattributeeditorcontext.h"
#include "qgsattributeform.h"
#include <QDialog>
#include <QPointer>
class QLayout;
class QgsDistanceArea;
class QgsFeature;
class QgsField;
class QgsHighlight;
class QgsVectorLayer;
class QgsVectorLayerTools;
class GUI_EXPORT QgsAttributeDialog : public QObject
{
Q_OBJECT
public:
/**
* Create an attribute dialog for a given layer and feature
*
* @param vl The layer for which the dialog will be generated
* @param thepFeature A feature for which the dialog will be generated
* @param featureOwner Set to true, if the dialog should take ownership of the feature
* @param myDa A QgsDistanceArea which will be used for expressions
* @param parent A parent widget for the dialog
* @param showDialogButtons True: Show the dialog buttons accept/cancel
*
* @deprecated
*/
QgsAttributeDialog( QgsVectorLayer *vl, QgsFeature *thepFeature, bool featureOwner, QgsDistanceArea myDa, QWidget* parent = 0, bool showDialogButtons = true );
/**
* Create an attribute dialog for a given layer and feature
*
* @param vl The layer for which the dialog will be generated
* @param thepFeature A feature for which the dialog will be generated
* @param featureOwner Set to true, if the dialog should take ownership of the feature
* @param parent A parent widget for the dialog
* @param showDialogButtons True: Show the dialog buttons accept/cancel
* @param context The context in which this dialog is created
*
*/
QgsAttributeDialog( QgsVectorLayer *vl, QgsFeature *thepFeature, bool featureOwner, QWidget* parent = 0, bool showDialogButtons = true, QgsAttributeEditorContext context = QgsAttributeEditorContext() );
~QgsAttributeDialog();
/** Saves the size and position for the next time
* this dialog box will be used.
*/
void saveGeometry();
/** Restores the size and position from the last time
* this dialog box was used.
*/
void restoreGeometry();
/**
* @brief setHighlight
* @param h The highlight. Ownership is taken.
*/
void setHighlight( QgsHighlight *h );
QDialog *dialog() { return mDialog; }
QgsAttributeForm* attributeForm() { return mAttributeForm; }
const QgsFeature* feature() { return &mAttributeForm->feature(); }
/**
* Is this dialog editable?
*
* @return returns true, if this dialog was created in an editable manner.
*/
bool editable() { return mAttributeForm->editable(); }
/**
* Toggles the form mode between edit feature and add feature.
* If set to true, the dialog will be editable even with an invalid feature.
* If set to true, the dialog will add a new feature when the form is accepted.
*
* @param isAddDialog If set to true, turn this dialog into an add feature dialog.
*/
void setIsAddDialog( bool isAddDialog ) { mAttributeForm->setIsAddDialog( isAddDialog ); }
/**
* Sets the edit command message (Undo) that will be used when the dialog is accepted
*
* @param message The message
*/
void setEditCommandMessage( const QString& message ) { mAttributeForm->setEditCommandMessage( message ); }
public slots:
void accept();
//! Show the dialog and block the application until the dialog is closed. Ownership of this object is not changed.
int exec();
//! Show the dialog non-blocking. Reparents this dialog to be a child of the dialog form and is deleted when
//! closed.
void show();
protected:
bool eventFilter( QObject *obj, QEvent *e );
private slots:
void onDialogFinished( int result );
private:
void init( QgsVectorLayer* layer, QgsFeature* feature, QgsAttributeEditorContext& context, QWidget* parent );
// Using a guarded pointer we can savely delete the dialog in the destructor even
// when the dialog is this object's parent
QPointer<QDialog> mDialog;
QString mSettingsPath;
// Used to sync multiple widgets for the same field
QgsHighlight *mHighlight;
int mFormNr;
bool mShowDialogButtons;
QString mReturnvarname;
QgsAttributeForm* mAttributeForm;
// true if this dialog is editable
bool mEditable;
static int sFormCounter;
static QString sSettingsPath;
};
#endif
|