Makro Křížek myši

From FreeCAD Documentation
Revision as of 17:40, 6 February 2014 by Honza32 (talk | contribs) (Created page with "==Popis== Toto malé makro mění šipku kurzoru myši na jemný křížek.<br /> Malý příklad použití třídy '''ViewObserver()''' a použití klávesnice '''[[Code_snip...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

File:Text-x-python Macro_Mouse_Cross

Description
This macro turns the arrow of the mouse in a precision cross.

Author: Mario52
Author
Mario52
Download
None
Links
Macro Version
1.0
Date last modified
None
FreeCAD Version(s)
None
Default shortcut
"C" "A"
See also
None

Popis

Toto malé makro mění šipku kurzoru myši na jemný křížek.
Malý příklad použití třídy ViewObserver() a použití klávesnice SoKeyboardEvent

Macro_Mouse_Cross

How to use

  1. Press the C button to activate the cross.
  2. Press the A button to activate the arrow.

Script

Macro_Mouse_Cross.FCMacro

# -*- coding: utf-8 -*-
# Macro_Mouse_Cross mouse cursor to cross or arrow
from PyQt4 import QtCore, QtGui
class ViewObserver:
   def logPosition(self, info):
       self.pos = info["Key"]
       if (self.pos.upper() == "C"):
           # change the cursor cross ( + )
           QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.CrossCursor))
       elif (self.pos.upper() == "A"):
           # change the cursor Arrow
           QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))

v=Gui.activeDocument().activeView()
o = ViewObserver()
c = v.addEventCallback("SoKeyboardEvent",o.logPosition)

Cursors that can be used

ArrowCursor, UpArrowCursor, CrossCursor, WaitCursor, IBeamCursor, SizeVerCursor, SizeHorCursor SizeBDiagCursor, SizeFDiagCursor, SizeAllCursor, BlankCursor, SplitVCursor, SplitHCursor PointingHandCursor, ForbiddenCursor, OpenHandCursor, ClosedHandCursor, WhatsThisCursor, BusyCursor, BitmapCursor

Limitation

The cursor can change appearance depending on the used Workbench, he must repeat the operation.
The cursor can be subtituer to the other sliders (ex: expansion of a window, corner...).
The rest resident macro.