X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPyConsole%2FPyConsole_Editor.h;h=c939ef1b7da3e9fd78f947738427b11222426a42;hb=e2a96fd9d3d88f2c3ab6cf63a08befb6d5957fbf;hp=6bcc53a55445c28350ee0176736d1b427b862d62;hpb=bb8609caf7881d966fbb88dec0a7822736da93f5;p=modules%2Fgui.git diff --git a/src/PyConsole/PyConsole_Editor.h b/src/PyConsole/PyConsole_Editor.h index 6bcc53a55..c939ef1b7 100644 --- a/src/PyConsole/PyConsole_Editor.h +++ b/src/PyConsole/PyConsole_Editor.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -6,7 +6,7 @@ // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -43,7 +43,7 @@ public: PyConsole_Editor( PyConsole_Interp* theInterp, QWidget *theParent = 0 ); ~PyConsole_Editor(); - virtual void addText( const QString& str, const bool newBlock = false ); + virtual void addText( const QString& str, const bool newBlock = false, const bool isError = false ); bool isCommand( const QString& str ) const; virtual void exec( const QString& command ); @@ -58,8 +58,22 @@ public: bool isShowBanner() const; void setIsShowBanner( const bool ); + bool isLogging() const; + virtual QSize sizeHint() const; +public slots: + void cut(); + void paste(); + void clear(); + void handleReturn(); + void onPyInterpChanged( PyConsole_Interp* ); + void dump(); + bool startLog( const QString& ); + void startLog(); + void stopLog(); + void putLog( const QString& ); + protected: virtual void dropEvent( QDropEvent* event ); virtual void mouseReleaseEvent( QMouseEvent* event ); @@ -68,21 +82,16 @@ protected: virtual PyInterp_Request* createRequest( const QString& ); -public slots: - void cut(); - void paste(); - void clear(); - void handleReturn(); - void onPyInterpChanged( PyConsole_Interp* ); - void dump(); - -private: + /** Convenience function */ + inline int promptSize() const { return myPrompt.size(); } + PyConsole_Interp* myInterp; //!< python interpreter QString myCommandBuffer; //!< python command buffer QString myCurrentCommand; //!< currently being printed command QString myPrompt; //!< current command line prompt int myCmdInHistory; //!< current history command index + QString myLogFile; //!< current output log QStringList myHistory; //!< commands history buffer QEventLoop* myEventLoop; //!< internal event loop QString myBanner; //!< current banner