[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
This commit is contained in:
@@ -23,8 +23,8 @@
|
||||
#include "PreCompiled.h"
|
||||
|
||||
#ifndef _PreComp_
|
||||
# include <QApplication>
|
||||
# include <QKeyEvent>
|
||||
#include <QApplication>
|
||||
#include <QKeyEvent>
|
||||
#endif
|
||||
|
||||
|
||||
@@ -49,7 +49,10 @@ TaskMeasure::TaskMeasure()
|
||||
qApp->installEventFilter(this);
|
||||
|
||||
this->setButtonPosition(TaskMeasure::South);
|
||||
auto taskbox = new Gui::TaskView::TaskBox(Gui::BitmapFactory().pixmap("umf-measurement"), tr("Measurement"), true, nullptr);
|
||||
auto taskbox = new Gui::TaskView::TaskBox(Gui::BitmapFactory().pixmap("umf-measurement"),
|
||||
tr("Measurement"),
|
||||
true,
|
||||
nullptr);
|
||||
|
||||
// Create mode dropdown and add all registered measuretypes
|
||||
modeSwitch = new QComboBox();
|
||||
@@ -60,14 +63,17 @@ TaskMeasure::TaskMeasure()
|
||||
}
|
||||
|
||||
// Connect dropdown's change signal to our onModeChange slot
|
||||
connect(modeSwitch, qOverload<int>(&QComboBox::currentIndexChanged), this, &TaskMeasure::onModeChanged);
|
||||
connect(modeSwitch,
|
||||
qOverload<int>(&QComboBox::currentIndexChanged),
|
||||
this,
|
||||
&TaskMeasure::onModeChanged);
|
||||
|
||||
// Result widget
|
||||
valueResult = new QLineEdit();
|
||||
valueResult->setReadOnly(true);
|
||||
|
||||
// Main layout
|
||||
QBoxLayout *layout = taskbox->groupLayout();
|
||||
QBoxLayout* layout = taskbox->groupLayout();
|
||||
|
||||
QFormLayout* formLayout = new QFormLayout();
|
||||
formLayout->setHorizontalSpacing(10);
|
||||
@@ -87,22 +93,25 @@ TaskMeasure::TaskMeasure()
|
||||
// Set selection style
|
||||
Gui::Selection().setSelectionStyle(Gui::SelectionSingleton::SelectionStyle::GreedySelection);
|
||||
|
||||
if(!App::GetApplication().getActiveTransaction())
|
||||
if (!App::GetApplication().getActiveTransaction()) {
|
||||
App::GetApplication().setActiveTransaction("Add Measurement");
|
||||
}
|
||||
|
||||
|
||||
// Call invoke method delayed, otherwise the dialog might not be fully initialized
|
||||
QTimer::singleShot(0, this, &TaskMeasure::invoke);
|
||||
}
|
||||
|
||||
TaskMeasure::~TaskMeasure() {
|
||||
TaskMeasure::~TaskMeasure()
|
||||
{
|
||||
Gui::Selection().setSelectionStyle(Gui::SelectionSingleton::SelectionStyle::NormalSelection);
|
||||
detachSelection();
|
||||
qApp->removeEventFilter(this);
|
||||
}
|
||||
|
||||
|
||||
void TaskMeasure::modifyStandardButtons(QDialogButtonBox* box) {
|
||||
void TaskMeasure::modifyStandardButtons(QDialogButtonBox* box)
|
||||
{
|
||||
|
||||
QPushButton* btn = box->button(QDialogButtonBox::Apply);
|
||||
btn->setText(tr("Save"));
|
||||
@@ -120,7 +129,8 @@ void TaskMeasure::modifyStandardButtons(QDialogButtonBox* box) {
|
||||
connect(btn, &QPushButton::released, this, &TaskMeasure::reset);
|
||||
}
|
||||
|
||||
bool canAnnotate(Measure::MeasureBase* obj) {
|
||||
bool canAnnotate(Measure::MeasureBase* obj)
|
||||
{
|
||||
if (obj == nullptr) {
|
||||
// null object, can't annotate this
|
||||
return false;
|
||||
@@ -135,7 +145,8 @@ bool canAnnotate(Measure::MeasureBase* obj) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void TaskMeasure::enableAnnotateButton(bool state) {
|
||||
void TaskMeasure::enableAnnotateButton(bool state)
|
||||
{
|
||||
// if the task ui is not init yet we don't have a button box.
|
||||
if (!this->buttonBox) {
|
||||
return;
|
||||
@@ -145,16 +156,18 @@ void TaskMeasure::enableAnnotateButton(bool state) {
|
||||
btn->setEnabled(state);
|
||||
}
|
||||
|
||||
void TaskMeasure::setMeasureObject(Measure::MeasureBase* obj) {
|
||||
void TaskMeasure::setMeasureObject(Measure::MeasureBase* obj)
|
||||
{
|
||||
_mMeasureObject = obj;
|
||||
}
|
||||
|
||||
|
||||
void TaskMeasure::update() {
|
||||
App::Document *doc = App::GetApplication().getActiveDocument();
|
||||
void TaskMeasure::update()
|
||||
{
|
||||
App::Document* doc = App::GetApplication().getActiveDocument();
|
||||
|
||||
// Reset selection if the selected object is not valid
|
||||
for(auto sel : Gui::Selection().getSelection()) {
|
||||
for (auto sel : Gui::Selection().getSelection()) {
|
||||
App::DocumentObject* ob = sel.pObject;
|
||||
App::DocumentObject* sub = ob->getSubObject(sel.SubName);
|
||||
|
||||
@@ -166,7 +179,8 @@ void TaskMeasure::update() {
|
||||
|
||||
std::string mod = Base::Type::getModuleName(sub->getTypeId().getName());
|
||||
if (!App::MeasureManager::hasMeasureHandler(mod.c_str())) {
|
||||
Base::Console().Message("No measure handler available for geometry of module: %s\n", mod);
|
||||
Base::Console().Message("No measure handler available for geometry of module: %s\n",
|
||||
mod);
|
||||
clearSelection();
|
||||
return;
|
||||
}
|
||||
@@ -175,7 +189,7 @@ void TaskMeasure::update() {
|
||||
valueResult->setText(QString::asprintf("-"));
|
||||
|
||||
// Get valid measure type
|
||||
App::MeasureType *measureType(nullptr);
|
||||
App::MeasureType* measureType(nullptr);
|
||||
|
||||
|
||||
std::string mode = explicitMode ? modeSwitch->currentText().toStdString() : "";
|
||||
@@ -184,7 +198,7 @@ void TaskMeasure::update() {
|
||||
for (auto s : Gui::Selection().getSelection(doc->getName(), ResolveMode::NoResolve)) {
|
||||
App::SubObjectT sub(s.pObject, s.SubName);
|
||||
|
||||
App::MeasureSelectionItem item = { sub, Base::Vector3d(s.x, s.y, s.z) };
|
||||
App::MeasureSelectionItem item = {sub, Base::Vector3d(s.x, s.y, s.z)};
|
||||
selection.push_back(item);
|
||||
}
|
||||
|
||||
@@ -223,10 +237,12 @@ void TaskMeasure::update() {
|
||||
auto pyMeasureClass = measureType->pythonClass;
|
||||
|
||||
// Create a MeasurePython instance
|
||||
auto featurePython = doc->addObject("Measure::MeasurePython", measureType->label.c_str());
|
||||
auto featurePython =
|
||||
doc->addObject("Measure::MeasurePython", measureType->label.c_str());
|
||||
setMeasureObject((Measure::MeasureBase*)featurePython);
|
||||
|
||||
// Create an instance of the pyMeasureClass, the classe's initializer sets the object as proxy
|
||||
// Create an instance of the pyMeasureClass, the classe's initializer sets the object as
|
||||
// proxy
|
||||
Py::Tuple args(1);
|
||||
args.setItem(0, Py::asObject(featurePython->getPyObject()));
|
||||
PyObject* result = PyObject_CallObject(pyMeasureClass, args.ptr());
|
||||
@@ -235,8 +251,8 @@ void TaskMeasure::update() {
|
||||
else {
|
||||
// Create measure object
|
||||
setMeasureObject(
|
||||
(Measure::MeasureBase*)doc->addObject(measureType->measureObject.c_str(), measureType->label.c_str())
|
||||
);
|
||||
(Measure::MeasureBase*)doc->addObject(measureType->measureObject.c_str(),
|
||||
measureType->label.c_str()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -254,15 +270,16 @@ void TaskMeasure::update() {
|
||||
|
||||
// Get result
|
||||
valueResult->setText(_mMeasureObject->getResultString());
|
||||
|
||||
}
|
||||
|
||||
void TaskMeasure::close() {
|
||||
void TaskMeasure::close()
|
||||
{
|
||||
Control().closeDialog();
|
||||
}
|
||||
|
||||
|
||||
void ensureGroup(Measure::MeasureBase* measurement) {
|
||||
void ensureGroup(Measure::MeasureBase* measurement)
|
||||
{
|
||||
// Ensure measurement object is part of the measurements group
|
||||
|
||||
const char* measurementGroupName = "Measurements";
|
||||
@@ -273,7 +290,10 @@ void ensureGroup(Measure::MeasureBase* measurement) {
|
||||
App::Document* doc = App::GetApplication().getActiveDocument();
|
||||
App::DocumentObject* obj = doc->getObject(measurementGroupName);
|
||||
if (!obj || !obj->isValid()) {
|
||||
obj = doc->addObject("App::DocumentObjectGroup", measurementGroupName, true, "MeasureGui::ViewProviderMeasureGroup");
|
||||
obj = doc->addObject("App::DocumentObjectGroup",
|
||||
measurementGroupName,
|
||||
true,
|
||||
"MeasureGui::ViewProviderMeasureGroup");
|
||||
}
|
||||
|
||||
auto group = static_cast<App::DocumentObjectGroup*>(obj);
|
||||
@@ -282,11 +302,13 @@ void ensureGroup(Measure::MeasureBase* measurement) {
|
||||
|
||||
|
||||
// Runs after the dialog is created
|
||||
void TaskMeasure::invoke() {
|
||||
void TaskMeasure::invoke()
|
||||
{
|
||||
update();
|
||||
}
|
||||
|
||||
bool TaskMeasure::apply() {
|
||||
bool TaskMeasure::apply()
|
||||
{
|
||||
ensureGroup(_mMeasureObject);
|
||||
_mMeasureObject = nullptr;
|
||||
reset();
|
||||
@@ -297,7 +319,8 @@ bool TaskMeasure::apply() {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool TaskMeasure::reject() {
|
||||
bool TaskMeasure::reject()
|
||||
{
|
||||
removeObject();
|
||||
close();
|
||||
|
||||
@@ -306,7 +329,8 @@ bool TaskMeasure::reject() {
|
||||
return false;
|
||||
}
|
||||
|
||||
void TaskMeasure::reset() {
|
||||
void TaskMeasure::reset()
|
||||
{
|
||||
// Reset tool state
|
||||
this->clearSelection();
|
||||
|
||||
@@ -318,22 +342,25 @@ void TaskMeasure::reset() {
|
||||
}
|
||||
|
||||
|
||||
void TaskMeasure::removeObject() {
|
||||
void TaskMeasure::removeObject()
|
||||
{
|
||||
if (_mMeasureObject == nullptr) {
|
||||
return;
|
||||
}
|
||||
if (_mMeasureObject->isRemoving() ) {
|
||||
if (_mMeasureObject->isRemoving()) {
|
||||
return;
|
||||
}
|
||||
_mMeasureObject->getDocument()->removeObject (_mMeasureObject->getNameInDocument());
|
||||
_mMeasureObject->getDocument()->removeObject(_mMeasureObject->getNameInDocument());
|
||||
setMeasureObject(nullptr);
|
||||
}
|
||||
|
||||
bool TaskMeasure::hasSelection() {
|
||||
bool TaskMeasure::hasSelection()
|
||||
{
|
||||
return !Gui::Selection().getSelection().empty();
|
||||
}
|
||||
|
||||
void TaskMeasure::clearSelection() {
|
||||
void TaskMeasure::clearSelection()
|
||||
{
|
||||
Gui::Selection().clearSelection();
|
||||
}
|
||||
|
||||
@@ -341,15 +368,17 @@ void TaskMeasure::onSelectionChanged(const Gui::SelectionChanges& msg)
|
||||
{
|
||||
// Skip non-relevant events
|
||||
if (msg.Type != SelectionChanges::AddSelection && msg.Type != SelectionChanges::RmvSelection
|
||||
&& msg.Type != SelectionChanges::SetSelection && msg.Type != SelectionChanges::ClrSelection) {
|
||||
&& msg.Type != SelectionChanges::SetSelection
|
||||
&& msg.Type != SelectionChanges::ClrSelection) {
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
update();
|
||||
}
|
||||
|
||||
bool TaskMeasure::eventFilter(QObject* obj, QEvent* event) {
|
||||
bool TaskMeasure::eventFilter(QObject* obj, QEvent* event)
|
||||
{
|
||||
|
||||
if (event->type() == QEvent::KeyPress) {
|
||||
auto keyEvent = static_cast<QKeyEvent*>(event);
|
||||
@@ -358,7 +387,8 @@ bool TaskMeasure::eventFilter(QObject* obj, QEvent* event) {
|
||||
|
||||
if (this->hasSelection()) {
|
||||
this->reset();
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
this->reject();
|
||||
}
|
||||
|
||||
@@ -374,12 +404,14 @@ bool TaskMeasure::eventFilter(QObject* obj, QEvent* event) {
|
||||
return TaskDialog::eventFilter(obj, event);
|
||||
}
|
||||
|
||||
void TaskMeasure::onModeChanged(int index) {
|
||||
void TaskMeasure::onModeChanged(int index)
|
||||
{
|
||||
explicitMode = (index != 0);
|
||||
this->update();
|
||||
}
|
||||
|
||||
void TaskMeasure::setModeSilent(App::MeasureType* mode) {
|
||||
void TaskMeasure::setModeSilent(App::MeasureType* mode)
|
||||
{
|
||||
modeSwitch->blockSignals(true);
|
||||
|
||||
if (mode == nullptr) {
|
||||
@@ -392,7 +424,8 @@ void TaskMeasure::setModeSilent(App::MeasureType* mode) {
|
||||
}
|
||||
|
||||
// Get explicitly set measure type from the mode switch
|
||||
App::MeasureType* TaskMeasure::getMeasureType() {
|
||||
App::MeasureType* TaskMeasure::getMeasureType()
|
||||
{
|
||||
for (App::MeasureType* mType : App::MeasureManager::getMeasureTypes()) {
|
||||
if (mType->label.c_str() == modeSwitch->currentText().toLatin1()) {
|
||||
return mType;
|
||||
|
||||
Reference in New Issue
Block a user