[#3986] Re: Principle of least effort -- another Ruby virtue. — Andrew Hunt <andy@...>

> Principle of Least Effort.

14 messages 2000/07/14

[#4043] What are you using Ruby for? — Dave Thomas <Dave@...>

16 messages 2000/07/16

[#4139] Facilitating Ruby self-propagation with the rig-it autopolymorph application. — Conrad Schneiker <schneik@...>

Hi,

11 messages 2000/07/20

[ruby-talk:04222] Re: Gtk Wins and scrolls

From: Yasushi Shoji <yashi@...>
Date: 2000-07-26 17:21:47 UTC
List: ruby-talk #4222
From: Aleksi Niemel<aleksi.niemela@cinnober.com>
Subject: [ruby-talk:04208] Gtk Wins and scrolls
Date: Tue, 25 Jul 2000 13:18:18 +0200

> Two questions about Gtk, both probably quite simple:
> 
> 1)
> How one can get Gtk work on Win? Could someone confirm it's working well and
> briefly explain the setup?

[...]

> I suspect the problem is in rather old ruby-gtk-0.23-cygwin, because the
> date on the list for it seems to be 2000-03-20 while the gtk-1.3 has been
> compiled at 2000-04-15. Could that be the reason?
> 
> Actually I'm even more suspicious the problem is about version
> incompatibility because http://www.ruby-lang.org/gtk/en/index.html says:
> 
>   Ruby/GTK works with Ruby 1.4.x and GTK+ 1.2.x. 
> 
> So perhaps the dll load should fail, as the GTK shipped with Windows
> installation kit for GIMP seems to be the version 1.3 instead of 1.2.
> 
> If this is the case, when can we expect an update for Gtk-cygwin?

as you are saying above, current version of ruby/gtk is only for gtk
1.2.  patch is always welcome, i suppose :)

> 2)
> I'm really newbie with gtk so enlight me. How should I scroll a window
> containing text box to certain location?

do you want to scroll a window? or you want to move cursor position in
the text widget?

i'm attaching an example for scrolling a window widget.  let me know
if you just want to move the cursor. :)

best regards,
--
         yashi

require 'gtk'

# three bottons
top = Gtk::Button.new('top')
mid = Gtk::Button.new('middle')
btm = Gtk::Button.new('bottom')

hb = Gtk::HBox.new(true, 0)
[top, mid, btm].each do |e|
  hb.pack_start(e, true, true, 0)
end

# text area
t = Gtk::Text.new
t.insert(nil, nil, nil, File.open(__FILE__).read)

sw = Gtk::ScrolledWindow.new
sw.add t

# botton callbacks
top.signal_connect('clicked') do
  adj = sw.get_vadjustment
  adj.value = adj.lower
end
mid.signal_connect('clicked') do
  adj = sw.get_vadjustment
  adj.value = (adj.upper - adj.lower) / 2
end
btm.signal_connect('clicked') do
  adj = sw.get_vadjustment
  adj.value = adj.upper
end


vb = Gtk::VBox.new(false, 0)
vb.pack_start(hb, false, true, 0)
vb.pack_start(sw, true, true, 0)


w = Gtk::Window.new
w.add vb
w.signal_connect('delete-event') do
  Gtk.main_quit
end
w.show_all

Gtk.main

In This Thread

Prev Next