~ubuntu-branches/ubuntu/maverick/freecad/maverick

« back to all changes in this revision

Viewing changes to src/Gui/propertyeditor/PropertyModel.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Adam C. Powell, IV
  • Date: 2010-01-11 08:48:33 UTC
  • mfrom: (3.1.3 sid)
  • Revision ID: james.westby@ubuntu.com-20100111084833-4g9vgdqbkw8u34zb
Tags: 0.9.2646.5-1
* New upstream version (closes: #561696).
* Added swig to Build-Depends (closes: #563523, #563772).
* Removed python-opencv from Build-Depends and Recommends (closes: #560768).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/***************************************************************************
2
 
 *   Copyright (c) 2004 Werner Mayer <werner.wm.mayer@gmx.de>              *
3
 
 *                                                                         *
4
 
 *   This file is part of the FreeCAD CAx development system.              *
5
 
 *                                                                         *
6
 
 *   This library is free software; you can redistribute it and/or         *
7
 
 *   modify it under the terms of the GNU Library General Public           *
8
 
 *   License as published by the Free Software Foundation; either          *
9
 
 *   version 2 of the License, or (at your option) any later version.      *
10
 
 *                                                                         *
11
 
 *   This library  is distributed in the hope that it will be useful,      *
12
 
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
13
 
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
14
 
 *   GNU Library General Public License for more details.                  *
15
 
 *                                                                         *
16
 
 *   You should have received a copy of the GNU Library General Public     *
17
 
 *   License along with this library; see the file COPYING.LIB. If not,    *
18
 
 *   write to the Free Software Foundation, Inc., 59 Temple Place,         *
19
 
 *   Suite 330, Boston, MA  02111-1307, USA                                *
20
 
 *                                                                         *
21
 
 ***************************************************************************/
22
 
 
23
 
 
24
 
#include "PreCompiled.h"
25
 
 
26
 
#ifndef _PreComp_
27
 
#endif
28
 
 
29
 
#include <App/PropertyStandard.h>
30
 
#include <Gui/Application.h>
31
 
 
32
 
#include "PropertyModel.h"
33
 
#include "PropertyItem.h"
34
 
 
35
 
using namespace Gui::PropertyEditor;
36
 
 
 
1
/***************************************************************************
 
2
 *   Copyright (c) 2004 Werner Mayer <wmayer[at]users.sourceforge.net>     *
 
3
 *                                                                         *
 
4
 *   This file is part of the FreeCAD CAx development system.              *
 
5
 *                                                                         *
 
6
 *   This library is free software; you can redistribute it and/or         *
 
7
 *   modify it under the terms of the GNU Library General Public           *
 
8
 *   License as published by the Free Software Foundation; either          *
 
9
 *   version 2 of the License, or (at your option) any later version.      *
 
10
 *                                                                         *
 
11
 *   This library  is distributed in the hope that it will be useful,      *
 
12
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 
13
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 
14
 *   GNU Library General Public License for more details.                  *
 
15
 *                                                                         *
 
16
 *   You should have received a copy of the GNU Library General Public     *
 
17
 *   License along with this library; see the file COPYING.LIB. If not,    *
 
18
 *   write to the Free Software Foundation, Inc., 59 Temple Place,         *
 
19
 *   Suite 330, Boston, MA  02111-1307, USA                                *
 
20
 *                                                                         *
 
21
 ***************************************************************************/
 
22
 
 
23
 
 
24
#include "PreCompiled.h"
 
25
 
 
26
#ifndef _PreComp_
 
27
# include <cfloat>
 
28
#endif
 
29
 
 
30
#include "PropertyModel.h"
 
31
#include "PropertyItem.h"
 
32
 
 
33
using namespace Gui::PropertyEditor;
 
34
 
37
35
 
38
36
/* TRANSLATOR Gui::PropertyEditor::PropertyModel */
39
37
 
82
80
    if (role == Qt::EditRole) {
83
81
        PropertyItem *item = static_cast<PropertyItem*>(index.internalPointer());
84
82
        QVariant data = item->data(index.column(), role);
85
 
        if (data != value)
 
83
        if (data.type() == QVariant::Double && value.type() == QVariant::Double) {
 
84
            // since we store some properties as floats we get some round-off
 
85
            // errors here. Thus, we use an epsilon here.
 
86
            double d = data.toDouble();
 
87
            double v = value.toDouble();
 
88
            if (fabs(d-v) > FLT_EPSILON)
 
89
                return item->setData(value);
 
90
        }
 
91
        else if (data != value)
86
92
            return item->setData(value);
87
93
    }
88
94