X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_IdValidator.h;h=24597e2afda4a7187a0b2c3cf8ec20e5ab7b9c79;hp=32004bc4014b585b98b48050af637223c233f8ea;hb=6bac08c1a81f34d3f21c550bd92f83654b2546a5;hpb=c63ee099ad2b149bd70136839c973e8910137bc5 diff --git a/src/SMESHGUI/SMESHGUI_IdValidator.h b/src/SMESHGUI/SMESHGUI_IdValidator.h index 32004bc40..24597e2af 100644 --- a/src/SMESHGUI/SMESHGUI_IdValidator.h +++ b/src/SMESHGUI/SMESHGUI_IdValidator.h @@ -1,68 +1,71 @@ -// SMESH SMESHGUI : GUI for SMESH component +// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE // -// Copyright (C) 2003 CEA -// -// 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. -// -// 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. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// 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, or (at your option) any later version. // +// 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. // +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// File : SMESHGUI_IdValidator.h -// Author : Edward AGAPOV -// Module : SMESH -// $Header: /dn05/salome/PAL/SMESH/SMESH_SRC/src/SMESHGUI/SMESHGUI_IdValidator.h -#ifndef SMESHGUI_IdValidator_HeaderFile -#define SMESHGUI_IdValidator_HeaderFile +// SMESH SMESHGUI : GUI for SMESH component +// File : SMESHGUI_IdValidator.h +// Author : Edward AGAPOV, Open CASCADE S.A.S. +// +#ifndef SMESHGUI_IDVALIDATOR_H +#define SMESHGUI_IDVALIDATOR_H + +// SMESH includes +#include "SMESH_SMESHGUI.hxx" -#include +// Qt includes +#include // validator for manual input of Ids -class SMESHGUI_IdValidator: public QValidator +class SMESHGUI_EXPORT SMESHGUI_IdValidator : public QValidator { - public: - - SMESHGUI_IdValidator(QWidget * parent, const char * name = 0, const int maxNbId = 0): - QValidator(parent,name), myMaxNbId(maxNbId) {} +public: + SMESHGUI_IdValidator( QWidget* parent, const int maxNbId = 0 ) : + QValidator( parent ), myMaxNbId( maxNbId ) {} - State validate ( QString & text, int & pos) const + State validate( QString& input, int& pos ) const { - text.replace( QRegExp(" *[^0-9]+ *"), " " ); - if ( myMaxNbId && text.length() > myMaxNbId) { // truncate extra ids + input.replace( QRegExp(" *[^0-9]+ *"), " " ); + if ( myMaxNbId && input.length() > myMaxNbId ) { + // truncate extra ids int ind = 0, nbId = 0; - while ( ind < text.length() ) { - if ( text.at( ind ) != ' ' ) { - if ( ++nbId > myMaxNbId ) { - text.truncate( ind ); - break; - } - ind = text.find( ' ', ind ); - if ( ind < 0 ) break; - } - ind++; + while ( ind < input.length() ) { + if ( input.at( ind ) != ' ' ) { + if ( ++nbId > myMaxNbId ) { + input.truncate( ind ); + break; + } + ind = input.indexOf( ' ', ind ); + if ( ind < 0 ) break; + } + ind++; } } - if ( pos > text.length() ) - pos = text.length(); + if ( pos > input.length() ) + pos = input.length(); return Acceptable; } - private: +private: int myMaxNbId; }; -#endif +#endif // SMESHGUI_IDVALIDATOR_H