comparison client/digitallibrary/dllib.js @ 235:37a7267bd2c7

new version with false setMark ;-)
author robcast
date Tue, 20 Jul 2004 20:00:27 +0200
parents fd9b841cb976
children 2f4764230089
comparison
equal deleted inserted replaced
234:fd9b841cb976 235:37a7267bd2c7
12 12
13 You should have received a copy of the GNU General Public License 13 You should have received a copy of the GNU General Public License
14 along with this program; if not, write to the Free Software 14 along with this program; if not, write to the Free Software
15 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 15 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
16 16
17 Authors: ROC 3.5.2004 17 Authors: ROC 20.7.2004
18 first version by Christian Luginbuehl, 01.05.2003 18 first version by Christian Luginbuehl, 01.05.2003
19 Changed for digiLib in Zope by DW 24.03.2004 19 Changed for digiLib in Zope by DW 24.03.2004
20 20
21 Requires baselib.js ! 21 Requires baselib.js !
22 22
23 */ 23 */
24 24
25 var dlScriptVersion = "0.9a1"; 25 var dlScriptVersion = "1.0b1";
26 26
27 /* 27 /*
28 * more parameter handling 28 * more parameter handling
29 */ 29 */
30 30
123 } 123 }
124 124
125 function addFlag(mode) { 125 function addFlag(mode) {
126 // add a mode flag 126 // add a mode flag
127 dlFlags[mode] = mode; 127 dlFlags[mode] = mode;
128 setParameter("mo", getAllFlags());
128 return true; 129 return true;
129 } 130 }
130 131
131 function removeFlag(mode) { 132 function removeFlag(mode) {
132 // remove a mode flag 133 // remove a mode flag
133 if (dlFlags[mode]) { 134 if (dlFlags[mode]) {
134 delete dlFlags[mode]; 135 delete dlFlags[mode];
135 } 136 }
137 setParameter("mo", getAllFlags());
136 return true; 138 return true;
137 } 139 }
138 140
139 function toggleFlag(mode) { 141 function toggleFlag(mode) {
140 // change a mode flag 142 // change a mode flag
141 if (dlFlags[mode]) { 143 if (dlFlags[mode]) {
142 delete dlFlags[mode]; 144 delete dlFlags[mode];
143 } else { 145 } else {
144 dlFlags[mode] = mode; 146 dlFlags[mode] = mode;
145 } 147 }
148 setParameter("mo", getAllFlags());
146 return true; 149 return true;
147 } 150 }
148 151
149 function getAllFlags() { 152 function getAllFlags() {
150 // returns a string with all flags in query format 153 // returns a string with all flags in query format
279 } 282 }
280 } 283 }
281 } 284 }
282 285
283 286
284 function setMark() { 287 function setMark(reload) {
285 // add a mark where clicked 288 // add a mark where clicked
286 if ( dlMarks.length > 7 ) { 289 if ( dlMarks.length > 7 ) {
287 alert("Only 8 marks are possible at the moment!"); 290 alert("Only 8 marks are possible at the moment!");
288 return; 291 return;
289 } 292 }
291 function markEvent(evt) { 294 function markEvent(evt) {
292 // event handler adding a new mark 295 // event handler adding a new mark
293 unregisterMouseDown(elemScaler, markEvent); 296 unregisterMouseDown(elemScaler, markEvent);
294 var p = dlTrafo.invtransform(evtPosition(evt)); 297 var p = dlTrafo.invtransform(evtPosition(evt));
295 addMark(p); 298 addMark(p);
299 if (defined(reload)&&(!reload)) {
300 // don't redisplay
301 renderMarks();
302 return;
303 }
296 display(); 304 display();
297 } 305 }
298 306
299 // starting event capture 307 // starting event capture
300 registerMouseDown(elemScaler, markEvent); 308 registerMouseDown(elemScaler, markEvent);
309 }
310
311
312 function removeMark(reload) {
313 // remove the last mark
314 deleteMark();
315 if (defined(reload)&&(!reload)) {
316 // don't redisplay
317 renderMarks();
318 return;
319 }
320 display();
301 } 321 }
302 322
303 323
304 function zoomArea() { 324 function zoomArea() {
305 var click = 1; 325 var click = 1;
381 401
382 var ZOOMFACTOR = Math.sqrt(2); 402 var ZOOMFACTOR = Math.sqrt(2);
383 403
384 function zoomBy(factor) { 404 function zoomBy(factor) {
385 // zooms by the given factor 405 // zooms by the given factor
386 var newarea = dlArea; 406 var newarea = dlArea.copy();
387 newarea.width /= factor; 407 newarea.width /= factor;
388 newarea.height /= factor; 408 newarea.height /= factor;
389 newarea.x -= 0.5 * (newarea.width - dlArea.width); 409 newarea.x -= 0.5 * (newarea.width - dlArea.width);
390 newarea.y -= 0.5 * (newarea.height - dlArea.height); 410 newarea.y -= 0.5 * (newarea.height - dlArea.height);
391 newarea = dlMaxArea.fit(newarea); 411 newarea = dlMaxArea.fit(newarea);
427 // starting event capture 447 // starting event capture
428 registerMouseDown(elemScaler, moveCenterEvent); 448 registerMouseDown(elemScaler, moveCenterEvent);
429 } 449 }
430 450
431 451
432 function removeMark() {
433 // remove the last mark
434 deleteMark();
435 renderMarks();
436 }
437
438 452
439 function getRef() { 453 function getRef() {
440 // returns a reference to the current digilib set 454 // returns a reference to the current digilib set
441 if (! baseUrl) { 455 if (! baseUrl) {
442 var baseUrl = location.protocol + "//" + location.host + location.pathname; 456 var baseUrl = location.protocol + "//" + location.host + location.pathname;