Core: support to load old project files containing image planes

See forum: https://forum.freecad.org/viewtopic.php?p=670545#p670545
This commit is contained in:
wmayer
2023-03-24 23:25:48 +01:00
committed by wwmayer
parent cdb47d2f4f
commit a2579ebb92
7 changed files with 33 additions and 17 deletions

View File

@@ -201,7 +201,7 @@ void FileHandler::openImage()
QFileInfo fi;
fi.setFile(filename);
Gui::cmdAppDocumentArgs(doc, "addObject('%s', '%s')", "App::ImagePlane", fi.baseName().toStdString());
Gui::cmdAppDocumentArgs(doc, "addObject('%s', '%s')", "Image::ImagePlane", fi.baseName().toStdString());
Gui::cmdAppDocumentArgs(doc, "ActiveObject.ImageFile = '%s'", fi.absoluteFilePath().toStdString());
Gui::cmdAppDocumentArgs(doc, "ActiveObject.Label = '%s'", fi.baseName().toStdString());
Gui::cmdAppDocument(doc, "recompute()");

View File

@@ -39,7 +39,7 @@
using namespace Gui;
TaskImageScale::TaskImageScale(App::ImagePlane* obj, QWidget* parent)
TaskImageScale::TaskImageScale(Image::ImagePlane* obj, QWidget* parent)
: QWidget(parent)
, ui(new Ui_TaskImageScale)
, feature(obj)

View File

@@ -37,7 +37,7 @@ class TaskImageScale : public QWidget
Q_OBJECT
public:
explicit TaskImageScale(App::ImagePlane* obj, QWidget* parent = nullptr);
explicit TaskImageScale(Image::ImagePlane* obj, QWidget* parent = nullptr);
~TaskImageScale() override;
private:
@@ -46,7 +46,7 @@ private:
private:
std::unique_ptr<Ui_TaskImageScale> ui;
App::WeakPtrT<App::ImagePlane> feature;
App::WeakPtrT<Image::ImagePlane> feature;
double aspectRatio;
};

View File

@@ -163,7 +163,7 @@ void ViewProviderImagePlane::manipulateImage()
dynamic_cast<App::GeoFeature*>(getObject())
);
dialog->addTaskBox(new TaskImageScale(
dynamic_cast<App::ImagePlane*>(getObject())
dynamic_cast<Image::ImagePlane*>(getObject())
));
Gui::Control().showDialog(dialog);
@@ -179,7 +179,7 @@ void ViewProviderImagePlane::resizePlane(float xsize, float ysize)
void ViewProviderImagePlane::loadImage()
{
App::ImagePlane* imagePlane = static_cast<App::ImagePlane*>(pcObject);
Image::ImagePlane* imagePlane = static_cast<Image::ImagePlane*>(pcObject);
std::string fileName = imagePlane->ImageFile.getValue();
if (!fileName.empty()) {
@@ -223,7 +223,7 @@ QSizeF ViewProviderImagePlane::loadRaster(const char* fileName, QImage& img)
void ViewProviderImagePlane::reloadIfSvg()
{
App::ImagePlane* imagePlane = static_cast<App::ImagePlane*>(pcObject);
Image::ImagePlane* imagePlane = static_cast<Image::ImagePlane*>(pcObject);
std::string fileName = imagePlane->ImageFile.getValue();
double xsize = imagePlane->XSize.getValue();
@@ -266,7 +266,7 @@ void ViewProviderImagePlane::convertToSFImage(const QImage& img)
void ViewProviderImagePlane::updateData(const App::Property* prop)
{
App::ImagePlane* pcPlaneObj = static_cast<App::ImagePlane*>(pcObject);
Image::ImagePlane* pcPlaneObj = static_cast<Image::ImagePlane*>(pcObject);
if (prop == &pcPlaneObj->XSize || prop == &pcPlaneObj->YSize) {
float xsize = pcPlaneObj->XSize.getValue();
float ysize = pcPlaneObj->YSize.getValue();