From fcbf63e62c627deae76c1b8cb8c0876c536ed811 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 16 Mar 2020 18:49:26 +0900 Subject: Fresh start --- jni/ruby/ext/tk/sample/tkextlib/vu/canvItems.rb | 90 +++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 jni/ruby/ext/tk/sample/tkextlib/vu/canvItems.rb (limited to 'jni/ruby/ext/tk/sample/tkextlib/vu/canvItems.rb') diff --git a/jni/ruby/ext/tk/sample/tkextlib/vu/canvItems.rb b/jni/ruby/ext/tk/sample/tkextlib/vu/canvItems.rb new file mode 100644 index 0000000..364f876 --- /dev/null +++ b/jni/ruby/ext/tk/sample/tkextlib/vu/canvItems.rb @@ -0,0 +1,90 @@ +#!/usr/bin/env ruby + +require 'tk' +require 'tkextlib/vu/charts' + +####################################### + +xbm = File.join(File.dirname(File.expand_path(__FILE__)), 'm128_000.xbm') + +sval = [ 11, 22, 33, 44, 55, 66, 77, 88, 99 ] + +l0 = TkLabel.new(:width=>128, :height=>128, + :bitmap=>"@#{xbm}", :relief=>:groove).pack(:side=>:left) + +c0 = TkCanvas.new(:width=>80, :height=>80, + :insertwidth=>0, :highlightthickness=>0, + :selectborderwidth=>0, :borderwidth=>2, + :relief=>:ridge).place(:in=>l0, :relx=>0.5, :rely=>0.5, + :anchor=>:c) + +st = Tk::Vu::TkcStripchart.new(c0, 3, 3, 80, 80, + :background=>"#b7c0d7", :fill=>'slategray3', + :jumpscroll=>1, :outline=>'black', + :scaleline=>'blue', :stripline=>'red', + :selected=>1, :values=>sval) + +TkcText.create(c0, 40, 40, + :text=>Tk::TCL_PATCHLEVEL, :fill=>'cyan', :tags=>'text') + + +l1 = TkLabel.new(:width=>128, :height=>128, + :bitmap=>"@#{xbm}", :relief=>:groove).pack(:side=>:left) + +c1 = TkCanvas.new(:width=>80, :height=>80, + :insertwidth=>0, :highlightthickness=>0, + :selectborderwidth=>0, :borderwidth=>2, + :relief=>:ridge).place(:in=>l1, :relx=>0.5, :rely=>0.5, + :anchor=>:c) + +bar1 = Tk::Vu::TkcBarchart.new(c1, 3, 3, 80, 80, + :background=>"#b7c0d7", :scalevalue=>10.0, + :autocolor=>true, :selected=>1, + :outline=>'black', :barline=>'yellow', + :scalelinestyle=>0) + +bar2 = Tk::Vu::TkcBarchart.new(c1, 53, 3, 80, 80, + :background=>"#b7c0d7", :scalevalue=>10.0, + :autocolor=>true, :selected=>1, + :outline=>'black', :fill=>"#b7c0d7", + :barline=>'red', :scalelinestyle=>22) + + +l2 = TkLabel.new(:width=>128, :height=>128, + :bitmap=>"@#{xbm}", :relief=>:groove).pack(:side=>:left) + +c2 = TkCanvas.new(:width=>80, :height=>80, + :insertwidth=>0, :highlightthickness=>0, + :selectborderwidth=>0, :borderwidth=>2, + :relief=>:ridge).place(:in=>l2, :relx=>0.5, :rely=>0.5, + :anchor=>:c) + +begin + stick = Tk::Vu::TkcSticker.new(c2, 3, 3, 80, 80, + :text=>"Tcl/Tk", :space=>0, :color=>'red', + :outline=>'red', :font=>'Helvetica 14 bold', + :fill=>'', :stipple=>'', :bar=>'blue', + :orient=>:vertical, :anchor=>:s, + :relheight=>1.0, :relwidth=>0.15, + :relx=>0.1, :rely=>0.0) +rescue + stick = nil + TkcText.new(c2, 40, 10, :text=>"No Sticker Item") +end + +c_do = proc{ + st[:values] = rand() * 100 + + bar1[:values] = rand() * 10 + bar2[:values] = rand() * 10 + + stick[:rely] = rand() * 100 * 0.01 if stick +} + +c0.bind('1', c_do) + +TkTimer.new(100, -1, c_do).start + +Tk.root.bind('q', proc{exit}) + +Tk.mainloop -- cgit v1.2.3