+// Copyright (C) 2007-2023 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
+//
+// 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, 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
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
+// Author : OPEN CASCADE
// File: GLViewer_ViewPort.h
// Created: November, 2004
-// Author: OCC team
-// Copyright (C) CEA 2004
-
-/***************************************************************************
-** Class: GLViewer_ViewPort
-** Descr: Visualisation canvas of QAD-based application
-** Module: QAD
-** Created: UI team, 05.09.00
-****************************************************************************/
+//
#ifndef GLVIEWER_VIEWPORT_H
#define GLVIEWER_VIEWPORT_H
#include "GLViewer.h"
-#include <qlist.h>
-#include <qcolor.h>
-#include <qaction.h>
-#include <qwidget.h>
+//#include <QList>
+#include <QColor>
+//#include <QAction>
+#include <QWidget>
-#include <Aspect_Window.hxx>
+//#include <Aspect_Window.hxx>
class QRect;
class QCursor;
class GLViewer_ViewSketcher;
class GLViewer_ViewTransformer;
-#ifdef WNT
+#ifdef WIN32
#pragma warning( disable:4251 )
#endif
BS_Dragging = 0x0004
};
-class GLVIEWER_EXPORT GLViewer_ViewPort: public QWidget//, public QAD_PopupServer
+/*!
+ \class GLViewer_ViewPort
+ Visualisation canvas of GLViewer
+*/
+class GLVIEWER_API GLViewer_ViewPort: public QWidget
{
Q_OBJECT
friend class GLViewer_ViewSketcher;
~GLViewer_ViewPort();
public:
+ //! Activates/deactivates sketching
void setSketchingEnabled( bool );
+ //! Checks active status of sketcher
bool isSketchingEnabled() const;
+ //! Activates/deactivates transformer
void setTransformEnabled( bool );
+ //! Checks active status of transformer
bool isTransformEnabled() const;
+ //! Returns background color
virtual QColor backgroundColor() const;
+ //! Sets background color
virtual void setBackgroundColor( const QColor& );
+ //! Redraw external pa inters
void redrawPainters();
+ //! Updates view
virtual void onUpdate();
+ //! Returns blocking status for current started operations
virtual BlockStatus currentBlock(){ return BS_NoBlock; }
protected:
virtual QPaintDevice* getPaintDevice() { return this; }
virtual void contextMenuEvent( QContextMenuEvent * e );
-// STATICS
+//! STATICS
static void createCursors();
static void destroyCursors();
static QCursor* getHandCursor() { return handCursor; }
static void setSketchCursor( const QCursor& newCursor );
protected:
-// EVENTS
+//! EVENTS
virtual void paintEvent( QPaintEvent *);
virtual void mouseMoveEvent( QMouseEvent *);
virtual void mouseReleaseEvent( QMouseEvent *);
virtual void keyReleaseEvent( QKeyEvent *);
virtual void wheelEvent( QWheelEvent *);
-// TO BE REDEFINED
+//! TO BE REDEFINED
virtual void reset() = 0;
virtual void pan( int, int ) = 0;
virtual void setCenter( int, int ) = 0;
virtual void fitSelect() = 0;
virtual void fitAll( bool keepScale = false, bool withZ = true ) = 0;
-// POPUP
- virtual void onCreatePopup() {}
- virtual void onCreatePopup( QPopupMenu* );
- virtual void onDestroyPopup( QPopupMenu* );
-
protected slots:
virtual void onChangeBgColor();
void vpMouseEvent( QMouseEvent* );
void vpWheelEvent( QWheelEvent* );
void vpDrawExternal( QPainter* );
- void contextMenuRequested( QContextMenuEvent *e );
+
+ void contextMenuRequested( QContextMenuEvent* );
private:
void initialize();
static QCursor* sketchCursor;
};
-#ifdef WNT
+#ifdef WIN32
#pragma warning ( default:4251 )
#endif