Skip to content

A fast-rendering, single-selection, canvas control allowing custom drawing of a filtered, sorted list of items.

License

Notifications You must be signed in to change notification settings

massung/racket-canvas-list

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Racket Canvas List

This is a fast-rendering, single-selection, canvas control allowing custom drawing for a list of items. It can handle extremely large lists as it only renders what's visible on the screen. Additionally, it supports:

  • Single selection
  • Keyboard and mouse navigation
  • Context menus
  • Mouse hovering
  • Alternate row colors
  • Primary key indexing with sorting and filtering

Example Usage

(define frame
  (new frame%
       [label "List Canvas"]
       [width 260]
       [height 400]))

(define canvas
  (new canvas-list%
       [parent frame]
       [items (range 1000)]
       [action-callback (λ (canvas item)
                          (displayln item))]))

(send frame show #t)

Documentation

Check out the scribble documentation.

Screenshot

This is a screenshot of my own, personal, Hacker News reader made with this control.

About

A fast-rendering, single-selection, canvas control allowing custom drawing of a filtered, sorted list of items.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages