gtk: list-box dclick
original commit: 08bf77deeb260e91545a4df83dd4e5a5c3a00a99
This commit is contained in:
parent
dd3cb0f4a9
commit
b1f7ed6927
|
@ -70,6 +70,13 @@
|
||||||
(when wx
|
(when wx
|
||||||
(send wx queue-changed)))))
|
(send wx queue-changed)))))
|
||||||
|
|
||||||
|
(define-signal-handler connect-activated "row-activated"
|
||||||
|
(_fun _GtkWidget _pointer _pointer -> _void)
|
||||||
|
(lambda (gtk path column)
|
||||||
|
(let ([wx (gtk->wx gtk)])
|
||||||
|
(when wx
|
||||||
|
(send wx queue-activated)))))
|
||||||
|
|
||||||
(defclass list-box% item%
|
(defclass list-box% item%
|
||||||
(init parent cb
|
(init parent cb
|
||||||
label kind x y w h
|
label kind x y w h
|
||||||
|
@ -132,12 +139,13 @@
|
||||||
(set-auto-size)
|
(set-auto-size)
|
||||||
|
|
||||||
(connect-changed selection)
|
(connect-changed selection)
|
||||||
|
(connect-activated client-gtk)
|
||||||
|
|
||||||
(define/override (get-client-gtk) client-gtk)
|
(define/override (get-client-gtk) client-gtk)
|
||||||
|
|
||||||
(define callback cb)
|
(define callback cb)
|
||||||
(define ignore-click? #f)
|
(define ignore-click? #f)
|
||||||
(define/public (queue-changed)
|
(define/private (do-queue-changed type)
|
||||||
;; Called from event-handling thread
|
;; Called from event-handling thread
|
||||||
(unless ignore-click?
|
(unless ignore-click?
|
||||||
(queue-window-event
|
(queue-window-event
|
||||||
|
@ -145,9 +153,15 @@
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(unless (null? items)
|
(unless (null? items)
|
||||||
(callback this (new control-event%
|
(callback this (new control-event%
|
||||||
[event-type 'list-box]
|
[event-type type]
|
||||||
[time-stamp (current-milliseconds)])))))))
|
[time-stamp (current-milliseconds)])))))))
|
||||||
|
|
||||||
|
(define/public (queue-changed)
|
||||||
|
(do-queue-changed 'list-box))
|
||||||
|
|
||||||
|
(define/public (queue-activated)
|
||||||
|
(do-queue-changed 'list-box-dclick))
|
||||||
|
|
||||||
(define/private (get-iter i)
|
(define/private (get-iter i)
|
||||||
(atomically
|
(atomically
|
||||||
(let ([iter (make-GtkTreeIter 0 #f #f #f)]
|
(let ([iter (make-GtkTreeIter 0 #f #f #f)]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user