ToFront.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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("scripts/Modify/Modify.js");
  20. function ToFront(guiAction) {
  21. Modify.call(this, guiAction);
  22. }
  23. ToFront.prototype = new Modify();
  24. ToFront.prototype.beginEvent = function() {
  25. Modify.prototype.beginEvent.call(this);
  26. this.moveTo(true);
  27. this.terminate();
  28. };
  29. ToFront.prototype.moveTo = function(front) {
  30. var di = this.getDocumentInterface();
  31. var document = this.getDocument();
  32. var storage = this.getStorage();
  33. var ids = document.querySelectedEntities();
  34. var i;
  35. var op = new RModifyObjectsOperation();
  36. var drawOrder;
  37. var offset;
  38. if (front===true) {
  39. drawOrder = storage.getMaxDrawOrder();
  40. offset = 0;
  41. }
  42. else {
  43. drawOrder = storage.getMinDrawOrder();
  44. offset = 0;
  45. }
  46. for (i=0; i<ids.length; i++) {
  47. var id = ids[i];
  48. var entity = document.queryEntity(id);
  49. if (isNull(entity)) {
  50. debugger;
  51. }
  52. entity.setDrawOrder(drawOrder+offset);
  53. op.addObject(entity, false);
  54. }
  55. di.applyOperation(op);
  56. };