QCAD
Open Source 2D CAD
RDocumentInterface Class Reference

Interface for interaction between a graphics document and a user. More...

#include <RDocumentInterface.h>

Public Types

enum  IoErrorCode {
  IoErrorNoError, IoErrorNoImporterFound, IoErrorZeroSize, IoErrorNotFound,
  IoErrorPermission, IoErrorGeneralImportError, IoErrorGeneralImportUrlError
}
 

Public Member Functions

void addAuxShapeToPreview (RShape &shape)
 Exports the given shape to the preview. More...
 
void addCoordinateListener (RCoordinateListener *l)
 Adds a listener for coordinate events. More...
 
void addEntityToPreview (REntity &entity)
 Adds the given entity to the preview of all scenes / view. More...
 
void addShapeToPreview (RShape &shape, const RColor &color, const QBrush &brush, RLineweight::Lineweight lineweight, Qt::PenStyle style, const QList< qreal > &dashValues=RDEFAULT_QLIST_QREAL)
 
void addZoomBoxToPreview (const RBox &box)
 Adds a box to the preview that represents a zoom box displayed while drawing a window to magnify an area. More...
 
RTransaction applyOperation (const ROperation *operation)
 Applies the given operation to the document. More...
 
void autoZoom (int margin=RDEFAULT_MIN1)
 Auto zooms in the view that currently has the focus. More...
 
void beginPreview ()
 After calling this function, all exports go into the preview of the scene instead of the scene itself. More...
 
void clear ()
 Resets the document to its original, empty state. More...
 
void clearCaches ()
 Clears cached variables to ensure they are re-initialized before the next use. More...
 
void clearPreview ()
 Clears the preview of all scenes. More...
 
void clearProperties ()
 Notifies all property listeners that no properties are relevant at this point. More...
 
void clearSelection ()
 Clears the current selection and updates the scenes / views accordingly. More...
 
void commandEvent (RCommandEvent &event)
 
void commandEventPreview (RCommandEvent &event)
 
void coordinateEvent (RCoordinateEvent &event)
 
void coordinateEventPreview (RCoordinateEvent &event)
 
void deleteTerminatedActions ()
 Deletes all actions that have been terminated. More...
 
void deselectAll ()
 De-select all entities, for convenience. More...
 
bool deselectEntities (const QSet< REntity::Id > &entityIds)
 Deselects the given entities and updates the scenes accordingly. More...
 
void deselectEntity (REntity::Id entityId)
 Deselects the given entity and updates the scenes accordingly. More...
 
void disableMouseTracking ()
 
void disableRegeneration ()
 
void disableUpdates ()
 
void enableMouseTracking ()
 
void enableRegeneration ()
 
void enableUpdates ()
 
void endPreview ()
 After calling this function, all exports go into the scene again and not the preview anymore. More...
 
QVariant eval (const QString &ext, const QString &script)
 
bool exportFile (const QString &fileName, const QString &fileVersion="", bool resetModified=true)
 
void flushRedo ()
 Flush redoable transactions. More...
 
void flushTransactions ()
 Flush transactions. More...
 
RAction::ClickMode getClickMode ()
 
REntity::Id getClosestEntity (RMouseEvent &event)
 
REntity::Id getClosestEntity (const RVector &position, double range, double strictRange=RMAXDOUBLE, bool includeLockedLayers=true)
 
QString getCorrectedFileName (const QString &fileName, const QString &fileVersion)
 
RActiongetCurrentAction ()
 
RColor getCurrentColor ()
 
RLinetype::Id getCurrentLinetypeId ()
 
RLinetypePattern getCurrentLinetypePattern ()
 
RLineweight::Lineweight getCurrentLineweight ()
 
RUcs getCurrentUcs ()
 
QString getCurrentUcsName ()
 
bool getCursorOverride () const
 
RVector getCursorPosition () const
 
RDocumentgetDocument ()
 
QList< RGraphicsScene * > getGraphicsScenes ()
 
RGraphicsViewgetGraphicsViewWithFocus ()
 
RGraphicsViewgetLastKnownViewWithFocus ()
 
RVector getLastPosition () const
 
RVector getRelativeZero () const
 
RScriptHandlergetScriptHandler (const QString &extension)
 
RSnapgetSnap ()
 Gets the current snap object. More...
 
RSnapRestrictiongetSnapRestriction ()
 
