comparison client/digitallibrary/jquery/jquery.digilib.birdseye.js @ 792:52c5595af03e jquery

started to adapt regions plugin to new plugin mechanism
author hertzhaft
date Fri, 18 Feb 2011 23:13:26 +0100
parents 32d1d6601968
children 2fb1f576375d
comparison
equal deleted inserted replaced
791:0ce8175f025a 792:52c5595af03e
1 /** required digilib geometry plugin 1 /**
2 digilib bird's eye view plugin
2 */ 3 */
3 4
4 (function($) { 5 (function($) {
5 6
6 // affine geometry plugin stub 7 // affine geometry plugin stub
23 'birdDivWidth' : 200, 24 'birdDivWidth' : 200,
24 'birdDivHeight' : 200, 25 'birdDivHeight' : 200,
25 // parameters used by bird's eye div 26 // parameters used by bird's eye div
26 'birdDivParams' : ['fn','pn','dw','dh'] 27 'birdDivParams' : ['fn','pn','dw','dh']
27 }; 28 };
28 29
29 var actions = { 30 var actions = {
30 // event handler: toggles the visibility of the bird's eye window 31 // event handler: toggles the visibility of the bird's eye window
31 showBirdDiv : function (data, show) { 32 showBirdDiv : function (data, show) {
32 var settings = data.settings; 33 var settings = data.settings;
33 if (data.$birdDiv == null) { 34 if (data.$birdDiv == null) {
38 settings.isBirdDivVisible = on; 39 settings.isBirdDivVisible = on;
39 digilib.fn.highlightButtons(data, 'bird', on); 40 digilib.fn.highlightButtons(data, 'bird', on);
40 updateBirdDiv(data); 41 updateBirdDiv(data);
41 digilib.fn.storeOptions(data); 42 digilib.fn.storeOptions(data);
42 } 43 }
43 }; 44 };
44 45
45 // plugin installation called by digilib on plugin object. 46 // plugin installation called by digilib on plugin object.
46 var install = function(digilib) { 47 var install = function(digilib) {
47 // import geometry classes 48 // import geometry classes
48 geom = digilib.fn.geometry; 49 geom = digilib.fn.geometry;
49 FULL_AREA = geom.rectangle(0,0,1,1); 50 FULL_AREA = geom.rectangle(0,0,1,1);
65 $data.bind('setup', handleSetup); 66 $data.bind('setup', handleSetup);
66 $data.bind('update', handleUpdate); 67 $data.bind('update', handleUpdate);
67 $data.bind('redisplay', handleRedisplay); 68 $data.bind('redisplay', handleRedisplay);
68 $data.bind('dragZoom', handleDragZoom); 69 $data.bind('dragZoom', handleDragZoom);
69 }; 70 };
70 71
71 72
72 var handleSetup = function (evt) { 73 var handleSetup = function (evt) {
73 console.debug("birdseye: handleSetup"); 74 console.debug("birdseye: handleSetup");
74 data = this; 75 data = this;
75 // bird's eye view creation 76 // bird's eye view creation
76 if (data.settings.isBirdDivVisible) { 77 if (data.settings.isBirdDivVisible) {
77 setupBirdDiv(data); 78 setupBirdDiv(data);
78 data.$birdDiv.show(); 79 data.$birdDiv.show();
79 } 80 }
80 }; 81 };
81 82
82 var handleUpdate = function (evt) { 83 var handleUpdate = function (evt) {
83 console.debug("birdseye: handleUpdate"); 84 console.debug("birdseye: handleUpdate");
84 data = this; 85 data = this;
85 if (data.settings.isBirdDivVisible) { 86 if (data.settings.isBirdDivVisible) {
86 renderBirdArea(data); 87 renderBirdArea(data);
87 setupBirdDrag(data); 88 setupBirdDrag(data);
88 } 89 }
89 }; 90 };
90 91
91 var handleRedisplay = function (evt) { 92 var handleRedisplay = function (evt) {
92 console.debug("birdseye: handleRedisplay"); 93 console.debug("birdseye: handleRedisplay");
93 data = this; 94 data = this;
94 if (data.settings.isBirdDivVisible) { 95 if (data.settings.isBirdDivVisible) {
95 updateBirdDiv(data); 96 updateBirdDiv(data);
96 } 97 }
97 }; 98 };
98 99
99 var handleDragZoom = function (evt, zoomArea) { 100 var handleDragZoom = function (evt, zoomArea) {
100 //console.debug("birdseye: handleDragZoom za="+zoomArea); 101 //console.debug("birdseye: handleDragZoom za="+zoomArea);
101 data = this; 102 data = this;
102 if (data.settings.isBirdDivVisible) { 103 if (data.settings.isBirdDivVisible) {
103 setBirdZoom(data, zoomArea); 104 setBirdZoom(data, zoomArea);
104 } 105 }
105 }; 106 };
106 107
107 // returns URL for bird's eye view image 108 // returns URL for bird's eye view image
108 var getBirdImgUrl = function (data) { 109 var getBirdImgUrl = function (data) {
109 var settings = data.settings; 110 var settings = data.settings;
110 var birdDivOptions = { 111 var birdDivOptions = {
111 dw : settings.birdDivWidth, 112 dw : settings.birdDivWidth,
311 buttons : {}, 312 buttons : {},
312 actions : {}, 313 actions : {},
313 fn : {}, 314 fn : {},
314 plugins : {} 315 plugins : {}
315 }; 316 };
316 317
317 if ($.fn.digilib == null) { 318 if ($.fn.digilib == null) {
318 $.error("jquery.digilib.birdview must be loaded after jquery.digilib!"); 319 $.error("jquery.digilib.birdview must be loaded after jquery.digilib!");
319 } else { 320 } else {
320 $.fn.digilib('plugin', digilib); 321 $.fn.digilib('plugin', digilib);
321 } 322 }