6#ifndef iview_CConsoleBase_included
7#define iview_CConsoleBase_included
11#include <QtCore/QString>
12#include <QtWidgets/QWidget>
182 bool m_isRulerVisible;
184 bool m_areScollbarsVisible;
185 bool m_isButtonsPanelVisible;
186 bool m_isButtonsPanelVertical;
188 bool m_areZoomsVisible;
189 bool m_isZoomToFitVisible;
190 bool m_arePolylineButtonsVisible;
191 bool m_areUserModeButtonsVisible;
192 bool m_isScrollbarsButtonVisible;
193 bool m_isGridButtonVisible;
194 bool m_isRulerButtonVisible;
195 bool m_isMmButtonVisible;
196 bool m_isDistanceMeasureButtonVisible;
197 bool m_isPointMeasureButtonVisible;
204 bool m_fitReleaseAllowed;
Index implementation for addressing elements in 2D-space.
void SetFitMode(FittingMode mode)
bool IsRulerButtonVisible() const
virtual bool OnSelectChange(const iview::IShapeView &view, const istd::CIndex2d &position, const iview::IInteractiveShape &shape, bool state)=0
bool AreUserModeButtonsVisible() const
bool IsScrollbarsButtonVisible() const
virtual const CViewport & GetView() const =0
Get access to internal view implementation.
void SetButtonsPanelVertical(bool state=true)
bool AreZoomsVisible() const
FittingMode
Control fitting mode, to fit area of interest (AOI) to display.
@ ScaleToFit
Scale both axes proportional to display biggest, but full visible AOI.
@ ScaleToFitV
Only vertical size of AOI will be consider.
@ Reset
No fitting, frame use always identity transformation.
@ PropFill
Scale both axes proportional to display smallest AOI, which fully covers display.
@ ScaleToFitH
Only horizontal size of AOI will be consider.
@ Stretch
Both axes will be scaled separately.
virtual void UpdateComponentsPosition()=0
Recalculates position of all components.
void SetZoomsVisible(bool state=true)
void SetRulerButtonVisible(bool state=true)
bool IsDistanceMeasureButtonVisible() const
FittingMode GetFitMode() const
bool AreScrollbarsVisible() const
void SetScrollbarsButtonVisible(bool state=true)
void SetPolylineButtonsVisible(bool state=true)
bool IsDistanceMeasureToolActive() const
void SetFitReleaseAllowed(bool state=true)
bool IsPointMeasureButtonVisible() const
virtual void UpdateEditModeButtons()=0
Update state of edit mode buttons.
void SetRulerVisible(bool state=true)
bool IsFitReleaseAllowed() const
void SetUserModeButtonsVisible(bool state=true)
bool IsGridVisible() const
bool ArePolylineButtonsVisible() const
bool IsButtonsPanelVertical() const
void SetGridInMm(bool state=true)
void SetPointMeasureButtonVisible(bool state=true)
virtual void UpdateCursorInfo(const QString &infoText)=0
virtual void UpdateCommands()=0
Recalculate menu commands.
void SetDistanceMeasureButtonVisible(bool state=true)
void SetDoubleClickMode(ExtraMode mode)
void SetGridVisible(bool state=true)
bool IsRulerVisible() const
void SetGridButtonVisible(bool state=true)
void SetMmButtonVisible(bool state=true)
bool IsButtonsPanelVisible() const
bool IsPointMeasureToolActive() const
virtual CViewport & GetViewRef()=0
Get access to internal view implementation.
bool IsZoomToFitVisible() const
void SetZoomToFit(bool state=true)
bool IsMmButtonVisible() const
virtual void UpdateButtonsState()=0
Recalculates enabling flags for buttons.
void SetPointMeasureToolActive(bool state=true)
CConsoleBase(QWidget *parent)
virtual bool OnViewMouseButton(const iview::IShapeView &view, const istd::CIndex2d &position, Qt::MouseButton buttonType, bool state, const iview::IInteractiveShape *shapePtr)=0
void SetDistanceMeasureToolActive(bool state=true)
void SetButtonsPanelVisible(bool state=true)
bool IsGridButtonVisible() const
ExtraMode GetDoubleClickMode() const
virtual void OnBoundingBoxChanged()=0
void SetZoomToFitVisible(bool state=true)
void SetScrollbarsVisible(bool state=true)
bool IsBackgroundActive() const
Check if background object is present and active.
Common interface for all display console shapes which can interacts with user.
Common interface for a general shape view implementations.
In this library is defined 2D view concept and standard visualisation objects.