diff options
Diffstat (limited to 'ruby_1_8_5/ext/tk/lib/tkextlib/tcllib/tkpiechart.rb')
-rw-r--r-- | ruby_1_8_5/ext/tk/lib/tkextlib/tcllib/tkpiechart.rb | 308 |
1 files changed, 0 insertions, 308 deletions
diff --git a/ruby_1_8_5/ext/tk/lib/tkextlib/tcllib/tkpiechart.rb b/ruby_1_8_5/ext/tk/lib/tkextlib/tcllib/tkpiechart.rb deleted file mode 100644 index 92dde65ce7..0000000000 --- a/ruby_1_8_5/ext/tk/lib/tkextlib/tcllib/tkpiechart.rb +++ /dev/null @@ -1,308 +0,0 @@ -# -# tkextlib/tcllib/tkpiechart.rb -# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) -# -# * Part of tcllib extension -# * Create 2D or 3D pies with labels in Tcl canvases -# - -require 'tk' -require 'tk/canvas' -require 'tkextlib/tcllib.rb' - -# TkPackage.require('tkpiechart', '6.6') -TkPackage.require('tkpiechart') - -module Tk - module Tcllib - module Tkpiechart - end - end -end - -module Tk::Tcllib::Tkpiechart - PACKAGE_NAME = 'tkpiechart'.freeze - def self.package_name - PACKAGE_NAME - end - - def self.package_version - begin - TkPackage.require('tkpiechart') - rescue - '' - end - end - - module ConfigMethod - include TkConfigMethod - - def __pathname - self.path + ';' + self.tag - end - private :__pathname - - def __cget_cmd - ['::switched::cget', self.tag] - end - - def __config_cmd - ['::switched::configure', self.tag] - end - private :__config_cmd - - def __configinfo_struct - {:key=>0, :alias=>nil, :db_name=>nil, :db_class=>nil, - :default_value=>1, :current_value=>2} - end - private :__configinfo_struct - - def __boolval_optkeys - super() << 'select' << 'autoupdate' << 'selectable' - end - private :__boolval_optkeys - - def __strval_optkeys - super() << 'bordercolor' << 'textbackground' << - 'widestvaluetext' << 'title' - end - private :__strval_optkeys - - def __listval_optkeys - super() << 'colors' - end - private :__listval_optkeys - end - - #################################### - class PieChartObj < TkcItem - include ConfigMethod - - def __font_optkeys - ['titlefont'] - end - private :__font_optkeys - end - - #################################### - class Pie < TkcItem - include ConfigMethod - - def create_self(x, y, width, height, keys=None) - if keys and keys != None - @tag_key = tk_call_without_enc('::stooop::new', 'pie', - @c, x, y, *hash_kv(keys, true)) - else - @tag_key = tk_call_without_enc('::stooop::new', 'pie', @c, x, y) - end - - @slice_tbl = {} - - id = "pie(#{@tag_key})" - - @tag = @tag_pie = TkcNamedTag(@c, id) - @tag_slices = TkcNamedTag(@c, "pieSlices(#{@tag_key})") - - id - end - private :create_self - - def tag_key - @tag_key - end - def tag - @tag - end - def canvas - @c - end - def _entry_slice(slice) - @slice_tbl[slice.to_eval] = slice - end - def _delete_slice(slice) - @slice_tbl.delete(slice.to_eval) - end - - def delete - tk_call_without_enc('::stooop::delete', @tag_key) - CItemID_TBL[@path].delete(@id) if CItemID_TBL[@path] - self - end - - def new_slice(text=None) - Slice.new(self, text) - end - - def delete_slice(slice) - unless slice.kind_of?(Slice) - unless (slice = @slice_tbl[slice]) - return tk_call_without_enc('pie::deleteSlice', @tag_key, slice) - end - end - unless slice.kind_of?(Slice) && slice.pie == self - fail ArgumentError, "argument is not a slice of self" - end - slice.delete - end - - def selected_slices - tk_split_simplelist(tk_call_without_enc('pie::selectedSlices', - @tag_key)).collect{|slice| - @slice_tbl[slice] || Slice.new(:no_create, self, slice) - } - end - end - - #################################### - class Slice < TkcItem - include ConfigMethod - - def __config_cmd - ['::switched::configure', self.tag] - end - private :__config_cmd - - #------------------------ - - def initialize(pie, *args) - unless pie.kind_of?(Pie) && pie != :no_create - fail ArgumentError, "expects TkPiechart::Pie for 1st argument" - end - - if pie == :no_create - @pie, @tag_key = args - else - text = args[0] || None - @pie = pie - @tag_key = tk_call_without_enc('pie::newSlice', @pie.tag_key, text) - end - @parent = @c = @pie.canvas - @path = @parent.path - - @pie._entry_slice(self) - - @id = "slices(#{@tag_key})" - @tag = TkcNamedTag.new(@pie.canvas, @id) - - CItemID_TBL[@path] = {} unless CItemID_TBL[@path] - CItemID_TBL[@path][@id] = self - end - - def tag_key - @tag_key - end - def tag - @tag - end - def pie - @pie - end - - def delete - tk_call_without_enc('pie::deleteSlice', @pie.tag_key, @tag_key) - CItemID_TBL[@path].delete(@id) if CItemID_TBL[@path] - @pie._delete_slice(self) - self - end - - def size(share, disp=None) - tk_call_without_enc('pie::sizeSlice', - @pie.tag_key, @tag_key, share, disp) - self - end - - def label(text) - tk_call_without_enc('pie::labelSlice', @pie.tag_key, @tag_key, text) - self - end - end - - #################################### - class BoxLabeler < TkcItem - include ConfigMethod - - def __config_cmd - ['::switched::configure', self.tag] - end - private :__config_cmd - - #------------------------ - - def create_self(keys=None) - if keys and keys != None - @tag_key = tk_call_without_enc('::stooop::new', 'pieBoxLabeler', - *hash_kv(keys, true)) - else - @tag_key = tk_call_without_enc('::stooop::new', 'pieBoxLabeler') - end - - id = "pieBoxLabeler(#{@tag_key})" - @tag = TkcNamedTag(@c, id) - - id - end - private :create_self - end - - #################################### - class PeripheralLabeler < TkcItem - include ConfigMethod - - def __font_optkeys - ['font', 'smallfont'] - end - private :__font_optkeys - - def __config_cmd - ['::switched::configure', self.tag] - end - private :__config_cmd - - #------------------------ - - def create_self(keys=None) - if keys and keys != None - @tag_key = tk_call_without_enc('::stooop::new', - 'piePeripheralLabeler', - *hash_kv(keys, true)) - else - @tag_key = tk_call_without_enc('::stooop::new', 'piePeripheralLabeler') - end - - id = "piePeripheralLabeler(#{@tag_key})" - @tag = TkcNamedTag(@c, id) - - id - end - private :create_self - end - - #################################### - class Label < TkcItem - include ConfigMethod - - def __config_cmd - ['::switched::configure', self.tag] - end - private :__config_cmd - - #------------------------ - - def create_self(x, y, keys=None) - if keys and keys != None - @tag_key = tk_call_without_enc('::stooop::new', 'canvasLabel', - @c, x, y, width, height, - *hash_kv(keys, true)) - else - @tag_key = tk_call_without_enc('::stooop::new', 'canvasLabel', - @c, x, y, width, height) - end - - id = "canvasLabel(#{@tag_key})" - @tag = TkcNamedTag(@c, id) - - id - end - private :create_self - end -end |