![]() |
XII Release 0.1.0
|
Public Member Functions | |
xiiSelectionContext (xiiQtEngineDocumentWindow *pOwnerWindow, xiiQtEngineViewWidget *pOwnerView, const xiiCamera *pCamera) | |
void | SetWindowConfig (const xiiVec2I32 &vViewport) |
void | SetPickObjectOverride (xiiDelegate< void(const xiiDocumentObject *)> pickOverride) |
Adds a delegate that gets called whenever an object is picked, as long as the override is active. | |
void | ResetPickObjectOverride () |
![]() | |
void | FocusLost (bool bCancel) |
xiiEditorInput | KeyPressEvent (QKeyEvent *e) |
xiiEditorInput | KeyReleaseEvent (QKeyEvent *e) |
xiiEditorInput | MousePressEvent (QMouseEvent *e) |
xiiEditorInput | MouseReleaseEvent (QMouseEvent *e) |
xiiEditorInput | MouseMoveEvent (QMouseEvent *e) |
xiiEditorInput | WheelEvent (QWheelEvent *e) |
void | MakeActiveInputContext (bool bActive=true) |
bool | IsActiveInputContext () const |
void | SetOwner (xiiQtEngineDocumentWindow *pOwnerWindow, xiiQtEngineViewWidget *pOwnerView) |
xiiQtEngineDocumentWindow * | GetOwnerWindow () const |
xiiQtEngineViewWidget * | GetOwnerView () const |
bool | GetShortcutsDisabled () const |
void | SetShortcutsDisabled (bool bDisabled) |
If set to true, the surrounding window will ensure to block all shortcuts and instead send keypress events to the input context. | |
virtual bool | IsPickingSelectedAllowed () const |
xiiVec2I32 | SetMouseMode (MouseMode mode) |
Sets how the mouse will act when it reaches the screen border. UpdateMouseMode() must be called on every mouseMoveEvent to update the state. | |
xiiVec2I32 | UpdateMouseMode (QMouseEvent *e) |
Updates the mouse position. Can always be called but will only have an effect if SetMouseMode() was called with one of the wrap modes. | |
virtual void | UpdateStatusBarText (xiiQtEngineDocumentWindow *pWindow) |
![]() | |
virtual const xiiRTTI * | GetDynamicRTTI () const |
bool | IsInstanceOf (const xiiRTTI *pType) const |
Returns whether the type of this instance is of the given type or derived from it. | |
template<typename T> | |
XII_ALWAYS_INLINE bool | IsInstanceOf () const |
Returns whether the type of this instance is of the given type or derived from it. | |
Protected Types | |
enum class | Mode { None , Single , MarqueeAdd , MarqueeRemove } |
Protected Member Functions | |
virtual xiiEditorInput | DoMousePressEvent (QMouseEvent *e) override |
virtual xiiEditorInput | DoMouseReleaseEvent (QMouseEvent *e) override |
virtual xiiEditorInput | DoMouseMoveEvent (QMouseEvent *e) override |
virtual xiiEditorInput | DoKeyPressEvent (QKeyEvent *e) override |
virtual xiiEditorInput | DoKeyReleaseEvent (QKeyEvent *e) override |
virtual void | OnSetOwner (xiiQtEngineDocumentWindow *pOwnerWindow, xiiQtEngineViewWidget *pOwnerView) override |
const xiiDocumentObject * | determineObjectToSelect (const xiiDocumentObject *pickedObject, bool bToggle, bool bDirect) const |
virtual void | DoFocusLost (bool bCancel) override |
virtual void | OpenDocumentForPickedObject (const xiiObjectPickingResult &res) const |
virtual void | SelectPickedObject (const xiiObjectPickingResult &res, bool bToggle, bool bDirect) const |
void | SendMarqueeMsg (QMouseEvent *e, xiiUInt8 uiWhatToDo) |
![]() | |
virtual void | OnActivated () |
virtual void | OnDeactivated () |
virtual xiiEditorInput | DoWheelEvent (QWheelEvent *e) |
Protected Attributes | |
xiiDelegate< void(const xiiDocumentObject *)> | m_PickObjectOverride |
const xiiCamera * | m_pCamera |
xiiVec2I32 | m_vViewport |
xiiEngineGizmoHandle | m_hMarqueeGizmo |
xiiVec3 | m_vMarqueeStartPos |
xiiUInt32 | m_uiMarqueeID |
bool | m_bPressedSpace = false |
Mode | m_Mode = Mode::None |
Additional Inherited Members | |
![]() | |
enum class | MouseMode { Normal , WrapAtScreenBorders , HideAndWrapAtScreenBorders } |
How the mouse position is updated when the mouse cursor reaches the screen borders. More... | |
![]() | |
static void | SetActiveInputContext (xiiEditorInputContext *pContext) |
static bool | IsAnyInputContextActive () |
static xiiEditorInputContext * | GetActiveInputContext () |
static void | UpdateActiveInputContext () |
![]() | |
static const xiiRTTI * | GetStaticRTTI () |
|
overrideprotectedvirtual |
Reimplemented from xiiEditorInputContext.
|
overrideprotectedvirtual |
Reimplemented from xiiEditorInputContext.
|
overrideprotectedvirtual |
Reimplemented from xiiEditorInputContext.
|
overrideprotectedvirtual |
Reimplemented from xiiEditorInputContext.
|
overrideprotectedvirtual |
Reimplemented from xiiEditorInputContext.
|
overrideprotectedvirtual |
Reimplemented from xiiEditorInputContext.
|
inlineoverrideprotectedvirtual |
Implements xiiEditorInputContext.
void xiiSelectionContext::SetPickObjectOverride | ( | xiiDelegate< void(const xiiDocumentObject *)> | pickOverride | ) |
Adds a delegate that gets called whenever an object is picked, as long as the override is active.
It also changes the owner view's cursor to a cross-hair. If something gets picked, the override is called with a non-null object. In case the user presses ESC or the view gets destroyed while the override is active, the delegate is called with nullptr. This indicates that all picking should be stopped and the registered user should clean up.