Files
ThirdParty-6/ParaView-5.0.1/Qt/Core/pqPythonView.h

91 lines
2.7 KiB
C++

/*=========================================================================
Program: ParaView
Module: pqPythonView.h
Copyright (c) Kitware, Inc.
All rights reserved.
See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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.
=========================================================================*/
#ifndef pqPythonView_h
#define pqPythonView_h
#include "pqView.h"
#include "pqSMProxy.h"
class vtkSMPythonViewProxy;
class PQCORE_EXPORT pqPythonView : public pqView
{
Q_OBJECT
typedef pqView Superclass;
public:
static QString pythonViewType() { return "PythonView"; }
// Constructor:
// \c type :- view type.
// \c group :- SManager registration group name.
// \c name :- SManager registration name.
// \c view :- RenderView proxy.
// \c server:- server on which the proxy is created.
// \c parent:- QObject parent.
pqPythonView(const QString& type,
const QString& group,
const QString& name,
vtkSMViewProxy* renModule,
pqServer* server,
QObject* parent=NULL);
// Destructor.
virtual ~pqPythonView();
/// Set/get the Python script
void setPythonScript(QString & script);
QString getPythonScript();
/// Get the view proxy as a vtkSMPythonViewProxy
vtkSMPythonViewProxy* getPythonViewProxy();
protected slots:
virtual void initializeAfterObjectsCreated();
/// Setups up RenderModule and QVTKWidget binding.
/// This method is called for all pqRenderView objects irrespective
/// of whether it is created from state/undo-redo/python or by the GUI. Hence
/// don't change any render module properties here.
virtual void initializeWidgets();
protected:
/// Overridden to popup the context menu, if some actions have been added
/// using addMenuAction.
virtual bool eventFilter(QObject* caller, QEvent* e);
/// Creates a new instance of the QWidget subclass to be used to show this
/// view.
virtual QWidget* createWidget();
/// Use this method to initialize the pqObject state using the
/// underlying vtkSMProxy. This needs to be done only once,
/// after the object has been created.
virtual void initialize();
/// On Mac, we usually try to cache the front buffer to avoid unecessary
// updates.
bool AllowCaching;
private:
pqPythonView(const pqPythonView&); // Not implemented.
void operator=(const pqPythonView&); // Not implemented.
class pqInternal;
pqInternal* Internal;
};
#endif