Gui::MDIView Class Reference

Base class of all windows belonging to a document. More...

#include <MDIView.h>

Public Member Functions

virtual bool canClose (void)
 overwrite when checking on close state More...
 
virtual void deleteSelf ()
 delete itself More...
 
virtual PyObjectgetPyObject ()
 This method returns the Python wrapper for a C++ object. More...
 
 MDIView (Gui::Document *pcDocument, QWidget *parent, Qt::WindowFlags wflags=Qt::WindowFlags())
 View constructor Attach the view to the given document. More...
 
virtual bool onHasMsg (const char *pMsg) const
 Message handler test. More...
 
virtual bool onMsg (const char *pMsg, const char **ppReturn)
 Message handler. More...
 
virtual void onRelabel (Gui::Document *pDoc)
 get called when the document is updated More...
 
virtual void viewAll ()
 
 ~MDIView ()
 View destructor Detach the view from the document, if attached. More...
 
- Public Member Functions inherited from Gui::BaseView
 BaseView (Gui::Document *pcDocument=nullptr)
 View constructor Attach the view to the given document. More...
 
virtual ~BaseView ()
 View destructor Detach the view from the document, if attached! More...
 
void setDocument (Gui::Document *pcDocument)
 sets the view to another document (called by Application) More...
 
void onClose (void)
 is sent from the document in order to close the document More...
 
Gui::DocumentgetGuiDocument () const
 returns the document the view is attached to More...
 
App::DocumentgetAppDocument () const
 returns the document the view is attached to More...
 
bool isPassive (void) const
 indicates if the view is in passive mode More...
 
virtual void onUpdate (void)
 get called when the document is updated More...
 
virtual void onRename (Gui::Document *)
 get called when the document is renamed (change of its internal name) More...
 
virtual const char * getName (void) const
 returns the name of the view (important for messages) More...
 
- Public Member Functions inherited from Base::BaseClass
 BaseClass ()
 Construction. More...
 
 BaseClass (const BaseClass &)=default
 
virtual PyObjectgetPyObject ()
 This method returns the Python wrapper for a C++ object. More...
 
virtual Type getTypeId () const
 
bool isDerivedFrom (const Type type) const
 
BaseClassoperator= (const BaseClass &)=default
 
virtual void setPyObject (PyObject *)
 
virtual ~BaseClass ()
 Destruction. More...
 

Undo/Redo actions

enum  ViewMode { Child , TopLevel , FullScreen }
 MDI view mode enum. More...
 
PyObjectpythonObject
 
virtual QStringList undoActions () const
 
virtual QStringList redoActions () const
 
QSize minimumSizeHint () const
 
virtual void setCurrentViewMode (ViewMode mode)
 If b is set to FullScreen the MDI view is displayed in full screen mode, if b is set to TopLevel then it is displayed as an own top-level window, otherwise (Normal) as tabbed window. More...
 
ViewMode currentViewMode () const
 
template<typename _T >
_T getActiveObject (const char *name, App::DocumentObject **parent=nullptr, std::string *subname=nullptr) const
 access getter for the active object list More...
 
void setActiveObject (App::DocumentObject *o, const char *n, const char *subname=nullptr)
 
bool hasActiveObject (const char *n) const
 
bool isActiveObject (App::DocumentObject *o, const char *n, const char *subname=nullptr) const
 
virtual bool containsViewProvider (const ViewProvider *) const
 containsViewProvider Checks if the given view provider is part of this view. The default implementation returns false. More...
 
virtual void setOverrideCursor (const QCursor &)
 
virtual void restoreOverrideCursor ()
 
void message (const QString &, int)
 
virtual void windowStateChanged (MDIView *)
 This method gets called from the main window this view is attached to whenever the window state of the active view changes. More...
 
void closeEvent (QCloseEvent *e)
 
void changeEvent (QEvent *e)
 

Printing

virtual void print ()
 Print content of view. More...
 
virtual void printPdf ()
 Print to PDF file. More...
 
virtual void printPreview ()
 Show a preview dialog. More...
 
void savePrinterSettings (QPrinter *printer)
 Save the printer configuration. More...
 
void restorePrinterSettings (QPrinter *printer)
 Restore the printer configuration. More...
 
virtual void print (QPrinter *printer)
 

Additional Inherited Members

- Static Public Member Functions inherited from Base::BaseClass
static void * create ()
 
static Type getClassTypeId ()
 
static void init ()
 
- Static Protected Member Functions inherited from Base::BaseClass
static void initSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Type::instantiationMethod method=nullptr)
 
- Protected Attributes inherited from Gui::BaseView
bool bIsDetached
 
bool bIsPassive
 

Detailed Description

Base class of all windows belonging to a document.

There are two ways of belonging to a document:

  • belong to a fix document
  • always belong to the active document The latter means whenever the active document is changing the view belongs to this document. It also means that the view belongs sometimes to no document at all.
    See also
    TreeView
    Gui::Document
    Application
    Author
    J├╝rgen Riegel, Werner Mayer

Member Enumeration Documentation

◆ ViewMode

MDI view mode enum.

Enumerator
Child 

Child viewing, view is docked inside the MDI application window.

TopLevel 

The view becomes a top level window and can be moved outsinde the application window.

