// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
//
//
#include "SMESH_TypeFilter.hxx"
#include "SUIT_Desktop.h"
+#include "SUIT_Session.h"
+#include "SUIT_MessageBox.h"
#include "SalomeApp_Study.h"
-#include "SalomeApp_SelectionMgr.h"
+#include "LightApp_Application.h"
+#include "LightApp_SelectionMgr.h"
-#include "SVTK_Selection.h"
#include "SALOME_ListIO.hxx"
#include "SALOME_ListIteratorOfListIO.hxx"
+#include "SVTK_Selection.h"
+#include "SVTK_ViewWindow.h"
+
// QT Includes
#include <qframe.h>
#include <qlayout.h>
// function : SMESHGUI_DeleteGroupDlg()
// purpose : Constructor
//=================================================================================
-SMESHGUI_DeleteGroupDlg::SMESHGUI_DeleteGroupDlg (QWidget* theParent,
- SalomeApp_SelectionMgr* theSelection)
- : QDialog(theParent, "SMESHGUI_DeleteGroupDlg", false,
- WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu)
+SMESHGUI_DeleteGroupDlg::SMESHGUI_DeleteGroupDlg (SMESHGUI* theModule):
+ QDialog(SMESH::GetDesktop(theModule),
+ "SMESHGUI_DeleteGroupDlg",
+ false,
+ WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu),
+ mySelectionMgr(SMESH::GetSelectionMgr(theModule)),
+ mySMESHGUI(theModule)
{
setCaption(tr("CAPTION"));
aDlgLay->setStretchFactor(aMainFrame, 1);
- Init(theSelection);
+ myHelpFileName = "deleting_groups.htm";
+
+ Init();
}
//=================================================================================
myOkBtn = new QPushButton(tr("SMESH_BUT_OK" ), aFrame);
myApplyBtn = new QPushButton(tr("SMESH_BUT_APPLY"), aFrame);
myCloseBtn = new QPushButton(tr("SMESH_BUT_CLOSE"), aFrame);
+ myHelpBtn = new QPushButton(tr("SMESH_BUT_HELP"), aFrame);
QSpacerItem* aSpacer = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum);
aLay->addWidget(myApplyBtn);
aLay->addItem(aSpacer);
aLay->addWidget(myCloseBtn);
+ aLay->addWidget(myHelpBtn);
// connect signals and slots
connect(myOkBtn, SIGNAL(clicked()), SLOT(onOk()));
connect(myCloseBtn, SIGNAL(clicked()), SLOT(onClose()));
connect(myApplyBtn, SIGNAL(clicked()), SLOT(onApply()));
+ connect(myHelpBtn, SIGNAL(clicked()), SLOT(onHelp()));
return aFrame;
}
// function : Init()
// purpose : Init dialog fields, connect signals and slots, show dialog
//=================================================================================
-void SMESHGUI_DeleteGroupDlg::Init (SalomeApp_SelectionMgr* theSelection)
+void SMESHGUI_DeleteGroupDlg::Init ()
{
myBlockSelection = false;
- mySelectionMgr = theSelection;
- SMESHGUI* aSMESHGUI = SMESHGUI::GetSMESHGUI();
- aSMESHGUI->SetActiveDialogBox((QDialog*)this);
+ mySMESHGUI->SetActiveDialogBox((QDialog*)this);
// selection and SMESHGUI
connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), SLOT(onSelectionDone()));
- connect(aSMESHGUI, SIGNAL(SignalDeactivateActiveDialog()), SLOT(onDeactivate()));
- connect(aSMESHGUI, SIGNAL(SignalCloseAllDialogs()), SLOT(onClose()));
+ connect(mySMESHGUI, SIGNAL(SignalDeactivateActiveDialog()), SLOT(onDeactivate()));
+ connect(mySMESHGUI, SIGNAL(SignalCloseAllDialogs()), SLOT(onClose()));
- int x, y;
- aSMESHGUI->DefineDlgPosition(this, x, y);
- this->move(x, y);
this->show();
// set selection mode
-#ifdef NEW_GUI
- mySelectionMgr->setSelectionModes(ActorSelection, true);
-#else
- mySelectionMgr->setSelectionModes(ActorSelection);
-#endif
mySelectionMgr->installFilter(new SMESH_TypeFilter(GROUP));
+ if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
+ aViewWindow->SetSelectionMode(ActorSelection);
onSelectionDone();
return;
return false;
}
- return !SMESHGUI::GetSMESHGUI()->isActiveStudyLocked();
+ return !mySMESHGUI->isActiveStudyLocked();
}
//=================================================================================
myListGrp.clear();
mySelectionMgr->clearSelected();
SMESH::UpdateView();
- SMESHGUI::GetSMESHGUI()->updateObjBrowser(true);
+ mySMESHGUI->updateObjBrowser(true);
myBlockSelection = false;
return true;
//=================================================================================
void SMESHGUI_DeleteGroupDlg::onClose()
{
- mySelectionMgr->setSelectionModes(ActorSelection);
+ if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
+ aViewWindow->SetSelectionMode(ActorSelection);
disconnect(mySelectionMgr, 0, this, 0);
- disconnect(SMESHGUI::GetSMESHGUI(), 0, this, 0);
- SMESHGUI::GetSMESHGUI()->ResetState();
+ disconnect(mySMESHGUI, 0, this, 0);
+ mySMESHGUI->ResetState();
mySelectionMgr->clearFilters();
reject();
}
+//=================================================================================
+// function : onHelp()
+// purpose :
+//=================================================================================
+void SMESHGUI_DeleteGroupDlg::onHelp()
+{
+ LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication());
+ if (app)
+ app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
+ else {
+ QString platform;
+#ifdef WIN32
+ platform = "winapplication";
+#else
+ platform = "application";
+#endif
+ SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
+ QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
+ arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
+ QObject::tr("BUT_OK"));
+ }
+}
+
//=================================================================================
// function : onSelectionDone()
// purpose : SLOT called when selection changed
//=================================================================================
void SMESHGUI_DeleteGroupDlg::enterEvent (QEvent*)
{
- SMESHGUI::GetSMESHGUI()->EmitSignalDeactivateDialog();
+ mySMESHGUI->EmitSignalDeactivateDialog();
setEnabled(true);
-#ifdef NEW_GUI
- mySelectionMgr->setSelectionModes(ActorSelection, true);
-#else
- mySelectionMgr->setSelectionModes(ActorSelection);
-#endif
+ if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
+ aViewWindow->SetSelectionMode(ActorSelection);
mySelectionMgr->installFilter(new SMESH_TypeFilter (GROUP));
}
{
onClose();
}
+
+//=================================================================================
+// function : keyPressEvent()
+// purpose :
+//=================================================================================
+void SMESHGUI_DeleteGroupDlg::keyPressEvent( QKeyEvent* e )
+{
+ QDialog::keyPressEvent( e );
+ if ( e->isAccepted() )
+ return;
+
+ if ( e->key() == Key_F1 )
+ {
+ e->accept();
+ onHelp();
+ }
+}