ExAddLayer.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /**
  2. * Copyright (c) 2011-2018 by Andrew Mustun. All rights reserved.
  3. *
  4. * This file is part of the QCAD project.
  5. *
  6. * QCAD is free software: you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation, either version 3 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * QCAD is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with QCAD.
  18. */
  19. include("../LayerExamples.js");
  20. /**
  21. * \ingroup ecma_misc_examples_layerexamples
  22. * \class ExAddLayer
  23. * This action adds a custom property to layer '0'.
  24. */
  25. function ExAddLayer(guiAction) {
  26. LayerExamples.call(this, guiAction);
  27. }
  28. ExAddLayer.prototype = new LayerExamples();
  29. ExAddLayer.prototype.beginEvent = function() {
  30. LayerExamples.prototype.beginEvent.call(this);
  31. var di = this.getDocumentInterface();
  32. var document = this.getDocument();
  33. // add layer:
  34. var op = new RModifyObjectsOperation();
  35. var linetypeId = document.getLinetypeId("CONTINUOUS");
  36. var layer = new RLayer(document, "MyLayer", false, false, new RColor("red"), linetypeId, RLineweight.Weight000);
  37. op.addObject(layer);
  38. EAction.handleUserMessage(qsTr("Added layer \"MyLayer\""));
  39. di.applyOperation(op);
  40. // make the new layer the current layer:
  41. di.setCurrentLayer("MyLayer");
  42. this.terminate();
  43. };
  44. /**
  45. * Adds a menu for this action.
  46. */
  47. ExAddLayer.init = function(basePath) {
  48. var action = new RGuiAction(qsTr("Add Layer"), RMainWindowQt.getMainWindow());
  49. action.setRequiresDocument(true);
  50. action.setScriptFile(basePath + "/ExAddLayer.js");
  51. action.setGroupSortOrder(78100);
  52. action.setSortOrder(50);
  53. action.setWidgetNames(["LayerExamplesMenu"]);
  54. };