diff options
author | Valerio Virgillito | 2012-04-17 11:08:29 -0700 |
---|---|---|
committer | Valerio Virgillito | 2012-04-17 11:08:29 -0700 |
commit | 2292a35f545a161c0d19b26a8640b9421afce792 (patch) | |
tree | c9a64c50dd4c42cdbd221e35548418fe883c2d13 /js/models | |
parent | 4b900ea5cd6bb77eb30cec8c03b9ec9fa662c1e9 (diff) | |
parent | 7ed5215332123d16f819a7a26c651af520a68669 (diff) | |
download | ninja-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-x | js/models/element-model.js | 36 |
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 | |||
7 | var Montage = require("montage/core/core").Montage; | 7 | var Montage = require("montage/core/core").Montage; |
8 | 8 | ||
9 | exports.ElementModel = Montage.create(Montage, { | 9 | exports.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 |