[QGIS Commit] r13729 - trunk/qgis/python/plugins/fTools/tools
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Sun Jun 13 18:46:00 EDT 2010
Author: cfarmer
Date: 2010-06-13 22:46:00 +0000 (Sun, 13 Jun 2010)
New Revision: 13729
Modified:
trunk/qgis/python/plugins/fTools/tools/doGeoprocessing.py
trunk/qgis/python/plugins/fTools/tools/frmGeoprocessing.ui
Log:
adds spin box to choose the number of nodes to approximate a circle for the buffer tool
Modified: trunk/qgis/python/plugins/fTools/tools/doGeoprocessing.py
===================================================================
--- trunk/qgis/python/plugins/fTools/tools/doGeoprocessing.py 2010-06-13 22:06:25 UTC (rev 13728)
+++ trunk/qgis/python/plugins/fTools/tools/doGeoprocessing.py 2010-06-13 22:46:00 UTC (rev 13729)
@@ -24,7 +24,7 @@
self.cancel_close = self.buttonBox_2.button( QDialogButtonBox.Close )
self.buttonOk = self.buttonBox_2.button( QDialogButtonBox.Ok )
self.progressBar.setValue (0 )
-
+
def checkA( self ):
inputLayer = unicode( self.inShapeA.currentText() )
if inputLayer != "":
@@ -33,7 +33,7 @@
self.useSelectedA.setCheckState( Qt.Checked )
else:
self.useSelectedA.setCheckState( Qt.Unchecked )
-
+
def checkB( self ):
inputLayer = unicode( self.inShapeB.currentText() )
if inputLayer != "":
@@ -42,7 +42,7 @@
self.useSelectedB.setCheckState( Qt.Checked )
else:
self.useSelectedB.setCheckState( Qt.Unchecked )
-
+
def update( self ):
self.attrib.clear()
inputLayer = unicode( self.inShapeA.currentText() )
@@ -53,7 +53,7 @@
self.attrib.addItem( unicode( changedField[i].name() ) )
if self.myFunction == 4:
self.attrib.addItem( "--- " + self.tr( "Dissolve all" ) + " ---" )
-
+
def accept( self ):
if self.inShapeA.currentText() == "":
QMessageBox.warning( self, self.tr("Geoprocessing"), self.tr( "Please specify an input layer" ) )
@@ -77,24 +77,24 @@
else:
self.outShape.clear()
if self.attrib.isEnabled():
- self.geoprocessing( self.inShapeA.currentText(), self.inShapeB.currentText(),
+ self.geoprocessing( self.inShapeA.currentText(), self.inShapeB.currentText(),
unicode( self.attrib.currentText() ), self.mergeOutput.checkState(), self.useSelectedA.checkState(),
- self.useSelectedB.checkState() )
+ self.useSelectedB.checkState(), self.spnSegments.value() )
else:
if self.param.isEnabled() and self.param.isVisible():
parameter = float( self.param.text() )
else:
parameter = None
- self.geoprocessing( self.inShapeA.currentText(), self.inShapeB.currentText(),
- parameter, self.mergeOutput.checkState(), self.useSelectedA.checkState(), self.useSelectedB.checkState() )
-
+ self.geoprocessing( self.inShapeA.currentText(), self.inShapeB.currentText(),
+ parameter, self.mergeOutput.checkState(), self.useSelectedA.checkState(), self.useSelectedB.checkState(), self.spnSegments.value() )
+
def outFile( self ):
self.outShape.clear()
( self.shapefileName, self.encoding ) = ftools_utils.saveDialog( self )
if self.shapefileName is None or self.encoding is None:
return
self.outShape.setText( QString( self.shapefileName ) )
-
+
def manageGui( self ):
if self.myFunction == 1: # Buffer
self.label_2.hide()
@@ -110,6 +110,8 @@
self.rdoField.setText( self.tr( "Create convex hulls based on input field" ) )
self.label_4.hide()
self.param.hide()
+ self.lblSegments.hide()
+ self.spnSegments.hide()
self.setWindowTitle( self.tr( "Convex hull(s)" ) )
self.mergeOutput.hide()
elif self.myFunction == 4: # Dissolve
@@ -121,6 +123,8 @@
self.param.hide()
self.rdoField.hide()
self.mergeOutput.hide()
+ self.lblSegments.hide()
+ self.spnSegments.hide()
self.setWindowTitle( self.tr( "Dissolve" ) )
else:
self.rdoBuffer.hide()
@@ -129,6 +133,8 @@
self.rdoField.hide()
self.attrib.hide()
self.mergeOutput.hide()
+ self.lblSegments.hide()
+ self.spnSegments.hide()
if self.myFunction == 3: # Difference
self.label_2.setText( self.tr( "Difference layer" ) )
self.setWindowTitle( self.tr( "Difference" ) )
@@ -149,7 +155,7 @@
myListB = []
self.inShapeA.clear()
self.inShapeB.clear()
-
+
if self.myFunction == 5 or self.myFunction == 8 or self.myFunction == 3:
myListA = ftools_utils.getLayerNames( [ QGis.Point, QGis.Line, QGis.Polygon ] )
myListB = ftools_utils.getLayerNames( [ QGis.Polygon ] )
@@ -175,15 +181,15 @@
#7: Symetrical Difference
#8: Clip
- def geoprocessing( self, myLayerA, myLayerB, myParam, myMerge, mySelectionA, mySelectionB ):
+ def geoprocessing( self, myLayerA, myLayerB, myParam, myMerge, mySelectionA, mySelectionB, mySegments ):
check = QFile( self.shapefileName )
if check.exists():
if not QgsVectorFileWriter.deleteShapeFile( self.shapefileName ):
QMessageBox.warning( self, self.tr("Geoprocessing"), self.tr( "Unable to delete existing shapefile." ) )
return
self.buttonOk.setEnabled( False )
- self.testThread = geoprocessingThread( self.iface.mainWindow(), self, self.myFunction, myLayerA,
- myLayerB, myParam, myMerge, mySelectionA, mySelectionB, self.shapefileName, self.encoding )
+ self.testThread = geoprocessingThread( self.iface.mainWindow(), self, self.myFunction, myLayerA,
+ myLayerB, myParam, myMerge, mySelectionA, mySelectionB, mySegments, self.shapefileName, self.encoding )
QObject.connect( self.testThread, SIGNAL( "runFinished(PyQt_PyObject)" ), self.runFinishedFromThread )
QObject.connect( self.testThread, SIGNAL( "runStatus(PyQt_PyObject)" ), self.runStatusFromThread )
QObject.connect( self.testThread, SIGNAL( "runRange(PyQt_PyObject)" ), self.runRangeFromThread )
@@ -191,11 +197,11 @@
QObject.connect( self.cancel_close, SIGNAL( "clicked()" ), self.cancelThread )
self.testThread.start()
return True
-
+
def cancelThread( self ):
self.testThread.stop()
self.buttonOk.setEnabled( True )
-
+
def runFinishedFromThread( self, results ):
self.testThread.stop()
self.buttonOk.setEnabled( True )
@@ -226,16 +232,16 @@
if addToTOC == QMessageBox.Yes:
if not ftools_utils.addShapeToCanvas( unicode( self.shapefileName ) ):
QMessageBox.warning( self, self.tr("Geoprocessing"), self.tr( "Error loading output shapefile:\n%1" ).arg( unicode( self.shapefileName ) ))
-
+
def runStatusFromThread( self, status ):
self.progressBar.setValue( status )
-
+
def runRangeFromThread( self, range_vals ):
self.progressBar.setRange( range_vals[ 0 ], range_vals[ 1 ] )
-
+
class geoprocessingThread( QThread ):
- def __init__( self, parentThread, parentObject, function, myLayerA, myLayerB,
- myParam, myMerge, mySelectionA, mySelectionB, myName, myEncoding ):
+ def __init__( self, parentThread, parentObject, function, myLayerA, myLayerB,
+ myParam, myMerge, mySelectionA, mySelectionB, mySegments, myName, myEncoding ):
QThread.__init__( self, parentThread )
self.parent = parentObject
self.running = False
@@ -246,9 +252,10 @@
self.myMerge = myMerge
self.mySelectionA = mySelectionA
self.mySelectionB = mySelectionB
+ self.mySegments = int( mySegments )
self.myName = myName
self.myEncoding = myEncoding
-
+
def run( self ):
self.running = True
self.vlayerA = ftools_utils.getVectorLayerByName( self.myLayerA )
@@ -276,10 +283,10 @@
geos, feature, match = self.clip()
self.emit( SIGNAL( "runFinished(PyQt_PyObject)" ), (geos, feature, match, error) )
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), 0 )
-
+
def stop(self):
self.running = False
-
+
def buffering( self, useField ):
GEOS_EXCEPT = True
FEATURE_EXCEPT = True
@@ -287,7 +294,7 @@
allAttrs = vproviderA.attributeIndexes()
vproviderA.select( allAttrs )
fields = vproviderA.fields()
- writer = QgsVectorFileWriter( self.myName, self.myEncoding,
+ writer = QgsVectorFileWriter( self.myName, self.myEncoding,
fields, QGis.WKBPolygon, vproviderA.crs() )
outFeat = QgsFeature()
inFeat = QgsFeature()
@@ -311,7 +318,7 @@
value = self.myParam
inGeom = QgsGeometry( inFeat.geometry() )
try:
- outGeom = inGeom.buffer( float( value ), 5 )
+ outGeom = inGeom.buffer( float( value ), self.mySegments )
if first:
tempGeom = QgsGeometry( outGeom )
first = False
@@ -341,7 +348,7 @@
value = self.myParam
inGeom = QgsGeometry( inFeat.geometry() )
try:
- outGeom = inGeom.buffer( float( value ), 5 )
+ outGeom = inGeom.buffer( float( value ), self.mySegments )
try:
outFeat.setGeometry( outGeom )
outFeat.setAttributeMap( atMap )
@@ -370,7 +377,7 @@
value = self.myParam
inGeom = QgsGeometry( inFeat.geometry() )
try:
- outGeom = inGeom.buffer( float( value ), 5 )
+ outGeom = inGeom.buffer( float( value ), self.mySegments )
if first:
tempGeom = QgsGeometry( outGeom )
first = False
@@ -401,7 +408,7 @@
value = self.myParam
inGeom = QgsGeometry( inFeat.geometry() )
try:
- outGeom = inGeom.buffer( float( value ), 5 )
+ outGeom = inGeom.buffer( float( value ), self.mySegments )
try:
outFeat.setGeometry( outGeom )
outFeat.setAttributeMap( atMap )
@@ -416,7 +423,7 @@
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), nElement )
del writer
return GEOS_EXCEPT, FEATURE_EXCEPT, True
-
+
def convex_hull(self, useField ):
GEOS_EXCEPT = True
FEATURE_EXCEPT = True
@@ -424,14 +431,14 @@
allAttrsA = vproviderA.attributeIndexes()
vproviderA.select(allAttrsA)
fields = vproviderA.fields()
- writer = QgsVectorFileWriter( self.myName, self.myEncoding,
+ writer = QgsVectorFileWriter( self.myName, self.myEncoding,
fields, QGis.WKBPolygon, vproviderA.crs() )
inFeat = QgsFeature()
outFeat = QgsFeature()
inGeom = QgsGeometry()
outGeom = QgsGeometry()
nElement = 0
-
+
# there is selection in input layer
if self.mySelectionA:
nFeat = self.vlayerA.selectedFeatureCount()
@@ -501,7 +508,7 @@
first = True
outID = 0
vproviderA.select( allAttrsA )#, rect )
- vproviderA.rewind()
+ #vproviderA.rewind()
while vproviderA.nextFeature( inFeat ):
atMap = inFeat.attributeMap()
idVar = atMap[ self.myParam ]
@@ -531,7 +538,7 @@
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), 0 )
self.emit( SIGNAL( "runRange(PyQt_PyObject)" ), ( 0, nFeat ) )
hull = []
- vproviderA.rewind()
+ #vproviderA.rewind()
vproviderA.select(allAttrsA)
while vproviderA.nextFeature( inFeat ):
inGeom = QgsGeometry( inFeat.geometry() )
@@ -548,14 +555,14 @@
GEOS_EXCEPT = False
del writer
return GEOS_EXCEPT, FEATURE_EXCEPT, True
-
+
def dissolve( self, useField ):
GEOS_EXCEPT = True
FEATURE_EXCEPT = True
vproviderA = self.vlayerA.dataProvider()
allAttrsA = vproviderA.attributeIndexes()
fields = vproviderA.fields()
- writer = QgsVectorFileWriter( self.myName, self.myEncoding,
+ writer = QgsVectorFileWriter( self.myName, self.myEncoding,
fields, vproviderA.geometryType(), vproviderA.crs() )
inFeat = QgsFeature()
outFeat = QgsFeature()
@@ -685,7 +692,7 @@
writer.addFeature( outFeat )
del writer
return GEOS_EXCEPT, FEATURE_EXCEPT, True
-
+
def difference( self ):
GEOS_EXCEPT = True
FEATURE_EXCEPT = True
@@ -703,7 +710,7 @@
crs_match = None
else:
crs_match = crsA == crsB
- writer = QgsVectorFileWriter( self.myName, self.myEncoding,
+ writer = QgsVectorFileWriter( self.myName, self.myEncoding,
fields, vproviderA.geometryType(), vproviderA.crs() )
inFeatA = QgsFeature()
inFeatB = QgsFeature()
@@ -842,7 +849,7 @@
continue
del writer
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match
-
+
def intersect( self ):
GEOS_EXCEPT = True
FEATURE_EXCEPT = True
@@ -864,7 +871,7 @@
if not longNames.isEmpty():
message = QString( 'Following field names are longer than 10 characters:\n%1' ).arg( longNames.join( '\n' ) )
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match, message
- writer = QgsVectorFileWriter( self.myName, self.myEncoding,
+ writer = QgsVectorFileWriter( self.myName, self.myEncoding,
fields, vproviderA.geometryType(), vproviderA.crs() )
if writer.hasError():
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match, writer.errorMessage()
@@ -984,7 +991,7 @@
geom = QgsGeometry( inFeatA.geometry() )
atMapA = inFeatA.attributeMap()
intersects = index.intersects( geom.boundingBox() )
- for id in intersects:
+ for id in intersects:
vproviderB.featureAtId( int( id ), inFeatB , True, allAttrsB )
tmpGeom = QgsGeometry( inFeatB.geometry() )
try:
@@ -1010,7 +1017,7 @@
del writer
print crs_match
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match, None
-
+
def union( self ):
GEOS_EXCEPT = True
FEATURE_EXCEPT = True
@@ -1032,7 +1039,7 @@
if not longNames.isEmpty():
message = QString( 'Following field names are longer than 10 characters:\n%1' ).arg( longNames.join( '\n' ) )
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match, message
- writer = QgsVectorFileWriter( self.myName, self.myEncoding,
+ writer = QgsVectorFileWriter( self.myName, self.myEncoding,
fields, vproviderA.geometryType(), vproviderA.crs() )
if writer.hasError():
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match, writer.errorMessage()
@@ -1144,7 +1151,7 @@
nElement += 1
del writer
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match, None
-
+
def symetrical_difference( self ):
GEOS_EXCEPT = True
FEATURE_EXCEPT = True
@@ -1166,7 +1173,7 @@
if not longNames.isEmpty():
message = QString( 'Following field names are longer than 10 characters:\n%1' ).arg( longNames.join( '\n' ) )
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match, message
- writer = QgsVectorFileWriter( self.myName, self.myEncoding,
+ writer = QgsVectorFileWriter( self.myName, self.myEncoding,
fields, vproviderA.geometryType(), vproviderA.crs() )
if writer.hasError():
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match, writer.errorMessage()
@@ -1237,7 +1244,7 @@
continue
del writer
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match, None
-
+
def clip( self ):
GEOS_EXCEPT = True
FEATURE_EXCEPT = True
@@ -1255,7 +1262,7 @@
else:
crs_match = crsA == crsB
fields = vproviderA.fields()
- writer = QgsVectorFileWriter( self.myName, self.myEncoding,
+ writer = QgsVectorFileWriter( self.myName, self.myEncoding,
fields, vproviderA.geometryType(), vproviderA.crs() )
inFeatA = QgsFeature()
inFeatB = QgsFeature()
@@ -1410,7 +1417,7 @@
continue
except:
GEOS_EXCEPT = False
- continue
+ continue
# we have no selection in overlay layer
else:
while vproviderA.nextFeature( inFeatA ):
@@ -1455,7 +1462,7 @@
continue
except:
GEOS_EXCEPT = False
- continue
+ continue
del writer
return GEOS_EXCEPT, FEATURE_EXCEPT, crs_match
Modified: trunk/qgis/python/plugins/fTools/tools/frmGeoprocessing.ui
===================================================================
--- trunk/qgis/python/plugins/fTools/tools/frmGeoprocessing.ui 2010-06-13 22:06:25 UTC (rev 13728)
+++ trunk/qgis/python/plugins/fTools/tools/frmGeoprocessing.ui 2010-06-13 22:46:00 UTC (rev 13729)
@@ -1,37 +1,38 @@
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
<class>Dialog</class>
- <widget class="QDialog" name="Dialog" >
- <property name="geometry" >
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>422</width>
- <height>405</height>
+ <height>448</height>
</rect>
</property>
- <property name="sizePolicy" >
- <sizepolicy vsizetype="Preferred" hsizetype="Minimum" >
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="windowTitle" >
+ <property name="windowTitle">
<string>Geoprocessing</string>
</property>
- <layout class="QGridLayout" name="gridLayout" >
- <item row="0" column="0" colspan="2" >
- <layout class="QVBoxLayout" >
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0" colspan="2">
+ <layout class="QVBoxLayout">
<item>
- <widget class="QLabel" name="label_1" >
- <property name="text" >
+ <widget class="QLabel" name="label_1">
+ <property name="text">
<string>Input vector layer</string>
</property>
</widget>
</item>
<item>
- <widget class="QComboBox" name="inShapeA" >
- <property name="sizePolicy" >
- <sizepolicy vsizetype="Fixed" hsizetype="Minimum" >
+ <widget class="QComboBox" name="inShapeA">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -40,19 +41,30 @@
</item>
</layout>
</item>
- <item row="3" column="0" colspan="2" >
- <layout class="QVBoxLayout" >
+ <item row="2" column="0">
+ <layout class="QVBoxLayout" name="verticalLayout">
<item>
- <widget class="QLabel" name="label_2" >
- <property name="text" >
+ <widget class="QCheckBox" name="useSelectedA">
+ <property name="text">
+ <string>Use only selected features</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="3" column="0" colspan="2">
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="text">
<string>Intersect layer</string>
</property>
</widget>
</item>
<item>
- <widget class="QComboBox" name="inShapeB" >
- <property name="sizePolicy" >
- <sizepolicy vsizetype="Fixed" hsizetype="Minimum" >
+ <widget class="QComboBox" name="inShapeB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -61,16 +73,27 @@
</item>
</layout>
</item>
- <item row="5" column="0" colspan="2" >
- <layout class="QHBoxLayout" >
+ <item row="4" column="0">
+ <layout class="QVBoxLayout" name="verticalLayout_2">
<item>
- <layout class="QHBoxLayout" >
+ <widget class="QCheckBox" name="useSelectedB">
+ <property name="text">
+ <string>Use only selected features</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="7" column="0" colspan="2">
+ <layout class="QHBoxLayout">
+ <item>
+ <layout class="QHBoxLayout">
<item>
- <widget class="QRadioButton" name="rdoBuffer" >
- <property name="text" >
+ <widget class="QRadioButton" name="rdoBuffer">
+ <property name="text">
<string>Buffer distance</string>
</property>
- <property name="checked" >
+ <property name="checked">
<bool>true</bool>
</property>
</widget>
@@ -78,53 +101,53 @@
</layout>
</item>
<item>
- <widget class="QLineEdit" name="param" >
- <property name="enabled" >
+ <widget class="QLineEdit" name="param">
+ <property name="enabled">
<bool>true</bool>
</property>
- <property name="sizePolicy" >
- <sizepolicy vsizetype="Fixed" hsizetype="Minimum" >
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="layoutDirection" >
+ <property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
- <property name="text" >
+ <property name="text">
<string/>
</property>
- <property name="cursorPosition" >
+ <property name="cursorPosition">
<number>0</number>
</property>
</widget>
</item>
</layout>
</item>
- <item row="6" column="0" colspan="2" >
- <layout class="QVBoxLayout" >
+ <item row="9" column="0" colspan="2">
+ <layout class="QVBoxLayout">
<item>
- <layout class="QHBoxLayout" >
+ <layout class="QHBoxLayout">
<item>
- <widget class="QRadioButton" name="rdoField" >
- <property name="text" >
+ <widget class="QRadioButton" name="rdoField">
+ <property name="text">
<string>Buffer distance field</string>
</property>
</widget>
</item>
<item>
- <widget class="QLabel" name="label_4" >
- <property name="text" >
+ <widget class="QLabel" name="label_4">
+ <property name="text">
<string>Dissolve field</string>
</property>
</widget>
</item>
<item>
<spacer>
- <property name="orientation" >
+ <property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
- <property name="sizeHint" stdset="0" >
+ <property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
@@ -135,12 +158,12 @@
</layout>
</item>
<item>
- <widget class="QComboBox" name="attrib" >
- <property name="enabled" >
+ <widget class="QComboBox" name="attrib">
+ <property name="enabled">
<bool>false</bool>
</property>
- <property name="sizePolicy" >
- <sizepolicy vsizetype="Fixed" hsizetype="Minimum" >
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -149,32 +172,32 @@
</item>
</layout>
</item>
- <item row="7" column="0" >
- <layout class="QHBoxLayout" >
- <property name="spacing" >
+ <item row="10" column="0">
+ <layout class="QHBoxLayout">
+ <property name="spacing">
<number>6</number>
</property>
- <property name="margin" >
+ <property name="margin">
<number>0</number>
</property>
<item>
- <widget class="QCheckBox" name="mergeOutput" >
- <property name="enabled" >
+ <widget class="QCheckBox" name="mergeOutput">
+ <property name="enabled">
<bool>true</bool>
</property>
- <property name="text" >
+ <property name="text">
<string>Dissolve buffer results</string>
</property>
</widget>
</item>
</layout>
</item>
- <item row="8" column="0" >
+ <item row="11" column="0">
<spacer>
- <property name="orientation" >
+ <property name="orientation">
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeHint" stdset="0" >
+ <property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
@@ -182,27 +205,27 @@
</property>
</spacer>
</item>
- <item row="9" column="0" colspan="2" >
- <layout class="QVBoxLayout" >
+ <item row="12" column="0" colspan="2">
+ <layout class="QVBoxLayout">
<item>
- <widget class="QLabel" name="label_5" >
- <property name="text" >
+ <widget class="QLabel" name="label_5">
+ <property name="text">
<string>Output shapefile</string>
</property>
</widget>
</item>
<item>
- <layout class="QHBoxLayout" >
+ <layout class="QHBoxLayout">
<item>
- <widget class="QLineEdit" name="outShape" >
- <property name="readOnly" >
+ <widget class="QLineEdit" name="outShape">
+ <property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item>
- <widget class="QPushButton" name="btnBrowse" >
- <property name="text" >
+ <widget class="QPushButton" name="btnBrowse">
+ <property name="text">
<string>Browse</string>
</property>
</widget>
@@ -211,44 +234,43 @@
</item>
</layout>
</item>
- <item row="10" column="0" >
- <widget class="QProgressBar" name="progressBar" >
- <property name="value" >
+ <item row="13" column="0">
+ <widget class="QProgressBar" name="progressBar">
+ <property name="value">
<number>0</number>
</property>
- <property name="alignment" >
+ <property name="alignment">
<set>Qt::AlignCenter</set>
</property>
- <property name="orientation" >
+ <property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
- <item row="10" column="1" >
- <widget class="QDialogButtonBox" name="buttonBox_2" >
- <property name="standardButtons" >
+ <item row="13" column="1">
+ <widget class="QDialogButtonBox" name="buttonBox_2">
+ <property name="standardButtons">
<set>QDialogButtonBox::Close|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
- <item row="2" column="0" >
- <layout class="QVBoxLayout" name="verticalLayout" >
+ <item row="6" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout">
<item>
- <widget class="QCheckBox" name="useSelectedA" >
- <property name="text" >
- <string>Use only selected features</string>
+ <widget class="QLabel" name="lblSegments">
+ <property name="text">
+ <string>Segments to approximate</string>
</property>
</widget>
</item>
- </layout>
- </item>
- <item row="4" column="0" >
- <layout class="QVBoxLayout" name="verticalLayout_2" >
<item>
- <widget class="QCheckBox" name="useSelectedB" >
- <property name="text" >
- <string>Use only selected features</string>
+ <widget class="QSpinBox" name="spnSegments">
+ <property name="minimum">
+ <number>5</number>
</property>
+ <property name="value">
+ <number>5</number>
+ </property>
</widget>
</item>
</layout>
@@ -263,11 +285,11 @@
<receiver>attrib</receiver>
<slot>setEnabled(bool)</slot>
<hints>
- <hint type="sourcelabel" >
+ <hint type="sourcelabel">
<x>96</x>
<y>167</y>
</hint>
- <hint type="destinationlabel" >
+ <hint type="destinationlabel">
<x>104</x>
<y>222</y>
</hint>
@@ -279,11 +301,11 @@
<receiver>param</receiver>
<slot>setEnabled(bool)</slot>
<hints>
- <hint type="sourcelabel" >
+ <hint type="sourcelabel">
<x>61</x>
<y>133</y>
</hint>
- <hint type="destinationlabel" >
+ <hint type="destinationlabel">
<x>380</x>
<y>155</y>
</hint>
@@ -295,11 +317,11 @@
<receiver>Dialog</receiver>
<slot>reject()</slot>
<hints>
- <hint type="sourcelabel" >
+ <hint type="sourcelabel">
<x>272</x>
<y>383</y>
</hint>
- <hint type="destinationlabel" >
+ <hint type="destinationlabel">
<x>246</x>
<y>279</y>
</hint>
@@ -311,11 +333,11 @@
<receiver>Dialog</receiver>
<slot>accept()</slot>
<hints>
- <hint type="sourcelabel" >
+ <hint type="sourcelabel">
<x>341</x>
<y>382</y>
</hint>
- <hint type="destinationlabel" >
+ <hint type="destinationlabel">
<x>335</x>
<y>270</y>
</hint>
More information about the QGIS-commit
mailing list