• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • KDevelop Property Editing Library
 

KDevelop Property Editing Library

  • lib
  • widgets
  • propeditor
pdoublenuminput.cpp
1/***************************************************************************
2 * Copyright (C) 2003-2004 by Alexander Dymo *
3 * cloudtemple@mskat.net *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU Library General Public License as *
7 * published by the Free Software Foundation; either version 2 of the *
8 * License, or (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU Library General Public *
16 * License along with this program; if not, write to the *
17 * Free Software Foundation, Inc., *
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
19 ***************************************************************************/
20#include "pdoublenuminput.h"
21
22#ifndef PURE_QT
23#include <knuminput.h>
24#else
25#include "tqfloatinput.h"
26#endif
27
28#include <limits.h>
29#include <math.h>
30#include <tqlayout.h>
31
32namespace PropertyLib{
33
34PDoubleNumInput::PDoubleNumInput(MultiProperty *property, TQWidget *parent, const char *name)
35 :PropertyWidget(property, parent, name)
36{
37 TQHBoxLayout *l = new TQHBoxLayout(this, 0, 0);
38#ifndef PURE_QT
39 m_edit = new KDoubleNumInput(-999999.0, 999999.0, 0.0, 0.01, 2, this);
40 m_edit->setLabel(TQString());
41 connect(m_edit, TQ_SIGNAL(valueChanged(double)), this, TQ_SLOT(updateProperty(double)));
42#else
43 m_edit = new TQFloatInput(-999999, 999999, 0.01, 2, this );
44 connect(m_edit, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(updateProperty(int)));
45#endif
46 m_edit->setSizePolicy(TQSizePolicy::MinimumExpanding, TQSizePolicy::MinimumExpanding);
47/* m_edit->setMinValue(-999999999);
48 m_edit->setMaxValue(+999999999);
49 m_edit->setPrecision(2);*/
50 l->addWidget(m_edit);
51
52}
53
54TQVariant PDoubleNumInput::value() const
55{
56 return TQVariant(m_edit->value());
57}
58
59void PDoubleNumInput::setValue(const TQVariant &value, bool emitChange)
60{
61#ifndef PURE_QT
62 disconnect(m_edit, TQ_SIGNAL(valueChanged(double)), this, TQ_SLOT(updateProperty(double)));
63 m_edit->setValue(value.toDouble());
64 connect(m_edit, TQ_SIGNAL(valueChanged(double)), this, TQ_SLOT(updateProperty(double)));
65#else
66 disconnect(m_edit, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(updateProperty(int)));
67 m_edit->setValue(int(value.toDouble()*pow(m_edit->digits(),10)));
68 connect(m_edit, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(updateProperty(int)));
69#endif
70 if (emitChange)
71 emit propertyChanged(m_property, value);
72}
73
74void PDoubleNumInput::updateProperty(double val)
75{
76 emit propertyChanged(m_property, TQVariant(val));
77}
78void PDoubleNumInput::updateProperty(int val)
79{
80#ifdef PURE_QT
81 TQString format = TQString("%.%1f").arg( m_edit->digits() );
82 TQString strVal = TQString().sprintf(format.latin1(),
83 (val/(float)pow(m_edit->digits(),10)) );
84 emit propertyChanged(m_property, TQVariant(strVal));
85#else
86 Q_UNUSED(val);
87#endif
88}
89
90}
91
92#ifndef PURE_QT
93#include "pdoublenuminput.moc"
94#endif
TQFloatInput
qfloatinput.h
Definition qfloatinput.h:29
PropertyLib
Namespace which contain property editing classes.
Definition childproperty.cpp:29

KDevelop Property Editing Library

Skip menu "KDevelop Property Editing Library"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members

KDevelop Property Editing Library

Skip menu "KDevelop Property Editing Library"
  • buildtools
  •   lib
  •     base
  •     parsers
  •       autotools
  •       qmake
  •     widgets
  •   api
  • languages
  •   lib
  •     debugger
  •     designer_integration
  •     interfaces
  • lib
  •   catalog
  •   interfaces
  •     extensions
  •     external
  •     extras
  •   util
  •   widgets
  •     propeditor
  • parts
  •   documentation
  •     interfaces
  • src
  •   profileengine
  •     lib
Generated for KDevelop Property Editing Library by doxygen 1.9.8
This website is maintained by Timothy Pearson.