graduatedsymbol-rev12213-1.diff

same as the other but symbology-ng/qgsludialog.* in cmake_install.cmake - markbaas -, 2009-11-20 04:44 PM

Download (13.2 KB)

View differences:

src/gui/symbology-ng/qgsgraduatedsymbolrendererv2widget.h (copia de trabajo)
2 2
#define QGSGRADUATEDSYMBOLRENDERERV2WIDGET_H
3 3

  
4 4
#include "qgsrendererv2widget.h"
5
#include <QStandardItem>
5 6

  
6 7
class QgsGraduatedSymbolRendererV2;
7 8

  
......
24 25
    void changeGraduatedSymbol();
25 26
    void classifyGraduated();
26 27
    void rangesDoubleClicked( const QModelIndex & idx );
28
    void rangesClicked( const QModelIndex & idx );
29
    void changeCurrentValue( QStandardItem * item );
27 30

  
31
    /**Adds a class manually to the classification*/
32
    void addClass();
33
    /**Removes a class from the classification*/
34
    void deleteCurrentClass();
35

  
28 36
  protected:
29 37
    void updateUiFromRenderer();
30 38

  
......
39 47
    void populateRanges();
40 48

  
41 49
    void changeRangeSymbol( int rangeIdx );
50
    void changeRange( int rangeIdx);
51
    
52
    
42 53

  
43 54

  
44 55
  protected:
45 56
    QgsGraduatedSymbolRendererV2* mRenderer;
46 57

  
47 58
    QgsSymbolV2* mGraduatedSymbol;
59
    
60
    int mRowSelected;
61
    
62

  
48 63
};
49 64

  
50 65

  
src/gui/symbology-ng/qgsludialog.h (revisión: 0)
1
/***************************************************************************
2
                         qgsludialog.h  -  description
3
                             -------------------
4
    begin                : September 2004
5
    copyright            : (C) 2004 by Marco Hugentobler
6
    email                : [email protected]
7
 ***************************************************************************/
8

  
9
/***************************************************************************
10
 *                                                                         *
11
 *   This program is free software; you can redistribute it and/or modify  *
12
 *   it under the terms of the GNU General Public License as published by  *
13
 *   the Free Software Foundation; either version 2 of the License, or     *
14
 *   (at your option) any later version.                                   *
15
 *                                                                         *
16
 ***************************************************************************/
17
/* $Id: qgsludialog.h 9138 2008-08-23 21:37:31Z jef $ */
18

  
19
#ifndef QGSLUDIALOG_H
20
#define QGSLUDIALOG_H
21

  
22
#include "ui_qgsludialogbase.h"
23
#include "qgisgui.h"
24

  
25

  
26
class QgsLUDialog: public QDialog, private Ui::QgsLUDialogBase
27
{
28
    Q_OBJECT
29
  public:
30
    QgsLUDialog( QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags );
31
    ~QgsLUDialog();
32
    QString lowerValue() const;
33
    void setLowerValue( QString val );
34
    QString upperValue() const;
35
    void setUpperValue( QString val );
36
};
37

  
38
#endif
src/gui/symbology-ng/qgsgraduatedsymbolrendererv2widget.cpp (copia de trabajo)
11 11

  
12 12
#include "qgssymbolv2selectordialog.h"
13 13

  
14
#include "qgsludialog.h"
15

  
14 16
#include <QMessageBox>
15 17
#include <QStandardItemModel>
16 18
#include <QStandardItem>
......
53 55
  mGraduatedSymbol = QgsSymbolV2::defaultSymbol( mLayer->geometryType() );
54 56

  
55 57
  connect( viewGraduated, SIGNAL( doubleClicked( const QModelIndex & ) ), this, SLOT( rangesDoubleClicked( const QModelIndex & ) ) );
56

  
58
  connect( viewGraduated, SIGNAL( clicked( const QModelIndex & ) ), this, SLOT( rangesClicked( const QModelIndex & ) ) );
59
  connect( mg, SIGNAL( itemChanged ( QStandardItem * ) ), this, SLOT( changeCurrentValue( QStandardItem * ) ) );
57 60
  connect( btnGraduatedClassify, SIGNAL( clicked() ), this, SLOT( classifyGraduated() ) );
58 61
  connect( btnChangeGraduatedSymbol, SIGNAL( clicked() ), this, SLOT( changeGraduatedSymbol() ) );
62
  connect( btnGraduatedDelete, SIGNAL(clicked()), this, SLOT(deleteCurrentClass()) );
63
  connect( btnGraduatedAdd, SIGNAL(clicked()), this, SLOT(addClass()) );
64
  
65
  
59 66

  
60 67
  // initialize from previously set renderer
61 68
  updateUiFromRenderer();
......
202 209

  
203 210
  QStandardItemModel* m = qobject_cast<QStandardItemModel*>( viewGraduated->model() );
204 211
  m->clear();
212
  mRowSelected = -1;
205 213

  
206 214
  QStringList labels;
207
  labels << "Range" << "Label";
215
  labels << "Symbol" << "Range" << "Label";
208 216
  m->setHorizontalHeaderLabels( labels );
