Posted to tcl by schelte at Tue Aug 16 19:55:52 GMT 2011view raw

  1. #!/usr/bin/tclsh
  2.  
  3. package require Tk
  4.  
  5. image create photo img-unchecked -data {
  6. R0lGODlhKAAoAOf/AAABAAcKBgsNChcXDxYYFR0dFjs3Jjw4KDw6Ljs6Mzw7NFNUUlpcWXFuT3By
  7. b3p3aYV4UIB7V4J8aoF+cJuNAImIbp2OAp6PBKKNFpWMXJ+QF6WQGqGTG6SVEKSVHaWWH6SWKKuV
  8. IZiTbZSTeaaXIJWUeqGTaqGXR6iZI6qaJK6ZJKSaSaKbb62eMZ+be6+fKq6fMrCgK6+gM7OkN6ij
  9. arWmObqlQqqkfrOpXq6ogtaiSK6qcMGqP8GoU7OtbcStQrGuerSvdcCxS7yzRLiwg761TbmxhMS0
  10. Triyi8G4ULi0k8a3UcS4ZbS2s8W5Z8e7abi6t8a+d7q8uf+2M/y4Mv+3NLy+u/25M/y5PL2/vP66
  11. Nc3FY8TAsv67Pv+8P8DCvvq+PsLEwfLAXP3AQcPFwv7BQufFcfvEQsXHxOLHcf7CUujGcvzFQ8bI
  12. xcvIuf7DW8fJxv3GReTJc+PJef7HRuXKdPrJRejLbv/GXvrKTvXMTujMdvzLSNDOstTQm8vOyuPP
  13. ffnOSPjOUPvMX/nPUc7QzPrQUs/RzuHUgP3PYf/Od/HRidLU0dfVud7VqPnWVuPYifTYXuLZkfbZ
  14. V+DYquXajPnYZvjaWPfaYNbY1fnbWfDZlPjcYdja1u3faNnb1/XfYvjZl//Ykf3ahO/ffdrc2ffa
  15. nuLeu9vd2vrfa/bhZP/Zmdze2/jiZffibPTkZuTgvd3f3PXfod7g3fXmZ9/h3v/eo/bnaPXnb+Di
  16. 3/3go+3lo/bocPvhsffpcffnhfbpeP/ipf3iq/Xpf/zkn+Pl4ffqefTmrPbqgP/jrOTm4/7moeXn
  17. 5PfsgevpzObo5fjtgv3mu/ftiefp5v7nvPLsr/juivbukPvptvjvkfbvmPfst/vumPfwmers6PHt
  18. 3vzwoezu6/rvuvvxqP/uwf3yqfvyr+7w7f7xtu/x7vTx4fvyw/z0sPr0t/Dy7/by4/v1uPr1vvj2
  19. xfL08fP18v/2x/32zf/4z/b49Pf59vn7+Pr8+fv9+vz/+/7//P///yH5BAEKAP8ALAQABAAgACAA
  20. AAj+ABUIHEiwoMGDBf0pXMiwocOHCgVCnEhxocSJ+045efGBwocXTk7tm3jRIT8/JIpA2rbO3rpq
  21. iIR88MPvYUmG72Qk2SavnDZpyJBJ64bu2JEW7xzeVOiMhCR74LJJlQoU2K1f4gB9cNZw6bsUu+JJ
  22. BUcWXLdsQHm9wrRsU4qkFhU0rFGpnbRs4MqZ21suqjRjt1Q9IlZnBsOblJbEQ4a3HBECSOCZK+dj
  23. AA5eqi4RSvbDUdyF/FJUQ4vXHAIACerBK2cAgAFgrzQnCpWipr+SsIa0AyZNGzhzAgAIuBcPOIAA
  24. 0mITiqOLB6yIchU+QcQNGLTSwQXYW509ueY4isz+PIG+8MWxYb4Y5z2tQN7k0waQZRZ0Ro2pFuQV
  25. ftjmipexu+AYUYASk4ETRAFAYPYIH2N00UsH+flDATmY3JKeNdl0U+BZd8GmyXJgTBENBRF+gA0m
  26. qtwCjFBTUYWML4EtOIYWDkJ4W3T+tCCLJZek6IsxyERRwQMOTCDCFpkt18UU9uF340JPyDEKIT2+
  27. 4kkEC0hQggsjPMBABnrYMcYUU4Q33pMKwcJDMHYQ8kgkDbBACi9quZLKHiZAAIYWZNriXIT8qBDK
  28. IHEE0sMdl1yiSaKPEMIHHWLoQOYbtNl2kyM/JDPGGXnwEQghoArCRxwNkjkFFrZ09hlDM6whihbc
  29. YGwax6xjjLGnqVOIsoZhqy70TgiLrLIkFVoUSwWuU3SxyiIhfHMYjv7ok04jH8yRzBvI4vpGMnNw
  30. 0Mc07ugTobTPfOIGCDyYYosiaizZhRqK2GIKDyBwwQgrz7hTU0n5nFPMJ4WQsYMGNqRhSi/U9GJK
  31. GjZoQAMUaBTySTHn7AstPd7k0kkhaEiRwwobYEABBhuccEMTVkTcSS7hiIvmQvu4M00tnTDyRxth
  32. fJFFFl+QAccfjHxSizf5PAvRPvi4400xtcwSSyyz5DJNOPO43BW0FWUdF0Jcd01QQAA7
  33. }
  34.  
  35. image create photo img-checked -data {
  36. R0lGODlhKAAoAOf/AAABAAoNCQ8RDRETEBcXDxoaEx0dFh4eFyEhGj05KEA8K0FDQUdFOExOS1FO
  37. QlJSSl9YQmJdO15eVmViVWZlXWxnVW9sX3NsVXJvYpB5QYR8ZIZ+T5mEV5yNAKKNFp+QF5eLZ5aP
  38. TKCSGZGObqGTG6uLTpOQcKSVELCNPaOVHaWWH6SWKKaXIKeYIqGXR6maJKqbJaSaSZ6baK2fMbia
  39. SK+gKqGea6+gM7KbbredZLOkN6ijarWmObqlQqqkfq6ogq6qcMCqP8GrSLasYdemPMStQsGxRMCx
  40. S7qybL61TcS0TuCvRcG4UMa3UbS2s8W5Z8e7adG5cMy9Xc68a7m7uP+2M/y4Mv+3NP25M72/vP66
  41. Nf26PdDDacTAstDGXsjEkP+8P8DCvvq+PszEl8LEwfLAXP3AQefFcf7CS/vEQsXHxOLHcf7CUujG
  42. cvzFQ8bIxcvIuevJUf7DW8fJxv3GRebJbOTJc+PJeeXKdPrJRf/GXv7IVvzLSNDOst7SYvrLV9TQ
  43. m8vOyuPPffnOSPvMX/nPUc7QzPrQUs/RztnSquHUgP3PYfvRVPrRW//Od/HRidLU0dfVud7VqPnW
  44. VuPYieLZkfbZV+DYquXajPnYZu/bZvjaWPnbWffbYNfZ1vDZlPndYtnb1/bfW/XfYvjZl//Ykf3a
  45. hNrc2ffanvHiY+Leu9vd2vbhZP/ZmfjiZfTkZuTgvd3f3OjipvjjbfXfod7g3fHldPXmZ//do9/h
  46. 3vbnaODi3/3go+3lo/bocPXod/vhsffpcffnhfbpeP/ipfzkn+Pl4vfqef7jrPTmrPbqgP7moeXn
  47. 5PfsgevpzObo5fjtgvftiefp5vLsr/juivbukPvptv/ovfjvkfbvmOnr6Pfst/vumPfwmevt6vHt
  48. 3vzwofrvuvvxqPXxuu3v6/3yqfvyr+7w7f7xtvrxwv7wye/x7vTx4fzyw/z0sPr0t/Dy7/v1uPr1
  49. vvfz5Pj2xfL08PP18v32zfb49fj69/n7+Pr8+fv9+vz/+/7//P///yH5BAEKAP8ALAQABAAgACAA
  50. AAj+ABcIHEiwoMGDBf0pXMiwocOHCgVCnEhxocSJ+1Q9qaGig4oaT1Ttm3jRIT9ALJJQ2tbuXrtp
  51. io6oAMTvYUmG7G4w2UavXLZoypRF64YumZIb7BzeVOiMRaV74LBJlQp0mC5h4QSpcNZw6bwXveRJ
  52. BUcWXDdsQH296rTsU4t5DJfywPQuGjZw5czpLRc12jFdrCYVw6Mj7gKGl5rIU3a33JcCI+KZKyeD
  53. wBBfrDYVQlZEksXDCvnBmIb2rjkHAAS0i1fuAIAEwV5pXkTqRU1/JWEZeTcsWjZw5hAAAJBInqzh
  54. AYbJLkSHVxBYEUH7g6KI2zBopoUTj3ccQIDYmun+ODoDJfrCGsmUBWOMF/WAcZNdK8CsOQ0bVDPM
  55. KzyxbZavY3aBM4YBJkwGjg0GIAHYJHyYsQUwJ+jnTwfqgKKLL8pQg003fJmFVjRqccIIHWJUcU0H
  56. EpJgTSesePGLUFNRpd6CfBBhxYMR4ibdDLRksokmIdhyTFDQBHWML4BphsISVdyXn44LQWGHKYxs
  57. wkUEfvgyzJZIviKKZhmUUEUV45UHpUKwBEFMHoxMMgUDG0jxyiussMJJHDRAwMEWY+LynIT8vEAK
  58. IXQMwkgdFyzQwAQXVCBBAw/kwGcVctR2202SFMGLGWnQwUcjUYCAAQUWaIBDGVqMuQUunX3WkA7g
  59. bZSihRic0kHHH3/sgUaqY1ZRShuFucrQPC080gqfVmihrBW9qtrKIy18YxhD+qwTiQp3ICNHs9zK
  60. gcwdJPQhDTz6SFjtM6HAsYIQqPDiCBt8bsGGI7ygIsQKXUCyyjPw1FRSPucYE4ohagDxQQ9roALM
  61. NcCgskYPH+xAhRqGhPLMOf5K54892uziCcFU/BADCR504AEJLvjgRBYUh7ILOeWeudA+9UiTSyiQ
  62. BPIGGWFkkUUYZMwRCCSh5OINPtM+tA8+8GjzTC61xBJLLbtIQ049MXelcUVcf4bQ12ATFBAAOw==
  63. }
  64.  
  65. ttk::style element create Checkbutton.checkmark \
  66. image [list img-unchecked selected img-checked]
  67.  
  68. ttk::style layout Smiley.TCheckbutton {
  69. Checkbutton.padding -sticky nswe -children {
  70. Checkbutton.checkmark -side left -sticky {}
  71. Checkbutton.focus -side left -sticky w -children {
  72. Checkbutton.label -sticky nswe
  73. }
  74. }
  75. }
  76.  
  77. font configure TkDefaultFont -size 20
  78. ttk::checkbutton .c -style Smiley.TCheckbutton -text Smile!
  79. grid .c -padx 10 -pady 10