Back to index

salome-gui  6.5.0
ViewerTools_DialogBase.cxx
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 #include "ViewerTools_DialogBase.h"
00024 
00025 #include "QtxAction.h"
00026 
00030 ViewerTools_DialogBase
00031 ::ViewerTools_DialogBase(QtxAction* theAction,
00032                          QWidget* theParent,
00033                          const char* theName, 
00034                          bool theModal, 
00035                          Qt::WindowFlags theWFalgs):
00036   QDialog(theParent, 
00037           theWFalgs | Qt::WindowTitleHint | Qt::WindowSystemMenuHint),
00038   myAction(theAction)
00039 {
00040   setObjectName(theName);
00041   setModal(theModal);
00042 
00043   connect(theParent, SIGNAL(Show( QShowEvent * )), this, SLOT(onParentShow()));
00044   connect(theParent, SIGNAL(Hide( QHideEvent * )), this, SLOT(onParentHide()));
00045 }
00046 
00047 /*
00048  *  Destroys the object and frees any allocated resources
00049  */
00050 ViewerTools_DialogBase
00051 ::~ViewerTools_DialogBase()
00052 {
00053   // no need to delete child widgets, Qt does it all for us
00054 }
00055 
00056 void 
00057 ViewerTools_DialogBase
00058 ::onParentShow()
00059 {
00060   if(myAction->isChecked())
00061     show();
00062   else
00063     hide();
00064 }
00065 
00066 void 
00067 ViewerTools_DialogBase
00068 ::onParentHide()
00069 {
00070   hide();
00071 }
00072 
00073 void 
00074 ViewerTools_DialogBase
00075 ::done( int r )
00076 {
00077   myAction->setChecked( false );
00078   QDialog::done( r );
00079 }