X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FQDS%2FQDS_CheckBox.cxx;h=ae9968385766387be408dd0d0eb14b1c4410dfc4;hb=e6caa123c65e3c4a3017364ec5bb4225fd898465;hp=dc73cda956d5c8e542b4b86c3da3850de4862c9c;hpb=399155730966dfc225fbb24f66204b05664385f2;p=modules%2Fgui.git diff --git a/src/QDS/QDS_CheckBox.cxx b/src/QDS/QDS_CheckBox.cxx index dc73cda95..ae9968385 100644 --- a/src/QDS/QDS_CheckBox.cxx +++ b/src/QDS/QDS_CheckBox.cxx @@ -1,11 +1,14 @@ -// Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D +// Copyright (C) 2007-2015 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. @@ -16,13 +19,48 @@ // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + #include "QDS_CheckBox.h" -#include +#include + +/* + \class QDS_CheckBox + \brief Datum with control corresponding to check box. + + This control can have only two states: + - 1 (on/true) + - 0 (off/false). + + QDS_CheckBox don't take into account standard parameter properties + (minimum, maximum, filter, etc). + + QDS_CheckBox can set and get following values for access methods (setStringValue(), + setIntegerValue(), setDoubleValue(), stringValue(), integerValue(), doubleValue()): + - "1" - check box state is switched on. + - "0" - check box state is switched off. + - "-1" - check box state is "PartiallyChecked" (undefined). + + User can set and test "PartiallyChecked" check using methods clear() + and isEmpty() correspondingly. +*/ /*! - Constructor. This method is protected. Object can't be directly constructed. - Use static method QDS_CheckBox::Create instead. + \brief Constructor. + + Create check box datum object with datum identifier \a id + and parent widget \a parent. + + Parameter \a flags defines behaviour of datum and set of created + subwidgets. Default value of this parameter is QDS::All. + + Parameter \a comp specifies the component name which will be used + when searching the dictionary item. + + \param id datum identifier + \param parent parent widget + \param flags datum flags + \param comp component */ QDS_CheckBox::QDS_CheckBox( const QString& id, QWidget* parent, const int flags, const QString& comp ) : QDS_Datum( id, parent, flags, comp ) @@ -30,14 +68,14 @@ QDS_CheckBox::QDS_CheckBox( const QString& id, QWidget* parent, const int flags, } /*! - Destructor. + \brief Destructor. */ QDS_CheckBox::~QDS_CheckBox() { } /*! - Sets the state "NoChange" for checkbox. + \brief Set the state "PartiallyChecked" (undefined) for checkbox. */ void QDS_CheckBox::clear() { @@ -45,18 +83,26 @@ void QDS_CheckBox::clear() } /*! - Returns string from QCheckBox widget. + \brief Get string value from the widget. + \return "1" if check box is checked on and "0" otherwise */ QString QDS_CheckBox::getString() const { QString val; - if ( checkBox() && checkBox()->state() != QButton::NoChange ) + if ( checkBox() && checkBox()->checkState() != Qt::PartiallyChecked ) val = checkBox()->isChecked() ? "1" : "0"; return val; } /*! - Sets the string into QCheckBox widget. + \brief Set the string value into the widget. + + If string \a txt contains "1", then check box state is switched on. + If string \a txt contains "0", then check box state is switched on. + If string \a txt contains "-1", then check box is reset to + "PartiallyChecked" (undefined) state. + + \param txt string value */ void QDS_CheckBox::setString( const QString& txt ) { @@ -68,22 +114,25 @@ void QDS_CheckBox::setString( const QString& txt ) if ( isOk && val < 0 ) { checkBox()->setTristate(); - checkBox()->setNoChange(); + checkBox()->setCheckState(Qt::PartiallyChecked); } else checkBox()->setChecked( isOk && val != 0 ); } /*! - Returns pointer to QCheckBox widget. + \brief Get internal check box. + \return pointer to QCheckBox widget */ QCheckBox* QDS_CheckBox::checkBox() const { - return ::qt_cast( controlWidget() ); + return ::qobject_cast( controlWidget() ); } /*! - Create QCheckBox widget as control subwidget. + \brief Create internal check box as control widget. + \param parent parent widget + \return created check box widget */ QWidget* QDS_CheckBox::createControl( QWidget* parent ) { @@ -95,26 +144,49 @@ QWidget* QDS_CheckBox::createControl( QWidget* parent ) } /*! - Notify about shanging of control state + \brief Called when check box is switched. + + Emits signal paramChanged() to notify about changing of the control state. */ void QDS_CheckBox::onParamChanged() { emit paramChanged(); } +/*! + \brief Called when check box is switched. + + Switch off check box property "tristate" when state is changed by the user. + + \param state new check box state +*/ void QDS_CheckBox::onStateChanged( int state ) { - if ( state != QButton::NoChange && checkBox() ) + if ( state != Qt::PartiallyChecked && checkBox() ) checkBox()->setTristate( false ); } +/*! + \brief Set the check box state to \a theState. + \param theState new check box state +*/ void QDS_CheckBox::setChecked( const bool theState ) { if ( checkBox() ) checkBox()->setChecked( theState ); } +/*! + \brief Get current check box state. + \return check box state +*/ bool QDS_CheckBox::isChecked() const { return checkBox() ? checkBox()->isChecked() : false; } + +/*! + \fn void QDS_CheckBox::toggled( bool on ); + \brief Emitted when the check box state is toggled. + \param on new check box state +*/