[QGIS Commit] r10809 - in branches/symbology-ng-branch/src: core/symbology-ng gui/symbology-ng ui/symbollayer

svn_qgis at osgeo.org svn_qgis at osgeo.org
Sun May 17 10:28:12 EDT 2009


Author: wonder
Date: 2009-05-17 10:28:12 -0400 (Sun, 17 May 2009)
New Revision: 10809

Modified:
   branches/symbology-ng-branch/src/core/symbology-ng/qgsmarkersymbollayerv2.cpp
   branches/symbology-ng-branch/src/core/symbology-ng/qgssymbollayerv2.h
   branches/symbology-ng-branch/src/core/symbology-ng/qgssymbollayerv2utils.cpp
   branches/symbology-ng-branch/src/core/symbology-ng/qgssymbollayerv2utils.h
   branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbollayerv2widget.cpp
   branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbollayerv2widget.h
   branches/symbology-ng-branch/src/ui/symbollayer/widget_simplemarker.ui
   branches/symbology-ng-branch/src/ui/symbollayer/widget_svgmarker.ui
Log:
Added offset property (X,Y) also for marker symbol layers.


Modified: branches/symbology-ng-branch/src/core/symbology-ng/qgsmarkersymbollayerv2.cpp
===================================================================
--- branches/symbology-ng-branch/src/core/symbology-ng/qgsmarkersymbollayerv2.cpp	2009-05-17 13:57:09 UTC (rev 10808)
+++ branches/symbology-ng-branch/src/core/symbology-ng/qgsmarkersymbollayerv2.cpp	2009-05-17 14:28:12 UTC (rev 10809)
@@ -26,6 +26,7 @@
   mBorderColor = borderColor;
   mSize = size;
   mAngle = angle;
+  mOffset = QPointF(0,0);
 }
 
 QgsSymbolLayerV2* QgsSimpleMarkerSymbolLayerV2::create(const QgsStringMap& props)
@@ -47,7 +48,10 @@
   if (props.contains("angle"))
     angle = props["angle"].toDouble();
   
-  return new QgsSimpleMarkerSymbolLayerV2(name, color, borderColor, size, angle);
+  QgsSimpleMarkerSymbolLayerV2* m = new QgsSimpleMarkerSymbolLayerV2(name, color, borderColor, size, angle);
+  if (props.contains("offset"))
+    m->setOffset( QgsSymbolLayerV2Utils::decodePoint(props["offset"]) );
+  return m;
 }
 	
 
@@ -184,7 +188,7 @@
   //drawMarker(p);
   double s = mCache.width();
   //if (mCache.isValid())
-    p->drawImage(point + QPointF(-s/2.0, -s/2.0), mCache);
+    p->drawImage(point + QPointF(-s/2.0, -s/2.0) + mOffset, mCache);
   
   //p->restore();
 }
@@ -198,12 +202,15 @@
   map["color_border"] = QgsSymbolLayerV2Utils::encodeColor(mBorderColor);
   map["size"] = QString::number(mSize);
   map["angle"] = QString::number(mAngle);
+  map["offset"] = QgsSymbolLayerV2Utils::encodePoint(mOffset);
   return map;
 }
 
 QgsSymbolLayerV2* QgsSimpleMarkerSymbolLayerV2::clone() const
 {
-  return new QgsSimpleMarkerSymbolLayerV2(mName, mColor, mBorderColor, mSize, mAngle);
+  QgsSimpleMarkerSymbolLayerV2* m = new QgsSimpleMarkerSymbolLayerV2(mName, mColor, mBorderColor, mSize, mAngle);
+  m->setOffset( mOffset );
+  return m;
 }
 
 void QgsSimpleMarkerSymbolLayerV2::drawMarker(QPainter* p)
@@ -244,6 +251,7 @@
   mName = name;
   mSize = size;
   mAngle = angle;
+  mOffset = QPointF(0,0);
 }
 
 
@@ -260,7 +268,10 @@
   if (props.contains("angle"))
     angle = props["angle"].toDouble();
   
-  return new QgsSvgMarkerSymbolLayerV2(name, size, angle);
+  QgsSvgMarkerSymbolLayerV2* m = new QgsSvgMarkerSymbolLayerV2(name, size, angle);
+  if (props.contains("offset"))
+    m->setOffset( QgsSymbolLayerV2Utils::decodePoint(props["offset"]) );
+  return m;
 }
 
 
