1 // Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
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 GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 #include "SalomeApp_CheckFileDlg.h"
27 #include <QPushButton>
28 #include <QGridLayout>
33 SalomeApp_CheckFileDlg::SalomeApp_CheckFileDlg( QWidget* parent, bool open, const QString& theCheckBoxName, bool showQuickDir, bool modal) :
34 SUIT_FileDlg( parent, open, showQuickDir, modal )
36 QGridLayout* grid = ::qobject_cast<QGridLayout*>( layout() );
39 QCheckBox* myCheckBox = new QCheckBox( theCheckBoxName, this );
40 QLabel* label = new QLabel("", this);
41 QPushButton* pb = new QPushButton(this);
42 myCheckBoxes.append( myCheckBox );
44 int row = grid->rowCount();
45 grid->addWidget( label, row, 0 );
46 grid->addWidget( myCheckBox, row, 1 );
47 grid->addWidget( pb, row, 2 );
56 SalomeApp_CheckFileDlg::SalomeApp_CheckFileDlg( QWidget* parent,
58 const QStringList& theCheckBoxNames,
61 const QList< QWidget* >& wdgList,
62 const bool wdgAfter) :
63 SUIT_FileDlg( parent, open, showQuickDir, modal )
65 if ( theCheckBoxNames.count() > 0 || wdgList.count() > 0 )
67 QGridLayout* grid = ::qobject_cast<QGridLayout*>( layout() );
71 for ( int i = 0; i < wdgList.count(); ++i )
75 int row = grid->rowCount();
76 grid->addWidget( wdgList[i], row, 1 );
80 for ( int i = 0; i < theCheckBoxNames.count(); ++i )
82 QCheckBox* myCheckBox = new QCheckBox( theCheckBoxNames.at(i), this );
83 myCheckBoxes.append( myCheckBox );
85 int row = grid->rowCount();
86 grid->addWidget( myCheckBox, row, 1 );
90 for ( int i = 0; i < wdgList.count(); ++i )
94 int row = grid->rowCount();
95 grid->addWidget( wdgList[i], row, 1 );
105 SalomeApp_CheckFileDlg::~SalomeApp_CheckFileDlg()
111 void SalomeApp_CheckFileDlg::SetChecked( bool check, int checkBoxId/*=0*/ )
113 if ( checkBoxId >=0 && checkBoxId < myCheckBoxes.count() )
114 myCheckBoxes.at( checkBoxId )->setChecked(check);
118 *\retval boolean - true, check box is checked, else false.
120 bool SalomeApp_CheckFileDlg::IsChecked( int checkBoxId ) const
122 if ( checkBoxId >=0 && checkBoxId < myCheckBoxes.count() )
123 return myCheckBoxes.at( checkBoxId )->isChecked();