149 Commits

Author SHA1 Message Date
Patrick Valsecchi
e533f0ccf8 Add widget to edit QVariantMap 2016-09-08 11:11:08 +02:00
Patrick Valsecchi
7169079f91 Smarter default edit widgets with plugins to pick them
Now the widgets factories can give a score on how good they could handle
a widget.

Additionaly, plugins can be added to choose a widget factory in function
of an external information. One of them uses a table in PostgresQL to
allow specification of the widget type and configuration.

I took the opportunity to remove a few deprecated method in relation to
this.
2016-09-05 14:22:17 +02:00
Matthias Kuhn
a529b448e7 Revert "Merge pull request #3338 from pvalsecc/editor_widgets_selection"
This reverts commit bbafbf48872eda48a2be8876cc89a0770552c6ad, reversing
changes made to 13ac0434e10fc7edd1eca665ea7c8b6cb5fd212d.
2016-08-29 19:22:04 +02:00
Matthias Kuhn
b1448233e9 Move QgsMapLayerProxyModel and QgsMapLayerProxyModel to core
Because it's also useful for non-widget applications
2016-08-29 18:43:20 +02:00
Patrick Valsecchi
24bde35ce6 Smarter default edit widgets with plugins to pick them
Now the widgets factories can give a score on how good they could handle
a widget.

Additionaly, plugins can be added to choose a widget factory in function
of an external information. One of them uses a table in PostgresQL to
allow specification of the widget type and configuration.

I took the opportunity to remove a few deprecated method in relation to
this.
2016-08-29 07:42:50 +02:00
Nyall Dawson
7413db79b0 Rename color ramp dialogs to match new ramp class names 2016-08-24 21:01:03 +10:00
Nyall Dawson
8f4ca47b70 New QgsExpressionLineEdit widget
Consists of a filter line edit + button to open expression builder

This widget is a bit like the existing QgsFieldExpressionWidget,
but for cases where a combo box does not make sense. Eg, when
no fields are available for the expression to use.