@@ -288,7 +299,9 @@
 void QgsSvgMarkerSymbolLayerV2::renderPoint(const QPointF& point, QgsRenderContext& context)
 {
   QPainter* p = context.painter();
-  p->translate(point);
+  p->save();
+  p->translate(point + mOffset);
+
   if (mAngle != 0)
     p->rotate(mAngle);
   
@@ -296,7 +309,8 @@
   
   if (mAngle != 0)
     p->rotate(-mAngle);
-  p->translate(-point); // TODO: maybe save+restore is faster?
+
+  p->restore();
 }
 
 
@@ -306,10 +320,13 @@
   map["name"] = mName;
   map["size"] = QString::number(mSize);
   map["angle"] = QString::number(mAngle);
+  map["offset"] = QgsSymbolLayerV2Utils::encodePoint(mOffset);
   return map;
 }
 
 QgsSymbolLayerV2* QgsSvgMarkerSymbolLayerV2::clone() const
 {
-  return new QgsSvgMarkerSymbolLayerV2(mName, mSize, mAngle);
+  QgsSvgMarkerSymbolLayerV2* m = new QgsSvgMarkerSymbolLayerV2(mName, mSize, mAngle);
+  m->setOffset( mOffset );
+  return m;
 }

Modified: branches/symbology-ng-branch/src/core/symbology-ng/qgssymbollayerv2.h
===================================================================
--- branches/symbology-ng-branch/src/core/symbology-ng/qgssymbollayerv2.h	2009-05-17 13:57:09 UTC (rev 10808)
+++ branches/symbology-ng-branch/src/core/symbology-ng/qgssymbollayerv2.h	2009-05-17 14:28:12 UTC (rev 10809)
@@ -5,6 +5,7 @@
 #include <QMap>
 
 #include <QColor>
+#include <QPointF>
 
 #include "qgssymbolv2.h"
 
@@ -12,7 +13,6 @@
 
 class QPainter;
 class QSize;
-class QPointF;
 class QPolygonF;
 
 class QgsRenderContext;
@@ -72,12 +72,16 @@
 	
   void setSize(double size) { mSize = size; }
   double size() const { return mSize; } 
+
+  void setOffset(QPointF offset) { mOffset = offset; }
+  QPointF offset() { return mOffset; }
 	
 protected:
   QgsMarkerSymbolLayerV2(bool locked = false);
   
   double mAngle;
   double mSize;
+  QPointF mOffset;
 };
 
 class QgsLineSymbolLayerV2 : public QgsSymbolLayerV2

Modified: branches/symbology-ng-branch/src/core/symbology-ng/qgssymbollayerv2utils.cpp
===================================================================
--- branches/symbology-ng-branch/src/core/symbology-ng/qgssymbollayerv2utils.cpp	2009-05-17 13:57:09 UTC (rev 10808)
+++ branches/symbology-ng-branch/src/core/symbology-ng/qgssymbollayerv2utils.cpp	2009-05-17 14:28:12 UTC (rev 10809)
@@ -87,7 +87,19 @@
   return Qt::SolidPattern;
 }
 
+QString QgsSymbolLayerV2Utils::encodePoint(QPointF point)
+{
+  return QString("%1,%2").arg(point.x()).arg(point.y());
+}
 
