Changeset 30461


Ignore:
Timestamp:
2016-04-03T23:04:49+12:00 (8 years ago)
Author:
davidb
Message:

Goto form added in. More careful control of padding of elmements. Post-it mouse events restricted to be on 'thispage'. More careful conversion of CGI params to be numeric in JavaScript, where needed.

Location:
main/trunk/model-sites-dev/mozarts-laptop/collect/digital-music-stand/script
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/model-sites-dev/mozarts-laptop/collect/digital-music-stand/script/annotate-main.js

    r30460 r30461  
    1919    coord_div.innerHTML = mouseX + ", " + mouseY;
    2020
    21 
    22      //get container padding using Dom's getStyle():
     21    var containerRegion = YAHOO.util.Dom.getRegion("thispage");
     22    var containerXL = containerRegion.left;
     23    var containerXR = containerRegion.right;
     24    var containerYT = containerRegion.top;
     25    var containerYB = containerRegion.bottom;
     26       
     27    if (((mouseX < containerXL) || (mouseX > containerXR))
     28    || ((mouseY < containerYT) || (mouseY > containerYB))) {
     29    return; // outside of page image, so no post-it moving or resizing to do
     30    }
     31
    2332    var containerPaddingX = parseInt(YAHOO.util.Dom.getStyle("thispage","padding-left"), 10);
    2433    var containerPaddingY = parseInt(YAHOO.util.Dom.getStyle("thispage","padding-top"), 10);
     34
     35   
     36     //get container padding using Dom's getStyle():
    2537    //var newWidth = clickX - containerX - containerPaddingX;
    2638    //var newHeight = clickY - containerY - containerPaddingY;
     
    205217function keyPress(e)
    206218{
    207     if (e.keyID == "Escape") {
    208        musicStand.cancelPageAnim();
     219    console.log("keyPress: keyCode = " + e.keyCode);
     220   
     221    if (e.keyCode == 27) /* escape pressed */ {
     222    de.cursor.setCursor(null);
     223    musicStand.cancelPageAnim();
    209224    }
    210225
     
    215230
    216231    if (cursorInfo==null) {
    217         newAnnotation = true;
     232
     233    var containerX = YAHOO.util.Dom.getX("thispage");
     234    var containerY = YAHOO.util.Dom.getY("thispage");
     235
     236    //var containerPaddingX = parseInt(YAHOO.util.Dom.getStyle("thispage","padding-left"), 10);
     237    //var containerPaddingY = parseInt(YAHOO.util.Dom.getStyle("thispage","padding-top"), 10);
     238
     239    var containerRegion = YAHOO.util.Dom.getRegion("thispage");
     240    var containerXL = containerRegion.left;
     241    var containerXR = containerRegion.right;
     242    var containerYT = containerRegion.top;
     243    var containerYB = containerRegion.bottom;
     244   
     245   
     246    if (   ((mouseX >= containerXL) && (mouseX <= containerXR))
     247        && ((mouseY >= containerYT) && (mouseY <= containerYB))) {
     248            newAnnotation = true;
     249    }
    218250    }
    219251    else if (expeditee) {
     
    242274
    243275    if (newAnnotation) {
    244       // control/shift being down marks beginning key accelerators such
    245       // as ctrl-r or similar
    246       // => ignore here, but let it bubble up further
    247 
    248     var isAccelDown = de.events.Keyboard.isAcceleratorDown(e);
     276    // control/shift being down marks beginning of short-cut keys,
     277    // such as Ctrl-r or similar
     278    // => ignore here, but let it bubble up further
     279
     280    var isAccelDown = de.events.Keyboard.isAcceleratorDown(e); // meta-key on mac, control-key on rest of OSes
    249281    var isShiftDown = e.shiftKey;
    250     //console.log("**** is accel down: " + isAccelDown);
    251     //console.log("**** is shift down: " + isShiftDown);
    252     //if (e.isAccelDown() || e.isShiftDown()) { return true; }
    253282    if (isAccelDown || isShiftDown) { return true; }
    254283
    255       if (e.keyID == "Escape") {
    256           // deactivate cursor !!!???????
    257           de.cursor.setCursor(null);
    258           return true;
    259       }
    260 
    261       console.log("*** mouse: ("+mouseX+","+mouseY+")");
    262    
    263       var newAI = annotate.createAnnotation(mouseX-8,mouseY-14,null,"20","&nbsp;");
    264 
    265       var annotateCanvasElem = document.getElementById("annotateCanvas");
    266       annotateCanvasElem.appendChild(newAI);
    267 
    268       var editableElems = getElementsByClass("editable-",newAI);
    269       var editableElem = editableElems[0];
    270 
    271       //var startCursor = de.cursor.createCursor(editableElem.firstChild,0,false);
    272       var startCursor = de.cursor.createCursorDesc(editableElem.firstChild,0,false);
    273       de.cursor.setCursor(startCursor);
    274 
     284    if (e.keyCode == 27) /* escape pressed */ {
     285        de.cursor.setCursor(null);
     286        return true;
     287    }
     288   
     289    console.log("*** mouse: ("+mouseX+","+mouseY+")");
     290    var containerX = YAHOO.util.Dom.getX("thispage");
     291    var containerY = YAHOO.util.Dom.getY("thispage");
     292    var localMouseX = mouseX - containerX;
     293    var localMouseY = mouseY - containerY;
     294   
     295    //var newAI = annotate.createAnnotation(mouseX-8,mouseY-14,null,"20","&nbsp;");
     296    var newAI = annotate.createAnnotation(localMouseX-4,localMouseY-6,null,"20","&nbsp;");
     297       
     298    var annotateCanvasElem = document.getElementById("annotateCanvas");
     299    annotateCanvasElem.appendChild(newAI);
     300   
     301    var editableElems = getElementsByClass("editable-",newAI);
     302    var editableElem = editableElems[0];
     303   
     304    //var startCursor = de.cursor.createCursor(editableElem.firstChild,0,false);
     305    var startCursor = de.cursor.createCursorDesc(editableElem.firstChild,0,false);
     306    de.cursor.setCursor(startCursor);
     307   
    275308    }
    276309     
  • main/trunk/model-sites-dev/mozarts-laptop/collect/digital-music-stand/script/annotate.js

    r30460 r30461  
    142142
    143143  this.saveAnnotation = function(annotateWrapper,editedElem)
    144   {
     144    {
     145    console.log("**** terminating saveAnnotation() as gsapi not ported");
     146    return;
     147   
    145148       var docoid = editedElem.getAttribute("docoid");
    146149       
     
    206209
    207210  this.loadAnnotation = function(docoid,metapos)
    208   {
     211    {
     212    console.log("**** terminating loadAnnotation() as gsapi not ported");
     213    return;
     214   
    209215      var annotationMetaname = "annotation";
    210216      var rectposMetaname    = "rectpos";
     
    240246
    241247  this.loadAnnotations = function(docoid)
    242   {
     248    {
     249    console.log("*** terminating loadAnnotations() as gsapi not ported");
     250    return;
     251   
    243252      numAnnotations = 0;
    244253     
     
    293302      }
    294303
    295       gsapi.removeDocumentMetadata(docoid,annotationMetaname,removeMetapos);
    296       gsapi.removeDocumentMetadata(docoid,rectposMetaname,removeMetapos);
     304      console.log("*** removeAnnotation(): supressing removeDocumentMetadata() as gsapi not ported");
     305     
     306      //gsapi.removeDocumentMetadata(docoid,annotationMetaname,removeMetapos);
     307      //gsapi.removeDocumentMetadata(docoid,rectposMetaname,removeMetapos);
    297308      numAnnotations--;
    298       gsapi.setLiveMetadata(docoid,numAnnotationsMetaname,numAnnotations);
     309      //gsapi.setLiveMetadata(docoid,numAnnotationsMetaname,numAnnotations);
    299310  }
    300311}
  • main/trunk/model-sites-dev/mozarts-laptop/collect/digital-music-stand/script/musicstand-main.js

    r30456 r30461  
    22var cgiGotoPage;
    33if (gs.cgiParams["gp"]) {
    4     cgiGotoPage = gs.cgiParams["gp"];
     4    cgiGotoPage = Number(gs.cgiParams["gp"]);
    55}
    66else {
     
    99
    1010var expeditee;
    11 if (gs.cgiParams["expeditee"]) {
     11if (gs.cgiParams["expeditee"] == "1") {
    1212    expeditee = true;
    1313}
     
    1919var musicStand
    2020    = new MusicStand(httpdocument, gs.cgiParams["c"], gs.cgiParams["d"], gs.documentMetadata["assocfilepath"],
    21              gs.cgiParams["numPages"], cgiGotoPage,
    22              gs.cgiParams["pageWidth"], gs.cgiParams["pageHeight"],
    23              gs.cgiParams["scaleFactor"]);
     21             Number(gs.cgiParams["numPages"]), cgiGotoPage,
     22             Number(gs.cgiParams["pageWidth"]), Number(gs.cgiParams["pageHeight"]),
     23             Number(gs.cgiParams["scaleFactor"]));
    2424
    2525musicStand.setStyleColors(gs.variables["postitBgCol"],gs.variables["postitSelCol"]);
     
    4242      }
    4343      catch(err) {
    44       alert("Failed to initialise: " + err.message);
     44      alert("musicstand-main.js: Failed to initialise: " + err.message);
    4545      }
    4646});
     
    9696  var thisImg = document.createElement('img');
    9797  thisImg.onload = function (evt) {
    98       //var annotateCanvasElem = document.getElementById("annotateCanvas");
    99       //annotateCanvasElem.style.display = "none";
    100 
    101       //annotate.loadAnnotations(musicStand.getDocOID());
     98      var annotateCanvasElem = document.getElementById("annotateCanvas");
     99      annotateCanvasElem.style.display = "none";
     100
     101      annotate.loadAnnotations(musicStand.getDocOID());
    102102
    103103      var thisLoading = document.getElementById("loading");
     
    108108      thisPageImg.src = thisImg.src;
    109109
    110       //annotateCanvasElem.style.display = "block";
     110      annotateCanvasElem.style.display = "block";
    111111  }
    112112
    113   // alert("url = " + thisPageUrl);
     113  //alert("**** thisPageUrl = " + thisPageUrl);
    114114
    115115  thisImg.src = thisPageUrl;
     
    120120  var nextPageUrl = musicStand.httpnextanim(gs.cgiParams["pagePrefix"],gs.cgiParams["pageSuffix"],musicStand.getPageNum()+1);
    121121
    122   var nextImg = document.createElement('img');
    123   //nextImg.onload = function (evt) {
    124   //nextPageImg.onload = function (evt) {
    125   //   
    126   //}
     122  //var nextImg = document.createElement('img');
     123  ////nextImg.onload = function (evt) {
     124  ////nextPageImg.onload = function (evt) {
     125  ////   
     126  ////}
    127127  nextPageImg.src = nextPageUrl;
    128128
     129    if (musicStand.getPageNum()>1) {
     130    // setup previous page, as page-1
     131    var prevPageImg = document.getElementById("prevpageimg");
     132    var prevPageUrl = musicStand.httpprevanim(gs.cgiParams["pagePrefix"],gs.cgiParams["pageSuffix"],musicStand.getPageNum()-1);
     133
     134    //var prevImg = document.createElement('img');
     135    prevPageImg.src = prevPageUrl;
     136    }
     137   
    129138  // some browsers clear clip rectangle with new image => set it to what we need
    130139  var nextpagediv = document.getElementById("nextpagediv");
     
    143152
    144153
    145   var thispage = document.getElementById("thispage");
     154    var thispage = document.getElementById("thispage");
    146155
    147156  //YAHOO.util.Event.addListener("thispage", 'mouseover', trackMouse);
     
    158167    //de.events.addHandler(document,"keypress",keyPress);
    159168    de.events.addHandler(document,"keystroke",keyPress);
     169
     170    //de.events.addHandler(thispage,"keystroke",keyPress);
     171
     172    //thispage.addEventListener("keydown", keyPress);
     173    //thispage.addEventListener("keypress", keyPress);
     174
     175
     176    //var gotoNavBar = document.getElementById("gotoNavBar");
     177    //gotoNavBar.addEventListener("keydown", keyPress);
     178    //gotoNavBar.addEventListener("keypress", keyPress);
     179
     180    //$('#gotoNavBar').bind('keydown',keyPress);
     181    //$('#gotoNavBar').focus();
     182             
     183   
     184    //YAHOO.util.Event.addListener("thispage", 'keydown', keyPress);
     185   
    160186}
    161187
     
    217243    var trackbelow = document.getElementById('slidertrackbelow');
    218244    trackbelow.style.top = speedBreak + "px";
    219     trackbelow.style.height = (gs.cgiParams["pageHeight"] - speedBreak) + "px";
     245    trackbelow.style.height = (Number(gs.cgiParams["pageHeight"]) - speedBreak) + "px";
    220246
    221247    }
     
    268294    var trackbelow = document.getElementById('slidertrackbelow');
    269295    trackbelow.style.top = speedBreak + "px";
    270     trackbelow.style.height = (gs.cgiParams["pageHeight"] - speedBreak) + "px";
    271 }
    272 
     296    trackbelow.style.height = (Number(gs.cgiParams["pageHeight"]) - speedBreak) + "px";
     297}
     298
  • main/trunk/model-sites-dev/mozarts-laptop/collect/digital-music-stand/script/musicstand.js

    r30446 r30461  
    344344  }
    345345
     346
     347  httpprevanimPrivate = function(pagePrefix,pageSuffix,prevPageNum)
     348  {
     349    var imgserver = imageserverURL();
     350
     351    var screenWidth = screen.width;
     352    var screenHeight = screen.height;
     353
     354    prevPageNum--; // filenames use values one less that pageNum
     355
     356    var url = imgserver + "?a=fit-screen"
     357    url += "&c="+collect;
     358    url += "&site="+site;
     359    url += "&pageWidth="+pageXDim;
     360    url += "&pageHeight="+pageYDim;
     361    url += "&assocDir=" + assocDir;
     362    url += "&assocFile=" + pagePrefix;
     363
     364
     365    if (totalPageCount>1) {
     366      url += "-" + prevPageNum;
     367    }
     368    url += pageSuffix;
     369
     370    if (orientation == "landscape") {
     371        url += "&orientation=landscape";
     372    }
     373
     374    return url;
     375  }
     376
     377  this.httpprevanim = function(pagePrefix,pageSuffix,prevPageNum)
     378  {
     379      return httpprevanimPrivate(pagePrefix,pageSuffix,prevPageNum);
     380  }
     381
     382
     383   
    346384  nextPageAnimPrivate = function(pagePrefix,pageSuffix)
    347385  {
Note: See TracChangeset for help on using the changeset viewer.