Gui: move methods startDefaultEditMode() and addDefaultAction() to ViewProviderDocumentObject
This commit is contained in:
@@ -24,7 +24,9 @@
|
||||
#include "PreCompiled.h"
|
||||
|
||||
#ifndef _PreComp_
|
||||
# include <QAction>
|
||||
# include <QByteArray>
|
||||
# include <QMenu>
|
||||
# include <qpixmap.h>
|
||||
# include <Inventor/actions/SoSearchAction.h>
|
||||
# include <Inventor/nodes/SoDrawStyle.h>
|
||||
@@ -47,7 +49,9 @@
|
||||
#include <App/DocumentObjectGroup.h>
|
||||
#include <App/DocumentObserver.h>
|
||||
#include <App/Origin.h>
|
||||
#include "ActionFunction.h"
|
||||
#include "Application.h"
|
||||
#include "Command.h"
|
||||
#include "Document.h"
|
||||
#include "Selection.h"
|
||||
#include "MainWindow.h"
|
||||
@@ -267,6 +271,25 @@ void ViewProviderDocumentObject::setShowable(bool enable)
|
||||
}
|
||||
}
|
||||
|
||||
void ViewProviderDocumentObject::startDefaultEditMode()
|
||||
{
|
||||
QString text = QObject::tr("Edit %1").arg(QString::fromUtf8(getObject()->Label.getValue()));
|
||||
Gui::Command::openCommand(text.toUtf8());
|
||||
|
||||
Gui::Document* document = this->getDocument();
|
||||
if (document) {
|
||||
document->setEdit(this, ViewProvider::Default);
|
||||
}
|
||||
}
|
||||
|
||||
void ViewProviderDocumentObject::addDefaultAction(QMenu* menu, const QString& text)
|
||||
{
|
||||
QAction* act = menu->addAction(text);
|
||||
act->setData(QVariant((int)ViewProvider::Default));
|
||||
Gui::ActionFunction* func = new Gui::ActionFunction(menu);
|
||||
func->trigger(act, boost::bind(&ViewProviderDocumentObject::startDefaultEditMode, this));
|
||||
}
|
||||
|
||||
void ViewProviderDocumentObject::setModeSwitch() {
|
||||
if(isShowable())
|
||||
ViewProvider::setModeSwitch();
|
||||
|
||||
@@ -155,6 +155,9 @@ public:
|
||||
void setShowable(bool enable);
|
||||
bool isShowable() const;
|
||||
|
||||
/** Start the edit mode with ViewProvider::Default */
|
||||
void startDefaultEditMode();
|
||||
|
||||
protected:
|
||||
/*! Get the active mdi view of the document this view provider is part of.
|
||||
@note The returned mdi view doesn't need to be a 3d view but can be e.g.
|
||||
@@ -203,6 +206,9 @@ protected:
|
||||
|
||||
virtual void setModeSwitch() override;
|
||||
|
||||
/** Adds a menu item and bind it with \ref startDefaultEditMode(). */
|
||||
void addDefaultAction(QMenu*, const QString&);
|
||||
|
||||
protected:
|
||||
App::DocumentObject *pcObject;
|
||||
Gui::Document* pcDocument;
|
||||
|
||||
@@ -70,17 +70,6 @@ void ViewProviderPrimitive::setupContextMenu(QMenu* menu, QObject* receiver, con
|
||||
ViewProviderPart::setupContextMenu(menu, receiver, member);
|
||||
}
|
||||
|
||||
void ViewProviderPrimitive::startDefaultEditMode()
|
||||
{
|
||||
QString text = QObject::tr("Edit %1").arg(QString::fromUtf8(getObject()->Label.getValue()));
|
||||
Gui::Command::openCommand(text.toUtf8());
|
||||
|
||||
Gui::Document* document = this->getDocument();
|
||||
if (document) {
|
||||
document->setEdit(this, ViewProvider::Default);
|
||||
}
|
||||
}
|
||||
|
||||
bool ViewProviderPrimitive::setEdit(int ModNum)
|
||||
{
|
||||
if (ModNum == ViewProvider::Default) {
|
||||
|
||||
@@ -46,9 +46,6 @@ protected:
|
||||
bool setEdit(int ModNum);
|
||||
void unsetEdit(int ModNum);
|
||||
|
||||
private:
|
||||
void startDefaultEditMode();
|
||||
|
||||
private:
|
||||
ViewProviderAttachExtension extension;
|
||||
};
|
||||
|
||||
@@ -76,25 +76,6 @@ bool ViewProvider::doubleClicked(void)
|
||||
return true;
|
||||
}
|
||||
|
||||
void ViewProvider::startDefaultEditMode()
|
||||
{
|
||||
QString text = QObject::tr("Edit %1").arg(QString::fromUtf8(getObject()->Label.getValue()));
|
||||
Gui::Command::openCommand(text.toUtf8());
|
||||
|
||||
Gui::Document* document = this->getDocument();
|
||||
if (document) {
|
||||
document->setEdit(this, ViewProvider::Default);
|
||||
}
|
||||
}
|
||||
|
||||
void ViewProvider::addDefaultAction(QMenu* menu, const QString& text)
|
||||
{
|
||||
QAction* act = menu->addAction(text);
|
||||
act->setData(QVariant((int)ViewProvider::Default));
|
||||
Gui::ActionFunction* func = new Gui::ActionFunction(menu);
|
||||
func->trigger(act, boost::bind(&ViewProvider::startDefaultEditMode, this));
|
||||
}
|
||||
|
||||
void ViewProvider::setupContextMenu(QMenu* menu, QObject* receiver, const char* member)
|
||||
{
|
||||
QAction* act = menu->addAction(QObject::tr("Set colors..."), receiver, member);
|
||||
|
||||
@@ -77,8 +77,6 @@ protected:
|
||||
virtual void setupContextMenu(QMenu* menu, QObject* receiver, const char* member) override;
|
||||
virtual bool setEdit(int ModNum) override;
|
||||
virtual void unsetEdit(int ModNum) override;
|
||||
void startDefaultEditMode();
|
||||
void addDefaultAction(QMenu*, const QString&);
|
||||
|
||||
virtual bool onDelete(const std::vector<std::string> &) override;
|
||||
|
||||
|
||||
@@ -120,17 +120,6 @@ void ViewProviderBalloon::setupContextMenu(QMenu* menu, QObject* receiver, const
|
||||
ViewProviderDrawingView::setupContextMenu(menu, receiver, member);
|
||||
}
|
||||
|
||||
void ViewProviderBalloon::startDefaultEditMode()
|
||||
{
|
||||
QString text = QObject::tr("Edit %1").arg(QString::fromUtf8(getObject()->Label.getValue()));
|
||||
Gui::Command::openCommand(text.toUtf8());
|
||||
|
||||
Gui::Document* document = this->getDocument();
|
||||
if (document) {
|
||||
document->setEdit(this, ViewProvider::Default);
|
||||
}
|
||||
}
|
||||
|
||||
bool ViewProviderBalloon::setEdit(int ModNum)
|
||||
{
|
||||
if (ModNum == ViewProvider::Default ) {
|
||||
|
||||
@@ -63,7 +63,6 @@ public:
|
||||
virtual void unsetEdit(int ModNum);
|
||||
virtual bool doubleClicked(void);
|
||||
virtual bool canDelete(App::DocumentObject* obj) const;
|
||||
void startDefaultEditMode();
|
||||
|
||||
virtual TechDraw::DrawViewBalloon* getViewObject() const;
|
||||
|
||||
|
||||
@@ -135,17 +135,6 @@ void ViewProviderDimension::setupContextMenu(QMenu* menu, QObject* receiver, con
|
||||
ViewProviderDrawingView::setupContextMenu(menu, receiver, member);
|
||||
}
|
||||
|
||||
void ViewProviderDimension::startDefaultEditMode()
|
||||
{
|
||||
QString text = QObject::tr("Edit %1").arg(QString::fromUtf8(getObject()->Label.getValue()));
|
||||
Gui::Command::openCommand(text.toUtf8());
|
||||
|
||||
Gui::Document* document = this->getDocument();
|
||||
if (document) {
|
||||
document->setEdit(this, ViewProvider::Default);
|
||||
}
|
||||
}
|
||||
|
||||
bool ViewProviderDimension::setEdit(int ModNum)
|
||||
{
|
||||
if (ModNum == ViewProvider::Default) {
|
||||
|
||||
@@ -76,7 +76,6 @@ public:
|
||||
virtual bool setEdit(int ModNum);
|
||||
virtual void unsetEdit(int ModNum);
|
||||
virtual bool doubleClicked(void);
|
||||
void startDefaultEditMode();
|
||||
|
||||
virtual TechDraw::DrawViewDimension* getViewObject() const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user