It also has an optional multiline mode, which allows it to be
used in place of the full-blown QgsExpressionBuilderWidget when
space is a problem.
2016-08-22 08:39:33 +10:00
Juergen E. Fischer
3f22a7a77f another scripts/replacev2.sh with minor manual fixes 2016-08-10 12:12:28 +02:00
Martin Dobias
b4fe9002d8 [FEATURE] API to allow drag'n'drop of custom browser items
QgsDataItem implementations may provide hasDragEnabled(), mimeUri()
and QgsCustomDropHandler implementation to deal with drop of custom items.
2016-08-09 08:49:42 +02:00
Denis Rouzaud
f2c3fb003e renamed QgsSymbolLevelsV2Dialog to QgsSymbolLevelsDialog 2016-08-05 08:22:43 +02:00
Denis Rouzaud
275736de92 removed V2 from QgsSymbolV2* 2016-08-05 08:22:21 +02:00
Denis Rouzaud
c16d1393a2 removed V2 from QgsSymbolLayerV2* 2016-08-05 08:18:01 +02:00
Denis Rouzaud
3e197ae74a remove QgsColorButton in favor of V2 2016-08-04 14:27:31 +02:00
Martin Dobias
ab4a83b49b Goodbye to QgsMapRenderer (#3333)
For the time being the class is kept in the server code while it is still being used there.
2016-07-24 22:40:52 +02:00
Nyall Dawson
185ad05102 Remove deprecated QgsDataDefinedSymbolDialog class (#3315)
It's not used anymore, and QgsDataDefinedButton should be used
in its place.
2016-07-20 21:18:20 +10:00
Nyall Dawson
39b3e721bb Replace QgsNumericSortTreeWidgetItem with upgraded QgsTreeWidgetItem
QgsNumericSortTreeWidgetItem had a giant TODO saying "make it work".
This makes it work, and adds some other useful features like
being able to specify custom sort value and force items to always
sort on top.
2016-07-19 09:30:23 +10:00
Nathan
e097443771 Fix globe plugin 2016-07-07 10:27:04 +10:00
Nathan
fdf16e3c92 Rename QgsLayerStylingPanelFactory to QgsMapLayerConfigWidgetFactory
- Move QgsMapLayerPropertiesFactory into single factory object for
  dock and properties
2016-07-06 23:03:43 +10:00
Nathan Woodrow
e926e2d0aa [style dock] Add better API for panels 2016-06-13 18:07:39 +10:00
Nyall Dawson
cb4dacfebc Fix style dock button not synced to dock state (fix #14862)
Add a new class QgsDockWidget which has finer control over setting
and retrieving the dock visibility, to account for dock widgets
which are open but hidden by other docks
2016-06-09 11:01:56 +10:00
Martin Dobias
9c7dbb9e09 [FEATURE] Layer tree embedded widgets
This allows definition of widgets embedded into layer tree for individual layers in the layer properties dialog (in new Legend tab). The idea is to have a way to quickly access to some actions that are often used with a layer.

The implementation comes with transparency widget, in the future there may be more standard widgets coming, e.g. to setup filtering, selection, style or other stuff. The API allows plugins to register their own widgets, which will be useful for various domain specific plugins to assign custom widgets to layers they manage.
2016-06-03 10:32:55 +02:00
Nathan Woodrow
47916d0269 [styledock] Inline panels for renderers 2016-06-03 12:43:35 +10:00
Nathan Woodrow
9d780bac1b [styledock] Add saved style manager 2016-06-03 11:07:13 +10:00
Martin Dobias
301fd985af Added python bindings 2016-06-02 23:16:17 +02:00
Sandro Mani
45c0ef02bc Merge pull request #3122 from manisandro/arcgis_rest
Add provider for ArcGIS Map and Feature REST services
2016-06-02 14:38:44 +02:00
Sandro Mani
1f02d4a43d Add QgsSourceSelectDialog python bindings 2016-06-02 13:36:08 +02:00
Nathan Woodrow
7433d32e87 [Style Dock] Add interface for plugins to add panels to dock 2016-06-02 20:51:38 +10:00
Nyall Dawson
e0c87ffe6b [FEATURE] Move QgsShortcutsManager, QgsConfigureShortcutsDialog to gui
This allows plugins to reuse the shortcuts manager if they
want to add the ability for users to customise their shortcut
key sequences.

The shortcut manager has been extended to also handle customisation
of QShortcut objects as well as QActions.
2016-06-02 10:25:16 +10:00
Sandro Mani
87121d63a8 Merge pull request #3126 from manisandro/globe
Revived globe, compatible with OsgEarth 2.7
2016-05-29 23:51:58 +02:00
Nathan Woodrow
17b48563a5 [renderer] Live hillshade renderer for raster layers
Thanks to Asger Skovbo Petersen (@AsgerPetersen) for the idea and fixes
Thanks to Nyall for reviews and bug fixes
2016-05-28 21:01:33 +10:00
Sandro Mani
90887f460f Revived globe, compatible with OsgEarth 2.7 2016-05-28 10:09:34 +02:00
Nyall Dawson
9f325df9c7 Search widget wrapper for relation reference widget 2016-05-25 15:41:04 +10:00
Nyall Dawson
026e352cd9 [FEATURE] Add a search widget wrapper for datetime widgets 2016-05-24 00:26:15 +10:00
Nyall Dawson
195b4dee5a [FEATURE] Add search widget wrapper for check box widget 2016-05-24 00:26:14 +10:00
Nyall Dawson
ca5c7e2cd4 [FEATURE] Form based select/filter in attribute table
This commit adds a new mode to the attribute table dialog for searching
and filtering features. When activated (using a button on the toolbar
or by pressng CTRL+F), the dialog will switch to form view and all
widgets are replaced with their search widget wrapper variant.

Alongside each widget is a tool button with options for controlling
the search/filter behaviour for that field, eg "equal to", "not equal
to", "is null", "greater than", etc.., with the options presented
matching themselves to the corresponding field and widget type.

New buttons appear at the bottom of the form for either selecting
matching features (with options for add to selection/remove from
selection/select within current selection) or filtering features
in the table (with options for adding features to a current filter
or further restricting a current filter).

Sponsored by SIGE
2016-05-24 00:26:14 +10:00
Nathan
3ace8e62fd [Style dock] Add support for raster layers 2016-05-22 20:45:24 +10:00
Matthias Kuhn
8c402bcf42 Remove child features when parent's add feature form is cancelled 2016-05-17 06:35:55 +02:00
Nyall Dawson
881be0f365 [FEATURE] New reusable interactive widget for editing gradient ramps
Supports:

- drag to move color stops
- double clicking to add a new stop
- pressing delete will remove the selected stop
- pressing arrow keys will move the selected stop, shift+arrow= larger
  move
- drag and drop a color onto the widget to add a new stop

Sponsored by North Road
2016-05-12 21:03:51 +10:00
Nyall Dawson
77fc122bed Move internals of QgsColorDialogV2 to new QgsCompoundColorWidget widget
This allows reuse of the full options from the color dialog when
required in a widget form.
2016-05-12 20:52:16 +10:00
Nyall Dawson
56783c915e Merge pull request #3051 from nyalldawson/cad_fixes
Improvements and fixes to advanced digitising dock
2016-05-09 21:38:37 +10:00
Matthias Kuhn
ff4ad50809 Rename QgsFilterTableFields to QgsOrganizeTableColumns 2016-05-02 18:25:57 +02:00
Stéphane Brunner
d4ccc77f27 Add a possibility to hide a column in the attribute table 2016-05-02 18:25:56 +02:00
Nyall Dawson
5654886933 New class QgsFocusWatcher for easier handling of focus events
Usually QObjects must subclass and override methods like focusOutEvent
to handle focus events. Using this class as an event filter avoids
the need to subclass objects and the focus events can be directly
caught using the emitted signals.
2016-05-02 21:50:40 +10:00
Even Rouault
3ba86d48a9 Add a 'Layer / Create Layer / Create GeoPackage layer' menu item 2016-04-23 19:36:16 +02:00
Hugo Mercier
34b7ebc2b5 Add a new "arrow" symbol layer
The "arrow" symbol layer is a symbol layer allowing to draw straight
or curved arrows from a line layer.
2016-04-18 11:36:12 +02:00
Nyall Dawson
66b51d4a81 [FEATURE] Edit attributes of multiple features simultaneously
This change allows the attributes of multiple features to be edited
simultaneously. It is enabled when the attribute table dialog is in
"form mode", via a new "multi edit" button on the toolbar.

In this mode, attribute value changes will apply to all selected
features. New widgets appear next to each editor widget allowing for
display of the current multi-edit state and for rolling back changes
on a field-by-field basis.

Changes are made as a single edit command, so pressing undo will
rollback the attribute changes for all selected features at once.

Multiedit mode is only available for auto generated and drag and
drop forms - it is not supported by custom ui forms.

Sponsored by Kanton Basel Stadt
2016-04-18 15:15:11 +10:00
Nyall Dawson
1b4bd47076 [composer] New QSortFilterProxyModel for filtering items by type
and new widget QgsComposerItemComboBox for showing matching composer
items.

Swap existing comboboxes to use the new widget, which removes a lot
of fragile code designed to allow selection of items. Additionally
the combobox now show the correct item id rather than always showing
"Map 0/1/..."
2016-04-09 09:38:09 +10:00
Nyall Dawson
d464f86290 [FEATURE] Null ("No symbol") renderer
Using this renderer no symbol will be drawn for features, but labeling,
diagrams and other non-symbol parts will still be shown.

Selections can still be made on the layer in the canvas and selected
features will be rendered with a default symbol. Features being edited
will also be shown.

This is intended as a handy shortcut for layers which you only want
to show labels or diagrams for, and avoids the need to render
symbols with totally transparent fill/border to achieve this.

(fix #12131)
2016-04-06 20:55:26 +10:00
Matthias Kuhn
b1aa20b50c Add QgsTableWidgetItem for easier sorting of checkbox tables 2016-03-29 08:29:00 +02:00
Denis Rouzaud
a1705ad652 order include in sip files 2016-01-15 15:28:03 +01:00