209 217

  
210 218
  QSize iconSize( 16, 16 );
......
217 225
    QString rangeStr = QString::number( range.lowerValue(), 'f', 4 ) + " - " + QString::number( range.upperValue(), 'f', 4 );
218 226

  
219 227
    QIcon icon = QgsSymbolLayerV2Utils::symbolPreviewIcon( range.symbol(), iconSize );
220
    QStandardItem* item = new QStandardItem( icon, rangeStr );
228
    QStandardItem* item = new QStandardItem( icon, "" );
221 229
    //item->setData(k); // set attribute value as user role
222 230
    item->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled );
231
    
232
    QStandardItem* item2 = new QStandardItem(rangeStr);
233
    item2->setEditable(0);
223 234

  
224 235
    QList<QStandardItem *> list;
225
    list << item << new QStandardItem( range.label() );
236
    list << item << item2 << new QStandardItem( range.label() );
237

  
226 238
    m->appendRow( list );
227 239
  }
228 240

  
......
245 257
{
246 258
  if ( idx.isValid() && idx.column() == 0 )
247 259
    changeRangeSymbol( idx.row() );
260
  if (idx.isValid() && idx.column() == 1)
261
    changeRange(idx.row());
248 262
}
249 263

  
264
void QgsGraduatedSymbolRendererV2Widget::rangesClicked(const QModelIndex & idx)
265
{
266
  if (!idx.isValid())
267
    mRowSelected = -1;
268
  else 
269
    mRowSelected = idx.row();
270
}    
271

  
250 272
void QgsGraduatedSymbolRendererV2Widget::changeRangeSymbol( int rangeIdx )
251 273
{
252 274

  
275
  /*gsSymbolV2* newSymbol = mRenderer->ranges()[rangeIdx].symbol()->clone()
276
  QString* label = range.label()*/
277
  
253 278
  QgsSymbolV2* newSymbol = mRenderer->ranges()[rangeIdx].symbol()->clone();
254 279

  
255 280
  QgsSymbolV2SelectorDialog dlg( newSymbol, mStyle, this );
......
264 289
  populateRanges();
265 290
}
266 291

  
292
void QgsGraduatedSymbolRendererV2Widget::changeRange(int rangeIdx)
293
{
294
  QgsLUDialog dialog( this );
295
  
296
  const QgsRendererRangeV2& range = mRenderer->ranges()[rangeIdx];
297
  dialog.setLowerValue( QString("%1").arg(range.lowerValue()) );
298
  dialog.setUpperValue( QString("%1").arg(range.upperValue()) );
299
  
300
  if ( dialog.exec() == QDialog::Accepted )
301
  {
302
      double lowerValue = dialog.lowerValue().toDouble();
303
      double upperValue = dialog.upperValue().toDouble();
304
      mRenderer->updateRangeUpperValue(rangeIdx, upperValue);
305
      mRenderer->updateRangeLowerValue(rangeIdx, lowerValue);
306
      populateRanges();
307
    
308
  }
309
  
310
}
311

  
312
void QgsGraduatedSymbolRendererV2Widget::addClass()
313
{
314
  mRenderer->addClass(mGraduatedSymbol);
315
  populateRanges();
316
}
317

  
318
void QgsGraduatedSymbolRendererV2Widget::deleteCurrentClass()
319
{
320
  
321
  mRenderer->deleteClass(mRowSelected);
322
  populateRanges();
323
}
324

  
325
void QgsGraduatedSymbolRendererV2Widget::changeCurrentValue( QStandardItem * item )
326
{
327
  if (item->column() == 2)
328
  {
329
    QString label = item->text();
330
    int idx = item->row();
331
    mRenderer->updateRangeLabel(idx, label);  
332
  }
333
}
src/gui/symbology-ng/qgsludialog.cpp (revisión: 0)
1
/***************************************************************************
2
                         qgsludialog.cpp  -  description
3
                             -------------------
4
    begin                : September 2004
5
    copyright            : (C) 2004 by Marco Hugentobler
6
    email                : [email protected]
7
 ***************************************************************************/
8

  
9
/***************************************************************************
10
 *                                                                         *
11
 *   This program is free software; you can redistribute it and/or modify  *
12
 *   it under the terms of the GNU General Public License as published by  *
13
 *   the Free Software Foundation; either version 2 of the License, or     *
14
 *   (at your option) any later version.                                   *
15
 *                                                                         *
16
 ***************************************************************************/
17
/* $Id: qgsludialog.cpp 9138 2008-08-23 21:37:31Z jef $ */
18

  
19
#include "qgsludialog.h"
20

  
21

  
22
QgsLUDialog::QgsLUDialog( QWidget *parent, Qt::WFlags fl )
23
    : QDialog( parent, fl )
