#define PYCONSOLE_CONSOLE_H
#include "PyConsole.h"
-
+#include <PyConsole_ConsoleBase.h>
#include <SUIT_PopupClient.h>
#include <QWidget>
#include <QMap>
class PyConsole_Interp;
class PyConsole_Editor;
-class PYCONSOLE_EXPORT PyConsole_Console : public QWidget, public SUIT_PopupClient
+class PYCONSOLE_EXPORT PyConsole_Console : public PyConsole_ConsoleBase, public SUIT_PopupClient
{
Q_OBJECT
-
public:
- //! Context popup menu actions flags
- enum
+
+ struct PyConsole_Interp_Creator : public PyConsole_Interp_CreatorBase
{
- CopyId = 0x01, //!< "Copy" menu action
- PasteId = 0x02, //!< "Paste" menu action
- ClearId = 0x04, //!< "Clear" menu action
- SelectAllId = 0x08, //!< "Select All" menu action
- DumpCommandsId = 0x10, //!< "DumpCommands" menu action
- StartLogId = 0x20, //!< "Start log" menu action
- StopLogId = 0x40, //!< "Stop log" menu action
- All = 0xFF, //!< all menu actions
+ virtual PyConsole_EditorBase *createEditor( PyConsole_Interp *interp, PyConsole_ConsoleBase *console ) const;
+ virtual PyConsole_Interp *createInterp( ) const;
};
public:
PyConsole_Console( QWidget* parent, PyConsole_Interp* interp = 0 );
virtual ~PyConsole_Console();
-
- //! \brief Get python interperter
- PyConsole_Interp* getInterp() const;
- QFont font() const;
- virtual void setFont( const QFont& );
-
- bool isSync() const;
- void setIsSync( const bool );
-
- bool isSuppressOutput() const;
- void setIsSuppressOutput( const bool );
-
- bool isShowBanner() const;
- void setIsShowBanner( const bool );
-
- void exec( const QString& );
- void execAndWait( const QString& );
-
- virtual bool eventFilter( QObject*, QEvent* );
-
//! \brief Get popup client symbolic name
virtual QString popupClientType() const { return QString( "PyConsole" ); }
virtual void contextMenuPopup( QMenu* );
-
- void setMenuActions( const int );
- int menuActions() const;
-
- void startLog( const QString& );
- void stopLog();
-
+ virtual bool eventFilter( QObject*, QEvent* );
protected:
- void createActions();
- void updateActions();
-
PyConsole_Console( QWidget* parent, PyConsole_Interp*, PyConsole_Editor*);
-
- PyConsole_Editor* myEditor; //!< python console editor widget
- QMap<int, QAction*> myActions; //!< menu actions list
};
/**
* Similar to PyConsole_Console except that an enhanced interpreter and enhanced editor
* are encapsulated.
*/
-class PYCONSOLE_EXPORT PyConsole_EnhConsole: public PyConsole_Console
+class PYCONSOLE_EXPORT PyConsole_EnhConsole : public PyConsole_Console
{
Q_OBJECT
+public:
+
+ struct PyConsole_Interp_EnhCreator : public PyConsole_Interp_CreatorBase
+ {
+ virtual PyConsole_EditorBase *createEditor( PyConsole_Interp *interp, PyConsole_ConsoleBase *console ) const;
+ virtual PyConsole_Interp *createInterp( ) const;
+ };
public:
PyConsole_EnhConsole( QWidget* parent, PyConsole_Interp* interp = 0 );