// 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 "SUIT_Session.h"
#include "SUIT_Desktop.h"
#include "SUIT_FileDlg.h"
+#include "SUIT_MessageBox.h"
+
+#include "LightApp_Application.h"
// QT Includes
#include <qapplication.h>
bool SMESHGUI_FilterLibraryDlg::Dialog::acceptData()
{
-#ifdef NEW_GUI
- if (mode() != QFileDialogP::AnyFile)
- return SUIT_FileDlg::acceptData();
-#endif
+// if (mode() != QFileDialogP::AnyFile)
+// return SUIT_FileDlg::acceptData();
return true;
}
// name : SMESHGUI_FilterLibraryDlg::SMESHGUI_FilterLibraryDlg
// Purpose : Constructor
//=======================================================================
-SMESHGUI_FilterLibraryDlg::SMESHGUI_FilterLibraryDlg (QWidget* theParent,
+SMESHGUI_FilterLibraryDlg::SMESHGUI_FilterLibraryDlg (SMESHGUI* theModule,
+ QWidget* parent,
const QValueList<int>& theTypes,
const int theMode,
const char* theName)
- : QDialog(theParent, theName, true, WStyle_Customize |
- WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu)
+ : QDialog( parent, theName, false, WStyle_Customize |
+ WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu ),
+ mySMESHGUI( theModule )
{
construct(theTypes, theMode);
}
// name : SMESHGUI_FilterLibraryDlg::SMESHGUI_FilterLibraryDlg
// Purpose : Constructor
//=======================================================================
-SMESHGUI_FilterLibraryDlg::SMESHGUI_FilterLibraryDlg (QWidget* theParent,
+SMESHGUI_FilterLibraryDlg::SMESHGUI_FilterLibraryDlg (SMESHGUI* theModule,
+ QWidget* parent,
const int theType,
const int theMode,
const char* theName)
- : QDialog(theParent, theName, true, WStyle_Customize |
- WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu)
+ : QDialog( parent, theName, true, WStyle_Customize |
+ WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu ),
+ mySMESHGUI( theModule )
{
QValueList<int> aTypes;
aTypes.append(theType);
aDlgLay->setStretchFactor(myMainFrame, 1);
+ myHelpFileName = "selection_filter_library_page.html";
+
Init(myTypes, myMode);
}
// table
- myTable = new SMESHGUI_FilterTable(aMainFrame, myTypes);
+ myTable = new SMESHGUI_FilterTable( mySMESHGUI, aMainFrame, myTypes);
myTable->SetEditable(myMode == EDIT);
myTable->SetLibsEnabled(false);
myButtons[ BTN_Cancel ] = new QPushButton(tr("SMESH_BUT_CANCEL"), aGrp);
myButtons[ BTN_Close ] = new QPushButton(tr("SMESH_BUT_CLOSE"), aGrp);
+ myButtons[ BTN_Help ] = new QPushButton(tr("SMESH_BUT_HELP"), aGrp);
connect(myButtons[ BTN_OK ], SIGNAL(clicked()), SLOT(onOk()));
connect(myButtons[ BTN_Cancel ], SIGNAL(clicked()), SLOT(onClose()));
connect(myButtons[ BTN_Close ], SIGNAL(clicked()), SLOT(onClose()));
connect(myButtons[ BTN_Apply ], SIGNAL(clicked()), SLOT(onApply()));
+ connect(myButtons[ BTN_Help ], SIGNAL(clicked()), SLOT(onHelp()));
QMap<int, QPushButton*>::iterator anIter;
for (anIter = myButtons.begin(); anIter != myButtons.end(); ++anIter)
updateControlsVisibility();
setEnabled(true);
- SMESHGUI* aModeler = SMESHGUI::GetSMESHGUI();
-
- connect(aModeler, SIGNAL(SignalDeactivateActiveDialog()), SLOT(onDeactivate()));
- connect(aModeler, SIGNAL(SignalCloseAllDialogs()), SLOT(onClose()));
+ connect( mySMESHGUI, SIGNAL(SignalDeactivateActiveDialog()), SLOT(onDeactivate()));
+ connect( mySMESHGUI, SIGNAL(SignalCloseAllDialogs()), SLOT(onClose()));
if (myMode == ADD_TO)
{
myListBox->setCurrentItem(0);
}
- int x, y;
- aModeler->DefineDlgPosition(this, x, y);
- this->move(x, y);
-
this->show();
updateMainButtons();
{
if (onApply())
{
- disconnect(SMESHGUI::GetSMESHGUI(), 0, this, 0);
- SMESHGUI::GetSMESHGUI()->ResetState();
+ disconnect( mySMESHGUI, 0, this, 0);
+ mySMESHGUI->ResetState();
accept();
}
}
//=======================================================================
void SMESHGUI_FilterLibraryDlg::onClose()
{
- disconnect(SMESHGUI::GetSMESHGUI(), 0, this, 0);
- SMESHGUI::GetSMESHGUI()->ResetState();
+ disconnect( mySMESHGUI, 0, this, 0);
+ mySMESHGUI->ResetState();
reject();
}
+//=================================================================================
+// function : onHelp()
+// purpose :
+//=================================================================================
+void SMESHGUI_FilterLibraryDlg::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"));
+ }
+}
+
//=======================================================================
// name : SMESHGUI_FilterLibraryDlg::onDeactivate
// Purpose : SLOT called when dialog must be deativated
SMESH::FilterManager_var aFilterMgr = SMESH::GetFilterManager();
SMESH::Filter_var aFilter = aFilterMgr->CreateFilter();
- aFilter->SetCriteria(aCriteria.inout());
+ aFilter->SetCriteria(aCriteria.in());
return aFilter._retn();
}
tr("ERROR_OF_DELETING"), QMessageBox::Ok);
} else {
myCurrFilterName = "";
- myCurrFilterName = -1;
+ myCurrFilter = -1;
myListBox->removeItem(anIndex);
if (anIndex >= 1)
}
}
}
+
+//=================================================================================
+// function : keyPressEvent()
+// purpose :
+//=================================================================================
+void SMESHGUI_FilterLibraryDlg::keyPressEvent( QKeyEvent* e )
+{
+ QDialog::keyPressEvent( e );
+ if ( e->isAccepted() )
+ return;
+
+ if ( e->key() == Key_F1 )
+ {
+ e->accept();
+ onHelp();
+ }
+}