RStoragegetStorage ()
 
bool hasCurrentAction ()
 
bool hasSelection ()
 
void highlightEntity (REntity::Id entityId)
 
void highlightReferencePoint (const RVector &position)
 Highlights the given reference point. More...
 
RDocumentInterface::IoErrorCode importFile (const QString &fileName, const QString &nameFilter="", bool notify=true)
 Imports the given file if there is a file importer registered for that file type. More...
 
RDocumentInterface::IoErrorCode importUrl (const QUrl &url, const QString &nameFilter="", bool notify=true)
 
bool isClipboard ()
 
bool isPreviewEmpty ()
 
bool isRelativeZeroLocked () const
 
bool isScriptRunning ()
 
bool isSuspended ()
 
void keepPreview ()
 Makes sure that the current preview survives one mouse move. More...
 
void keyPressEvent (QKeyEvent &event)
 
void keyReleaseEvent (QKeyEvent &event)
 
void killAllActions ()
 
void lockRelativeZero ()
 Locks the position of the relative zero point. More...
 
void mouseDoubleClickEvent (RMouseEvent &event)
 Forwards the given mouse double click event to the current action. More...
 
void mouseMoveEvent (RMouseEvent &event)
 Forwards the given mouse move event to the current action. More...
 
void mousePressEvent (RMouseEvent &event)
 Forwards the given mouse press event to the current action. More...
 
void mouseReleaseEvent (RMouseEvent &event)
 Forwards the given mouse release event to the current action. More...
 
void notifyCoordinateListeners ()
 Notifies all coordinate listeners that the coordinate has changed to position. More...
 
void objectChangeEvent (QList< RObject::Id > &objectIds)
 Triggers an objectChangeEvent for every object in the given set. More...
 
void panGestureEvent (QPanGesture &gesture)
 Forwards the given gesture to the current action. More...
 
void pinchGestureEvent (QPinchGesture &gesture)
 Forwards the given gesture to the current action. More...
 
void previewOperation (const ROperation *operation)
 Previews the given operation by applying the operation to a temporary document that is linked to the (read only) document. More...
 
void propertyChangeEvent (RPropertyEvent &event)
 Forwards the given event to the current action to signal that a property value has been changed. More...
 
void queueAction (RAction *action)
 
 RDocumentInterface (RDocument &document)
 
void redo ()
 Transaction based redo. More...
 
void regenerateScenes (bool undone=false)
 Regenerates all scenes attached to this document interface by exporting the document into them. More...
 
void regenerateScenes (QSet< REntity::Id > &entityIds, bool updateViews)
 Regenerates the given part of all scenes attached to this document interface by exporting the given list of entities into them. More...
 
void regenerateScenes (REntity::Id entityId, bool updateViews)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void regenerateViews (bool force=false)
 Regenerates all views. More...
 
void registerScene (RGraphicsScene &scene)
 Registers a scene with this document interface. More...
 
void repaintViews ()
 Repaints all views. More...
 
void resume ()
 
void selectAll ()
 Selects all and updates the scenes / views accordingly. More...
 
void selectBoxXY (const RBox &box, bool add=false)
 
void selectEntities (const QSet< REntity::Id > &entityIds, bool add=false)
 Selects the given entities and updates the scenes accordingly. More...
 
void selectEntity (REntity::Id entityId, bool add=false)
 Selects the given entity and updates the scenes accordingly. More...
 
void setClickMode (RAction::ClickMode m)
 Sets the click mode of the current action to the given mode. More...
 
void setCurrentAction (RAction *action)
 Sets the current action. More...
 
void setCurrentBlock (const RBlock &block)
 Sets the current block that is in use for all views attached to this document interface. More...
 
void setCurrentBlock (const QString &blockName)
 Sets the current block based on the given block name. More...
 
void setCurrentColor (const RColor &color)
 
void setCurrentLayer (const RLayer &layer)
 Sets the current Layer that is in use for all views attached to this document interface. More...
 
void setCurrentLayer (const QString &layerName)
 Sets the current layer based on the given layer name. More...
 
void setCurrentLinetype (RLinetype::Id ltId)
 
void setCurrentLinetypePattern (const RLinetypePattern &p)
 
void setCurrentLineweight (RLineweight::Lineweight lw)
 
void setCurrentUcs (const RUcs &ucs)
 Sets the current UCS (user coordinate system) that is in use for all views attached to this document interface. More...
 
