Mercurial > hg > digilib
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; |