Thanks Wayne Have noticed another 'feature'. Its a problem with using keyboard shortcuts after you type in a chemical shift value in the bottom left hand corner of the 3D window to select a specific plane. The typing cursor stays in where you type in the number - so if you now try to type 'm' for mark in the spectrum itself then it just goes into the chemical shift part and does not create a mark, the only way I found I could use the keyboard shortcuts was to close the 3D window completely and re-open it. Richard ________________________________________ From: CcpNmr software mailing list [[log in to unmask]] on behalf of Wayne Boucher [[log in to unmask]] Sent: Monday, March 12, 2012 2:32 PM To: [log in to unmask] Subject: Re: Markers in Windows 2.1.5 OK, I've figured it out. It turns out that the way Windows handles the x,y coordinates of events when you have multiple strips is completely different than in Unix, and in particular you get the x, y of the point relative to the top left of the window rather than relative to the strip top left. So we added a function just for Windows which corrects for this. It corrects for y by subtracting off the height of the toolbar (already something that worries me). It corrects for x by figuring out which strip you are in (if there is more than one) and subtracting off the relevant number for this (which can only be obtained by looking at where the point is relative to the top left of the screen). This was missing logic to exactly deal with the case when the mark was in the last strip, so the x was coming out relative to the top left of the screen instead of relative to the top left of that last strip. Anyway, this will be fixed in the next (2.2.2) release. If you can figure out how to edit the code (you probably need Administrator priviliges) then in the file ccpn/python/ccpnmr/analysis/frames/WindowFrame.py look for the function modifyKeyEvent() and you'll see: else: for col in range(ncols-1): canvas = canvases[0][col+1] #print 'modifyKeyEvent: in x loop:', col, x, canvas.winfo_rootx() if x < canvas.winfo_rootx(): canvas = canvases[0][col] x = x - canvas.winfo_rootx() break else: canvas = canvases[0][ncols-1] x = x - canvas.winfo_rootx() where the bottom three lines are extra (i.e. the fix). Your email client has probably mashed the indentation: that final "else:" should be lined up with the "for" (i.e. the "e" in the same column as the "f"), and the other two lines indented two spaces extra relative to that. Further down the y also needs changing: else: for row in range(nrows-1, 0, -1): canvas = canvases[row-1][0] #print 'modifyKeyEvent: in y loop:', col, y, canvas.winfo_rooty() if y < canvas.winfo_rooty(): canvas = canvases[row][0] y = y - canvas.winfo_rooty() break else: canvas = canvases[0][0] y = y - canvas.winfo_rooty() So again the three lines at the bottom are extra. Wayne On Mon, 12 Mar 2012, Richard Harris wrote: > Hi Wayne > > Yes that is what I am seeing just the last (righthand most) strip window - I didn't realise that the vertical portion of the mark was offset. > > richard > > ________________________________________ > From: CcpNmr software mailing list [[log in to unmask]] on behalf of Wayne Boucher [[log in to unmask]] > Sent: Monday, March 12, 2012 1:29 PM > To: [log in to unmask] > Subject: Re: Markers in Windows 2.1.5 > > One other thing I just noticed. In the last strip, it is in fact creating > a proper mark, both horizontal and vertical, it's just that the vertical > one is at some semi-random (unintended) location, i.e. not where you > clicked, so you just don't see it on the screen. > > Wayne > > On Mon, 12 Mar 2012, Wayne Boucher wrote: > >> Hello, >> >> Just trying it now, it looks like the Marks are created ok except for the >> rightmost strip (when there is more than one strip), is that what you are >> seeing, or is it not working for any set of strips. (So one of the weird >> things is that it is working ok for me if there are no strips.) >> >> Wayne >> >> On Mon, 12 Mar 2012, Richard Harris wrote: >> >>> Hi All >>> >>> I think there might be a bug in the 2.1.5 Windows version. >>> When putting a Mark on a spectrum in a 3D window that is not H(x), N(y) it >>> seems to only draw a horizontal line rather than a full mark. I've seen >>> this behaviour in both a H(x), H(y), N(z) and H(x), C(y), N(z) windows, but >>> it marks fine in the orthogonal windows - H(x), N(y), C/H(z) windows. >>> >>> Richard >> >