or jpeg image format.</center>
<hr>
+\image html image110.png
+\n <center><b>Interaction style switch</b> - allows to switch between standard and
+"keyboard free" interaction styles. "Keyboard free" style allow to process all
+view transformations without using keyboard (only by mouse) and perform selection
+in view by pressing "S" key. By default, rotation in this mode is performed by
+left mouse button, panning - by middle mouse button, zooming - by left and middle
+mouse buttons pressed simultaneously.</center>
+<hr>
+
\image html image88.png
\n <center><b>Show/Hide Trihedron</b> - shows or hides coordinate axes.</center>
<hr>
or jpeg image format.</center>
<hr>
+\image html image110.png
+\n <center><b>Interaction style switch</b> - allows to switch between standard and
+"keyboard free" interaction styles. "Keyboard free" style allow to process all
+view transformations without using keyboard (only by mouse) and perform selection
+in view by pressing "S" key. By default, rotation in this mode is performed by
+left mouse button, panning - by middle mouse button, zooming - by left and middle
+mouse buttons pressed simultaneously.</center>
+<hr>
+
\image html image88.png
\n <center><b>Show/Hide Trihedron</b> - shows or hides coordinate axes.</center>
<hr>
u = resMgr->integerValue( "OCCViewer", "iso_number_u", u );
v = resMgr->integerValue( "OCCViewer", "iso_number_v", v );
vm->setIsos( u, v );
+ vm->setInteractionStyle( resMgr->integerValue( "OCCViewer", "navigation_mode", vm->interactionStyle() ) );
viewMgr->setViewModel( vm );// custom view model, which extends SALOME_View interface
new LightApp_OCCSelector( (OCCViewer_Viewer*)viewMgr->getViewModel(), mySelMgr );
}
pref->setItemProperty( "min", 0, isoV );
pref->setItemProperty( "max", 100000, isoV );
+ int occStyleMode = pref->addPreference( tr( "PREF_NAVIGATION" ), occGroup,
+ LightApp_Preferences::Selector, "OCCViewer", "navigation_mode" );
+ QStringList aStyleModeList;
+ aStyleModeList.append( tr("PREF_STANDARD_STYLE") );
+ aStyleModeList.append( tr("PREF_KEYFREE_STYLE") );
+
+ QList<QVariant> aModeIndexesList;
+ aModeIndexesList.append(0);
+ aModeIndexesList.append(1);
+
+ pref->setItemProperty( "strings", aStyleModeList, occStyleMode );
+ pref->setItemProperty( "indexes", aModeIndexesList, occStyleMode );
+
// VTK Viewer
int vtkGen = pref->addPreference( "", vtkGroup, LightApp_Preferences::Frame );
pref->setItemProperty( "columns", 2, vtkGen );
aProjModeList.append( tr("PREF_ORTHOGRAPHIC") );
aProjModeList.append( tr("PREF_PERSPECTIVE") );
- QList<QVariant> aModeIndexesList;
- aModeIndexesList.append(0);
- aModeIndexesList.append(1);
-
pref->setItemProperty( "strings", aProjModeList, vtkProjMode );
pref->setItemProperty( "indexes", aModeIndexesList, vtkProjMode );
int vtkStyleMode = pref->addPreference( tr( "PREF_NAVIGATION" ), vtkGen,
LightApp_Preferences::Selector, "VTKViewer", "navigation_mode" );
- QStringList aStyleModeList;
- aStyleModeList.append( tr("PREF_STANDARD_STYLE") );
- aStyleModeList.append( tr("PREF_KEYFREE_STYLE") );
pref->setItemProperty( "strings", aStyleModeList, vtkStyleMode );
pref->setItemProperty( "indexes", aModeIndexesList, vtkStyleMode );
}
#endif
+#ifndef DISABLE_OCCVIEWER
+ if ( sec == QString( "OCCViewer" ) && param == QString( "navigation_mode" ) )
+ {
+ int mode = resMgr->integerValue( "OCCViewer", "navigation_mode", 0 );
+ QList<SUIT_ViewManager*> lst;
+ viewManagers( OCCViewer_Viewer::Type(), lst );
+ QListIterator<SUIT_ViewManager*> it( lst );
+ while ( it.hasNext() )
+ {
+ SUIT_ViewModel* vm = it.next()->getViewModel();
+ if ( !vm || !vm->inherits( "OCCViewer_Viewer" ) )
+ continue;
+
+ OCCViewer_Viewer* occVM = (OCCViewer_Viewer*)vm;
+ occVM->setInteractionStyle( mode );
+ }
+ }
+#endif
+
#ifndef DISABLE_VTKVIEWER
if ( sec == QString( "VTKViewer" ) && (param == QString( "trihedron_size" ) || param == QString( "relative_size" )) )
{
<parameter name="iso_number_u" value="1" />
<parameter name="iso_number_v" value="1" />
<parameter name="trihedron_size" value="100" />
+ <parameter name="navigation_mode" value="0" />
</section>
<section name="VTKViewer" >
<!-- VTK viewer preferences -->
#include <QApplication>
#include <QColorDialog>
#include <QPalette>
+#include <QKeyEvent>
#include <QMenu>
#include <QMouseEvent>
#include <QToolBar>
myAISContext->Deactivate(myTrihedron);
}
+ // set interaction style to standard
+ myInteractionStyle = 0;
+
// selection
mySelectionEnabled = true;
myMultiSelectionEnabled = true;
if ( view ) {
view->initLayout();
view->initSketchers();
+ view->setInteractionStyle( interactionStyle() );
OCCViewer_ViewPort3d* vp3d = view->getViewPort();
if ( vp3d )
connect(theViewManager, SIGNAL(mouseRelease(SUIT_ViewWindow*, QMouseEvent*)),
this, SLOT(onMouseRelease(SUIT_ViewWindow*, QMouseEvent*)));
+
+ connect(theViewManager, SIGNAL(keyPress(SUIT_ViewWindow*, QKeyEvent*)),
+ this, SLOT(onKeyPress(SUIT_ViewWindow*, QKeyEvent*)));
}
}
if (theEvent->button() != Qt::LeftButton) return;
if (!theWindow->inherits("OCCViewer_ViewWindow")) return;
+ OCCViewer_ViewWindow* aView = (OCCViewer_ViewWindow*) theWindow;
+ if (!aView || aView->interactionStyle() != SUIT_ViewModel::STANDARD)
+ return;
myEndPnt.setX(theEvent->x()); myEndPnt.setY(theEvent->y());
- OCCViewer_ViewWindow* aView = (OCCViewer_ViewWindow*) theWindow;
bool aHasShift = (theEvent->modifiers() & Qt::ShiftModifier);
if (!aHasShift) emit deselection();
emit selectionChanged();
}
+/*!
+ SLOT: called on key press, processes selection in "key free" interaction style
+*/
+void OCCViewer_Viewer::onKeyPress(SUIT_ViewWindow* theWindow, QKeyEvent* theEvent)
+{
+ if (!mySelectionEnabled) return;
+ if (theEvent->key() != Qt::Key_S) return;
+ if (!theWindow->inherits("OCCViewer_ViewWindow")) return;
+
+ OCCViewer_ViewWindow* aView = (OCCViewer_ViewWindow*) theWindow;
+ if (!aView || aView->interactionStyle() != SUIT_ViewModel::KEY_FREE)
+ return;
+
+ emit deselection();
+ myAISContext->Select();
+
+ emit selectionChanged();
+}
+
+/*!
+ \return interaction style
+*/
+int OCCViewer_Viewer::interactionStyle() const
+{
+ return myInteractionStyle;
+}
+
+/*!
+ Sets interaction style: 0 - standard, 1 - keyboard free interaction
+ \param theStyle - new interaction style
+*/
+void OCCViewer_Viewer::setInteractionStyle( const int theStyle )
+{
+ myInteractionStyle = theStyle;
+ //!! To be done for view windows
+ if ( !myViewManager )
+ return;
+
+ QVector<SUIT_ViewWindow*> wins = myViewManager->getViews();
+ for ( int i = 0; i < (int)wins.count(); i++ )
+ {
+ OCCViewer_ViewWindow* win = ::qobject_cast<OCCViewer_ViewWindow*>( wins.at( i ) );
+ if ( win )
+ win->setInteractionStyle( theStyle );
+ }
+}
/*!
Sets selection enabled status
#include <AIS_Trihedron.hxx>
#include <AIS_InteractiveContext.hxx>
+class QKeyEvent;
class QMouseEvent;
class SUIT_ViewWindow;
Handle(AIS_InteractiveContext) getAISContext() const { return myAISContext; }
Handle(AIS_Trihedron) getTrihedron() const { return myTrihedron; }
+ int interactionStyle() const;
+ void setInteractionStyle( const int );
+
void enableSelection(bool isEnabled);
bool isSelectionEnabled() const { return mySelectionEnabled; }
void onMousePress(SUIT_ViewWindow*, QMouseEvent*);
void onMouseMove(SUIT_ViewWindow*, QMouseEvent*);
void onMouseRelease(SUIT_ViewWindow*, QMouseEvent*);
+ void onKeyPress(SUIT_ViewWindow*, QKeyEvent*);
void onDumpView();
void onChangeBgColor();
viewAspectList myViewAspects;
+ int myInteractionStyle;
+
bool mySelectionEnabled;
bool myMultiSelectionEnabled;
#include <QPainter>
#include <QTime>
#include <QImage>
+#include <QKeyEvent>
#include <QMouseEvent>
#include <QApplication>
mypSketcher = 0;
myCurSketch = -1;
+
+ myInteractionStyle = SUIT_ViewModel::STANDARD;
}
/*!
\return type of the operation
*/
OCCViewer_ViewWindow::OperationType
-OCCViewer_ViewWindow::getButtonState( QMouseEvent* theEvent )
+OCCViewer_ViewWindow::getButtonState( QMouseEvent* theEvent, int theInteractionStyle )
{
OperationType aOp = NOTHING;
- if( (theEvent->modifiers() == SUIT_ViewModel::myStateMap[SUIT_ViewModel::ZOOM]) &&
- (theEvent->button() == SUIT_ViewModel::myButtonMap[SUIT_ViewModel::ZOOM]) )
+ SUIT_ViewModel::InteractionStyle aStyle = (SUIT_ViewModel::InteractionStyle)theInteractionStyle;
+ if( (theEvent->modifiers() == SUIT_ViewModel::myStateMap[aStyle][SUIT_ViewModel::ZOOM]) &&
+ (theEvent->buttons() == SUIT_ViewModel::myButtonMap[aStyle][SUIT_ViewModel::ZOOM]) )
aOp = ZOOMVIEW;
- else if( (theEvent->modifiers() == SUIT_ViewModel::myStateMap[SUIT_ViewModel::PAN]) &&
- (theEvent->button() == SUIT_ViewModel::myButtonMap[SUIT_ViewModel::PAN]) )
+ else if( (theEvent->modifiers() == SUIT_ViewModel::myStateMap[aStyle][SUIT_ViewModel::PAN]) &&
+ (theEvent->buttons() == SUIT_ViewModel::myButtonMap[aStyle][SUIT_ViewModel::PAN]) )
aOp = PANVIEW;
- else if( (theEvent->modifiers() == SUIT_ViewModel::myStateMap[SUIT_ViewModel::ROTATE]) &&
- (theEvent->button() == SUIT_ViewModel::myButtonMap[SUIT_ViewModel::ROTATE]) )
+ else if( (theEvent->modifiers() == SUIT_ViewModel::myStateMap[aStyle][SUIT_ViewModel::ROTATE]) &&
+ (theEvent->buttons() == SUIT_ViewModel::myButtonMap[aStyle][SUIT_ViewModel::ROTATE]) )
aOp = ROTATE;
return aOp;
}
return true;
+ case QEvent::KeyPress:
+ emit keyPressed(this, (QKeyEvent*) e);
+ return true;
+
default:
break;
}
{
myStartX = theEvent->x();
myStartY = theEvent->y();
+ int anInteractionStyle = interactionStyle();
+
+ // in "key free" interaction style zoom operation is activated by two buttons (simultaneously pressed),
+ // which are assigned for pan and rotate - these operations are activated immediately after pressing
+ // of the first button, so it is necessary to switch to zoom when the second button is pressed
+ bool aSwitchToZoom = false;
+ if ( anInteractionStyle == SUIT_ViewModel::KEY_FREE &&
+ ( myOperation == PANVIEW || myOperation == ROTATE ) ) {
+ aSwitchToZoom = getButtonState( theEvent, anInteractionStyle ) == ZOOMVIEW;
+ }
+
switch ( myOperation ) {
case WINDOWFIT:
if ( theEvent->button() == Qt::LeftButton )
break;
case PANVIEW:
- if ( theEvent->button() == Qt::LeftButton )
+ if ( aSwitchToZoom )
+ activateZoom();
+ else if ( theEvent->button() == Qt::LeftButton )
emit vpTransformationStarted ( PANVIEW );
break;
case ROTATE:
- if ( theEvent->button() == Qt::LeftButton ) {
- myViewPort->startRotation(myStartX, myStartY, myCurrPointType, mySelectedPoint);
- emit vpTransformationStarted ( ROTATE );
- }
+ if ( aSwitchToZoom )
+ activateZoom();
+ else if ( theEvent->button() == Qt::LeftButton ) {
+ myViewPort->startRotation(myStartX, myStartY, myCurrPointType, mySelectedPoint);
+ emit vpTransformationStarted ( ROTATE );
+ }
break;
default:
/* Try to activate a transformation */
- switch ( getButtonState(theEvent) ) {
+ switch ( getButtonState(theEvent, anInteractionStyle) ) {
case ZOOMVIEW:
activateZoom();
break;
{
int aState = theEvent->modifiers();
int aButton = theEvent->buttons();
- if ( aButton == Qt::LeftButton && ( aState == Qt::NoModifier || Qt::ShiftModifier ) ) {
+ int anInteractionStyle = interactionStyle();
+ if ( anInteractionStyle == SUIT_ViewModel::STANDARD &&
+ aButton == Qt::LeftButton && ( aState == Qt::NoModifier || Qt::ShiftModifier ) ) {
myDrawRect = myEnableDrawMode;
if ( myDrawRect ) {
drawRect();
}
}
}
- else if ( aButton == Qt::RightButton && ( aState == Qt::NoModifier || Qt::ShiftModifier ) ) {
+ else if ( anInteractionStyle == SUIT_ViewModel::STANDARD &&
+ aButton == Qt::RightButton && ( aState == Qt::NoModifier || Qt::ShiftModifier ) ) {
OCCViewer_ViewSketcher* sketcher = 0;
QList<OCCViewer_ViewSketcher*>::Iterator it;
for ( it = mySketchers.begin(); it != mySketchers.end() && !sketcher; ++it )
aAction->setStatusTip(tr("DSC_AMBIENT"));
connect(aAction, SIGNAL(triggered()), this, SLOT(onAmbientToogle()));
toolMgr()->registerAction( aAction, AmbientId );
+
+ // Switch between interaction styles
+ aAction = new QtxAction(tr("MNU_STYLE_SWITCH"), aResMgr->loadPixmap( "OCCViewer", tr( "ICON_SVTK_STYLE_SWITCH" ) ),
+ tr( "MNU_STYLE_SWITCH" ), 0, this);
+ aAction->setStatusTip(tr("DSC_STYLE_SWITCH"));
+ aAction->setCheckable(true);
+ connect(aAction, SIGNAL(toggled(bool)), this, SLOT(onSwitchInteractionStyle(bool)));
+ toolMgr()->registerAction( aAction, SwitchInteractionStyleId );
}
/*!
int tid = toolMgr()->createToolBar( tr( "LBL_TOOLBAR_LABEL" ), false );
toolMgr()->append( DumpId, tid );
+ toolMgr()->append( SwitchInteractionStyleId, tid );
if( myModel->trihedronActivated() )
toolMgr()->append( TrihedronShowId, tid );
myModel->toggleTrihedron();
}
+/*!
+ \brief Switches "keyboard free" interaction style on/off
+*/
+void OCCViewer_ViewWindow::onSwitchInteractionStyle( bool on )
+{
+ myInteractionStyle = on ? (int)SUIT_ViewModel::KEY_FREE : (int)SUIT_ViewModel::STANDARD;
+
+ // update action state if method is called outside
+ QtxAction* a = dynamic_cast<QtxAction*>( toolMgr()->action( SwitchInteractionStyleId ) );
+ if ( a->isChecked() != on )
+ a->setChecked( on );
+}
+
+/*!
+ \brief Get current interaction style
+ \return interaction style
+*/
+int OCCViewer_ViewWindow::interactionStyle() const
+{
+ return myInteractionStyle;
+}
+
+/*!
+ \brief Set current interaction style
+ \param theStyle interaction style
+*/
+void OCCViewer_ViewWindow::setInteractionStyle( const int theStyle )
+{
+ onSwitchInteractionStyle( theStyle == (int)SUIT_ViewModel::KEY_FREE );
+}
+
/*!
\brief Dump view window contents to the pixmap.
\return pixmap containing all scene rendered in the window
enum { DumpId, FitAllId, FitRectId, ZoomId, PanId, GlobalPanId,
ChangeRotationPointId, RotationId,
FrontId, BackId, TopId, BottomId, LeftId, RightId, ResetId, CloneId, ClippingId, MemId, RestoreId,
- TrihedronShowId, AxialScaleId, AmbientId };
+ TrihedronShowId, AxialScaleId, AmbientId, SwitchInteractionStyleId };
enum OperationType{ NOTHING, PANVIEW, ZOOMVIEW, ROTATE,
PANGLOBAL, WINDOWFIT, FITALLVIEW, RESETVIEW,
OCCViewer_ViewSketcher* getSketcher( const int );
void activateSketching( int );
+
+ int interactionStyle() const;
+ void setInteractionStyle( const int );
public slots:
void onFrontView();
void onRestoreView();
void onTrihedronShow();
void setRestoreFlag();
+ void onSwitchInteractionStyle( bool on );
void activateSetRotationGravity();
void activateSetRotationSelected( double theX, double theY, double theZ );
void createActions();
void createToolBar();
- virtual OperationType getButtonState(QMouseEvent* theEvent);
+ virtual OperationType getButtonState(QMouseEvent* theEvent, int theInteractionStyle);
viewAspect getViewParams() const;
QtxAction* mySetRotationPointAction;
QtxRectRubberBand* myRectBand; //!< selection rectangle rubber band
+
+ int myInteractionStyle;
};
#ifdef WIN32
<source>ICON_OCCVIEWER_AMBIENT</source>
<translation>occ_view_ambient.png</translation>
</message>
+ <message>
+ <source>ICON_OCCVIEWER_STYLE_SWITCH</source>
+ <translation>occ_view_style_switch.png</translation>
+ </message>
</context>
</TS>
<source>MNU_AMBIENT</source>
<translation>Toogle keep only ambient light</translation>
</message>
+ <message>
+ <source>DSC_STYLE_SWITCH</source>
+ <translation>Interaction style switch</translation>
+ </message>
+ <message>
+ <source>MNU_STYLE_SWITCH</source>
+ <translation>Interaction style switch</translation>
+ </message>
<message>
<source>OCC_IMAGE_FILES</source>
<translation>Images Files (*.bmp *.png *.jpg *.jpeg)</translation>
#include "SUIT_ViewModel.h"
#include "SUIT_ViewWindow.h"
-SUIT_ViewModel::StatesMap SUIT_ViewModel::myStateMap;
-SUIT_ViewModel::ButtonsMap SUIT_ViewModel::myButtonMap;
+SUIT_ViewModel::InteractionStyle2StatesMap SUIT_ViewModel::myStateMap;
+SUIT_ViewModel::InteractionStyle2ButtonsMap SUIT_ViewModel::myButtonMap;
static bool isInitialized = false;
{
isInitialized = true;
- SUIT_ViewModel::myStateMap[ZOOM] = Qt::ControlModifier;
- SUIT_ViewModel::myButtonMap[ZOOM] = Qt::LeftButton;
+ // standard interaction style
+ SUIT_ViewModel::myStateMap[STANDARD][ZOOM] = Qt::ControlModifier;
+ SUIT_ViewModel::myButtonMap[STANDARD][ZOOM] = Qt::LeftButton;
- SUIT_ViewModel::myStateMap[PAN] = Qt::ControlModifier;
- SUIT_ViewModel::myButtonMap[PAN] = Qt::MidButton;
+ SUIT_ViewModel::myStateMap[STANDARD][PAN] = Qt::ControlModifier;
+ SUIT_ViewModel::myButtonMap[STANDARD][PAN] = Qt::MidButton;
- SUIT_ViewModel::myStateMap[ROTATE] = Qt::ControlModifier;
- SUIT_ViewModel::myButtonMap[ROTATE] = Qt::RightButton;
+ SUIT_ViewModel::myStateMap[STANDARD][ROTATE] = Qt::ControlModifier;
+ SUIT_ViewModel::myButtonMap[STANDARD][ROTATE] = Qt::RightButton;
- SUIT_ViewModel::myStateMap[FIT_AREA] = Qt::ControlModifier;
- SUIT_ViewModel::myButtonMap[FIT_AREA] = Qt::RightButton;
+ SUIT_ViewModel::myStateMap[STANDARD][FIT_AREA] = Qt::ControlModifier;
+ SUIT_ViewModel::myButtonMap[STANDARD][FIT_AREA] = Qt::RightButton;
+
+ // "key free" interaction style
+ SUIT_ViewModel::myStateMap[KEY_FREE][ZOOM] = Qt::NoModifier;
+ SUIT_ViewModel::myButtonMap[KEY_FREE][ZOOM] = Qt::LeftButton | Qt::MidButton;
+
+ SUIT_ViewModel::myStateMap[KEY_FREE][PAN] = Qt::NoModifier;
+ SUIT_ViewModel::myButtonMap[KEY_FREE][PAN] = Qt::MidButton;
+
+ SUIT_ViewModel::myStateMap[KEY_FREE][ROTATE] = Qt::NoModifier;
+ SUIT_ViewModel::myButtonMap[KEY_FREE][ROTATE] = Qt::LeftButton;
+
+ SUIT_ViewModel::myStateMap[KEY_FREE][FIT_AREA] = Qt::NoModifier; // unused
+ SUIT_ViewModel::myButtonMap[KEY_FREE][FIT_AREA] = Qt::NoButton; // unused
}
myViewManager = 0;
}
*\param theState - adding state to state map operations.
*\param theButton - adding state to button map operations.
*/
-void SUIT_ViewModel::setHotButton( HotOperation theOper, Qt::KeyboardModifier theState, Qt::MouseButton theButton )
+void SUIT_ViewModel::setHotButton( InteractionStyle theInteractionStyle, HotOperation theOper,
+ Qt::KeyboardModifiers theState, Qt::MouseButtons theButton )
{
- myStateMap[theOper] = theState;
- myButtonMap[theOper] = theButton;
+ myStateMap[theInteractionStyle][theOper] = theState;
+ myButtonMap[theInteractionStyle][theOper] = theButton;
}
/*! Gets hot button for operation \a theOper.
*\param theState - output state from state map operations.
*\param theButton - output state from button map operations.
*/
-void SUIT_ViewModel::getHotButton( HotOperation theOper, Qt::KeyboardModifier& theState, Qt::MouseButton& theButton )
+void SUIT_ViewModel::getHotButton( InteractionStyle theInteractionStyle, HotOperation theOper,
+ Qt::KeyboardModifiers& theState, Qt::MouseButtons& theButton )
{
- theState = myStateMap[theOper];
- theButton = myButtonMap[theOper];
+ theState = myStateMap[theInteractionStyle][theOper];
+ theButton = myButtonMap[theInteractionStyle][theOper];
}
Q_OBJECT
public:
enum HotOperation { PAN, ZOOM, ROTATE, FIT_AREA };
+ enum InteractionStyle { STANDARD, KEY_FREE };
- typedef QMap<HotOperation, Qt::KeyboardModifier> StatesMap;
- typedef QMap<HotOperation, Qt::MouseButton> ButtonsMap;
+ typedef QMap<HotOperation, Qt::KeyboardModifiers> StatesMap;
+ typedef QMap<HotOperation, Qt::MouseButtons> ButtonsMap;
+
+ typedef QMap<InteractionStyle, StatesMap> InteractionStyle2StatesMap;
+ typedef QMap<InteractionStyle, ButtonsMap> InteractionStyle2ButtonsMap;
SUIT_ViewModel();
virtual ~SUIT_ViewModel();
virtual void contextMenuPopup( QMenu* ) {}
- static void setHotButton( HotOperation theOper, Qt::KeyboardModifier theState,
- Qt::MouseButton theButton );
- static void getHotButton( HotOperation theOper, Qt::KeyboardModifier& theState,
- Qt::MouseButton& theButton );
+ static void setHotButton( InteractionStyle theInteractionStyle, HotOperation theOper,
+ Qt::KeyboardModifiers theState, Qt::MouseButtons theButton );
+ static void getHotButton( InteractionStyle theInteractionStyle, HotOperation theOper,
+ Qt::KeyboardModifiers& theState, Qt::MouseButtons& theButton );
protected:
SUIT_ViewManager* myViewManager;
public:
- static StatesMap myStateMap;
- static ButtonsMap myButtonMap;
+ static InteractionStyle2StatesMap myStateMap;
+ static InteractionStyle2ButtonsMap myButtonMap;
};
#ifdef WIN32
</message>
<message>
<source>DSC_SVTK_STYLE_SWITCH</source>
- <translation>Interactiion style switch</translation>
+ <translation>Interaction style switch</translation>
</message>
<message>
<source>MNU_SVTK_STYLE_SWITCH</source>
<parameter name="iso_number_u" value="1" />
<parameter name="iso_number_v" value="1" />
<parameter name="trihedron_size" value="100" />
+ <parameter name="navigation_mode" value="0"/>
</section>
<section name="VTKViewer" >
<!-- VTK viewer preferences -->