24
{
25
  setupUi( this );
26
}
27

  
28
QgsLUDialog::~QgsLUDialog()
29
{
30

  
31
}
32

  
33
QString QgsLUDialog::lowerValue() const
34
{
35
  return mLowerEdit->text();
36
}
37

  
38
QString QgsLUDialog::upperValue() const
39
{
40
  return mUpperEdit->text();
41
}
42

  
43
void QgsLUDialog::setLowerValue( QString val )
44
{
45
  mLowerEdit->setText( val );
46
}
47

  
48
void QgsLUDialog::setUpperValue( QString val )
49
{
50
  mUpperEdit->setText( val );
51
}
src/gui/CMakeLists.txt (copia de trabajo)
16 16
symbology-ng/qgsvectorgradientcolorrampv2dialog.cpp
17 17
symbology-ng/qgsvectorrandomcolorrampv2dialog.cpp
18 18
symbology-ng/qgsvectorcolorbrewercolorrampv2dialog.cpp
19
symbology-ng/qgsludialog.cpp
20
symbology-ng/
19 21

  
20 22
qgisgui.cpp
21 23
qgisinterface.cpp
......
59 61
symbology-ng/qgsvectorgradientcolorrampv2dialog.h
60 62
symbology-ng/qgsvectorrandomcolorrampv2dialog.h
61 63
symbology-ng/qgsvectorcolorbrewercolorrampv2dialog.h
64
symbology-ng/qgsludialog.h
62 65

  
66

  
63 67
qgscomposerview.h
64 68
qgsdetaileditemdelegate.h
65 69
qgsdetaileditemwidget.h
src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp (copia de trabajo)
12 12
#include <QDomElement>
13 13
#include <QSettings> // for legend
14 14

  
15
#include <iostream>
16

  
15 17
QgsRendererRangeV2::QgsRendererRangeV2(double lowerValue, double upperValue, QgsSymbolV2* symbol, QString label)
16 18
  : mLowerValue(lowerValue), mUpperValue(upperValue), mSymbol(symbol), mLabel(label)
17 19
{
......
61 63
  mLabel = label;
62 64
}
63 65

  
66
void QgsRendererRangeV2::setUpperValue(double upperValue)
67
{
68
  mUpperValue = upperValue;
69
}
70

  
71
void QgsRendererRangeV2::setLowerValue(double lowerValue)
72
{
73
  mLowerValue = lowerValue;
74
}
75

  
64 76
QString QgsRendererRangeV2::dump()
65 77
{
66 78
  return QString("%1 - %2::%3::%4\n").arg(mLowerValue).arg(mUpperValue).arg(mLabel).arg(mSymbol->dump());
......
153 165
  return true;
154 166
}
155 167

  
168
bool QgsGraduatedSymbolRendererV2::updateRangeUpperValue(int rangeIndex, double value)
169
{
170
  if (rangeIndex < 0 || rangeIndex >= mRanges.size())
171
    return false;
172
  mRanges[rangeIndex].setUpperValue(value);
173
  return true;  
174
}
175

  
176
bool QgsGraduatedSymbolRendererV2::updateRangeLowerValue(int rangeIndex, double value)
177
{
178
  if (rangeIndex < 0 || rangeIndex >= mRanges.size())
179
    return false;
180
  mRanges[rangeIndex].setLowerValue(value);
181
  return true;  
182
}
183

  
156 184
QString QgsGraduatedSymbolRendererV2::dump()
157 185
{
158 186
  QString s = QString("GRADUATED: attr %1\n").arg(mAttrName);
......
473 501
  delete mSourceColorRamp;
474 502
  mSourceColorRamp = ramp;
475 503
}
504

  
505
void QgsGraduatedSymbolRendererV2::addClass( QgsSymbolV2* symbol )
506
{
507
  QgsSymbolV2* newSymbol = symbol->clone();
508
  QString label = "0.0 - 0.0";
509
  mRanges.insert(0, QgsRendererRangeV2(0.0, 0.0, newSymbol, label ) );
510

  
511
}
512

  
513
void QgsGraduatedSymbolRendererV2::deleteClass( int idx )
514
{
515
  mRanges.removeAt(idx);
516
}
src/core/symbology-ng/qgsgraduatedsymbolrendererv2.h (copia de trabajo)
19 19

  
20 20
    void setSymbol( QgsSymbolV2* s );
21 21
    void setLabel( QString label );
22
    void setLowerValue(double lowerValue);
23
    void setUpperValue(double upperValue);
22 24

  
23 25
    // debugging
24 26
    QString dump();
......
62 64

  
63 65
    bool updateRangeSymbol( int rangeIndex, QgsSymbolV2* symbol );
64 66
    bool updateRangeLabel( int rangeIndex, QString label );
67
    bool updateRangeUpperValue( int rangeIndex, double value);
68
    bool updateRangeLowerValue( int rangeIndex, double value);
69
    
70
    void addClass( QgsSymbolV2* symbol );
71
    void deleteClass( int idx );
65 72

  
66 73
    enum Mode
67 74
    {
src/ui/qgsgraduatedsymbolrendererv2widget.ui (copia de trabajo)
132 132
      </widget>
133 133
     </item>
134 134
     <item>
135
      <widget class="QPushButton" name="btnGraduatedAdd">
136
       <property name="text">
137
        <string>Add class</string>
138
       </property>
139
      </widget>
140
     </item>
141
     <item>
135 142
      <widget class="QPushButton" name="btnGraduatedDelete">
136 143
       <property name="text">
137 144
        <string>Delete class</string>