diff --git a/src/Mod/Drawing/App/FeatureViewAnnotation.cpp b/src/Mod/Drawing/App/FeatureViewAnnotation.cpp
index 50d78add53..b8624c28b1 100644
--- a/src/Mod/Drawing/App/FeatureViewAnnotation.cpp
+++ b/src/Mod/Drawing/App/FeatureViewAnnotation.cpp
@@ -66,21 +66,20 @@ App::DocumentObjectExecReturn *FeatureViewAnnotation::execute(void)
hg << hex << setfill('0') << setw(2) << (int)(255.0*c.g);
hb << hex << setfill('0') << setw(2) << (int)(255.0*c.b);
- result << "" << endl
+ << "" << endl;
int index=0;
for (std::vector::const_iterator it = Text.getValues().begin(); it != Text.getValues().end(); ++it) {
- result << "" << it->c_str() << "" << endl;
+ result << "" << it->c_str() << "" << endl;
index++;
}
- result << "" << endl;
+ result << "" << endl << "" << endl;
// Apply the resulting fragment
ViewResult.setValue(result.str().c_str());
diff --git a/src/Mod/Drawing/Gui/Command.cpp b/src/Mod/Drawing/Gui/Command.cpp
index 4da43412c8..2f9345b974 100644
--- a/src/Mod/Drawing/Gui/Command.cpp
+++ b/src/Mod/Drawing/Gui/Command.cpp
@@ -374,8 +374,23 @@ CmdDrawingAnnotation::CmdDrawingAnnotation()
void CmdDrawingAnnotation::activated(int iMsg)
{
- doCommand(Doc,"AnnotationView = App.activeDocument().addObject(\"Drawing::FeatureViewAnnotation\",\"ViewAnnotation\")");
- doCommand(Doc,"AnnotationView.Scale = 7.0");
+
+ std::vector pages = this->getDocument()->getObjectsOfType(Drawing::FeaturePage::getClassTypeId());
+ if (pages.empty()){
+ QMessageBox::warning(Gui::getMainWindow(), QObject::tr("No page to insert"),
+ QObject::tr("Create a page to insert."));
+ return;
+ }
+ std::string PageName = pages.front()->getNameInDocument();
+ std::string FeatName = getUniqueObjectName("Annotation");
+ openCommand("Create Annotation");
+ doCommand(Doc,"App.activeDocument().addObject('Drawing::FeatureViewAnnotation','%s')",FeatName.c_str());
+ doCommand(Doc,"App.activeDocument().%s.X = 10.0",FeatName.c_str());
+ doCommand(Doc,"App.activeDocument().%s.Y = 10.0",FeatName.c_str());
+ doCommand(Doc,"App.activeDocument().%s.Scale = 7.0",FeatName.c_str());
+ doCommand(Doc,"App.activeDocument().%s.addObject(App.activeDocument().%s)",PageName.c_str(),FeatName.c_str());
+ updateActive();
+ commitCommand();
}
bool CmdDrawingAnnotation::isActive(void)