Macro Mouse Cross

From FreeCAD Documentation
Revision as of 19:50, 8 August 2014 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

File:Text-x-python Macro_Mouse_Cross

Description
Cette macro change la forme de la souris en une croix de précision.

Auteur: Mario52
Auteur
Mario52
Téléchargement
None
Liens
Version Macro
1.0
Dernière modification
None
Version(s) FreeCAD
None
Raccourci clavier
"C" "A"
Voir aussi
None

Description

Cette macro change la forme de la souris en une croix de précision..
Petit exemple d'utilisation de la class ViewObserver() et de l'utilisation du clavier avec SoKeyboardEvent

Macro_Mouse_Cross

Utilisation

  1. Pressez la touche C pour activer la croix.
  2. Pressez la touche A pour activer la flèche.
  3. Pressez la touche G pour activer la grille.

Script

Macro_Mouse_Cross.FCMacro

# -*- coding: utf-8 -*-
# mouse cursor to Cross or Arrow + Grig 
# ver 0.2 08/08/2014  PyQt4 and PySide

try:
    from PyQt4 import QtCore, QtGui
except Exception:
    from PySide import QtCore, QtGui
from pivy import coin
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))
       elif (self.pos.upper() == "G"):
           # "wmayer" http://forum.freecadweb.org/viewtopic.php?f=3&t=1065&hilit=cross#p8818
           # Create Grid
           grid=coin.SoType.fromName("SoDrawingGrid").createInstance()
           Gui.ActiveDocument.ActiveView.getSceneGraph().addChild(grid)

App.Console.PrintMessage("Type Key C to Cross"+"\n")
App.Console.PrintMessage("Type Key A to Arrow"+"\n")
App.Console.PrintMessage("Type Key G to Grid (not editable)"+"\n")
v=Gui.activeDocument().activeView()
o = ViewObserver()
c = v.addEventCallback("SoKeyboardEvent",o.logPosition)

Les curseurs pouvant être utilisés

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

Limitations

Le curseur peut changer d'apparence suivant l'établi utilisé, il faut alors répéter l’opération.
Le curseur peut se substituer aux autre curseurs (ex: lors de l'agrandissement d'une fenêtre, coins...).
La grille est permanente.
La macro reste résidente.