00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef SALOME_PYQT_H
00027 #define SALOME_PYQT_H
00028
00029 #include <QObject>
00030 #include <QString>
00031 #include <QColor>
00032
00033 #include <LightApp_Application.h>
00034 #include <LightApp_Preferences.h>
00035
00036 class LightApp_SelectionMgr;
00037 class LightApp_Application;
00038 class QMenuBar;
00039 class QMenu;
00040 class QWidget;
00041 class QAction;
00042 class QTreeView;
00043 class QtxActionGroup;
00044
00045 class SALOME_Selection : public QObject
00046 {
00047 Q_OBJECT
00048
00049 public:
00050 ~SALOME_Selection();
00051 static SALOME_Selection* GetSelection( LightApp_Application* );
00052
00053 void Clear();
00054 void ClearIObjects();
00055 void ClearFilters();
00056
00057 signals:
00058 void currentSelectionChanged();
00059
00060 private slots:
00061 void onSelMgrDestroyed();
00062
00063 private:
00064 LightApp_SelectionMgr* mySelMgr;
00065 SALOME_Selection( QObject* );
00066 };
00067
00068 enum MenuName {
00069 File = 1,
00070 View = 2,
00071 Edit = 3,
00072 Preferences = 4,
00073 Tools = 5,
00074 Window = 6,
00075 Help = 7
00076 };
00077
00078 enum {
00079 WT_ObjectBrowser = LightApp_Application::WT_ObjectBrowser,
00080 WT_PyConsole = LightApp_Application::WT_PyConsole,
00081 WT_LogWindow = LightApp_Application::WT_LogWindow,
00082 WT_User = LightApp_Application::WT_User
00083 };
00084
00085 enum {
00086 PT_Auto = LightApp_Preferences::Auto,
00087 PT_Space = LightApp_Preferences::Space,
00088 PT_Bool = LightApp_Preferences::Bool,
00089 PT_Color = LightApp_Preferences::Color,
00090 PT_String = LightApp_Preferences::String,
00091 PT_Selector = LightApp_Preferences::Selector,
00092 PT_DblSpin = LightApp_Preferences::DblSpin,
00093 PT_IntSpin = LightApp_Preferences::IntSpin,
00094 PT_Double = LightApp_Preferences::Double,
00095 PT_Integer = LightApp_Preferences::Integer,
00096 PT_GroupBox = LightApp_Preferences::GroupBox,
00097 PT_Tab = LightApp_Preferences::Tab,
00098 PT_Frame = LightApp_Preferences::Frame,
00099 PT_Font = LightApp_Preferences::Font,
00100 PT_DirList = LightApp_Preferences::DirList,
00101 PT_File = LightApp_Preferences::File,
00102 };
00103
00105 enum Orientation {
00106 Horizontal = 0,
00107 Vertical = 1
00108 };
00109
00111 enum Action {
00112 MoveWidget = 0,
00113 LeaveWidget = 1,
00114 SplitAt = 2
00115 };
00116
00117 class SalomePyQt
00118 {
00119 public:
00120 static QWidget* getDesktop();
00121 static QWidget* getMainFrame();
00122 static QMenuBar* getMainMenuBar();
00123 static QMenu* getPopupMenu( const MenuName );
00124 static QMenu* getPopupMenu( const QString& );
00125 static QTreeView* getObjectBrowser();
00126 static SALOME_Selection* getSelection();
00127 static int getStudyId();
00128 static void putInfo( const QString&, const int = 0 );
00129 static const QString getActiveComponent();
00130 static void updateObjBrowser( const int = 0, bool = true );
00131
00132 static QString getFileName ( QWidget*, const QString&, const QStringList&, const QString&, bool );
00133 static QStringList getOpenFileNames ( QWidget*, const QString&, const QStringList&, const QString& );
00134 static QString getExistingDirectory( QWidget*, const QString&, const QString& );
00135
00136 static QString createObject(const QString& parent = QString(""));
00137 static QString createObject(const QString& name,
00138 const QString& iconname,
00139 const QString& tooltip,
00140 const QString& parent = QString(""));
00141
00142 static void removeObject( const QString& obj);
00143 static void removeChild( const QString& obj = QString(""));
00144 static QStringList getChildren(const QString& obj = QString(""), const bool rec = false);
00145 static void setName(const QString& obj,const QString& name);
00146 static void setIcon(const QString& obj,const QString& iconname);
00147 static void setToolTip(const QString& obj,const QString& tooltip);
00148 static QString getName(const QString& obj);
00149 static QString getToolTip(const QString& obj);
00150
00151 static QIcon loadIcon( const QString&, const QString& );
00152
00153 static void helpContext( const QString&, const QString& );
00154
00155 static bool dumpView( const QString& );
00156
00157 static int defaultMenuGroup();
00158
00159 static int createTool( const QString& );
00160 static int createTool( const int, const int, const int = -1 );
00161 static int createTool( const int, const QString&, const int = -1 );
00162 static int createTool( QAction*, const int, const int = -1, const int = -1 );
00163 static int createTool( QAction*, const QString&, const int = -1, const int = -1 );
00164
00165 static int createMenu( const QString&, const int = -1,
00166 const int = -1, const int = -1, const int = -1 );
00167 static int createMenu( const QString&, const QString& = QString(),
00168 const int = -1, const int = -1, const int = -1 );
00169 static int createMenu( const int, const int = -1,
00170 const int = -1, const int = -1 );
00171 static int createMenu( const int, const QString& = QString(),
00172 const int = -1, const int = -1 );
00173 static int createMenu( QAction*, const int, const int = -1,
00174 const int = -1, const int = -1 );
00175 static int createMenu( QAction*, const QString&, const int = -1,
00176 const int = -1, const int = -1 );
00177
00178 static QAction* createSeparator();
00179
00180 static QAction* createAction( const int, const QString&,
00181 const QString& = QString(), const QString& = QString(),
00182 const QString& = QString(), const int = 0, const bool = false );
00183
00184 static QtxActionGroup* createActionGroup( const int, const bool = true );
00185
00186 static QAction* action( const int );
00187 static int actionId( const QAction* );
00188
00189 static void addSetting ( const QString&, const QString&, const double );
00190 static void addSetting ( const QString&, const QString&, const int );
00191 static void addSetting ( const QString&, const QString&, const bool, const int );
00192 static void addSetting ( const QString&, const QString&, const QString& );
00193 static void addSetting ( const QString&, const QString&, const QColor& );
00194 static int integerSetting( const QString&, const QString&, const int = 0 );
00195 static double doubleSetting ( const QString&, const QString&, const double = 0 );
00196 static bool boolSetting ( const QString&, const QString&, const bool = 0 );
00197 static QString stringSetting ( const QString&, const QString&, const QString& = QString("") );
00198 static QColor colorSetting ( const QString&, const QString&, const QColor& = QColor() );
00199 static void removeSetting ( const QString&, const QString& );
00200 static bool hasSetting ( const QString&, const QString& );
00201
00202 static void addStringSetting( const QString&, const QString&, bool = true );
00203 static void addIntSetting ( const QString&, const int, bool = true );
00204 static void addBoolSetting ( const QString&, const bool, bool = true );
00205 static void addDoubleSetting( const QString&, const double, bool = true );
00206 static void removeSettings ( const QString& );
00207 static QString getSetting ( const QString& );
00208
00209 static int addGlobalPreference( const QString& );
00210 static int addPreference( const QString& );
00211 static int addPreference( const QString&,
00212 const int, const int = PT_Auto,
00213 const QString& = QString(),
00214 const QString& = QString() );
00215 static QVariant preferenceProperty( const int, const QString& );
00216 static void setPreferenceProperty( const int,
00217 const QString&,
00218 const QVariant& );
00219 static void addPreferenceProperty( const int,
00220 const QString&,
00221 const int,
00222 const QVariant& );
00223
00224 static void message( const QString&, bool = true );
00225 static void clearMessages();
00226
00227 static QList<int> getViews();
00228 static int getActiveView();
00229 static QString getViewType( const int );
00230 static bool setViewTitle( const int, const QString& );
00231 static QString getViewTitle( const int );
00232 static QList<int> findViews( const QString& );
00233 static bool activateView( const int );
00234 static int createView( const QString& );
00235 static int createView( const QString&, QWidget* );
00236 static bool closeView( const int );
00237 static int cloneView( const int );
00238 static bool isViewVisible( const int );
00239 static void setViewClosable( const int, const bool );
00240 static bool isViewClosable( const int );
00241
00242 static bool groupAllViews();
00243 static bool splitView( const int, const Orientation, const Action );
00244 static bool moveView( const int, const int, const bool );
00245 static QList<int> neighbourViews( const int );
00246 };
00247
00248 #endif // SALOME_PYQT_H