void setCurrentUcs (const QString &ucsName)
 Sets the current UCS based on the given UCS name. More...
 
void setCurrentView (const QString &viewName)
 Sets the current view based on the given view name. More...
 
void setCursor (const QCursor &cursor, bool global=true)
 
void setCursorOverride (bool on)
 Force cursor to be shown. More...
 
void setCursorPosition (const RVector &p)
 
void setDefaultAction (RAction *action)
 Sets the action that is active if no other action is active. More...
 
void setLastKnownViewWithFocus (RGraphicsView *view)
 
void setNotifyListeners (bool on)
 
void setRelativeZero (const RVector &p)
 
void setSnap (RSnap *snap)
 Sets the current snap object. More...
 
void setSnapRestriction (RSnapRestriction *snapRestriction)
 Sets the current snap restriction object. More...
 
void showPropertiesOf (REntity &entity)
 Notifies all property listeners that the properties of the given entity should be shown. More...
 
RVector snap (RMouseEvent &event)
 Uses the current snap to snap the given position to a grid point, end point, etc. More...
 
void suspend ()
 
void swipeGestureEvent (QSwipeGesture &gesture)
 Forwards the given gesture to the current action. More...
 
void tabletEvent (RTabletEvent &event)
 Forwards the given tablet event to the current action. More...
 
void terminateEvent (RTerminateEvent &event)
 
void ucsSetEvent (const QString &ucsName)
 Called immediately after the user has activated a new UCS to be used as current UCS. More...
 
void undo ()
 Transaction based undo. More...
 
void unlockRelativeZero ()
 Unlocks the position of the relative zero point. More...
 
void unregisterScene (RGraphicsScene &scene)
 Unregisters a scene from this document interface. More...
 
void updateAllEntities ()
 Marks all entities with any kind of caching as dirty, so they are regenerated next time regenerate is called. More...
 
void updateSelectionStatus (QSet< REntity::Id > &entityIds, bool updateViews)
 
void updateSelectionStatus (REntity::Id entityId, bool updateViews)
 
void wheelEvent (RWheelEvent &event)
 Forwards the given mouse wheel event to the current action. More...
 
void zoomIn ()
 Zooms in at the view that currently has the focus. More...
 
void zoomOut ()
 Zooms out at the view that currently has the focus. More...
 
void zoomPrevious ()
 Zooms to the previously visible viewport. More...
 
void zoomTo (const RBox &region, int margin=0)
 Zooms to the given region. More...
 
bool zoomToSelection ()
 
 ~RDocumentInterface ()
 

Static Public Member Functions

static void deleteClipboard ()
 
static RDocumentInterfacegetClipboard ()
 

Private Member Functions

void handleClickEvent (RAction &action, RMouseEvent &event)
 Helper function for mouseReleaseEvent. More...
 
void previewClickEvent (RAction &action, RMouseEvent &event)
 Helper function for mouseMoveEvent. More...
 

Private Attributes

bool allowRegeneration
 
bool allowUpdate
 
QList< RCoordinateListener * > coordinateListeners
 
QStack< RAction * > currentActions
 
RSnapcurrentSnap
 
RSnapRestrictioncurrentSnapRestriction
 
RUcs currentUcs
 
QString currentUcsName
 
bool cursorOverride
 
RVector cursorPosition
 
RActiondefaultAction
 
bool deleting
 
RDocumentdocument
 
bool keepPreviewOnce
 
RGraphicsViewlastKnownViewWithFocus
 
RVector lastPosition
 
bool mouseTrackingEnabled
 
bool notifyListeners
 
QQueue< RAction * > queuedActions
 
RVector relativeZero
 
bool relativeZeroLocked
 
QList< RGraphicsScene * > scenes
 
QMap< QString, RScriptHandler * > scriptHandlers
 
bool suspended
 

Static Private Attributes

static RDocumentInterfaceclipboard = NULL
 Copyright (c) 2011-2015 by Andrew Mustun. More...
 

Detailed Description

Interface for interaction between a graphics document and a user.

Typically one document interface exists for every document that is open in an MDI application. The document interface owns and links the various scenes, views and the currently active action.

A document interface can own multiple graphics scenes, each of which can have multiple views attached to it. The views forward all user events (mouse moves, mouse clicks, etc.) to the document interface for processing. The document interface dispatches the events to the currently active action object.

