1# 2# charts -- Create and manipulate canvas Add-On Items 3# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) 4# 5require 'tk' 6require 'tk/canvas' 7 8# call setup script -- <libdir>/tkextlib/vu.rb 9require 'tkextlib/vu.rb' 10 11module Tk 12 module Vu 13 module ChartsConfig 14 include TkItemConfigOptkeys 15 def __item_boolval_optkeys(id) 16 super(id) << 'lefttrunc' << 'autocolor' 17 end 18 private :__item_boolval_optkeys 19 20 def __item_strval_optkeys(id) 21 super(id) << 'bar' << 'color' << 'outline' << 22 'fill' << 'scaleline' << 'stripline' 23 end 24 private :__item_strval_optkeys 25 26 def __item_listval_optkeys(id) 27 super(id) << 'values' << 'tags' 28 end 29 private :__item_listval_optkeys 30 end 31 32 class TkcSticker < TkcItem 33 include ChartsConfig 34 35 CItemTypeName = 'sticker'.freeze 36 CItemTypeToClass[CItemTypeName] = self 37 end 38 39 class TkcStripchart < TkcItem 40 include ChartsConfig 41 42 CItemTypeName = 'stripchart'.freeze 43 CItemTypeToClass[CItemTypeName] = self 44 end 45 46 class TkcBarchart < TkcItem 47 include ChartsConfig 48 49 CItemTypeName = 'barchart'.freeze 50 CItemTypeToClass[CItemTypeName] = self 51 end 52 end 53end 54