+QPointF QgsSymbolLayerV2Utils::decodePoint(QString str)
+{
+  QStringList lst = str.split(',');
+  if (lst.count() != 2)
+    return QPointF(0,0);
+  return QPointF( lst[0].toDouble(), lst[1].toDouble() );
+}
+
 QIcon QgsSymbolLayerV2Utils::symbolPreviewIcon(QgsSymbolV2* symbol, QSize size)
 {
   QPixmap pixmap(size);

Modified: branches/symbology-ng-branch/src/core/symbology-ng/qgssymbollayerv2utils.h
===================================================================
--- branches/symbology-ng-branch/src/core/symbology-ng/qgssymbollayerv2utils.h	2009-05-17 13:57:09 UTC (rev 10808)
+++ branches/symbology-ng-branch/src/core/symbology-ng/qgssymbollayerv2utils.h	2009-05-17 14:28:12 UTC (rev 10809)
@@ -15,6 +15,7 @@
 class QColor;
 class QIcon;
 class QPixmap;
+class QPointF;
 class QSize;
 
 class QgsSymbolLayerV2Utils
@@ -29,6 +30,9 @@
 
   static QString encodeBrushStyle(Qt::BrushStyle style);
   static Qt::BrushStyle decodeBrushStyle(QString str);
+
+  static QString encodePoint(QPointF point);
+  static QPointF decodePoint(QString str);
   
   static QIcon symbolPreviewIcon(QgsSymbolV2* symbol, QSize size);
   static QIcon symbolLayerPreviewIcon(QgsSymbolLayerV2* layer, QSize size);

Modified: branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbollayerv2widget.cpp
===================================================================
--- branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbollayerv2widget.cpp	2009-05-17 13:57:09 UTC (rev 10808)
+++ branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbollayerv2widget.cpp	2009-05-17 14:28:12 UTC (rev 10809)
@@ -116,6 +116,8 @@
   connect(btnChangeColorFill, SIGNAL(clicked()), this, SLOT(setColorFill()));
   connect(spinSize, SIGNAL(valueChanged(int)), this, SLOT(setSize()));
   connect(spinAngle, SIGNAL(valueChanged(double)), this, SLOT(setAngle()));
+  connect(spinOffsetX, SIGNAL(valueChanged(double)), this, SLOT(setOffset()));
+  connect(spinOffsetY, SIGNAL(valueChanged(double)), this, SLOT(setOffset()));
 }
 
 void QgsSimpleMarkerSymbolLayerV2Widget::setSymbolLayer(QgsSymbolLayerV2* layer)
@@ -140,6 +142,14 @@
   updateColorButton(btnChangeColorFill, mLayer->color());
   spinSize->setValue(mLayer->size());
   spinAngle->setValue(mLayer->angle());
+
+  // without blocking signals the value gets changed because of slot setOffset()
+  spinOffsetX->blockSignals(true);
+  spinOffsetX->setValue(mLayer->offset().x());
+  spinOffsetX->blockSignals(false);
+  spinOffsetY->blockSignals(true);
+  spinOffsetY->setValue(mLayer->offset().y());
+  spinOffsetY->blockSignals(false);
 }
 
 QgsSymbolLayerV2* QgsSimpleMarkerSymbolLayerV2Widget::symbolLayer()
@@ -185,7 +195,13 @@
   emit changed();
 }
 
+void QgsSimpleMarkerSymbolLayerV2Widget::setOffset()
+{
+  mLayer->setOffset( QPointF( spinOffsetX->value(), spinOffsetY->value() ) );
+  emit changed();
+}
 
+
 ///////////
 
 QgsSimpleFillSymbolLayerV2Widget::QgsSimpleFillSymbolLayerV2Widget(QWidget* parent)
@@ -331,6 +347,8 @@
   connect(viewImages->selectionModel(), SIGNAL(currentChanged(const QModelIndex&, const QModelIndex&)), this, SLOT(setName(const QModelIndex&)));
   connect(spinSize, SIGNAL(valueChanged(int)), this, SLOT(setSize()));
   connect(spinAngle, SIGNAL(valueChanged(double)), this, SLOT(setAngle()));
+  connect(spinOffsetX, SIGNAL(valueChanged(double)), this, SLOT(setOffset()));
+  connect(spinOffsetY, SIGNAL(valueChanged(double)), this, SLOT(setOffset()));
 }
 
 void QgsSvgMarkerSymbolLayerV2Widget::populateList()
@@ -395,6 +413,14 @@
   
   spinSize->setValue(mLayer->size());
   spinAngle->setValue(mLayer->angle());
+
+  // without blocking signals the value gets changed because of slot setOffset()
+  spinOffsetX->blockSignals(true);
+  spinOffsetX->setValue(mLayer->offset().x());
+  spinOffsetX->blockSignals(false);
+  spinOffsetY->blockSignals(true);
+  spinOffsetY->setValue(mLayer->offset().y());
+  spinOffsetY->blockSignals(false);
 }
 
 QgsSymbolLayerV2* QgsSvgMarkerSymbolLayerV2Widget::symbolLayer()
@@ -422,6 +448,12 @@
   emit changed();
 }
 
+void QgsSvgMarkerSymbolLayerV2Widget::setOffset()
+{
+  mLayer->setOffset( QPointF( spinOffsetX->value(), spinOffsetY->value() ) );
+  emit changed();
+}
+
 ///////////////
 
 QgsLineDecorationSymbolLayerV2Widget::QgsLineDecorationSymbolLayerV2Widget(QWidget* parent)

