-// Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D
+// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+//
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
-// This library is distributed in the hope that it will be useful
+// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
#ifndef QDS_DATUM_H
#define QDS_DATUM_H
#include "QDS.h"
+#include <QPointer>
+#include <QMap>
+#include <QLabel>
-#include <qobject.h>
-#include <qstring.h>
-#include <qvariant.h>
-#include <qguardedptr.h>
+class QHBoxLayout;
+class QVBoxLayout;
+class QGridLayout;
+class QValidator;
#include <DDS_DicItem.h>
-class QLabel;
class QWidget;
-class QValidator;
-class QVBoxLayout;
-class QHBoxLayout;
-class QGridLayout;
-
-class Handle(DDS_Dictionary);
class QDS_EXPORT QDS_Datum : public QObject, public QDS
{
class Wrapper;
public:
- QDS_Datum( const QString&, QWidget* = 0, const int = All, const QString& = QString::null );
+ QDS_Datum( const QString&, QWidget* = 0, const int = All, const QString& = QString() );
virtual ~QDS_Datum();
QString id() const;
QString minimumValue() const;
QString maximumValue() const;
+ QStringList options() const;
+ QVariant option( const QString& ) const;
+ QString optionString( const QString& ) const;
+ double optionDouble( const QString& ) const;
+ int optionInteger( const QString& ) const;
+
virtual QVariant value() const;
virtual QString stringValue() const;
virtual bool isEnabled( const int = Control ) const;
virtual void setEnabled( const bool, const int );
- void show( const int = -1 );
- void hide( const int = -1 );
- void setShown( const bool, const int = -1 );
+ void show( const int = All );
+ void hide( const int = All );
+ virtual void setShown( const bool, const int = All );
QWidget* widget( const int ) const;
void setFocus();
virtual bool isValid( const bool = true,
- const QString& = QString::null,
- const QString& = QString::null ) const;
+ const QString& = QString(),
+ const QString& = QString() ) const;
virtual QValidator* validator( const bool = false ) const;
void addTo( QVBoxLayout* );
static QString format( const double, const QString&, const bool = false );
static QString units( const QString& );
+ virtual QString getString() const = 0;
+
virtual bool eventFilter( QObject*, QEvent* );
operator QWidget*() const;
+ bool isCustomTr() const;
+ void enableCustomTr( const bool );
+
signals:
void paramChanged();
void paramChanged( QString& );
virtual QLabel* createUnits( QWidget* );
virtual QWidget* createControl( QWidget* ) = 0;
- virtual QString getString() const = 0;
virtual void setString( const QString& ) = 0;
virtual bool validate( const QString& ) const;
static QString canonicalFormat( const QString&, QString& );
private:
- typedef QGuardedPtr<QLabel> GuardedLabel;
- typedef QGuardedPtr<QWidget> GuardedWidget;
+ typedef QPointer<QLabel> GuardedLabel;
+ typedef QPointer<QWidget> GuardedWidget;
private:
QString myId;
QString mySourceValue;
QString myTargetValue;
- bool myInitialised;
+ bool myInitialised, myTr;
friend class QDS;
};