Scriptable:
This class is available in script environments.

Constructor & Destructor Documentation

RDocumentInterface::RDocumentInterface ( RDocument document)
RDocumentInterface::~RDocumentInterface ( )

Member Function Documentation

void RDocumentInterface::addAuxShapeToPreview ( RShape shape)

Exports the given shape to the preview.

Todo:
Support other shapes.
void RDocumentInterface::addCoordinateListener ( RCoordinateListener l)

Adds a listener for coordinate events.

This can for example be a document specific widget that displays the current coordinate, e.g. rulers.

void RDocumentInterface::addEntityToPreview ( REntity entity)

Adds the given entity to the preview of all scenes / view.

void RDocumentInterface::addShapeToPreview ( RShape shape,
const RColor color,
const QBrush &  brush,
RLineweight::Lineweight  lineweight,
Qt::PenStyle  style,
const QList< qreal > &  dashValues = RDEFAULT_QLIST_QREAL 
)
void RDocumentInterface::addZoomBoxToPreview ( const RBox box)

Adds a box to the preview that represents a zoom box displayed while drawing a window to magnify an area.

RTransaction RDocumentInterface::applyOperation ( const ROperation operation)

Applies the given operation to the document.

The operation might for example do something with the current selection.

void RDocumentInterface::autoZoom ( int  margin = RDEFAULT_MIN1)

Auto zooms in the view that currently has the focus.

void RDocumentInterface::beginPreview ( )

After calling this function, all exports go into the preview of the scene instead of the scene itself.

See also
endPreview
void RDocumentInterface::clear ( )

Resets the document to its original, empty state.

void RDocumentInterface::clearCaches ( )

Clears cached variables to ensure they are re-initialized before the next use.

void RDocumentInterface::clearPreview ( )

Clears the preview of all scenes.

void RDocumentInterface::clearProperties ( )

Notifies all property listeners that no properties are relevant at this point.

This can for example clear the property editor and other property listeners.

void RDocumentInterface::clearSelection ( )

Clears the current selection and updates the scenes / views accordingly.

Todo:
refactor into operations
void RDocumentInterface::commandEvent ( RCommandEvent event)
void RDocumentInterface::commandEventPreview ( RCommandEvent event)
void RDocumentInterface::coordinateEvent ( RCoordinateEvent event)
void RDocumentInterface::coordinateEventPreview ( RCoordinateEvent event)
void RDocumentInterface::deleteClipboard ( )
static
void RDocumentInterface::deleteTerminatedActions ( )

Deletes all actions that have been terminated.

void RDocumentInterface::deselectAll ( )

De-select all entities, for convenience.

See also
RDocumentInterface::clearSelection()
bool RDocumentInterface::deselectEntities ( const QSet< REntity::Id > &  entityIds)

Deselects the given entities and updates the scenes accordingly.

void RDocumentInterface::deselectEntity ( REntity::Id  entityId)

Deselects the given entity and updates the scenes accordingly.

void RDocumentInterface::disableMouseTracking ( )
void RDocumentInterface::disableRegeneration ( )
void RDocumentInterface::disableUpdates ( )
void RDocumentInterface::enableMouseTracking ( )
void RDocumentInterface::enableRegeneration ( )
void RDocumentInterface::enableUpdates ( )
void RDocumentInterface::endPreview ( )

After calling this function, all exports go into the scene again and not the preview anymore.

See also
beginPreview
QVariant RDocumentInterface::eval ( const QString &  ext,
const QString &  script 
)
bool RDocumentInterface::exportFile ( const QString &  fileName,
const QString &  fileVersion = "",
bool  resetModified = true 
)
void RDocumentInterface::flushRedo ( )

Flush redoable transactions.

void RDocumentInterface::flushTransactions ( )

Flush transactions.

RAction::ClickMode RDocumentInterface::getClickMode ( )
RDocumentInterface & RDocumentInterface::getClipboard ( )
static
REntity::Id RDocumentInterface::getClosestEntity ( RMouseEvent event)
Returns
ID of the entity that is the closest to the mouse cursor of the given event.

The event is also used to determine the maximum distance from the cursor to the entity in the view in which the event originated.