FullScreen 

The view goes to full screen viewing.

Constructor & Destructor Documentation

◆ MDIView()

MDIView::MDIView ( Gui::Document pcDocument,
QWidget parent,
Qt::WindowFlags  wflags = Qt::WindowFlags() 
)

View constructor Attach the view to the given document.

If the document is zero the view will attach to the active document. Be aware, there isn't always an active document.

References draftgeoutils.faces::bind().

◆ ~MDIView()

MDIView::~MDIView ( )

View destructor Detach the view from the document, if attached.

References Gui::getMainWindow(), and pythonObject.

Member Function Documentation

◆ canClose()

◆ changeEvent()

void MDIView::changeEvent ( QEvent e)
protected

◆ closeEvent()

◆ containsViewProvider()

virtual bool Gui::MDIView::containsViewProvider ( const ViewProvider ) const
virtual

containsViewProvider Checks if the given view provider is part of this view. The default implementation returns false.

Returns
bool

Reimplemented in Gui::AbstractSplitView, and Gui::View3DInventor.

Referenced by Gui::Document::setActiveView().

◆ currentViewMode()

ViewMode Gui::MDIView::currentViewMode ( ) const

◆ deleteSelf()

◆ getActiveObject()

template<typename _T >
_T Gui::MDIView::getActiveObject ( const char *  name,
App::DocumentObject **  parent = nullptr,
std::string *  subname = nullptr 
) const

◆ getPyObject()

PyObject * MDIView::getPyObject ( void  )
virtual

This method returns the Python wrapper for a C++ object.

It's in the responsibility of the programmer to do the correct reference counting. Basically there are two ways how to implement that: Either always return a new Python object then reference counting is not a matter or return always the same Python object then the reference counter must be incremented by one. However, it's absolutely forbidden to return always the same Python object without incrementing the reference counter.

The default implementation returns 'None'.

Reimplemented from Base::BaseClass.

Reimplemented in Gui::AlignmentView, DrawingGui::DrawingView, TechDrawGui::MDIViewPage, Gui::AbstractSplitView, Gui::View3DInventor, SpreadsheetGui::SheetView, and WebGui::BrowserView.

References pythonObject.

Referenced by Gui::MainWindowPy::getActiveWindow(), DrawingGui::DrawingView::getPyObject(), and Gui::Application::sActiveView().

◆ hasActiveObject()

bool Gui::MDIView::hasActiveObject ( const char *  n) const

◆ isActiveObject()

bool Gui::MDIView::isActiveObject ( App::DocumentObject o,
const char *  n,
const char *  subname = nullptr 
) const

◆ message

void Gui::MDIView::message ( const QString &  ,
int   
)
signal

◆ minimumSizeHint()

QSize MDIView::minimumSizeHint ( ) const

◆ onHasMsg()

◆ onMsg()

bool MDIView::onMsg ( const char *  pMsg,
const char **  ppReturn 
)
virtual

◆ onRelabel()

void MDIView::onRelabel ( Gui::Document pDoc)
virtual

get called when the document is updated

Reimplemented from Gui::BaseView.

Reimplemented in DrawingGui::DrawingView.

References Gui::BaseView::bIsPassive, Gui::Document::getDocument(), App::PropertyString::getValue(), and App::Document::Label.

◆ print() [1/2]

void MDIView::print ( )
virtual

◆ print [2/2]

void MDIView::print ( QPrinter *  printer)
virtualslot

◆ printPdf()

void MDIView::printPdf ( )
virtual

◆ printPreview()

void MDIView::printPreview ( )
virtual

◆ redoActions()

QStringList MDIView::redoActions ( ) const
virtual

◆ restoreOverrideCursor

◆ restorePrinterSettings()

void MDIView::restorePrinterSettings ( QPrinter *  printer)

◆ savePrinterSettings()

void MDIView::savePrinterSettings ( QPrinter *  printer)

◆ setActiveObject()

void Gui::MDIView::setActiveObject ( App::DocumentObject o,
const char *  n,
const char *  subname = nullptr 
)

◆ setCurrentViewMode()

void MDIView::setCurrentViewMode ( ViewMode  mode)
virtual

If b is set to FullScreen the MDI view is displayed in full screen mode, if b is set to TopLevel then it is displayed as an own top-level window, otherwise (Normal) as tabbed window.

For more hints refer to the Qt documentation to QWidget::showFullScreen ().

Reimplemented in Gui::View3DInventor.

References Gui::MainWindow::addWindow(), Child, FullScreen, Gui::getMainWindow(), Gui::MainWindow::removeWindow(), and TopLevel.

Referenced by Gui::View3DInventor::setCurrentViewMode().

◆ setOverrideCursor

void MDIView::setOverrideCursor ( const QCursor &  c)
virtualslot

◆ undoActions()

QStringList MDIView::undoActions ( ) const
virtual

◆ viewAll()

void MDIView::viewAll ( )
virtual

◆ windowStateChanged

void MDIView::windowStateChanged ( MDIView )
protectedvirtualslot

This method gets called from the main window this view is attached to whenever the window state of the active view changes.

The default implementation does nothing.

Reimplemented in Gui::View3DInventor.

Member Data Documentation

◆ pythonObject


The documentation for this class was generated from the following files: