- MotifsPerspective.prototype = new $.wiki.Perspective();
-
- MotifsPerspective.prototype.freezeState = function(){
-
- };
-
- MotifsPerspective.prototype._resetSelection = function() {
- var self = this;
- self.x1 = self.x2 = self.y1 = self.y2 = null;
- self.ias.setOptions({ hide: true });
- }
-
- MotifsPerspective.prototype._refreshLayout = function() {
- this.$scrolled.css({top: this.$toolbar.height()});
- };
-
- MotifsPerspective.prototype._push = function(name, x1, y1, x2, y2) {
- var $e = $('<span class="image-object"></span>')
- $e.text(name);
- if (x1 !== null)
- $e.data('coords', [x1, y1, x2, y2]);
- this.$objects_list.append($e);
- this.$objects_list.append('<span class="delete">(x) </span>');
- this._refreshLayout();
- }
-
-
- MotifsPerspective.prototype._addObject = function(self) {
- return function() {
- outputs = [];
- chunks = self.$tag_name.val().split(',');
- for (i in chunks) {
- item = chunks[i].trim();
- if (item == '')
- continue;
- outputs.push(item.trim());
- }
- output = outputs.join(', ');
-
- self._push(output, self.x1, self.y1, self.x2, self.y2);
- self._resetSelection();
- }
- }
-
- MotifsPerspective.prototype._fillCoords = function(self) {
- return function(img, selection) {
- $('.active', self.$objects_list).removeClass('active');
- if (selection.x1 != selection.x2 && selection.y1 != selection.y2) {
- self.x1 = selection.x1;
- self.x2 = selection.x2;
- self.y1 = selection.y1;
- self.y2 = selection.y2;
- }
- else {
- self.x1 = self.x2 = self.y1 = self.y2 = null;
- }
- }
- }
-
- MotifsPerspective.prototype.onEnter = function(success, failure){
- var self = this;
- this.$objects_list.children().remove();
-
- $.each(this.doc.getImageItems('theme'), function(i, e) {
- self._push.apply(self, e);
- });
-
- if (this.x1 !== null)
- this.ias.setOptions({enable: true, show: true});
- else
- this.ias.setOptions({enable: true});
-
- $.wiki.Perspective.prototype.onEnter.call(this);
-
- };
-
- MotifsPerspective.prototype.onExit = function(success, failure){
- var self = this;
- var motifs = [];
- this.$objects_list.children(".image-object").each(function(i, e) {
- var args = $(e).data('coords');
- if (!args)
- args = [null, null, null, null];
- args.unshift($(e).text());
- motifs.push(args);
- })
- self.doc.setImageItems('theme', motifs);
-
- this.ias.setOptions({disable: true, hide: true});
-
- };