REntity::Id RDocumentInterface::getClosestEntity ( const RVector position,
double  range,
double  strictRange = RMAXDOUBLE,
bool  includeLockedLayers = true 
)
QString RDocumentInterface::getCorrectedFileName ( const QString &  fileName,
const QString &  fileVersion 
)
RAction * RDocumentInterface::getCurrentAction ( )
Returns
Pointer to the current action or NULL. Used by script interfaces.
RColor RDocumentInterface::getCurrentColor ( )
RLinetype::Id RDocumentInterface::getCurrentLinetypeId ( )
RLinetypePattern RDocumentInterface::getCurrentLinetypePattern ( )
RLineweight::Lineweight RDocumentInterface::getCurrentLineweight ( )
RUcs RDocumentInterface::getCurrentUcs ( )
Returns
The current UCS (user coordinate system).
QString RDocumentInterface::getCurrentUcsName ( )
Returns
The current UCS name.
bool RDocumentInterface::getCursorOverride ( ) const
RVector RDocumentInterface::getCursorPosition ( ) const
Returns
The last known mouse cursor position in model coordinates.
RDocument & RDocumentInterface::getDocument ( )
Returns
Reference to underlying document.
QList< RGraphicsScene * > RDocumentInterface::getGraphicsScenes ( )
Returns
List of attached graphics scenes.
RGraphicsView * RDocumentInterface::getGraphicsViewWithFocus ( )
Returns
The graphics view that currently has the focus or the first attached view or NULL if no view is attached.
RGraphicsView * RDocumentInterface::getLastKnownViewWithFocus ( )
RVector RDocumentInterface::getLastPosition ( ) const
Returns
The last used position, even if the relative zero is locked in one position.
RVector RDocumentInterface::getRelativeZero ( ) const
Returns
The relative zero position in model coordinates.
RScriptHandler * RDocumentInterface::getScriptHandler ( const QString &  extension)
Non-Scriptable:
This function is not available in script environments.
RSnap * RDocumentInterface::getSnap ( )

Gets the current snap object.

RSnapRestriction * RDocumentInterface::getSnapRestriction ( )
RStorage & RDocumentInterface::getStorage ( )
Returns
Reference to underlying storage.
void RDocumentInterface::handleClickEvent ( RAction action,
RMouseEvent event 
)
private

Helper function for mouseReleaseEvent.

Triggers an appropriate higher level event for mouse clicks for the given action. The event type depends on the action's current ClickMode.

bool RDocumentInterface::hasCurrentAction ( )
Returns
True if at least one action is active.
bool RDocumentInterface::hasSelection ( )
Returns
True if the document has selected entities.
void RDocumentInterface::highlightEntity ( REntity::Id  entityId)

void RDocumentInterface::highlightReferencePoint ( const RVector position)

Highlights the given reference point.

RDocumentInterface::IoErrorCode RDocumentInterface::importFile ( const QString &  fileName,
const QString &  nameFilter = "",
bool  notify = true 
)

Imports the given file if there is a file importer registered for that file type.

RDocumentInterface::IoErrorCode RDocumentInterface::importUrl ( const QUrl &  url,
const QString &  nameFilter = "",
bool  notify = true 
)
bool RDocumentInterface::isClipboard ( )
inline
bool RDocumentInterface::isPreviewEmpty ( )
Returns
True if the previews of all scenes are empty. This is used to detect if the views needs to be redrawn after a mouse move event.
bool RDocumentInterface::isRelativeZeroLocked ( ) const
Returns
true if the position of the relative zero point is locked.
bool RDocumentInterface::isScriptRunning ( )
bool RDocumentInterface::isSuspended ( )
inline
void RDocumentInterface::keepPreview ( )

Makes sure that the current preview survives one mouse move.

void RDocumentInterface::keyPressEvent ( QKeyEvent &  event)
void RDocumentInterface::keyReleaseEvent ( QKeyEvent &  event)
void RDocumentInterface::killAllActions ( )
void RDocumentInterface::lockRelativeZero ( )

Locks the position of the relative zero point.

void RDocumentInterface::mouseDoubleClickEvent ( RMouseEvent event)

Forwards the given mouse double click event to the current action.

void RDocumentInterface::mouseMoveEvent ( RMouseEvent event)

Forwards the given mouse move event to the current action.

void RDocumentInterface::mousePressEvent ( RMouseEvent event)

Forwards the given mouse press event to the current action.

void RDocumentInterface::mouseReleaseEvent ( RMouseEvent event)

Forwards the given mouse release event to the current action.

