1 // Copyright (C) 2003 CEA/DEN, EDF R&D
5 // File : SalomePyQt.cxx
9 #include "SalomePyQt.hxx"
11 #include <qapplication.h>
13 #include "QAD_Application.h"
14 #include "QAD_Desktop.h"
15 #include "QAD_Study.h"
16 #include "QAD_FileDlg.h"
17 #include "QAD_ViewFrame.h"
18 #include "QAD_RightFrame.h"
19 #include "QAD_Tools.h"
21 #include "QAD_Config.h"
22 #include "QAD_Settings.h"
24 QWidget* SalomePyQt::getDesktop()
26 return (QWidget*)(QAD_Application::getDesktop());
29 QWorkspace* SalomePyQt::getMainFrame()
31 return (QWorkspace*)(QAD_Application::getDesktop()->getMainFrame());
34 QMenuBar* SalomePyQt::getMainMenuBar()
36 return (QMenuBar*)(QAD_Application::getDesktop()->getMainMenuBar());
39 int SalomePyQt::getStudyId()
41 return QAD_Application::getDesktop()->getActiveApp()->getActiveStudy()->getStudyId();
44 SALOME_Selection* SalomePyQt::getSelection()
46 return SALOME_Selection::Selection(QAD_Application::getDesktop()->getActiveApp()->getActiveStudy()->getSelection());
49 void SalomePyQt::putInfo( const QString& msg )
51 QAD_Application::getDesktop()->putInfo(msg);
54 void SalomePyQt::putInfo( const QString& msg, int ms )
56 QAD_Application::getDesktop()->putInfo(msg, ms);
59 void SalomePyQt::updateObjBrowser( int studyId, bool updateSelection)
61 QList<QAD_Study>& studies = QAD_Application::getDesktop()->getActiveApp()->getStudies();
62 for ( QAD_Study* study = studies.first(); study; study = studies.next() ) {
63 if ( study->getStudyId() == studyId ) {
64 study->updateObjBrowser( updateSelection );
70 const QString& SalomePyQt::getActiveComponent()
72 return QAD_Application::getDesktop()->getActiveComponent();
75 void SalomePyQt::addStringSetting(QString _name, QString _value, bool _autoValue)
77 QAD_CONFIG->addSetting(_name, _value, _autoValue);
80 void SalomePyQt::addIntSetting(QString _name, int _value, bool _autoValue)
82 QAD_CONFIG->addSetting(_name, _value, _autoValue);
85 void SalomePyQt::addDoubleSetting(QString _name, double _value, bool _autoValue)
87 QAD_CONFIG->addSetting(_name, _value, _autoValue);
90 bool SalomePyQt::removeSettings(QString name)
92 return QAD_CONFIG->removeSettings( name );
95 QString SalomePyQt::getSetting(QString name)
97 return QAD_CONFIG->getSetting(name);
100 QString SalomePyQt::getFileName(QWidget* parent,
101 const QString& initial,
102 const QStringList& filters,
103 const QString& caption,
106 return QAD_FileDlg::getFileName(parent, initial, filters, caption, open);
109 QStringList SalomePyQt::getOpenFileNames(QWidget* parent,
110 const QString& initial,
111 const QStringList& filters,
112 const QString& caption)
114 return QAD_FileDlg::getOpenFileNames(parent, initial, filters, caption);
117 QString SalomePyQt::getExistingDirectory(QWidget* parent,
118 const QString& initial,
119 const QString& caption)
121 return QAD_FileDlg::getExistingDirectory(parent, initial, caption);
124 void SalomePyQt::helpContext(const QString& source, const QString& context) {
125 //QAD_Application::getDesktop()->helpContext(source, context);
128 bool SalomePyQt::dumpView(const QString& filename)
130 QAD_Study* activeStudy = QAD_Application::getDesktop()->getActiveApp()->getActiveStudy();
133 QAD_ViewFrame* activeViewFrame = activeStudy->getActiveStudyFrame()->getRightFrame()->getViewFrame();
134 if ( !activeViewFrame )
136 if ( !activeViewFrame->getViewWidget() )
139 qApp->processEvents();
140 QPixmap px = QPixmap::grabWindow( activeViewFrame->getViewWidget()->winId() );
141 if ( !filename.isNull() ) {
142 QString fmt = QAD_Tools::getFileExtensionFromPath( filename ).upper();
144 fmt = QString( "PNG" ); // default format
147 bool bOk = px.save( filename, fmt.latin1() );