Sketcher : Tool parameter : Fix U / J keys when widget spinboxes has focus.
This commit is contained in:
@@ -122,6 +122,8 @@ protected:
|
||||
bool init = false; // true if the controls have been initialised.
|
||||
bool firstMoveInit = false; // true if first mouse movement not yet performed (resets)
|
||||
|
||||
std::unique_ptr<DrawSketchKeyboardManager> keymanager;
|
||||
|
||||
Base::Vector2d prevCursorPosition;
|
||||
Base::Vector2d lastControlEnforcedPosition;
|
||||
|
||||
@@ -742,7 +744,6 @@ private:
|
||||
private:
|
||||
OnViewParameterVisibilityManager ovpVisibilityManager;
|
||||
ColorManager colorManager;
|
||||
std::unique_ptr<DrawSketchKeyboardManager> keymanager;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
|
||||
#include "DrawSketchController.h"
|
||||
|
||||
#include "DrawSketchKeyboardManager.h"
|
||||
|
||||
namespace SketcherGui
|
||||
{
|
||||
|
||||
@@ -292,7 +294,7 @@ private:
|
||||
nCheckbox = WidgetCheckboxesT::size(handler->constructionMethod());
|
||||
nCombobox = WidgetComboboxesT::size(handler->constructionMethod());
|
||||
|
||||
toolWidget->initNParameters(nParameter);
|
||||
toolWidget->initNParameters(nParameter, keymanager.get());
|
||||
toolWidget->initNCheckboxes(nCheckbox);
|
||||
toolWidget->initNComboboxes(nCombobox);
|
||||
|
||||
|
||||
@@ -304,7 +304,7 @@ void SketcherToolDefaultWidget::parameterTen_valueChanged(double val)
|
||||
}
|
||||
}
|
||||
|
||||
void SketcherToolDefaultWidget::initNParameters(int nparameters)
|
||||
void SketcherToolDefaultWidget::initNParameters(int nparameters, QObject* filteringObject)
|
||||
{
|
||||
Base::StateLocker lock(blockParameterSlots, true);
|
||||
|
||||
@@ -315,6 +315,7 @@ void SketcherToolDefaultWidget::initNParameters(int nparameters)
|
||||
for (int i = 0; i < nParameters; i++) {
|
||||
setParameterVisible(i, (i < nparameters));
|
||||
setParameter(i, 0.F);
|
||||
setParameterFilteringObject(i, filteringObject);
|
||||
setParameterFontStyle(i, FontStyle::Italic);
|
||||
}
|
||||
|
||||
@@ -329,6 +330,19 @@ void SketcherToolDefaultWidget::setParameterVisible(int parameterindex, bool vis
|
||||
}
|
||||
}
|
||||
|
||||
void SketcherToolDefaultWidget::setParameterFilteringObject(int parameterindex,
|
||||
QObject* filteringObject)
|
||||
{
|
||||
if (parameterindex < nParameters) {
|
||||
getParameterSpinBox(parameterindex)->installEventFilter(filteringObject);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
THROWM(Base::IndexError,
|
||||
QT_TRANSLATE_NOOP("Exceptions", "ToolWidget parameter index out of range"));
|
||||
}
|
||||
|
||||
void SketcherToolDefaultWidget::setParameterLabel(int parameterindex, const QString& string)
|
||||
{
|
||||
if (parameterindex < nParameters) {
|
||||
|
||||
@@ -126,9 +126,10 @@ public:
|
||||
|
||||
void reset();
|
||||
|
||||
void initNParameters(int nparameters);
|
||||
void initNParameters(int nparameters, QObject* filteringObject = nullptr);
|
||||
|
||||
void setParameterLabel(int parameterindex, const QString& string);
|
||||
void setParameterFilteringObject(int parameterindex, QObject* filteringObject);
|
||||
|
||||
void setNoticeText(const QString& string);
|
||||
void setNoticeVisible(bool visible);
|
||||
|
||||
Reference in New Issue
Block a user