Modified: branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbollayerv2widget.h
===================================================================
--- branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbollayerv2widget.h	2009-05-17 13:57:09 UTC (rev 10808)
+++ branches/symbology-ng-branch/src/gui/symbology-ng/qgssymbollayerv2widget.h	2009-05-17 14:28:12 UTC (rev 10809)
@@ -75,7 +75,8 @@
     void setColorFill();
     void setSize();
     void setAngle();
-    
+    void setOffset();
+
   protected:
     QgsSimpleMarkerSymbolLayerV2* mLayer;
 };
@@ -166,7 +167,8 @@
     void setName(const QModelIndex& idx);
     void setSize();
     void setAngle();
-    
+    void setOffset();
+
   protected:
     
     void populateList();

Modified: branches/symbology-ng-branch/src/ui/symbollayer/widget_simplemarker.ui
===================================================================
--- branches/symbology-ng-branch/src/ui/symbollayer/widget_simplemarker.ui	2009-05-17 13:57:09 UTC (rev 10808)
+++ branches/symbology-ng-branch/src/ui/symbollayer/widget_simplemarker.ui	2009-05-17 14:28:12 UTC (rev 10809)
@@ -1,7 +1,8 @@
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
  <class>WidgetSimpleMarker</class>
- <widget class="QWidget" name="WidgetSimpleMarker" >
-  <property name="geometry" >
+ <widget class="QWidget" name="WidgetSimpleMarker">
+  <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
@@ -9,35 +10,35 @@
     <height>270</height>
    </rect>
   </property>
-  <property name="windowTitle" >
+  <property name="windowTitle">
    <string>Form</string>
   </property>
-  <layout class="QVBoxLayout" >
+  <layout class="QVBoxLayout" name="verticalLayout">
    <item>
-    <layout class="QGridLayout" >
-     <item row="0" column="0" >
-      <widget class="QLabel" name="label" >
-       <property name="text" >
+    <layout class="QGridLayout" name="gridLayout">
+     <item row="0" column="0">
+      <widget class="QLabel" name="label">
+       <property name="text">
         <string>Border color:</string>
        </property>
       </widget>
      </item>
-     <item row="0" column="1" >
-      <widget class="QPushButton" name="btnChangeColorBorder" >
-       <property name="text" >
+     <item row="0" column="1">
+      <widget class="QPushButton" name="btnChangeColorBorder">
+       <property name="text">
         <string>change</string>
        </property>
       </widget>
      </item>
-     <item rowspan="4" row="0" column="2" >
+     <item row="0" column="2" rowspan="2">
       <spacer>
-       <property name="orientation" >
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-       <property name="sizeType" >
+       <property name="sizeType">
         <enum>QSizePolicy::Preferred</enum>
        </property>
-       <property name="sizeHint" >
+       <property name="sizeHint" stdset="0">
         <size>
          <width>61</width>
          <height>61</height>
@@ -45,105 +46,136 @@
        </property>
       </spacer>
      </item>
-     <item row="1" column="0" >
-      <widget class="QLabel" name="label_2" >
-       <property name="text" >
+     <item row="1" column="0">
+      <widget class="QLabel" name="label_2">
+       <property name="text">
         <string>Fill color:</string>
        </property>
       </widget>
      </item>
-     <item row="1" column="1" >
-      <widget class="QPushButton" name="btnChangeColorFill" >
-       <property name="text" >
+     <item row="1" column="1">
+      <widget class="QPushButton" name="btnChangeColorFill">
+       <property name="text">
         <string>change</string>
        </property>
       </widget>
      </item>
-     <item row="2" column="0" >
-      <widget class="QLabel" name="label_3" >
-       <property name="text" >
+     <item row="2" column="0">
+      <widget class="QLabel" name="label_3">
+       <property name="text">
         <string>Size:</string>
        </property>
       </widget>
      </item>
-     <item row="2" column="1" >
-      <widget class="QSpinBox" name="spinSize" >
-       <property name="minimum" >
+     <item row="2" column="1">
+      <widget class="QSpinBox" name="spinSize">
+       <property name="minimum">
         <number>1</number>
        </property>
       </widget>
      </item>
