-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2022 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
- <Ctrl><Tab> : undoes auto-completion
*/
-#include "PyConsole_Editor.h"
#include "PyConsole_Interp.h"
+#include "PyConsole_Editor.h"
#include "PyConsole_Event.h"
#include "PyInterp_Dispatcher.h"
#include "PyConsole_Request.h"
#include <QChar>
#include <QFileDialog>
#include <QMessageBox>
+#include <QtGlobal>
//VSR: uncomment below macro to support unicode text properly in SALOME
// current commented out due to regressions
PyConsole_Editor::PyConsole_Editor( QWidget* parent )
: QTextEdit( parent )
{
- PyConsole_Interp* interp = new PyConsole_Interp();
+ PyConsole_Interp *interp(new PyConsole_Interp);
interp->initialize();
- init( interp );
+ myInterp=interp;
+ init();
}
/*!
PyConsole_Interp* interp )
: QTextEdit( parent )
{
- init( interp );
+ myInterp.takeRef(interp);
+ init();
}
-void PyConsole_Editor::init( PyConsole_Interp* interp )
+void PyConsole_Editor::init()
{
- myInterp = interp;
myCmdInHistory = -1;
myEventLoop = 0;
myShowBanner = true;
*/
PyConsole_Editor::~PyConsole_Editor()
{
- myInterp = 0;
}
/*!
\brief Get Python interpreter
*/
-PyConsole_Interp* PyConsole_Editor::getInterp() const
+PyConsole_Interp *PyConsole_Editor::getInterp() const
{
- return myInterp;
+ return myInterp.iAmATrollConstCast();
}
/*!
*/
void PyConsole_Editor::customEvent( QEvent* event )
{
- switch( event->type() )
+ switch( (int) event->type() )
{
case PyConsole_PrintEvent::EVENT_ID:
{
if ( file.open( QFile::WriteOnly ) ) {
QTextStream out( &file );
for ( int i = 0; i < myHistory.count(); i++ ) {
+#if QT_VERSION >= QT_VERSION_CHECK(5,15,0)
+ out << myHistory[i] << Qt::endl;
+#else
out << myHistory[i] << endl;
+#endif
}
file.close();
ok = true;
// Split string data to lines
QString s2 = s;
s2.replace( "\r", "" ); // Windows string format converted to Unix style
+#if QT_VERSION >= QT_VERSION_CHECK(5,15,0)
+ QStringList lst = s2.split( QChar('\n'), Qt::KeepEmptyParts );
+#else
QStringList lst = s2.split( QChar('\n'), QString::KeepEmptyParts );
+#endif
// Perform the proper paste operation for the first line to handle the case where
// something was already there