void RDocumentInterface::notifyCoordinateListeners ( )

Notifies all coordinate listeners that the coordinate has changed to position.

void RDocumentInterface::objectChangeEvent ( QList< RObject::Id > &  objectIds)

Triggers an objectChangeEvent for every object in the given set.

void RDocumentInterface::panGestureEvent ( QPanGesture &  gesture)

Forwards the given gesture to the current action.

void RDocumentInterface::pinchGestureEvent ( QPinchGesture &  gesture)

Forwards the given gesture to the current action.

void RDocumentInterface::previewClickEvent ( RAction action,
RMouseEvent event 
)
private

Helper function for mouseMoveEvent.

Triggers an appropriate preview event for the given action and the current click mode the action is in.

void RDocumentInterface::previewOperation ( const ROperation operation)

Previews the given operation by applying the operation to a temporary document that is linked to the (read only) document.

void RDocumentInterface::propertyChangeEvent ( RPropertyEvent event)

Forwards the given event to the current action to signal that a property value has been changed.

void RDocumentInterface::queueAction ( RAction action)
void RDocumentInterface::redo ( )

Transaction based redo.

void RDocumentInterface::regenerateScenes ( bool  undone = false)

Regenerates all scenes attached to this document interface by exporting the document into them.

void RDocumentInterface::regenerateScenes ( QSet< REntity::Id > &  entityIds,
bool  updateViews 
)

Regenerates the given part of all scenes attached to this document interface by exporting the given list of entities into them.

