PD: harmonize API of view provider classes
* add virtual method featureName() to ViewProviderTransformed * add featureIcon() to ViewProviderTransformed and ViewProviderDressUp
This commit is contained in:
@@ -55,7 +55,7 @@ using namespace Gui;
|
||||
/* TRANSLATOR PartDesignGui::TaskDressUpParameters */
|
||||
|
||||
TaskDressUpParameters::TaskDressUpParameters(ViewProviderDressUp *DressUpView, bool selectEdges, bool selectFaces, QWidget *parent)
|
||||
: TaskBox(Gui::BitmapFactory().pixmap((std::string("PartDesign_") + DressUpView->featureName()).c_str()),
|
||||
: TaskBox(Gui::BitmapFactory().pixmap(DressUpView->featureIcon().c_str()),
|
||||
DressUpView->menuName,
|
||||
true,
|
||||
parent)
|
||||
|
||||
@@ -53,7 +53,7 @@ using namespace Gui;
|
||||
/* TRANSLATOR PartDesignGui::TaskTransformedParameters */
|
||||
|
||||
TaskTransformedParameters::TaskTransformedParameters(ViewProviderTransformed *TransformedView, QWidget *parent)
|
||||
: TaskBox(Gui::BitmapFactory().pixmap((std::string("PartDesign_") + TransformedView->featureName).c_str()),
|
||||
: TaskBox(Gui::BitmapFactory().pixmap(TransformedView->featureIcon().c_str()),
|
||||
TransformedView->menuName, true, parent)
|
||||
, proxy(nullptr)
|
||||
, TransformedView(TransformedView)
|
||||
|
||||
@@ -58,6 +58,11 @@ const std::string & ViewProviderDressUp::featureName() const {
|
||||
return name;
|
||||
}
|
||||
|
||||
std::string ViewProviderDressUp::featureIcon() const
|
||||
{
|
||||
return std::string("PartDesign_") + featureName();
|
||||
}
|
||||
|
||||
|
||||
bool ViewProviderDressUp::setEdit(int ModNum) {
|
||||
if (ModNum == ViewProvider::Default ) {
|
||||
|
||||
@@ -55,6 +55,7 @@ public:
|
||||
* Should be reimplemented in the successor.
|
||||
*/
|
||||
virtual const std::string & featureName() const;
|
||||
std::string featureIcon() const;
|
||||
QString menuName;
|
||||
|
||||
protected:
|
||||
|
||||
@@ -33,3 +33,9 @@ PROPERTY_SOURCE(PartDesignGui::ViewProviderLinearPattern,PartDesignGui::ViewProv
|
||||
TaskDlgFeatureParameters *ViewProviderLinearPattern::getEditDialog() {
|
||||
return new TaskDlgLinearPatternParameters (this);
|
||||
}
|
||||
|
||||
const std::string & ViewProviderLinearPattern::featureName() const
|
||||
{
|
||||
static const std::string name = "LinearPattern";
|
||||
return name;
|
||||
}
|
||||
|
||||
@@ -34,10 +34,11 @@ class PartDesignGuiExport ViewProviderLinearPattern : public ViewProviderTransfo
|
||||
PROPERTY_HEADER_WITH_OVERRIDE(PartDesignGui::ViewProviderLinearPattern);
|
||||
public:
|
||||
ViewProviderLinearPattern()
|
||||
{ featureName = std::string("LinearPattern");
|
||||
menuName = tr("LinearPattern parameters");
|
||||
{ menuName = tr("LinearPattern parameters");
|
||||
sPixmap = "PartDesign_LinearPattern.svg"; }
|
||||
|
||||
const std::string & featureName() const override;
|
||||
|
||||
protected:
|
||||
/// Returns a newly create dialog for the part to be placed in the task view
|
||||
TaskDlgFeatureParameters *getEditDialog() override;
|
||||
|
||||
@@ -33,3 +33,9 @@ PROPERTY_SOURCE(PartDesignGui::ViewProviderMirrored,PartDesignGui::ViewProviderT
|
||||
TaskDlgFeatureParameters *ViewProviderMirrored::getEditDialog() {
|
||||
return new TaskDlgMirroredParameters (this);
|
||||
}
|
||||
|
||||
const std::string & ViewProviderMirrored::featureName() const
|
||||
{
|
||||
static const std::string name = "Mirrored";
|
||||
return name;
|
||||
}
|
||||
|
||||
@@ -34,11 +34,12 @@ class PartDesignGuiExport ViewProviderMirrored : public ViewProviderTransformed
|
||||
PROPERTY_HEADER_WITH_OVERRIDE(PartDesignGui::ViewProviderMirrored);
|
||||
public:
|
||||
ViewProviderMirrored() {
|
||||
featureName = std::string("Mirrored");
|
||||
menuName = tr("Mirrored parameters");
|
||||
sPixmap = "PartDesign_Mirrored.svg";
|
||||
}
|
||||
|
||||
const std::string & featureName() const override;
|
||||
|
||||
protected:
|
||||
/// Returns a newly create dialog for the part to be placed in the task view
|
||||
TaskDlgFeatureParameters *getEditDialog() override;
|
||||
|
||||
@@ -37,9 +37,15 @@ TaskDlgFeatureParameters *ViewProviderMultiTransform::getEditDialog() {
|
||||
return new TaskDlgMultiTransformParameters (this);
|
||||
}
|
||||
|
||||
const std::string & ViewProviderMultiTransform::featureName() const
|
||||
{
|
||||
static const std::string name = "MultiTransform";
|
||||
return name;
|
||||
}
|
||||
|
||||
void ViewProviderMultiTransform::setupContextMenu(QMenu* menu, QObject* receiver, const char* member)
|
||||
{
|
||||
this->addDefaultAction(menu, QObject::tr("Edit %1").arg(QString::fromStdString(featureName)));
|
||||
this->addDefaultAction(menu, QObject::tr("Edit %1").arg(QString::fromStdString(featureName())));
|
||||
PartDesignGui::ViewProvider::setupContextMenu(menu, receiver, member); // clazy:exclude=skipped-base-method
|
||||
}
|
||||
|
||||
|
||||
@@ -34,11 +34,11 @@ class PartDesignGuiExport ViewProviderMultiTransform : public ViewProviderTransf
|
||||
PROPERTY_HEADER_WITH_OVERRIDE(PartDesignGui::ViewProviderMultiTransform);
|
||||
public:
|
||||
ViewProviderMultiTransform() {
|
||||
featureName = std::string("MultiTransform");
|
||||
menuName = tr("MultiTransform parameters");
|
||||
sPixmap = "PartDesign_MultiTransform.svg";
|
||||
}
|
||||
|
||||
const std::string & featureName() const override;
|
||||
std::vector<App::DocumentObject*> claimChildren() const override;
|
||||
void setupContextMenu(QMenu*, QObject*, const char*) override;
|
||||
|
||||
|
||||
@@ -32,3 +32,9 @@ PROPERTY_SOURCE(PartDesignGui::ViewProviderPolarPattern,PartDesignGui::ViewProvi
|
||||
TaskDlgFeatureParameters *ViewProviderPolarPattern::getEditDialog() {
|
||||
return new TaskDlgPolarPatternParameters (this);
|
||||
}
|
||||
|
||||
const std::string & ViewProviderPolarPattern::featureName() const
|
||||
{
|
||||
static const std::string name = "PolarPattern";
|
||||
return name;
|
||||
}
|
||||
|
||||
@@ -34,11 +34,12 @@ class PartDesignGuiExport ViewProviderPolarPattern : public ViewProviderTransfor
|
||||
PROPERTY_HEADER_WITH_OVERRIDE(PartDesignGui::ViewProviderPolarPattern);
|
||||
public:
|
||||
ViewProviderPolarPattern() {
|
||||
featureName = std::string("PolarPattern");
|
||||
menuName = tr("PolarPattern parameters");
|
||||
sPixmap = "PartDesign_PolarPattern.svg";
|
||||
}
|
||||
|
||||
const std::string & featureName() const override;
|
||||
|
||||
protected:
|
||||
/// Returns a newly create dialog for the part to be placed in the task view
|
||||
TaskDlgFeatureParameters *getEditDialog() override;
|
||||
|
||||
@@ -33,3 +33,9 @@ PROPERTY_SOURCE(PartDesignGui::ViewProviderScaled,PartDesignGui::ViewProviderTra
|
||||
TaskDlgFeatureParameters *ViewProviderScaled::getEditDialog() {
|
||||
return new TaskDlgScaledParameters (this);
|
||||
}
|
||||
|
||||
const std::string & ViewProviderScaled::featureName() const
|
||||
{
|
||||
static const std::string name = "Scaled";
|
||||
return name;
|
||||
}
|
||||
|
||||
@@ -34,11 +34,12 @@ class PartDesignGuiExport ViewProviderScaled : public ViewProviderTransformed
|
||||
PROPERTY_HEADER_WITH_OVERRIDE(PartDesignGui::ViewProviderScaled);
|
||||
public:
|
||||
ViewProviderScaled() {
|
||||
featureName = std::string("Scaled");
|
||||
menuName = tr("Scaled parameters");
|
||||
sPixmap = "PartDesign_Scaled.svg";
|
||||
}
|
||||
|
||||
const std::string & featureName() const override;
|
||||
|
||||
protected:
|
||||
/// Returns a newly create dialog for the part to be placed in the task view
|
||||
TaskDlgFeatureParameters *getEditDialog() override;
|
||||
|
||||
@@ -59,10 +59,21 @@ using namespace PartDesignGui;
|
||||
|
||||
PROPERTY_SOURCE(PartDesignGui::ViewProviderTransformed,PartDesignGui::ViewProvider)
|
||||
|
||||
const std::string & ViewProviderTransformed::featureName() const
|
||||
{
|
||||
static const std::string name = "undefined";
|
||||
return name;
|
||||
}
|
||||
|
||||
std::string ViewProviderTransformed::featureIcon() const
|
||||
{
|
||||
return std::string("PartDesign_") + featureName();
|
||||
}
|
||||
|
||||
void ViewProviderTransformed::setupContextMenu(QMenu* menu, QObject* receiver, const char* member)
|
||||
{
|
||||
QAction* act;
|
||||
act = menu->addAction(QObject::tr("Edit %1").arg(QString::fromStdString(featureName)), receiver, member);
|
||||
act = menu->addAction(QObject::tr("Edit %1").arg(QString::fromStdString(featureName())), receiver, member);
|
||||
act->setData(QVariant((int)ViewProvider::Default));
|
||||
PartDesignGui::ViewProvider::setupContextMenu(menu, receiver, member);
|
||||
}
|
||||
|
||||
@@ -37,11 +37,14 @@ class PartDesignGuiExport ViewProviderTransformed : public ViewProvider
|
||||
public:
|
||||
/// constructor
|
||||
ViewProviderTransformed()
|
||||
: featureName("undefined"), pcRejectedRoot(nullptr) {}
|
||||
: pcRejectedRoot(nullptr) {}
|
||||
/// destructor
|
||||
~ViewProviderTransformed() override
|
||||
{}
|
||||
|
||||
// The feature name of the subclass
|
||||
virtual const std::string & featureName() const;
|
||||
std::string featureIcon() const;
|
||||
void setupContextMenu(QMenu*, QObject*, const char*) override;
|
||||
|
||||
bool onDelete(const std::vector<std::string> &) override;
|
||||
@@ -49,8 +52,6 @@ public:
|
||||
/// signals if the transformation contains errors
|
||||
boost::signals2::signal<void (QString msg)> signalDiagnosis;
|
||||
|
||||
// The feature name of the subclass
|
||||
std::string featureName;
|
||||
// Name of menu dialog
|
||||
QString menuName;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user