![]() |
ICF 3.0.5.47
Technical documentation of ICF Libraries
|
#include <CViewport.h>
Public Types | |
typedef CCalibratedViewBase | BaseClass |
typedef QWidget | BaseClass2 |
![]() | |
typedef CViewBase | BaseClass |
![]() | |
enum | ZoomMode { ZM_RESET , ZM_ZOOM_IN , ZM_ZOOM_OUT , ZM_FIT , ZM_FIT_COVER , ZM_FIT_UNPROP , ZM_FIT_H , ZM_FIT_V } |
![]() | |
typedef IShapeObserver | BaseClass |
![]() | |
enum | ChangeFlags { CF_TRANSFORM = 0x3f67360 , CF_COLORS , CF_SIZE , CF_EDIT_MODE , CS_CONSOLE } |
Define possible display change flags. More... | |
![]() | |
enum | MousePointerMode { MPM_NONE , MPM_DEFAULT , MPM_DESELECT , MPM_POINTER , MPM_WAIT , MPM_CROSS , MPM_HAND , MPM_DRAG , MPM_SCREEN_MOVE , MPM_LAST = MPM_SCREEN_MOVE } |
Defines possible states of mouse pointer. More... | |
enum | EditMode { EM_NONE = 0 , EM_MOVE = 1 , EM_ADD = 2 , EM_REMOVE = 3 } |
Describes standard edit modes. More... | |
typedef QSet< IInteractiveShape * > | SelectedShapes |
![]() | |
enum | TouchState { TS_NONE , TS_TRANSPARENT , TS_INACTIVE , TS_TICKER , TS_DRAGGABLE , TS_OTHER , TS_LAST = TS_OTHER } |
Enumeration for possible shape touch states. More... | |
![]() | |
enum | ChangeFlags { CF_ICF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING , CF_DELEGATED , CF_NO_UNDO } |
Data model change notification flags. More... | |
enum | SupportedOperations { SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 , SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4 , SO_CHANGE_LOCK = 1 << 5 } |
Flags for supported operations. More... | |
enum | CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT } |
Control how relationship betweeen objects are interpreted. More... | |
Signals | |
void | ShapesChanged () |
Called when some shapes has been changed. | |
Public Member Functions | |
CViewport (CConsoleBase *framePtr, QWidget *parent=nullptr) | |
virtual | ~CViewport () |
CConsoleBase * | GetFramePtr () const |
void | UpdateFitTransform () |
virtual void | SetEditMode (int mode) |
Set edit mode. | |
virtual void | SetFitArea (const i2d::CRectangle &area) |
Set area will be used to fit in some zoom modes. | |
virtual i2d::CRect | GetClientRect () const |
Get bounding box of client area. | |
virtual bool | OnSelectChange (const iview::IShapeView &view, const istd::CIndex2d &position, const iview::IInteractiveShape &shape, bool state) |
Message handler for selection changes. | |
virtual bool | OnViewMouseButton (const iview::IShapeView &view, const istd::CIndex2d &position, Qt::MouseButton buttonType, bool state, const iview::IInteractiveShape *shapePtr) |
Message handler for mouse button click. | |
virtual bool | OnMouseMove (istd::CIndex2d position) |
It is called, when mouse is moved. | |
virtual void | ConnectCalibrationShape (iview::IShape *shapePtr) |
Connect visualisation shape for calibration object. | |
![]() | |
CCalibratedViewBase () | |
void | SetDisplayCalibration (const i2d::ICalibration2d *calibrationPtr) |
Set calibration using to display logical coordinates. | |
virtual void | SetGridVisible (bool state=true) |
Set grid visibility state. | |
virtual void | SetDistanceMeasureToolActive (bool state=true) |
Set distance measure tool active. | |
virtual void | SetPointMeasureToolActive (bool state=true) |
Set point measure tool active. | |
virtual void | ConnectToolShape (iview::IShape *shapePtr) |
Connect visualisation shape for ruler object. | |
void | SetMinGridDistance (double gridDistance) |
Set minimal grid size. | |
void | SetGridInMm (bool state=true) |
Set if grid should be shown in milimeter. | |
const iview::IViewLayer & | GetCalibrationLayer () const |
Get default calibration layer. | |
const iview::IViewLayer & | GetToolsLayer () const |
Get default tools layer. | |
void | SetDefaultColorSchema (istd::TOptDelPtr< const IColorSchema > &&colorSchemaPtr) |
Set default color schema object. | |
bool | IsBackgroundBufferActive () const |
void | SetBackgroundBufferActive (bool state=true) |
bool | IsDoubleBufferActive () const |
void | SetDoubleBufferActive (bool state=true) |
const iview::CDrawBuffer & | GetBackgroundBuffer () const |
iview::CDrawBuffer & | GetBackgroundBuffer () |
const iview::CDrawBuffer & | GetDoubleBuffer () const |
iview::CDrawBuffer & | GetDoubleBuffer () |
void | CheckResize () |
Check if size size was changed and invalidation and OnResize() should be done. | |
const iview::IColorSchema & | GetDefaultColorSchema () const override |
void | UpdateAllShapes (const istd::IChangeable::ChangeSet &changeSet) override |
Inform all shapes about changes. | |
void | InsertDefaultLayers () override |
Insert default layers, when there is no one user layer. | |
int | InsertLayer (iview::IViewLayer *layerPtr, int index=-1, int layerType=IViewLayer::LT_NONE) override |
Insert layer to view. | |
void | RemoveLayer (int index) override |
Remove layer from view. | |
bool | IsGridVisible () const override |
Check if grid is visible. | |
double | GetMinGridDistance () const override |
Get minimal distance between grid lines. | |
bool | IsGridInMm () const override |
Check if grid should be shown in milimeter. | |
bool | IsDistanceMeasureToolActive () const override |
Check if the distance measuring is active. | |
bool | IsPointMeasureToolActive () const override |
Check if the point measuring is active. | |
const i2d::ICalibration2d * | GetCalibration () const override |
Get access to transformation object, which transforms a local logical coordinate system to global one. | |
virtual void | InvalidateBackground () |
Invalidate whole background buffer. | |
![]() | |
CViewBase () | |
virtual | ~CViewBase () |
virtual void | SetZoom (ZoomMode zoom) |
Set zoom. | |
virtual void | SetScreenPosition (const i2d::CVector2d &client, istd::CIndex2d screen) |
It sets position to become transformation of client point to specified screen position. | |
virtual const i2d::CRectangle & | GetFitArea () const |
Get area will be used to automatic fit the zoom to view size. | |
virtual void | SetViewDraggable (bool state=true) |
Turn on/off possibility to move whole view transform. | |
virtual void | SetMultiselectable (bool state=true) |
Turn on/off possibility to select more shapes using control keys. | |
virtual void | SetDraggable (bool state=true) |
Turn on/off possibility to move more selected shapes, when one is moved. | |
virtual void | AddViewEventObserver (iview::IViewEventObserver *listenerPtr) |
Adds handler to catch view events. | |
virtual void | RemoveViewEventObserver (iview::IViewEventObserver *listenerPtr) |
Removes handler to catch view events. | |
int | GetBackgroundLayerIndex () const |
Get index of default background layer. | |
int | GetInactiveLayerIndex () const |
Get index of default inactive layer. | |
int | GetActiveLayerIndex () const |
Get index of default active layer. | |
IInteractiveShape * | GetMouseShapePtr () const |
Get shape under mouse pointer. | |
IInteractiveShape * | GetFirstActiveShape () const |
virtual void | Update () |
Updates all invalidates shapes. | |
virtual bool | IsViewDraggable () const |
Check if is draggable mode. | |
virtual bool | IsMultiselectable () const |
Check, if it is possible to select more than one shape. | |
virtual int | GetLayerIndex (const IViewLayer &layer) const |
Get index of layer. | |
virtual int | GetLayerIndex (int layerType) const |
Get index of layer by type. | |
virtual int | GetLayersCount () const |
Get count of layer in this view. | |
virtual IViewLayer & | GetLayer (int index) const |
Get layer with the given index. | |
virtual bool | ConnectShape (IShape *shapePtr) |
Connect shape object to view. | |
virtual ISelectableLayer * | GetFocusedLayerPtr () const |
Get focused layer. | |
virtual void | OnLayerShapeFocused (IInteractiveShape *shapePtr, ISelectableLayer *layerPtr) |
Called when shape in layer get focus. | |
virtual void | OnLayerShapeDefocused (IInteractiveShape *shapePtr, ISelectableLayer *layerPtr) |
Called when shape in layer loose focus. | |
virtual void | OnLayerInvalidated (const IViewLayer &layer, const i2d::CRect &prevArea, const i2d::CRect &newArea) |
Inform that layer was invalidated. | |
virtual int | GetSelectedShapesCount () const |
Get count of selected shapes. | |
virtual void | InsertSelectedShapes (SelectedShapes &result) const |
Get set of selected shapes. | |
virtual void | DeselectAllShapes () |
Set all shapes to be deselected. | |
virtual int | GetKeysState () const |
Get state of system keys. | |
virtual int | GetEditMode () const |
Get actual edit mode. | |
virtual void | OnShapeFocused (IInteractiveShape *) |
Called when shape get focus. | |
virtual void | OnShapeDefocused (IInteractiveShape *) |
Called when shape loose focus. | |
virtual TouchState | IsTouched (istd::CIndex2d position) const |
Check, if any shape is touched. | |
virtual QString | GetShapeDescriptionAt (istd::CIndex2d position) const |
Get description to shape at specified position. | |
virtual void | SetTransform (const i2d::CAffine2d &transform) |
Set a screen transformation. | |
virtual void | UpdateMousePointer () |
Update mouse pointer. | |
virtual bool | OnMouseButton (istd::CIndex2d position, Qt::MouseButton buttonType, bool downFlag) |
It is called, when mouse button is pushed down or up on this object. | |
virtual IDisplay * | GetParentDisplayPtr () const |
Get parent object of this display. | |
virtual const iview::CScreenTransform & | GetTransform () const |
Return a screen transformation. | |
virtual i2d::CRect | GetBoundingBox () const |
Get bounding box of all object in this display. | |
virtual const IColorSchema & | GetColorSchema () const |
Get color schema. | |
virtual void | OnChangeShape (IShape *shapePtr) |
Invalidate a shape. | |
virtual bool | DisconnectShape (IShape *shapePtr) |
Disconnect shape object from view. | |
virtual void | OnShapeSelected (IInteractiveShape &shape, bool state=true) |
It is called after change shape selection state. | |
virtual bool | IsDraggable () const |
Check if drag is enabled. | |
virtual void | BeginDrag (const istd::CIndex2d &reference) |
Called before dragging is begin. | |
virtual void | SetDragPosition (const istd::CIndex2d &position) |
Set new drag position. | |
virtual void | EndDrag () |
Called after dragging. | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
virtual int | GetSupportedOperations () const |
Get set of flags for supported operations. | |
virtual bool | CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) |
Copy this object from another one. | |
virtual bool | IsEqual (const IChangeable &object) const |
Compare this object with another object. | |
virtual std::unique_ptr< IChangeable > | CloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const |
Make a copy of this object. | |
virtual bool | ResetData (CompatibilityMode mode=CM_WITHOUT_REFS) |
Reset data to its default state. | |
virtual QMutex * | GetChangesLock () const |
Get mutex beeing locked during changes, if available. | |
virtual void | BeginChanges (const ChangeSet &changeSet) |
Starts the change transaction. | |
virtual void | EndChanges (const ChangeSet &changeSet) |
Ends the change transaction. | |
virtual void | BeginChangeGroup (const ChangeSet &changeSet) |
Starts group of changes. | |
virtual void | EndChangeGroup (const ChangeSet &changeSet) |
Ends group of changes. | |
![]() | |
![]() | |
![]() |
Protected Member Functions | |
virtual void | SetBackgroundBufferValid (bool state=true) |
Set validate flag of background buffer. | |
virtual void | OnResize () |
Called if found that display area was resized. | |
virtual bool | CanBeMoved () const |
This method is internal used to check, if drag mode is allowed. | |
virtual void | paintEvent (QPaintEvent *event) |
virtual void | resizeEvent (QResizeEvent *event) |
virtual void | mousePressEvent (QMouseEvent *event) |
virtual void | mouseReleaseEvent (QMouseEvent *event) |
virtual void | mouseMoveEvent (QMouseEvent *event) |
virtual void | SetMousePointer (MousePointerMode mode) |
Set mouse pointer. | |
void | UpdateRectArea (const i2d::CRect &rect) |
Start updating specified rectangle area. | |
virtual void | OnBoundingBoxChanged () |
Called when bounding box has been changed. | |
virtual void | OnAreaInvalidated (const i2d::CRect &beforeBox, const i2d::CRect &afterBox) |
Invalidate display area. | |
int | GetMouseKeysState (const QMouseEvent &event) |
![]() | |
virtual void | DrawBuffers (QPaintDevice &nativeContext, const i2d::CRect &clipRect) |
virtual void | DrawToContext (QPaintDevice &nativeContext, QPainter &context, const i2d::CRect &invalidatedBox) |
int | CalcShapeLayerIndex (const IShape &shape) const override |
Calculate optimal layer index for some shape. | |
![]() | |
virtual void | DrawLayers (QPainter &drawContext, int firstLayer, int lastLayer) |
Draw Background layer. | |
int | GetLastBackgroundLayerIndex () |
Get last background layer index. | |
void | SetLastBackgroundLayerIndex (int index) |
void | DisconnectAllShapes () |
Disconnect all shapes from this view. | |
virtual void | InvalidateBoundingBox () |
Invalidate bounding box. | |
bool | EnsureBoundingBoxValid () |
Calculate bounding box if it was invalid. | |
virtual i2d::CRect | CalcBoundingBox () const |
Calculate bounding box of all shapes. | |
virtual MousePointerMode | CalcMousePointer (istd::CIndex2d position) const |
virtual void | InvalidateMouseShape () |
Invalidate stored shape under mouse pointer. | |
virtual void | CalcMouseShape () const |
Calc shape under mouse pointer. | |
virtual bool | IsBackgroundBufferValid () const |
Check if background buffer is valid. | |
const i2d::CRect & | GetInvalidatedBox () const |
Get bounding box of all invalidated rectangles. | |
void | InvalidateBox (const i2d::CRect &rect) |
Invalidate rectangle screen area. | |
void | ResetInvalidatedBox () |
Reset invalidated box. | |
void | SetKeysState (int state) |
Set state of keys. | |
const Layers & | GetLayers () const |
Layers & | GetLayers () |
![]() | |
![]() | |
virtual void | OnBeginChanges () |
Callback function for begin change event. | |
virtual void | OnEndChanges (const ChangeSet &changeSet) |
Callback function for end change event. | |
Additional Inherited Members | |
![]() | |
static const ChangeSet & | GetNoChanges () |
Get empty set of changes. | |
static const ChangeSet & | GetAnyChange () |
Get anonymous change set. | |
static const ChangeSet & | GetAllChanges () |
Get anonymous change set. | |
static const ChangeSet & | GetDelegatedChanges () |
Get delegated change set. | |
![]() | |
typedef QVector< IViewLayer * > | Layers |
Definition at line 31 of file CViewport.h.
Definition at line 39 of file CViewport.h.
QWidget iview::CViewport::BaseClass2 |
Definition at line 40 of file CViewport.h.
iview::CViewport::CViewport | ( | CConsoleBase * | framePtr, |
QWidget * | parent = nullptr ) |
|
virtual |
|
protectedvirtual |
This method is internal used to check, if drag mode is allowed.
Normally it return IsViewDraggable(), but in derived class you can change its implementation to avoid dragging.
Reimplemented from iview::CViewBase.
|
virtual |
Connect visualisation shape for calibration object.
Reimplemented from iview::CCalibratedViewBase.
|
virtual |
Get bounding box of client area.
Implements iview::IDisplay.
CConsoleBase * iview::CViewport::GetFramePtr | ( | ) | const |
|
protected |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Invalidate display area.
prevArea | previous area used to display object. |
newArea | new area used to display object. |
Reimplemented from iview::CViewBase.
|
protectedvirtual |
Called when bounding box has been changed.
Reimplemented from iview::CViewBase.
|
virtual |
It is called, when mouse is moved.
Only objects with focus receive this event.
position | - position of mouse pointer on client area (picture coords). |
Reimplemented from iview::CViewBase.
|
protectedvirtual |
Called if found that display area was resized.
Reimplemented from iview::CCalibratedViewBase.
|
virtual |
Message handler for selection changes.
Implements iview::IViewEventObserver.
|
virtual |
Message handler for mouse button click.
Implements iview::IViewEventObserver.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Set validate flag of background buffer.
Reimplemented from iview::CViewBase.
|
virtual |
Set edit mode.
Reimplemented from iview::CViewBase.
|
virtual |
Set area will be used to fit in some zoom modes.
Reimplemented from iview::CViewBase.
|
protectedvirtual |
Set mouse pointer.
You have to implement it in your iview::CViewBase implementations.
Implements iview::CViewBase.
|
signal |
Called when some shapes has been changed.
void iview::CViewport::UpdateFitTransform | ( | ) |
|
protectedvirtual |
Start updating specified rectangle area.
Implements iview::CViewBase.
© Witold Gantzke and Kirill Lepskiy