-     <item row="3" column="0" >
-      <widget class="QLabel" name="label_4" >
-       <property name="text" >
+     <item row="3" column="0">
+      <widget class="QLabel" name="label_4">
+       <property name="text">
         <string>Angle:</string>
        </property>
       </widget>
      </item>
-     <item row="3" column="1" >
-      <widget class="QDoubleSpinBox" name="spinAngle" >
-       <property name="decimals" >
+     <item row="3" column="1">
+      <widget class="QDoubleSpinBox" name="spinAngle">
+       <property name="decimals">
         <number>1</number>
        </property>
-       <property name="maximum" >
+       <property name="maximum">
         <double>360.000000000000000</double>
        </property>
       </widget>
      </item>
+     <item row="4" column="0">
+      <widget class="QLabel" name="label_5">
+       <property name="text">
+        <string>Offset X,Y:</string>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="1">
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <item>
+        <widget class="QDoubleSpinBox" name="spinOffsetX">
+         <property name="decimals">
+          <number>1</number>
+         </property>
+         <property name="minimum">
+          <double>-100.000000000000000</double>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QDoubleSpinBox" name="spinOffsetY">
+         <property name="decimals">
+          <number>1</number>
+         </property>
+         <property name="minimum">
+          <double>-100.000000000000000</double>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
     </layout>
    </item>
    <item>
-    <widget class="QListWidget" name="lstNames" >
-     <property name="sizePolicy" >
-      <sizepolicy vsizetype="Expanding" hsizetype="Preferred" >
+    <widget class="QListWidget" name="lstNames">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
        <horstretch>0</horstretch>
        <verstretch>0</verstretch>
       </sizepolicy>
      </property>
-     <property name="editTriggers" >
+     <property name="editTriggers">
       <set>QAbstractItemView::NoEditTriggers</set>
      </property>
-     <property name="iconSize" >
+     <property name="iconSize">
       <size>
        <width>20</width>
        <height>20</height>
       </size>
      </property>
-     <property name="movement" >
+     <property name="movement">
       <enum>QListView::Static</enum>
      </property>
-     <property name="flow" >
+     <property name="flow">
       <enum>QListView::LeftToRight</enum>
      </property>
-     <property name="spacing" >
+     <property name="spacing">
       <number>4</number>
      </property>
-     <property name="gridSize" >
+     <property name="gridSize">
       <size>
        <width>30</width>
        <height>25</height>
       </size>
      </property>
-     <property name="viewMode" >
+     <property name="viewMode">
       <enum>QListView::IconMode</enum>
      </property>
-     <property name="uniformItemSizes" >
+     <property name="uniformItemSizes">
       <bool>true</bool>
      </property>
-     <property name="wordWrap" >
+     <property name="wordWrap">
       <bool>true</bool>
      </property>
     </widget>
    </item>
    <item>
     <spacer>
-     <property name="orientation" >
+     <property name="orientation">
       <enum>Qt::Vertical</enum>
      </property>
-     <property name="sizeType" >
+     <property name="sizeType">
       <enum>QSizePolicy::Preferred</enum>
      </property>
-     <property name="sizeHint" >
+     <property name="sizeHint" stdset="0">
       <size>
        <width>376</width>
        <height>16</height>

Modified: branches/symbology-ng-branch/src/ui/symbollayer/widget_svgmarker.ui
===================================================================
--- branches/symbology-ng-branch/src/ui/symbollayer/widget_svgmarker.ui	2009-05-17 13:57:09 UTC (rev 10808)
+++ branches/symbology-ng-branch/src/ui/symbollayer/widget_svgmarker.ui	2009-05-17 14:28:12 UTC (rev 10809)
@@ -1,55 +1,56 @@
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
  <class>WidgetSvgMarker</class>
- <widget class="QWidget" name="WidgetSvgMarker" >
-  <property name="geometry" >
+ <widget class="QWidget" name="WidgetSvgMarker">
+  <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>378</width>
+    <width>391</width>
     <height>276</height>
    </rect>
   </property>
-  <property name="windowTitle" >
+  <property name="windowTitle">
    <string>Form</string>
   </property>
-  <layout class="QVBoxLayout" >
+  <layout class="QVBoxLayout" name="verticalLayout">
    <item>
