Advertisement
Guest User

Untitled

a guest
Feb 12th, 2013
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 1.19 KB | None | 0 0
  1. #lang racket/gui
  2.  
  3. (define my-tabs-list '("Tab 0" "Tab 1" "Tab 2"))
  4.  
  5. (define root-wnd
  6.   (new frame%
  7.        [label "Test"]
  8.        [width 300]
  9.        [height 300]
  10.        ))
  11.  
  12. (define tab-panel
  13.   (new tab-panel%
  14.        [parent root-wnd]
  15.        [choices my-tabs-list]
  16.        [callback (lambda (tp e) (change-tab (send tp get-selection)))]))
  17.  
  18. (define (change-tab tab-no)
  19.   (case tab-no
  20.     [(0) (send tab-panel change-children (lambda (children) (list a-panel)))]
  21.     [(1) (send tab-panel change-children (lambda (children) (list b-panel)))]
  22.     [(2) (send tab-panel change-children (lambda (children) (list c-panel)))]
  23.     ))
  24.  
  25. (define a-panel
  26.   (new panel%
  27.        [parent tab-panel]
  28.        ))
  29.  
  30. (define a-panel-message
  31.   (new message%
  32.        [parent a-panel]
  33.        [label "A-panel"]
  34.        ))
  35.  
  36. (define b-panel
  37.   (new panel%
  38.        [parent tab-panel]
  39.        ))
  40.  
  41. (define b-panel-message
  42.   (new message%
  43.        [parent b-panel]
  44.        [label "B-panel"]
  45.        ))
  46.  
  47. (define c-panel
  48.   (new panel%
  49.        [parent tab-panel]
  50.        ))
  51.  
  52. (define c-panel-message
  53.   (new message%
  54.        [parent c-panel]
  55.        [label "C-panel"]
  56.        ))
  57.  
  58. (change-tab 0)
  59.  
  60. (send root-wnd show #t)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement