added set-flip-labels?
svn: r14386
This commit is contained in:
parent
03ef481766
commit
c5d2342999
|
@ -252,6 +252,7 @@
|
||||||
set-arrowhead-params
|
set-arrowhead-params
|
||||||
get-arrowhead-params
|
get-arrowhead-params
|
||||||
set-draw-arrow-heads?
|
set-draw-arrow-heads?
|
||||||
|
set-flip-labels?
|
||||||
draw-edges))
|
draw-edges))
|
||||||
|
|
||||||
(define-struct rect (left top right bottom))
|
(define-struct rect (left top right bottom))
|
||||||
|
@ -264,23 +265,21 @@
|
||||||
[edge-labels? #t])
|
[edge-labels? #t])
|
||||||
|
|
||||||
(define draw-arrow-heads? #t)
|
(define draw-arrow-heads? #t)
|
||||||
|
(define flip-labels? #t)
|
||||||
(inherit refresh get-admin)
|
(inherit refresh get-admin)
|
||||||
(define/public (set-draw-arrow-heads? x)
|
(define (refresh*)
|
||||||
(set! draw-arrow-heads? x)
|
|
||||||
(let ([admin (get-admin)])
|
(let ([admin (get-admin)])
|
||||||
(when admin
|
(when admin
|
||||||
(let ([xb (box 0)]
|
(let ([xb (box 0)] [yb (box 0)] [wb (box 0)] [hb (box 0)])
|
||||||
[yb (box 0)]
|
|
||||||
[wb (box 0)]
|
|
||||||
[hb (box 0)])
|
|
||||||
(send admin get-view xb yb wb hb)
|
(send admin get-view xb yb wb hb)
|
||||||
(send admin needs-update
|
(send admin needs-update
|
||||||
(unbox xb)
|
(unbox xb) (unbox yb) (unbox wb) (unbox hb))))))
|
||||||
(unbox yb)
|
(define/public (set-draw-arrow-heads? x)
|
||||||
(unbox wb)
|
(set! draw-arrow-heads? x)
|
||||||
(unbox hb))))))
|
(refresh*))
|
||||||
|
(define/public (set-flip-labels? x)
|
||||||
|
(set! flip-labels? x)
|
||||||
|
(refresh*))
|
||||||
|
|
||||||
(define arrowhead-angle-width (* 1/4 pi))
|
(define arrowhead-angle-width (* 1/4 pi))
|
||||||
(define arrowhead-short-side 8)
|
(define arrowhead-short-side 8)
|
||||||
|
@ -644,7 +643,8 @@
|
||||||
[arrowhead-end (make-rectangular arrow-end-x arrow-end-y)]
|
[arrowhead-end (make-rectangular arrow-end-x arrow-end-y)]
|
||||||
[vec (- arrowhead-end from-pt)]
|
[vec (- arrowhead-end from-pt)]
|
||||||
[angle (- (angle vec))]
|
[angle (- (angle vec))]
|
||||||
[flip? (not (< (/ pi -2) angle (/ pi 2)))]
|
[flip? (and flip-labels?
|
||||||
|
(not (< (/ pi -2) angle (/ pi 2))))]
|
||||||
[angle (if flip? (+ angle pi) angle)]
|
[angle (if flip? (+ angle pi) angle)]
|
||||||
[middle (+ from-pt
|
[middle (+ from-pt
|
||||||
(- (* 1/2 vec)
|
(- (* 1/2 vec)
|
||||||
|
|
|
@ -45,6 +45,17 @@ different nodes.
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@defmethod[(set-draw-arrow-heads? [flip-labels? any/c])
|
||||||
|
void?]{
|
||||||
|
|
||||||
|
Sets a boolean controlling whether or not arrow labels are flipped so
|
||||||
|
the are always right-side-up.
|
||||||
|
|
||||||
|
This setting does not affect self-links---only links between two
|
||||||
|
different nodes.
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@defmethod[(draw-edges [dc (is-a?/c dc<%>)]
|
@defmethod[(draw-edges [dc (is-a?/c dc<%>)]
|
||||||
[left real?]
|
[left real?]
|
||||||
[top real?]
|
[top real?]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user