-    <layout class="QGridLayout" >
-     <item row="0" column="0" >
-      <widget class="QLabel" name="label_2" >
-       <property name="sizePolicy" >
-        <sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
+    <layout class="QGridLayout">
+     <item row="0" column="0">
+      <widget class="QLabel" name="label_2">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
          <horstretch>0</horstretch>
          <verstretch>0</verstretch>
         </sizepolicy>
        </property>
-       <property name="text" >
+       <property name="text">
         <string>Size:</string>
        </property>
       </widget>
      </item>
-     <item row="0" column="1" >
-      <widget class="QSpinBox" name="spinSize" >
-       <property name="sizePolicy" >
-        <sizepolicy vsizetype="Fixed" hsizetype="MinimumExpanding" >
+     <item row="0" column="1">
+      <widget class="QSpinBox" name="spinSize">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
          <horstretch>0</horstretch>
          <verstretch>0</verstretch>
         </sizepolicy>
        </property>
-       <property name="minimum" >
+       <property name="minimum">
         <number>1</number>
        </property>
-       <property name="value" >
+       <property name="value">
         <number>5</number>
        </property>
       </widget>
      </item>
-     <item rowspan="2" row="0" column="2" >
+     <item row="0" column="2" rowspan="3">
       <spacer>
-       <property name="orientation" >
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-       <property name="sizeHint" >
+       <property name="sizeHint" stdset="0">
         <size>
          <width>115</width>
          <height>51</height>
@@ -57,69 +58,100 @@
        </property>
       </spacer>
      </item>
-     <item row="1" column="0" >
-      <widget class="QLabel" name="label_3" >
-       <property name="text" >
+     <item row="1" column="0">
+      <widget class="QLabel" name="label_3">
+       <property name="text">
         <string>Angle:</string>
        </property>
       </widget>
      </item>
-     <item row="1" column="1" >
-      <widget class="QDoubleSpinBox" name="spinAngle" >
-       <property name="decimals" >
+     <item row="1" column="1">
+      <widget class="QDoubleSpinBox" name="spinAngle">
+       <property name="decimals">
         <number>1</number>
        </property>
-       <property name="maximum" >
+       <property name="maximum">
         <double>360.000000000000000</double>
        </property>
       </widget>
      </item>
+     <item row="2" column="1">
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <item>
+        <widget class="QDoubleSpinBox" name="spinOffsetX">
+         <property name="decimals">
+          <number>1</number>
+         </property>
+         <property name="minimum">
+          <double>-100.000000000000000</double>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QDoubleSpinBox" name="spinOffsetY">
+         <property name="decimals">
+          <number>1</number>
+         </property>
+         <property name="minimum">
+          <double>-100.000000000000000</double>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item row="2" column="0">
+      <widget class="QLabel" name="label_4">
+       <property name="text">
+        <string>Offset X,Y:</string>
+       </property>
+      </widget>
+     </item>
     </layout>
    </item>
    <item>
-    <widget class="QLabel" name="label" >
-     <property name="text" >
+    <widget class="QLabel" name="label">
+     <property name="text">
       <string>SVG Image:</string>
      </property>
     </widget>
    </item>
    <item>
-    <widget class="QListView" name="viewImages" >
-     <property name="editTriggers" >
+    <widget class="QListView" name="viewImages">
+     <property name="editTriggers">
       <set>QAbstractItemView::NoEditTriggers</set>
      </property>
-     <property name="iconSize" >
+     <property name="iconSize">
       <size>
        <width>32</width>
        <height>32</height>
       </size>
      </property>
-     <property name="movement" >
+     <property name="movement">
       <enum>QListView::Static</enum>
      </property>
-     <property name="spacing" >
+     <property name="spacing">
       <number>2</number>
      </property>
-     <property name="gridSize" >
+     <property name="gridSize">
       <size>
        <width>36</width>
        <height>36</height>
       </size>
      </property>
-     <property name="viewMode" >
+     <property name="viewMode">
       <enum>QListView::IconMode</enum>
      </property>
-     <property name="wordWrap" >
+     <property name="wordWrap">
       <bool>true</bool>
      </property>
     </widget>
    </item>
    <item>
     <spacer>
-     <property name="orientation" >
+     <property name="orientation">
       <enum>Qt::Vertical</enum>
      </property>
-     <property name="sizeHint" >
+     <property name="sizeHint" stdset="0">
       <size>
        <width>20</width>
        <height>40</height>



More information about the QGIS-commit mailing list