Files
ThirdParty-6/ParaView-5.0.1/Plugins/pvblot/pqBlotShell.h

97 lines
2.9 KiB
C++

// -*- c++ -*-
/*=========================================================================
Program: Visualization Toolkit
Module: pqBlotShell.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
/*-------------------------------------------------------------------------
Copyright 2009 Sandia Corporation.
Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
the U.S. Government retains certain rights in this software.
-------------------------------------------------------------------------*/
#ifndef pqBlotWidget_h
#define pqBlotWidget_h
#include <QWidget>
class pqConsoleWidget;
class pqServer;
class vtkObject;
class vtkEventQtSlotConnect;
class vtkPythonInteractiveInterpreter;
/**
Qt widget that provides an interactive "shell" interface to a PV Blot
interpreter.
*/
class pqBlotShell : public QWidget
{
Q_OBJECT;
public:
pqBlotShell(QWidget *p);
virtual ~pqBlotShell();
// Description:
// Get/set the server to direct commands. This only has an effect on the
// next time initialize is called.
virtual pqServer *activeServer() const {return this->ActiveServer;}
virtual void setActiveServer(pqServer *server) {this->ActiveServer = server;}
signals:
/// Emitted whenever this widget starts or stops executing something. The
/// single argument is true when execution starts, false when it stops.
void executing(bool);
public slots:
virtual void initialize();
virtual void initialize(const QString &filename);
virtual void executePythonCommand(const QString &command);
virtual void executeBlotCommand(const QString &command);
virtual void echoExecuteBlotCommand(const QString &command);
// Description:
// Takes a filename of a blot script and executes it.
virtual void executeBlotScript(const QString &filename);
virtual void printStderr(const QString &text);
virtual void printStdout(const QString &text);
virtual void printMessage(const QString &text);
protected:
pqConsoleWidget *Console;
QString FileName;
pqServer *ActiveServer;
vtkEventQtSlotConnect *VTKConnect;
// Interpreter is spelled wrong. Maybe someone should fix that.
vtkPythonInteractiveInterpreter *Interpretor;
virtual void destroyInterpretor();
virtual void promptForInput();
protected slots:
virtual void printStderr(vtkObject *, unsigned long, void *, void *);
virtual void printStdout(vtkObject *, unsigned long, void *, void *);
private:
pqBlotShell(const pqBlotShell &); // Not implemented
void operator=(const pqBlotShell &); // Not implemented
};
#endif //pqBlotWidget_h