void RDocumentInterface::regenerateScenes ( REntity::Id  entityId,
bool  updateViews 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

void RDocumentInterface::regenerateViews ( bool  force = false)

Regenerates all views.

void RDocumentInterface::registerScene ( RGraphicsScene scene)

Registers a scene with this document interface.

void RDocumentInterface::repaintViews ( )

Repaints all views.

void RDocumentInterface::resume ( )
void RDocumentInterface::selectAll ( )

Selects all and updates the scenes / views accordingly.

void RDocumentInterface::selectBoxXY ( const RBox box,
bool  add = false 
)
void RDocumentInterface::selectEntities ( const QSet< REntity::Id > &  entityIds,
bool  add = false 
)

Selects the given entities and updates the scenes accordingly.

Parameters
addTrue to add to the current selection, false otherwise.
void RDocumentInterface::selectEntity ( REntity::Id  entityId,
bool  add = false 
)

Selects the given entity and updates the scenes accordingly.

Parameters
addTrue to add to the current selection, false otherwise.
Todo:
refactor into operations
void RDocumentInterface::setClickMode ( RAction::ClickMode  m)

Sets the click mode of the current action to the given mode.

See also
ClickMode
void RDocumentInterface::setCurrentAction ( RAction action)

Sets the current action.

This action will receive all events until it finishes.

void RDocumentInterface::setCurrentBlock ( const RBlock block)

Sets the current block that is in use for all views attached to this document interface.

void RDocumentInterface::setCurrentBlock ( const QString &  blockName)

Sets the current block based on the given block name.

void RDocumentInterface::setCurrentColor ( const RColor color)
void RDocumentInterface::setCurrentLayer ( const RLayer layer)

Sets the current Layer that is in use for all views attached to this document interface.

void RDocumentInterface::setCurrentLayer ( const QString &  layerName)

Sets the current layer based on the given layer name.

void RDocumentInterface::setCurrentLinetype ( RLinetype::Id  ltId)
void RDocumentInterface::setCurrentLinetypePattern ( const RLinetypePattern p)
void RDocumentInterface::setCurrentLineweight ( RLineweight::Lineweight  lw)
void RDocumentInterface::setCurrentUcs ( const RUcs ucs)

Sets the current UCS (user coordinate system) that is in use for all views attached to this document interface.

void RDocumentInterface::setCurrentUcs ( const QString &  ucsName)

Sets the current UCS based on the given UCS name.

Todo:
refactor to store current UCS in document / storage like layer
void RDocumentInterface::setCurrentView ( const QString &  viewName)

Sets the current view based on the given view name.

void RDocumentInterface::setCursor ( const QCursor &  cursor,
bool  global = true 
)
void RDocumentInterface::setCursorOverride ( bool  on)

Force cursor to be shown.

Used for e.g. snap to intersection manual where we want to show the cursor eventhough we are in entity picking mode.

void RDocumentInterface::setCursorPosition ( const RVector p)
void RDocumentInterface::setDefaultAction ( RAction action)

Sets the action that is active if no other action is active.

void RDocumentInterface::setLastKnownViewWithFocus ( RGraphicsView view)
void RDocumentInterface::setNotifyListeners ( bool  on)
inline
void RDocumentInterface::setRelativeZero ( const RVector p)
void RDocumentInterface::setSnap ( RSnap snap)

Sets the current snap object.

The document interface takes ownership of the object.

void RDocumentInterface::setSnapRestriction ( RSnapRestriction snapRestriction)

Sets the current snap restriction object.

The document interface takes ownership of the object.

void RDocumentInterface::showPropertiesOf ( REntity entity)

Notifies all property listeners that the properties of the given entity should be shown.

RVector RDocumentInterface::snap ( RMouseEvent event)

Uses the current snap to snap the given position to a grid point, end point, etc.

Returns
Coordinate to which was snapped.
void RDocumentInterface::suspend ( )
void RDocumentInterface::swipeGestureEvent ( QSwipeGesture &  gesture)

Forwards the given gesture to the current action.

void RDocumentInterface::tabletEvent ( RTabletEvent event)

Forwards the given tablet event to the current action.

void RDocumentInterface::terminateEvent ( RTerminateEvent event)
void RDocumentInterface::ucsSetEvent ( const QString &  ucsName)

Called immediately after the user has activated a new UCS to be used as current UCS.

void RDocumentInterface::undo ( )

Transaction based undo.

void RDocumentInterface::unlockRelativeZero ( )

Unlocks the position of the relative zero point.

void RDocumentInterface::unregisterScene ( RGraphicsScene scene)

Unregisters a scene from this document interface.

void RDocumentInterface::updateAllEntities ( )

Marks all entities with any kind of caching as dirty, so they are regenerated next time regenerate is called.

void RDocumentInterface::updateSelectionStatus ( QSet< REntity::Id > &  entityIds,
bool  updateViews 
)
void RDocumentInterface::updateSelectionStatus ( REntity::Id  entityId,
bool  updateViews 
)
void RDocumentInterface::wheelEvent ( RWheelEvent event)

Forwards the given mouse wheel event to the current action.

void RDocumentInterface::zoomIn ( )

Zooms in at the view that currently has the focus.

void RDocumentInterface::zoomOut ( )

Zooms out at the view that currently has the focus.

void RDocumentInterface::zoomPrevious ( )

Zooms to the previously visible viewport.

void RDocumentInterface::zoomTo ( const RBox region,
int  margin = 0 
)

Zooms to the given region.

bool RDocumentInterface::zoomToSelection ( )

Member Data Documentation

bool RDocumentInterface::allowRegeneration
private
bool RDocumentInterface::allowUpdate
private
RDocumentInterface * RDocumentInterface::clipboard = NULL
staticprivate

Copyright (c) 2011-2015 by Andrew Mustun.

All rights reserved.

This file is part of the QCAD project.

QCAD is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

QCAD 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with QCAD.

QList<RCoordinateListener*> RDocumentInterface::coordinateListeners
private
QStack<RAction*> RDocumentInterface::currentActions
private
RSnap* RDocumentInterface::currentSnap
private
RSnapRestriction* RDocumentInterface::currentSnapRestriction
private
RUcs RDocumentInterface::currentUcs
private
QString RDocumentInterface::currentUcsName
private
bool RDocumentInterface::cursorOverride
private
RVector RDocumentInterface::cursorPosition
private
RAction* RDocumentInterface::defaultAction
private
bool RDocumentInterface::deleting
private
RDocument& RDocumentInterface::document
private
bool RDocumentInterface::keepPreviewOnce
private
RGraphicsView* RDocumentInterface::lastKnownViewWithFocus
private
RVector RDocumentInterface::lastPosition
private
bool RDocumentInterface::mouseTrackingEnabled
private
bool RDocumentInterface::notifyListeners
private
QQueue<RAction*> RDocumentInterface::queuedActions
private
RVector RDocumentInterface::relativeZero
private
bool RDocumentInterface::relativeZeroLocked
private
QList<RGraphicsScene*> RDocumentInterface::scenes
private
QMap<QString, RScriptHandler*> RDocumentInterface::scriptHandlers
private
bool RDocumentInterface::suspended
private

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