[#321574] Regular Expressions — Mmcolli00 Mom <mmc_collins@...>

Hi everyone.

15 messages 2008/12/01

[#321655] Ruby cgi script — ZippySwish <fischer.jan@...>

I put "script.rb" into the cgi-bin folder of my webhost, but nothing's

12 messages 2008/12/02

[#321733] FFI 0.2.0 — "Wayne Meissner" <wmeissner@...>

Greetings Rubyists.

20 messages 2008/12/03

[#321920] Force a program to stop if runtime exceeds given duration — Aldric Giacomoni <"aldric[remove]"@...>

Any idea how to do that?

25 messages 2008/12/04
[#321924] Re: Force a program to stop if runtime exceeds given duration — "Glen Holcomb" <damnbigman@...> 2008/12/04

On Thu, Dec 4, 2008 at 10:04 AM, Aldric Giacomoni <"aldric[remove]"@

[#322011] Re: Force a program to stop if runtime exceeds given duration — Ron Fox <fox@...> 2008/12/05

See http://www.ruby-doc.org/core-1.9/classes/Process.html#M003012

[#322016] Re: Force a program to stop if runtime exceeds given duration — Aldric Giacomoni <"aldric[remove]"@...> 2008/12/05

Everybody automatically assumes that rubyists are using Linux - sadly,

[#321969] Are there any Ruby Technical Writers here? — Vito Fontaine <vito.matro@...>

I am a beginner with Ruby who was interested in writing some programs.

15 messages 2008/12/04
[#321975] Re: Are there any Ruby Technical Writers here? — Robert Klemme <shortcutter@...> 2008/12/04

On 04.12.2008 22:43, Vito Fontaine wrote:

[#321984] Re: Are there any Ruby Technical Writers here? — Vito Fontaine <vito.matro@...> 2008/12/05

Robert Klemme wrote:

[#322014] Proximity searches in Ruby — Stuart Clarke <stuart.clarke1986@...>

Does Ruby have the ability to perform proximity searches on data. For

14 messages 2008/12/05
[#322056] Re: Proximity searches in Ruby — Ilan Berci <coder68@...> 2008/12/05

No proximity searches with 1.8.. you would need a full fledged text

[#322073] shoes 2 (raisins) is go. — _why <why@...>

Salutations and hi.

13 messages 2008/12/06

[#322260] Help on algorythm — Helder Oliveira <hrpoliveira@...>

Guys i have been trying to make this algorythm but with no sucess, can

13 messages 2008/12/09
[#322261] Re: Help on algorythm — "Glen Holcomb" <damnbigman@...> 2008/12/09

On Tue, Dec 9, 2008 at 7:44 AM, Helder Oliveira <hrpoliveira@gmail.com>wrote:

[#322283] Completely new programmer lacks direction — Cameron Carroll <ubernoobs@...>

Hi. I recently picked up a beginning ruby book, having only lightly

17 messages 2008/12/09

[#322285] compare 2 text files - check for difference - Please help — Mmcolli00 Mom <mmc_collins@...>

Hi. I want to take two files that are supposed to be identical, then ook

12 messages 2008/12/09
[#322301] Re: compare 2 text files - check for difference - Please help — Brian Candler <b.candler@...> 2008/12/09

Mmcolli00 Mom wrote:

[#322306] Re: compare 2 text files - check for difference - Please help — Mmcolli00 Mom <mmc_collins@...> 2008/12/09

require 'diff/lcs/Array'

[#322417] why Hash corrupts 'key' object ? — Dmitry Perfilyev <dmitry1976@...>

Hi, I have next script:

13 messages 2008/12/10

[#322464] Q: FFI and C++? — Jeremy Henty <onepoint@...>

If I want to wrap a C++ library using FFI, can it cope with the name

14 messages 2008/12/11

[#322516] Invoking Ruby code from a low-level language? — Alex Fulton <a.fulton@...>

Hi, my sincerest apologies if this question has already been answered

11 messages 2008/12/11

[#322529] parallel method return value — Louis-Philippe <default@...>

Hi all,

17 messages 2008/12/12

[#322566] How to run background processes (more than 1 worker) parallely. — "Deepak Gole" <deepak.gole8@...>

Hi

10 messages 2008/12/12

[#322624] singleton methods vs. meta instance methods — Daniel DeLorme <dan-ml@...42.com>

If I understand the ruby object model correctly, then an object's

15 messages 2008/12/13

[#322705] ruby 1.9.1: Encoding trouble: broken US-ASCII String — Tom Link <micathom@...>

Hi,

22 messages 2008/12/14

[#322710] Help with an "easy" regular expression substitution — Iñaki Baz Castillo <ibc@...>

Hi, I'm getting crazy to get a theorically easy substitution:

16 messages 2008/12/14

[#322819] Pure Ruby Zlib::GzipWriter — Daniel Berger <djberg96@...>

Hi,

53 messages 2008/12/15
[#323877] Re: Pure Ruby Zlib::GzipWriter — Daniel Berger <djberg96@...> 2009/01/03

[#323903] Re: Pure Ruby Zlib::GzipWriter — Roger Pack <rogerpack2005@...> 2009/01/04

[#324011] Re: Pure Ruby Zlib::GzipWriter — Daniel Berger <djberg96@...> 2009/01/05

[#324442] Re: Pure Ruby Zlib::GzipWriter — Luis Lavena <luislavena@...> 2009/01/10

On Jan 9, 9:26=A0pm, "Charles L." <aquas...@gmail.com> wrote:

[#322987] Using ruby hash on array — Stuart Clarke <stuart.clarke1986@...>

I would like to process some data from an array and using hash to

14 messages 2008/12/17

[#323085] Ruby and Rails supported on 10gen — "Jim Menard" <jim.menard@...>

http://www.10gen.com/blog/2008/12/ruby-support-on-10gen

11 messages 2008/12/18

[#323166] Dreaming of a Ruby Christmas (#187) — Matthew Moss <matt@...>

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

11 messages 2008/12/19

[#323204] get first and last line from txt file - how? — Mmcolli00 Mom <mmc_collins@...>

I have txt file with date/time stamps only. I want to grab the first

19 messages 2008/12/20
[#323205] Re: get first and last line from txt file - how? — Tim Hunter <TimHunter@...> 2008/12/20

Mmcolli00 Mom wrote:

[#323207] Re: get first and last line from txt file - how? — "Yaser Sulaiman" <yaserbuntu@...> 2008/12/20

I'm just wondering..

[#323273] how to make installing Ruby easier for amateurs — Tom Cloyd <tomcloyd@...>

Greetings!

21 messages 2008/12/22

[#323312] Name that data structure! — Simon Chiang <simon.a.chiang@...>

I'm using a data structure that I'm sure has been implemented and

18 messages 2008/12/22
[#323314] Re: Name that data structure! — "Gregory Brown" <gregory.t.brown@...> 2008/12/22

On Mon, Dec 22, 2008 at 5:38 PM, Simon Chiang <simon.a.chiang@gmail.com> wrote:

[#323342] Are all Ruby built-in objects thread safe? — "Just Another Victim of the Ambient Morality" <ihatespam@...>

Are all built-in objects thread safe? For example, if I have an array

23 messages 2008/12/23
[#323346] Re: Are all Ruby built-in objects thread safe? — Yukihiro Matsumoto <matz@...> 2008/12/23

Hi,

[#323519] What does 'Monkey Patching' exactly Mean in Ruby? — "Yaser Sulaiman" <yaserbuntu@...>

According to Wikipedia, a monkey patch[1] is:

36 messages 2008/12/27
[#323813] Re: What does 'Monkey Patching' exactly Mean in Ruby? — Jg W Mittag <JoergWMittag+Usenet@...> 2009/01/02

Phlip wrote:

[#323832] Re: What does 'Monkey Patching' exactly Mean in Ruby? — "David A. Black" <dblack@...> 2009/01/02

Hi --

[#323644] Why Ruby? — Mike Stephens <rubfor@...>

I have never seen or heard of Ruby in a corporate context. The single

35 messages 2008/12/30

[#323668] Ruby 1.9.1 RC1 is released — "Yugui (Yuki Sonoda)" <yugui@...>

Hi, folks

21 messages 2008/12/30

Re: Problems with Ruby/Tk TkProgressbar

From: Hidetoshi NAGAI <nagai@...>
Date: 2008-12-03 21:25:32 UTC
List: ruby-talk #321843
From: Kenneth McDonald <kenneth.m.mcdonald@sbcglobal.net>
Subject: Problems with Ruby/Tk TkProgressbar
Date: Thu, 4 Dec 2008 05:43:51 +0900
Message-ID: <34DB2243-FA1E-4C57-B76A-3DB11742CE47@sbcglobal.net>
> This doesn't seem to exist, even though irb lists it in tab-completion  
> mode. Anyone know how to get it working?

TkProgressbar is a widget which is one of Ttk (Tile) widget set. 
It requires Ttk (Tile) extension or Tcl/Tk8.5.x.

# Tcl/Tk8.5 has Ttk widget set as default.

If you don't have Ttk, the following example may be help you.
It is also an example of TkComposite module.
-----------------------------------------------------------------
require 'tk'

class MyProgressBar < TkWindow
  include TkComposite

  def initialize_composite(keys = {})
    # defaults
    bar_color     = 'gray60'
    trough_color  = 'gray90'
    text_color    = 'black'
    reverse_color = 'white'

    font_size = -12

    @width  = 150
    @height =  20

    # create widgets
    @font = TkFont.new(['Helvetica', font_size])

    @var = TkVariable.new('')

    @frame.configure(:borderwidth=>3, :relief=>:ridge)

    @size_base = TkFrame.new(@frame, :width=>@width, :height=>@height, 
                             :borderwidth=>0).pack(:expand=>false, 
                                                   :fill=>:none)

    @size_base.pack_propagate(false)

    @base_label = TkLabel.new(@size_base, :textvariable=>@var, :font=>@font, 
                              :highlightthickness=>0, :borderwidth=>0, 
                              :foreground=>text_color, 
                              :background=>trough_color, 
                              :padx=>1, :pady=>1).pack(:fill=>:both, 
                                                       :expand=>true)
    @prog_bar = TkFrame.new(@base_label, 
                            :highlightthickness=>0, :borderwidth=>0
                            ).place(:x=>0, :y=>0, 
                                    :anchor=>:nw, 
                                    :relwidth=>0.0, :relheight=>1.0)

    @prog_label = TkLabel.new(@prog_bar, :textvariable=>@var, :font=>@font, 
                              :foreground=>reverse_color, 
                              :background=>bar_color,  
                              :highlightthickness=>0, :borderwidth=>0, 
                              :padx=>1, :pady=>1).place(:x=>0, :y=>0, 
                                                        :width=>@width, 
                                                        :height=>@height,
                                                        :anchor=>:nw)

    # for bindings
    @size_base.bindtags  <<= @frame
    @base_label.bindtags <<= @frame
    @prog_bar.bindtags   <<= @frame
    @prog_label.bindtags <<= @frame

    # delegates
    delegate('DEFAULT', @frame)
    delegate('background', @prog_label)
    delegate('foreground', @base_label)

    delegate_alias('barcolor',     'background', @prog_label)
    delegate_alias('troughcolor',  'background', @base_label)
    delegate_alias('textcolor',    'foreground', @base_label)
    delegate_alias('reversecolor', 'foreground', @prog_label)

    delegate_alias('fontfamily', 'family', @font)
    delegate_alias('fontsize',   'size',   @font)
    delegate_alias('fontweight', 'weight', @font)
    delegate_alias('fontslant',  'slant',  @font)

    option_methods(:width, :height, :font)

    configure(keys) unless keys.empty?
  end

  def set(rate, text=nil)
    @prog_bar.place(:relwidth=>rate.to_f)
    @var.value = text if text
  end

  def get
    [TkPlace.current_configinfo(@prog_bar, :relwidth)['relwidth'], @var.value]
  end

  def width(size=nil)
    if size
      @size_base.width = size
      @prog_label.place(:width=>size)
      @width = size
    else
      @width
    end
  end

  def height(size=nil)
    if size
      @size_base.height = size
      @prog_label.place(:height=>size)
      @height = size
    else
      @height
    end
  end

  def font(fnt=nil)
    if fnt
      if fnt.kind_of?(Hash)
        @font.configure(fnt)
      else
        fnt = TkComm.simplelist(fnt) if fnt.kind_of?(String)
        conf = {}
        conf['family'] = fnt.shift if fnt[0]
        conf['size'] = fnt.shift if fnt[0]
        fnt.each{|param|
          case param.to_s
          when 'normal', 'bold'
            conf['weight'] = param
          when 'roman', 'italic'
            conf['slant'] = param
          when 'underline'
            conf['underine'] = true
          when 'overstrike'
            conf['overstrike'] = true
          end
        }

        @font.configure(conf)
      end
    else
      @font
    end
  end
end

if __FILE__ == $0
  bar1 = MyProgressBar.new.pack
  bar2 = MyProgressBar.new(:width=>120, :height=>30, 
                           :barcolor=>'blue', :troughcolor=>'white', 
                           :fontsize=>14, :fontweight=>:bold).pack
  bar3 = MyProgressBar.new(:font=>'courier 8 bold', 
                           :textcolor=>'red', :reversecolor=>'yellow', 
                           :width=>250, :height=>12).pack

  bar1.set(0.0, '0%')
  bar2.set(0.0, '0%')
  bar3.set(0.0, '0%')

  bar1.bind('1'){p bar1.get}

  timer = TkTimer.new(50, 100){|timerobj|
    cnt = timerobj.return_value + 1
    bar1.set(cnt/100.0, "#{cnt}%")
    bar2.set(cnt/100.0, "#{cnt}%")
    bar3.set(cnt/100.0, "#{cnt}%")
    cnt
  }

  b = TkButton.new(:text=>'restart', :command=>proc{
                     bar1.set(0.0, '0%')
                     bar2.set(0.0, '0%')
                     bar3.set(0.0, '0%')
                     timer.restart{0}
                   }).pack
  b.invoke

  Tk.mainloop
end
-----------------------------------------------------------------
-- 
Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)

In This Thread

Prev Next