21 #ifndef PYTHONIDEINTERFACE_H
22 #define PYTHONIDEINTERFACE_H
25 #include <QStringList>
28 #include <tulip/tulipconf.h>
31 class GraphHierarchiesModel;
36 class TLP_QT_SCOPE PythonIDEInterface :
public QFrame {
38 static QString compiledVersion(
bool full =
false);
40 static QString getPythonHome();
43 virtual ~PythonIDEInterface() {}
45 virtual bool projectNeedsPythonIDE(TulipProject *project) = 0;
46 virtual bool hasUnsavedFiles() = 0;
47 virtual void readProject(tlp::TulipProject *project) = 0;
48 virtual void clearPythonCodeEditors() = 0;
49 virtual bool isCurrentScriptExecuting() = 0;
50 virtual void executeCurrentScript() = 0;
51 virtual void stopCurrentScript() = 0;
52 virtual void pauseCurrentScript() = 0;
53 virtual void deleteStaticResources() = 0;
58 class TLP_QT_SCOPE Builder {
59 friend PythonIDEInterface;
65 virtual PythonIDEInterface *newIDE(GraphHierarchiesModel *model) = 0;
66 virtual void loadPlugins() = 0;
72 static PythonIDEInterface *newIDE(GraphHierarchiesModel *model);
74 static void loadPlugins();