aboutsummaryrefslogtreecommitdiff
path: root/js/models
diff options
context:
space:
mode:
authorValerio Virgillito2012-04-17 11:08:29 -0700
committerValerio Virgillito2012-04-17 11:08:29 -0700
commit2292a35f545a161c0d19b26a8640b9421afce792 (patch)
treec9a64c50dd4c42cdbd221e35548418fe883c2d13 /js/models
parent4b900ea5cd6bb77eb30cec8c03b9ec9fa662c1e9 (diff)
parent7ed5215332123d16f819a7a26c651af520a68669 (diff)
downloadninja-2292a35f545a161c0d19b26a8640b9421afce792.tar.gz
Merge pull request #163 from mencio/undo-manager
Undo manager - Fixing a couple undo bugs and architecture work to support undo/redo
Diffstat (limited to 'js/models')
-rwxr-xr-xjs/models/element-model.js36
1 files changed, 35 insertions, 1 deletions
diff --git a/js/models/element-model.js b/js/models/element-model.js
index 831e8b1e..fa02fd38 100755
--- a/js/models/element-model.js
+++ b/js/models/element-model.js
@@ -7,6 +7,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
7var Montage = require("montage/core/core").Montage; 7var Montage = require("montage/core/core").Montage;
8 8
9exports.ElementModel = Montage.create(Montage, { 9exports.ElementModel = Montage.create(Montage, {
10 key: { value: "_model_"},
10 11
11 type: { value: null }, // Tag type that was created 12 type: { value: null }, // Tag type that was created
12 selection: { value: null }, // Selection string 13 selection: { value: null }, // Selection string
@@ -43,6 +44,39 @@ exports.ElementModel = Montage.create(Montage, {
43 * Color info 44 * Color info
44 */ 45 */
45 fill: { value: null }, 46 fill: { value: null },
46 stroke: { value: null } 47 stroke: { value: null },
48
49 getProperty: {
50 value: function(property) {
51 var key = this.key + property;
52
53 if(!this.hasOwnProperty(key)) {
54 this.defineModelProperty(key, null);
55 }
56
57 return this[key];
58 }
59 },
60
61 setProperty: {
62 value: function(property, value) {
63 var key = this.key + property;
64
65 if(!this.hasOwnProperty(key)) {
66 this.defineModelProperty(key, value);
67 } else {
68 this[key] = value;
69 }
70 }
71 },
72
73 defineModelProperty: {
74 value: function(property, value) {
75 Montage.defineProperty(this, property, {
76 enumarable: true,
77 value:value
78 });
79 }
80 }
47 81
48}); \ No newline at end of file 82}); \ No newline at end of file