// SMESH SMESHGUI : GUI for SMESH component
//
// 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
-//
+//
+// 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.org
//
//
// Module : SMESH
// $Header$
-// QT Includes
-#include <qbuttongroup.h>
-#include <qgroupbox.h>
-#include <qpushbutton.h>
-#include <qlayout.h>
-#include <qlistview.h>
-#include <qheader.h>
-
-#include "QAD_Application.h"
-#include "QAD_Desktop.h"
-
-#include "SALOME_ListIteratorOfListIO.hxx"
-
#include "SMESHGUI_CreateHypothesesDlg.h"
+
#include "SMESHGUI_HypothesesUtils.h"
#include "SMESHGUI_Hypotheses.h"
#include "SMESHGUI_Utils.h"
#include "SMESHGUI.h"
+#include "SUIT_Desktop.h"
+#include "SUIT_ResourceMgr.h"
+
+#include "SALOME_ListIteratorOfListIO.hxx"
+
#include "utilities.h"
+// QT Includes
+#include <qbuttongroup.h>
+#include <qgroupbox.h>
+#include <qpushbutton.h>
+#include <qlayout.h>
+#include <qlistview.h>
+#include <qheader.h>
+
using namespace std;
//=================================================================================
-// class : SMESHGUI_CreateHypothesesDlg()
-// purpose : Constructs a SMESHGUI_CreateHypothesesDlg which is a child of 'parent', with the
+// function : SMESHGUI_CreateHypothesesDlg()
+// purpose : Constructs a SMESHGUI_CreateHypothesesDlg which is a child of 'parent', with the
// name 'name' and widget flags set to 'f'.
// The dialog will by default be modeless, unless you set 'modal' to
// TRUE to construct a modal dialog.
//=================================================================================
-SMESHGUI_CreateHypothesesDlg::SMESHGUI_CreateHypothesesDlg (QWidget* parent,
+SMESHGUI_CreateHypothesesDlg::SMESHGUI_CreateHypothesesDlg (SMESHGUI* theModule,
const char* name,
bool modal,
bool isAlgo)
- : QDialog( parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu | WDestructiveClose ),
- myIsAlgo( isAlgo )
+ : QDialog( SMESH::GetDesktop( theModule ), name, modal, WStyle_Customize | WStyle_NormalBorder |
+ WStyle_Title | WStyle_SysMenu | WDestructiveClose),
+ myIsAlgo(isAlgo),
+ mySMESHGUI( theModule )
{
- MESSAGE("SMESHGUI_CreateHypothesesDlg");
-
- if ( !name )
- setName( "SMESHGUI_CreateHypothesesDlg" );
- setCaption( isAlgo ? tr( "SMESH_CREATE_ALGORITHMS" ) : tr( "SMESH_CREATE_HYPOTHESES" ) );
- setSizeGripEnabled( TRUE );
+ if (!name)
+ setName("SMESHGUI_CreateHypothesesDlg");
+ setCaption(isAlgo ? tr("SMESH_CREATE_ALGORITHMS" ) : tr("SMESH_CREATE_HYPOTHESES" ));
+ setSizeGripEnabled(TRUE);
- QGridLayout* SMESHGUI_CreateHypothesesDlgLayout = new QGridLayout( this );
- SMESHGUI_CreateHypothesesDlgLayout->setSpacing( 6 );
- SMESHGUI_CreateHypothesesDlgLayout->setMargin( 11 );
+ QGridLayout* SMESHGUI_CreateHypothesesDlgLayout = new QGridLayout(this);
+ SMESHGUI_CreateHypothesesDlgLayout->setSpacing(6);
+ SMESHGUI_CreateHypothesesDlgLayout->setMargin(11);
/***************************************************************/
- GroupAlgorithms = new QGroupBox( this, "GroupAlgorithms" );
- GroupAlgorithms->setTitle( isAlgo ? tr("SMESH_AVAILABLE_ALGORITHMS") : tr("SMESH_AVAILABLE_HYPOTHESES") );
- GroupAlgorithms->setColumnLayout(0, Qt::Vertical );
- GroupAlgorithms->layout()->setSpacing( 0 );
- GroupAlgorithms->layout()->setMargin( 0 );
-
- QGridLayout* hypLayout = new QGridLayout( GroupAlgorithms->layout() );
- hypLayout->setGeometry( QRect( 12, 18, 139, 250 ) );
- hypLayout->setAlignment( Qt::AlignTop );
- hypLayout->setSpacing( 6 );
- hypLayout->setMargin( 11 );
-
- ListAlgoDefinition = new QListView( GroupAlgorithms, "ListAlgoDefinition" );
- ListAlgoDefinition->setMinimumSize( 400, 200 );
+ GroupAlgorithms = new QGroupBox(this, "GroupAlgorithms");
+ GroupAlgorithms->setTitle(isAlgo ? tr("SMESH_AVAILABLE_ALGORITHMS") : tr("SMESH_AVAILABLE_HYPOTHESES"));
+ GroupAlgorithms->setColumnLayout(0, Qt::Vertical);
+ GroupAlgorithms->layout()->setSpacing(0);
+ GroupAlgorithms->layout()->setMargin(0);
+
+ QGridLayout* hypLayout = new QGridLayout(GroupAlgorithms->layout());
+ hypLayout->setGeometry(QRect(12, 18, 139, 250));
+ hypLayout->setAlignment(Qt::AlignTop);
+ hypLayout->setSpacing(6);
+ hypLayout->setMargin(11);
+
+ ListAlgoDefinition = new QListView(GroupAlgorithms, "ListAlgoDefinition");
+ ListAlgoDefinition->setMinimumSize(400, 200);
ListAlgoDefinition->addColumn("");
ListAlgoDefinition->header()->hide();
ListAlgoDefinition->setSelectionMode(QListView::Single);
ListAlgoDefinition->setResizeMode(QListView::AllColumns);
- ListAlgoDefinition->setRootIsDecorated( true );
+ ListAlgoDefinition->setRootIsDecorated(true);
- hypLayout->addWidget( ListAlgoDefinition, 0, 0 );
- SMESHGUI_CreateHypothesesDlgLayout->addWidget( GroupAlgorithms, 0, 0 );
+ hypLayout->addWidget(ListAlgoDefinition, 0, 0);
+ SMESHGUI_CreateHypothesesDlgLayout->addWidget(GroupAlgorithms, 0, 0);
/***************************************************************/
- GroupButtons = new QGroupBox( this, "GroupButtons" );
- GroupButtons->setColumnLayout( 0, Qt::Vertical );
- GroupButtons->layout()->setSpacing( 0 );
- GroupButtons->layout()->setMargin( 0 );
- QGridLayout* GroupButtonsLayout = new QGridLayout( GroupButtons->layout() );
- GroupButtonsLayout->setAlignment( Qt::AlignTop );
- GroupButtonsLayout->setSpacing( 6 );
- GroupButtonsLayout->setMargin( 11 );
-
- buttonApply = new QPushButton( GroupButtons, "buttonApply" );
- buttonApply->setText( tr( "SMESH_BUT_CREATE" ) );
- buttonApply->setAutoDefault( TRUE );
- buttonApply->setDefault( FALSE );
- buttonApply->setEnabled( FALSE ) ;
- GroupButtonsLayout->addWidget( buttonApply, 0, 1 );
-
- QSpacerItem* spacer_9 = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
- GroupButtonsLayout->addItem( spacer_9, 0, 2 );
-
- buttonCancel = new QPushButton( GroupButtons, "buttonCancel" );
- buttonCancel->setText( tr( "SMESH_BUT_CLOSE" ) );
- buttonCancel->setAutoDefault( TRUE );
- buttonCancel->setDefault( TRUE );
- buttonCancel->setEnabled( TRUE ) ;
- GroupButtonsLayout->addWidget( buttonCancel, 0, 3 );
-
- SMESHGUI_CreateHypothesesDlgLayout->addWidget( GroupButtons, 1, 0 );
+ GroupButtons = new QGroupBox(this, "GroupButtons");
+ GroupButtons->setColumnLayout(0, Qt::Vertical);
+ GroupButtons->layout()->setSpacing(0);
+ GroupButtons->layout()->setMargin(0);
+ QGridLayout* GroupButtonsLayout = new QGridLayout(GroupButtons->layout());
+ GroupButtonsLayout->setAlignment(Qt::AlignTop);
+ GroupButtonsLayout->setSpacing(6);
+ GroupButtonsLayout->setMargin(11);
+
+ buttonApply = new QPushButton(GroupButtons, "buttonApply");
+ buttonApply->setText(tr("SMESH_BUT_CREATE" ));
+ buttonApply->setAutoDefault(TRUE);
+ buttonApply->setDefault(FALSE);
+ buttonApply->setEnabled(FALSE);
+ GroupButtonsLayout->addWidget(buttonApply, 0, 1);
+
+ QSpacerItem* spacer_9 = new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+ GroupButtonsLayout->addItem(spacer_9, 0, 2);
+
+ buttonCancel = new QPushButton(GroupButtons, "buttonCancel");
+ buttonCancel->setText(tr("SMESH_BUT_CLOSE" ));
+ buttonCancel->setAutoDefault(TRUE);
+ buttonCancel->setDefault(TRUE);
+ buttonCancel->setEnabled(TRUE);
+ GroupButtonsLayout->addWidget(buttonCancel, 0, 3);
+
+ SMESHGUI_CreateHypothesesDlgLayout->addWidget(GroupButtons, 1, 0);
/***************************************************************/
Init();
//=================================================================================
SMESHGUI_CreateHypothesesDlg::~SMESHGUI_CreateHypothesesDlg()
{
- // no need to delete child widgets, Qt does it all for us
+ // no need to delete child widgets, Qt does it all for us
}
//=================================================================================
//=================================================================================
void SMESHGUI_CreateHypothesesDlg::Init()
{
- mySMESHGUI = SMESHGUI::GetSMESHGUI() ;
- mySMESHGUI->SetActiveDialogBox( (QDialog*)this ) ;
+ mySMESHGUI->SetActiveDialogBox((QDialog*)this);
InitAlgoDefinition();
/* signals and slots connections */
- connect( buttonCancel, SIGNAL( clicked() ), this, SLOT( ClickOnCancel() ) ) ;
- connect( buttonApply , SIGNAL( clicked() ), this, SLOT( ClickOnApply() ) ) ;
-
-// connect( mySMESHGUI, SIGNAL ( SignalDeactivateActiveDialog() ), this, SLOT( DeactivateActiveDialog() ) ) ;
- connect( mySMESHGUI, SIGNAL ( SignalCloseAllDialogs() ), this, SLOT( ClickOnCancel() ) ) ;
-
- connect( ListAlgoDefinition, SIGNAL( selectionChanged() ), this, SLOT( onSelectionChanged() ) );
- connect( ListAlgoDefinition, SIGNAL( doubleClicked(QListViewItem*) ), this, SLOT( onDoubleClicked(QListViewItem*) ) );
-
- int x, y ;
- mySMESHGUI->DefineDlgPosition( this, x, y ) ;
- this->move( x, y ) ;
- this->show() ;
+ connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel()));
+ connect(buttonApply , SIGNAL(clicked()), this, SLOT(ClickOnApply()));
+
+// connect(mySMESHGUI, SIGNAL (SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog()));
+ connect(mySMESHGUI, SIGNAL (SignalCloseAllDialogs()), this, SLOT(ClickOnCancel()));
+
+ connect(ListAlgoDefinition, SIGNAL(selectionChanged()), this, SLOT(onSelectionChanged()));
+ connect(ListAlgoDefinition, SIGNAL(doubleClicked(QListViewItem*)), this, SLOT(onDoubleClicked(QListViewItem*)));
+
+ int x, y;
+ mySMESHGUI->DefineDlgPosition(this, x, y);
+ this->move(x, y);
+ this->show();
}
//=================================================================================
//=================================================================================
void SMESHGUI_CreateHypothesesDlg::ClickOnCancel()
{
- close() ;
+ close();
}
//=================================================================================
//=================================================================================
void SMESHGUI_CreateHypothesesDlg::ClickOnApply()
{
- if (mySMESHGUI->ActiveStudyLocked())
+ if (mySMESHGUI->isActiveStudyLocked())
return;
QListViewItem* item = ListAlgoDefinition->selectedItem();
- if ( !item )
+ if (!item)
return;
- QString aHypType = item->text( 1 );
+ QString aHypType = item->text(1);
MESSAGE("Apply " << aHypType);
char* sHypType = (char*)aHypType.latin1();
HypothesisData* aHypData = SMESH::GetHypothesisData(sHypType);
- if ( !aHypData )
+ if (!aHypData)
return;
QString aClientLibName = aHypData->ClientLibName;
MESSAGE("Client lib name = " << aClientLibName);
- if (aClientLibName == "")
- {
+ if (aClientLibName == "") {
// Call hypothesis creation server method (without GUI)
QString aHypName = aHypData->Label;
SMESH::CreateHypothesis(sHypType, aHypName, myIsAlgo);
- }
- else
- {
+ } else {
// Get hypotheses creator client (GUI)
SMESHGUI_GenericHypothesisCreator* aCreator =
SMESH::GetHypothesisCreator(sHypType);
//=================================================================================
void SMESHGUI_CreateHypothesesDlg::ActivateThisDialog()
{
- mySMESHGUI->EmitSignalDeactivateDialog() ;
- GroupButtons->setEnabled(true) ;
- return ;
+ mySMESHGUI->EmitSignalDeactivateDialog();
+ GroupButtons->setEnabled(true);
+ return;
}
//=================================================================================
// function : enterEvent()
// purpose :
//=================================================================================
-void SMESHGUI_CreateHypothesesDlg::enterEvent(QEvent* e)
+void SMESHGUI_CreateHypothesesDlg::enterEvent (QEvent*)
{
- ActivateThisDialog() ;
- return ;
+ ActivateThisDialog();
+ return;
}
//=================================================================================
// function : closeEvent()
// purpose :
//=================================================================================
-void SMESHGUI_CreateHypothesesDlg::closeEvent( QCloseEvent* e )
+void SMESHGUI_CreateHypothesesDlg::closeEvent (QCloseEvent* e)
{
mySMESHGUI->ResetState();
- QDialog::closeEvent( e );
+ QDialog::closeEvent(e);
}
//=================================================================================
void SMESHGUI_CreateHypothesesDlg::onSelectionChanged()
{
QListViewItem* item = ListAlgoDefinition->selectedItem();
- buttonApply->setEnabled( item && item->depth() > 0 ) ;
+ buttonApply->setEnabled(item && item->depth() > 0);
}
//=================================================================================
// function : onDoubleClicked()
// purpose :
//=================================================================================
-void SMESHGUI_CreateHypothesesDlg::onDoubleClicked(QListViewItem* i)
+void SMESHGUI_CreateHypothesesDlg::onDoubleClicked (QListViewItem* i)
{
- if ( i && i->depth() > 0 )
+ if (i && i->depth() > 0)
this->ClickOnApply();
}
{
ListAlgoDefinition->clear();
QStringList HypList = SMESH::GetAvailableHypotheses(myIsAlgo);
- for ( int i = 0; i < HypList.count(); ++i ) {
- HypothesisData* aHypData = SMESH::GetHypothesisData( HypList[i] );
+ for (int i = 0; i < HypList.count(); ++i) {
+ HypothesisData* aHypData = SMESH::GetHypothesisData(HypList[i]);
QListViewItem* parentItem = 0;
QListViewItem* childItem = ListAlgoDefinition->firstChild();
- while ( childItem ) {
- if ( childItem->text(0) == aHypData->PluginName ) {
+ while (childItem) {
+ if (childItem->text(0) == aHypData->PluginName) {
parentItem = childItem;
break;
}
childItem = childItem->nextSibling();
}
- if ( !parentItem )
- parentItem = new QListViewItem( ListAlgoDefinition, aHypData->PluginName );
- parentItem->setOpen( true );
- QListViewItem* aItem = new QListViewItem( parentItem, aHypData->Label, HypList[i] );
- QPixmap aPixMap (QAD_Desktop::getResourceManager()->loadPixmap
- ("SMESH", tr(aHypData->IconId)));
- if ( !aPixMap.isNull() )
- aItem->setPixmap( 0, aPixMap );
+ if (!parentItem)
+ parentItem = new QListViewItem(ListAlgoDefinition, aHypData->PluginName);
+ parentItem->setOpen(true);
+ QListViewItem* aItem = new QListViewItem(parentItem, aHypData->Label, HypList[i]);
+ QPixmap aPixMap (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr(aHypData->IconId)));
+ if (!aPixMap.isNull())
+ aItem->setPixmap(0, aPixMap);
}
}