fix reported bugs
- compile on windows - fix cursors
This commit is contained in:
parent
b18ebc9064
commit
ad1bfc32fb
|
@ -260,8 +260,10 @@ typedef unsigned __int64 uint64_t;
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// Coin3D
|
// Coin3D
|
||||||
#if defined (FC_OS_WIN32) || defined(FC_OS_CYGWIN)
|
#if defined (FC_OS_WIN32) || defined(FC_OS_CYGWIN)
|
||||||
# ifndef COIN_DLL
|
# ifndef FCGui //COIN_DLL is defined in the FreeCADGui target
|
||||||
# define COIN_DLL
|
# ifndef COIN_DLL
|
||||||
|
# define COIN_DLL
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -273,6 +275,16 @@ typedef unsigned __int64 uint64_t;
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//**************************************************************************
|
||||||
|
// Quarter
|
||||||
|
#if defined (FC_OS_WIN32) || defined(FC_OS_CYGWIN)
|
||||||
|
# ifndef QUARTER_INTERNAL
|
||||||
|
# ifndef QUARTER_DLL
|
||||||
|
# define QUARTER_DLL
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
// stops inclusion of the QT 3 header through the SoQT header...
|
// stops inclusion of the QT 3 header through the SoQT header...
|
||||||
//#define __Qt3All__
|
//#define __Qt3All__
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#add_subdirectory(Icons)
|
#add_subdirectory(Icons)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
add_definitions(-DFCGui -DQIIS_MAKEDLL -DOVR_OS_WIN32)
|
add_definitions(-DFCGui -DQIIS_MAKEDLL -DOVR_OS_WIN32 -DQUARTER_INTERNAL -DQUARTER_MAKE_DLL -DCOIN_DLL)
|
||||||
endif(WIN32)
|
endif(WIN32)
|
||||||
|
|
||||||
if (FREECAD_USE_3DCONNEXION)
|
if (FREECAD_USE_3DCONNEXION)
|
||||||
|
@ -684,7 +684,7 @@ SOURCE_GROUP("View3D" FILES ${View3D_SRCS})
|
||||||
#quarter sources
|
#quarter sources
|
||||||
FILE(GLOB_RECURSE Quarter_CPP_SRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} Quarter/*.cpp)
|
FILE(GLOB_RECURSE Quarter_CPP_SRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} Quarter/*.cpp)
|
||||||
FILE(GLOB_RECURSE Quarter_H_SRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} Quarter/*.h)
|
FILE(GLOB_RECURSE Quarter_H_SRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} Quarter/*.h)
|
||||||
fc_wrap_cpp(Quarter_MOC_SRCS ${Quarter_H_SRC})
|
qt4_wrap_cpp(Quarter_MOC_SRCS ${Quarter_H_SRC})
|
||||||
SET(Quarter_SRCS
|
SET(Quarter_SRCS
|
||||||
${Quarter_CPP_SRC}
|
${Quarter_CPP_SRC}
|
||||||
${Quarter_H_SRC}
|
${Quarter_H_SRC}
|
||||||
|
@ -954,7 +954,6 @@ if(MSVC)
|
||||||
${Editor_CPP_SRCS}
|
${Editor_CPP_SRCS}
|
||||||
${Help_CPP_SRCS}
|
${Help_CPP_SRCS}
|
||||||
${Inventor_CPP_SRCS}
|
${Inventor_CPP_SRCS}
|
||||||
${Quarter_SRCS}
|
|
||||||
${View3D_CPP_SRCS}
|
${View3D_CPP_SRCS}
|
||||||
${Viewprovider_CPP_SRCS}
|
${Viewprovider_CPP_SRCS}
|
||||||
${Widget_CPP_SRCS}
|
${Widget_CPP_SRCS}
|
||||||
|
|
|
@ -151,9 +151,6 @@
|
||||||
#include <Inventor/sensors/SoNodeSensor.h>
|
#include <Inventor/sensors/SoNodeSensor.h>
|
||||||
#include <Inventor/VRMLnodes/SoVRMLGroup.h>
|
#include <Inventor/VRMLnodes/SoVRMLGroup.h>
|
||||||
|
|
||||||
#include <Inventor/Qt/SoQt.h>
|
|
||||||
#include <Inventor/Qt/SoQtCursor.h>
|
|
||||||
#include <Inventor/Qt/viewers/SoQtExaminerViewer.h>
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -51,6 +51,7 @@
|
||||||
|
|
||||||
#ifdef FC_OS_WIN32
|
#ifdef FC_OS_WIN32
|
||||||
#define WIN32_LEAN_AND_MEAN
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
#define NOMINMAX
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <io.h>
|
#include <io.h>
|
||||||
#include <shellapi.h>
|
#include <shellapi.h>
|
||||||
|
|
|
@ -2,7 +2,9 @@
|
||||||
#define QUARTER_QUARTERP_H
|
#define QUARTER_QUARTERP_H
|
||||||
#include <Inventor/SbName.h>
|
#include <Inventor/SbName.h>
|
||||||
#include <QtGui/QCursor>
|
#include <QtGui/QCursor>
|
||||||
|
#ifndef _MSC_VER
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
template <class Key, class T> class QMap;
|
template <class Key, class T> class QMap;
|
||||||
|
|
||||||
|
|
|
@ -121,6 +121,10 @@ using namespace SIM::Coin3D::Quarter;
|
||||||
|
|
||||||
#define PRIVATE(obj) obj->pimpl
|
#define PRIVATE(obj) obj->pimpl
|
||||||
|
|
||||||
|
#ifndef GL_MULTISAMPLE_BIT_EXT
|
||||||
|
#define GL_MULTISAMPLE_BIT_EXT 0x20000000
|
||||||
|
#endif
|
||||||
|
|
||||||
/*! constructor */
|
/*! constructor */
|
||||||
QuarterWidget::QuarterWidget(const QGLFormat & format, QWidget * parent, const QGLWidget * sharewidget, Qt::WindowFlags f)
|
QuarterWidget::QuarterWidget(const QGLFormat & format, QWidget * parent, const QGLWidget * sharewidget, Qt::WindowFlags f)
|
||||||
: inherited(parent)
|
: inherited(parent)
|
||||||
|
@ -1021,7 +1025,11 @@ QuarterWidget::setNavigationModeFile(const QUrl & url)
|
||||||
QFile file(filenametmp);
|
QFile file(filenametmp);
|
||||||
if (file.open(QIODevice::ReadOnly)){
|
if (file.open(QIODevice::ReadOnly)){
|
||||||
QByteArray fileContents = file.readAll();
|
QByteArray fileContents = file.readAll();
|
||||||
|
#if COIN_MAJOR_VERSION >= 4
|
||||||
stateMachine = ScXML::readBuffer(SbByteBuffer(fileContents.size(), fileContents.constData()));
|
stateMachine = ScXML::readBuffer(SbByteBuffer(fileContents.size(), fileContents.constData()));
|
||||||
|
#else
|
||||||
|
stateMachine = ScXML::readBuffer(fileContents.constData());
|
||||||
|
#endif
|
||||||
file.close();
|
file.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@ public:
|
||||||
void trigger(void);
|
void trigger(void);
|
||||||
void stopThread(void);
|
void stopThread(void);
|
||||||
|
|
||||||
signals:
|
Q_SIGNALS:
|
||||||
|
|
||||||
void triggerSignal(void);
|
void triggerSignal(void);
|
||||||
|
|
||||||
|
|
|
@ -18,10 +18,9 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "SoQTQuarterAdaptor.h"
|
|
||||||
#include "PreCompiled.h"
|
#include "PreCompiled.h"
|
||||||
|
#include "SoQTQuarterAdaptor.h"
|
||||||
#include <Base/Console.h>
|
#include <Base/Console.h>
|
||||||
#include <Inventor/Qt/SoQt.h>
|
|
||||||
#include <Inventor/nodes/SoPerspectiveCamera.h>
|
#include <Inventor/nodes/SoPerspectiveCamera.h>
|
||||||
#include <Inventor/nodes/SoOrthographicCamera.h>
|
#include <Inventor/nodes/SoOrthographicCamera.h>
|
||||||
#include <Inventor/nodes/SoSeparator.h>
|
#include <Inventor/nodes/SoSeparator.h>
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
#include <Inventor/SbSphere.h>
|
#include <Inventor/SbSphere.h>
|
||||||
#include <Inventor/SoType.h>
|
#include <Inventor/SoType.h>
|
||||||
#include <Inventor/events/SoKeyboardEvent.h>
|
#include <Inventor/events/SoKeyboardEvent.h>
|
||||||
#include <Inventor/Qt/SoQtCursor.h>
|
|
||||||
#include <Inventor/lists/SoCallbackList.h>
|
#include <Inventor/lists/SoCallbackList.h>
|
||||||
#include <Inventor/sensors/SoTimerSensor.h>
|
#include <Inventor/sensors/SoTimerSensor.h>
|
||||||
#include <Inventor/actions/SoGetMatrixAction.h>
|
#include <Inventor/actions/SoGetMatrixAction.h>
|
||||||
|
|
|
@ -128,6 +128,7 @@ View3DInventor::View3DInventor(Gui::Document* pcDocument, QWidget* parent, Qt::W
|
||||||
break;
|
break;
|
||||||
case View3DInventorViewer::None:
|
case View3DInventorViewer::None:
|
||||||
default:
|
default:
|
||||||
|
f.setSamples(1);
|
||||||
break;
|
break;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -126,6 +126,74 @@
|
||||||
|
|
||||||
using namespace Gui;
|
using namespace Gui;
|
||||||
|
|
||||||
|
/*** zoom-style cursor ******/
|
||||||
|
|
||||||
|
#define ZOOM_WIDTH 16
|
||||||
|
#define ZOOM_HEIGHT 16
|
||||||
|
#define ZOOM_BYTES ((ZOOM_WIDTH + 7) / 8) * ZOOM_HEIGHT
|
||||||
|
#define ZOOM_HOT_X 5
|
||||||
|
#define ZOOM_HOT_Y 7
|
||||||
|
|
||||||
|
static unsigned char zoom_bitmap[ZOOM_BYTES] =
|
||||||
|
{
|
||||||
|
0x00, 0x0f, 0x80, 0x1c, 0x40, 0x38, 0x20, 0x70,
|
||||||
|
0x90, 0xe4, 0xc0, 0xcc, 0xf0, 0xfc, 0x00, 0x0c,
|
||||||
|
0x00, 0x0c, 0xf0, 0xfc, 0xc0, 0xcc, 0x90, 0xe4,
|
||||||
|
0x20, 0x70, 0x40, 0x38, 0x80, 0x1c, 0x00, 0x0f
|
||||||
|
};
|
||||||
|
|
||||||
|
static unsigned char zoom_mask_bitmap[ZOOM_BYTES] =
|
||||||
|
{
|
||||||
|
0x00,0x0f,0x80,0x1f,0xc0,0x3f,0xe0,0x7f,0xf0,0xff,0xf0,0xff,0xf0,0xff,0x00,
|
||||||
|
0x0f,0x00,0x0f,0xf0,0xff,0xf0,0xff,0xf0,0xff,0xe0,0x7f,0xc0,0x3f,0x80,0x1f,
|
||||||
|
0x00,0x0f
|
||||||
|
};
|
||||||
|
|
||||||
|
/*** pan-style cursor *******/
|
||||||
|
|
||||||
|
#define PAN_WIDTH 16
|
||||||
|
#define PAN_HEIGHT 16
|
||||||
|
#define PAN_BYTES ((PAN_WIDTH + 7) / 8) * PAN_HEIGHT
|
||||||
|
#define PAN_HOT_X 7
|
||||||
|
#define PAN_HOT_Y 7
|
||||||
|
|
||||||
|
static unsigned char pan_bitmap[PAN_BYTES] =
|
||||||
|
{
|
||||||
|
0xc0, 0x03, 0x60, 0x02, 0x20, 0x04, 0x10, 0x08,
|
||||||
|
0x68, 0x16, 0x54, 0x2a, 0x73, 0xce, 0x01, 0x80,
|
||||||
|
0x01, 0x80, 0x73, 0xce, 0x54, 0x2a, 0x68, 0x16,
|
||||||
|
0x10, 0x08, 0x20, 0x04, 0x40, 0x02, 0xc0, 0x03
|
||||||
|
};
|
||||||
|
|
||||||
|
static unsigned char pan_mask_bitmap[PAN_BYTES] =
|
||||||
|
{
|
||||||
|
0xc0,0x03,0xe0,0x03,0xe0,0x07,0xf0,0x0f,0xe8,0x17,0xdc,0x3b,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xdc,0x3b,0xe8,0x17,0xf0,0x0f,0xe0,0x07,0xc0,0x03,
|
||||||
|
0xc0,0x03
|
||||||
|
};
|
||||||
|
|
||||||
|
/*** rotate-style cursor ****/
|
||||||
|
|
||||||
|
#define ROTATE_WIDTH 16
|
||||||
|
#define ROTATE_HEIGHT 16
|
||||||
|
#define ROTATE_BYTES ((ROTATE_WIDTH + 7) / 8) * ROTATE_HEIGHT
|
||||||
|
#define ROTATE_HOT_X 6
|
||||||
|
#define ROTATE_HOT_Y 8
|
||||||
|
|
||||||
|
static unsigned char rotate_bitmap[ROTATE_BYTES] = {
|
||||||
|
0xf0, 0xef, 0x18, 0xb8, 0x0c, 0x90, 0xe4, 0x83,
|
||||||
|
0x34, 0x86, 0x1c, 0x83, 0x00, 0x81, 0x00, 0xff,
|
||||||
|
0xff, 0x00, 0x81, 0x00, 0xc1, 0x38, 0x61, 0x2c,
|
||||||
|
0xc1, 0x27, 0x09, 0x30, 0x1d, 0x18, 0xf7, 0x0f
|
||||||
|
};
|
||||||
|
|
||||||
|
static unsigned char rotate_mask_bitmap[ROTATE_BYTES] = {
|
||||||
|
0xf0,0xef,0xf8,0xff,0xfc,0xff,0xfc,0xff,0x3c,0xfe,0x1c,0xff,0x00,0xff,0x00,
|
||||||
|
0xff,0xff,0x00,0xff,0x00,0xff,0x38,0x7f,0x3c,0xff,0x3f,0xff,0x3f,0xff,0x1f,
|
||||||
|
0xf7,0x0f
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
As ProgressBar has no chance to control the incoming Qt events of Quarter so we need to stop
|
As ProgressBar has no chance to control the incoming Qt events of Quarter so we need to stop
|
||||||
the event handling to prevent the scenegraph from being selected or deselected
|
the event handling to prevent the scenegraph from being selected or deselected
|
||||||
|
@ -388,6 +456,19 @@ void View3DInventorViewer::init()
|
||||||
viewerEventFilter = new ViewerEventFilter;
|
viewerEventFilter = new ViewerEventFilter;
|
||||||
installEventFilter(viewerEventFilter);
|
installEventFilter(viewerEventFilter);
|
||||||
getEventFilter()->registerInputDevice(new SpaceNavigatorDevice);
|
getEventFilter()->registerInputDevice(new SpaceNavigatorDevice);
|
||||||
|
|
||||||
|
//create the cursors
|
||||||
|
QBitmap cursor = QBitmap::fromData(QSize(ROTATE_WIDTH, ROTATE_HEIGHT), rotate_bitmap);
|
||||||
|
QBitmap mask = QBitmap::fromData(QSize(ROTATE_WIDTH, ROTATE_HEIGHT), rotate_mask_bitmap);
|
||||||
|
spinCursor = QCursor(cursor, mask, ROTATE_HOT_X, ROTATE_HOT_Y);
|
||||||
|
|
||||||
|
cursor = QBitmap::fromData(QSize(ZOOM_WIDTH, ZOOM_HEIGHT), zoom_bitmap);
|
||||||
|
mask = QBitmap::fromData(QSize(ZOOM_WIDTH, ZOOM_HEIGHT), zoom_mask_bitmap);
|
||||||
|
zoomCursor = QCursor(cursor, mask, ZOOM_HOT_X, ZOOM_HOT_Y);
|
||||||
|
|
||||||
|
cursor = QBitmap::fromData(QSize(PAN_WIDTH, PAN_HEIGHT), pan_bitmap);
|
||||||
|
mask = QBitmap::fromData(QSize(PAN_WIDTH, PAN_HEIGHT), pan_mask_bitmap);
|
||||||
|
panCursor = QCursor(cursor, mask, PAN_HOT_X, PAN_HOT_Y);
|
||||||
}
|
}
|
||||||
|
|
||||||
View3DInventorViewer::~View3DInventorViewer()
|
View3DInventorViewer::~View3DInventorViewer()
|
||||||
|
@ -1393,7 +1474,7 @@ void View3DInventorViewer::selectAll()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool View3DInventorViewer::processSoEvent(const SoEvent* const ev)
|
bool View3DInventorViewer::processSoEvent(const SoEvent* ev)
|
||||||
{
|
{
|
||||||
if(isRedirectedToSceneGraph()) {
|
if(isRedirectedToSceneGraph()) {
|
||||||
SbBool processed = inherited::processSoEvent(ev);
|
SbBool processed = inherited::processSoEvent(ev);
|
||||||
|
@ -2365,14 +2446,12 @@ void View3DInventorViewer::setCursorRepresentation(int modearg)
|
||||||
|
|
||||||
case NavigationStyle::DRAGGING:
|
case NavigationStyle::DRAGGING:
|
||||||
case NavigationStyle::SPINNING:
|
case NavigationStyle::SPINNING:
|
||||||
//TODO: add qcursor spinning cursor
|
this->getWidget()->setCursor(spinCursor);
|
||||||
//this->getWidget()->setCursor(getNativeCursor(SoQtCursor::getRotateCursor().getCustomCursor()));
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NavigationStyle::ZOOMING:
|
case NavigationStyle::ZOOMING:
|
||||||
{
|
{
|
||||||
//TODO:add qcursor zoom cursor
|
this->getWidget()->setCursor(zoomCursor);
|
||||||
//this->getWidget()->setCursor(getNativeCursor(SoQtCursor::getZoomCursor().getCustomCursor()));
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -2385,8 +2464,7 @@ void View3DInventorViewer::setCursorRepresentation(int modearg)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NavigationStyle::PANNING:
|
case NavigationStyle::PANNING:
|
||||||
//TODO: add qcursor pan cursor
|
this->getWidget()->setCursor(panCursor);
|
||||||
//this->getWidget()->setCursor(getNativeCursor(SoQtCursor::getPanCursor().getCustomCursor()));
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NavigationStyle::SELECTION:
|
case NavigationStyle::SELECTION:
|
||||||
|
@ -2589,7 +2667,7 @@ void View3DInventorViewer::setAntiAliasingMode(View3DInventorViewer::AntiAliasin
|
||||||
if(getSoRenderManager()->getGLRenderAction()->isSmoothing() != smoothing)
|
if(getSoRenderManager()->getGLRenderAction()->isSmoothing() != smoothing)
|
||||||
getSoRenderManager()->getGLRenderAction()->setSmoothing(smoothing);
|
getSoRenderManager()->getGLRenderAction()->setSmoothing(smoothing);
|
||||||
|
|
||||||
if(static_cast<QGLWidget*>(this->viewport())->format().sampleBuffers() != buffers)
|
if(static_cast<QGLWidget*>(this->viewport())->format().samples() != buffers)
|
||||||
Base::Console().Message("To change multisampling settings please close and open the 3d view again");
|
Base::Console().Message("To change multisampling settings please close and open the 3d view again");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2599,7 +2677,7 @@ View3DInventorViewer::AntiAliasing View3DInventorViewer::getAntiAliasingMode() c
|
||||||
if(getSoRenderManager()->getGLRenderAction()->isSmoothing())
|
if(getSoRenderManager()->getGLRenderAction()->isSmoothing())
|
||||||
return Smoothing;
|
return Smoothing;
|
||||||
|
|
||||||
int buffers = static_cast<QGLWidget*>(this->viewport())->format().sampleBuffers();
|
int buffers = static_cast<QGLWidget*>(this->viewport())->format().samples();
|
||||||
|
|
||||||
switch(buffers) {
|
switch(buffers) {
|
||||||
case 1:
|
case 1:
|
||||||
|
|
|
@ -354,7 +354,7 @@ protected:
|
||||||
virtual void actualRedraw(void);
|
virtual void actualRedraw(void);
|
||||||
virtual void setSeekMode(SbBool enable);
|
virtual void setSeekMode(SbBool enable);
|
||||||
virtual void afterRealizeHook(void);
|
virtual void afterRealizeHook(void);
|
||||||
virtual bool processSoEvent(const SoEvent * const ev);
|
virtual bool processSoEvent(const SoEvent * ev);
|
||||||
SbBool processSoEventBase(const SoEvent * const ev);
|
SbBool processSoEventBase(const SoEvent * const ev);
|
||||||
void printDimension();
|
void printDimension();
|
||||||
void selectAll();
|
void selectAll();
|
||||||
|
@ -402,7 +402,7 @@ private:
|
||||||
|
|
||||||
|
|
||||||
SbBool editing;
|
SbBool editing;
|
||||||
QCursor editCursor;
|
QCursor editCursor, zoomCursor, panCursor, spinCursor;
|
||||||
SbBool redirected;
|
SbBool redirected;
|
||||||
SbBool allowredir;
|
SbBool allowredir;
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
|
|
||||||
#include <Base/PyObjectBase.h>
|
#include <Base/PyObjectBase.h>
|
||||||
#include <CXX/Extensions.hxx>
|
#include <CXX/Extensions.hxx>
|
||||||
|
#include <list>
|
||||||
|
|
||||||
namespace Gui {
|
namespace Gui {
|
||||||
|
|
||||||
|
|
|
@ -825,13 +825,13 @@ class Snapper:
|
||||||
if self.selectMode:
|
if self.selectMode:
|
||||||
mw = FreeCADGui.getMainWindow()
|
mw = FreeCADGui.getMainWindow()
|
||||||
for w in mw.findChild(QtGui.QMdiArea).findChildren(QtGui.QWidget):
|
for w in mw.findChild(QtGui.QMdiArea).findChildren(QtGui.QWidget):
|
||||||
if w.metaObject().className() == "SoQtGLArea":
|
if w.metaObject().className() == "SIM::Coin3D::Quarter::QuarterWidget":
|
||||||
w.unsetCursor()
|
w.unsetCursor()
|
||||||
self.cursorMode = None
|
self.cursorMode = None
|
||||||
elif not mode:
|
elif not mode:
|
||||||
mw = FreeCADGui.getMainWindow()
|
mw = FreeCADGui.getMainWindow()
|
||||||
for w in mw.findChild(QtGui.QMdiArea).findChildren(QtGui.QWidget):
|
for w in mw.findChild(QtGui.QMdiArea).findChildren(QtGui.QWidget):
|
||||||
if w.metaObject().className() == "SoQtGLArea":
|
if w.metaObject().className() == "SIM::Coin3D::Quarter::QuarterWidget":
|
||||||
w.unsetCursor()
|
w.unsetCursor()
|
||||||
self.cursorMode = None
|
self.cursorMode = None
|
||||||
else:
|
else:
|
||||||
|
@ -849,7 +849,7 @@ class Snapper:
|
||||||
cur = QtGui.QCursor(newicon,8,8)
|
cur = QtGui.QCursor(newicon,8,8)
|
||||||
mw = FreeCADGui.getMainWindow()
|
mw = FreeCADGui.getMainWindow()
|
||||||
for w in mw.findChild(QtGui.QMdiArea).findChildren(QtGui.QWidget):
|
for w in mw.findChild(QtGui.QMdiArea).findChildren(QtGui.QWidget):
|
||||||
if w.metaObject().className() == "SoQtGLArea":
|
if w.metaObject().className() == "SIM::Coin3D::Quarter::QuarterWidget":
|
||||||
w.setCursor(cur)
|
w.setCursor(cur)
|
||||||
self.cursorMode = mode
|
self.cursorMode = mode
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,8 @@
|
||||||
# include <algorithm>
|
# include <algorithm>
|
||||||
# include <QMenu>
|
# include <QMenu>
|
||||||
# include <QTimer>
|
# include <QTimer>
|
||||||
|
# include <Inventor/SbLine.h>
|
||||||
|
# include <Inventor/SbPlane.h>
|
||||||
# include <Inventor/SoPickedPoint.h>
|
# include <Inventor/SoPickedPoint.h>
|
||||||
# include <Inventor/details/SoFaceDetail.h>
|
# include <Inventor/details/SoFaceDetail.h>
|
||||||
# include <Inventor/details/SoPointDetail.h>
|
# include <Inventor/details/SoPointDetail.h>
|
||||||
|
|
|
@ -83,6 +83,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#elif defined(FC_OS_WIN32)
|
#elif defined(FC_OS_WIN32)
|
||||||
|
#define NOMINMAX
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#endif //_PreComp_
|
#endif //_PreComp_
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,8 @@
|
||||||
#ifndef _PreComp_
|
#ifndef _PreComp_
|
||||||
# include <QMenu>
|
# include <QMenu>
|
||||||
# include <Inventor/SbBox2s.h>
|
# include <Inventor/SbBox2s.h>
|
||||||
|
# include <Inventor/SbLine.h>
|
||||||
|
# include <Inventor/SbPlane.h>
|
||||||
# include <Inventor/SoPickedPoint.h>
|
# include <Inventor/SoPickedPoint.h>
|
||||||
# include <Inventor/actions/SoToVRML2Action.h>
|
# include <Inventor/actions/SoToVRML2Action.h>
|
||||||
# include <Inventor/VRMLnodes/SoVRMLGroup.h>
|
# include <Inventor/VRMLnodes/SoVRMLGroup.h>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user