[#9803] ruby source directory — TEI meiki <tei@...>
またまた、鄭です。
[#9811] Ruby book — WATANABE Tetsuya <tetsu@...>
今日のひとこと(10/05)
まつもと ゆきひろです
まつもと ゆきひろです
[#9823] ruby 1.1c6 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#9827] Are there any NNTP Client Class? — Takeshi UME Imai <takeshi@...>
はじめまして。今井といいます。
はじめまして、あおきともうします。
立石です。
あおき@一橋です。
[#9857] Ruby animal — Chihilo YOSHIMURA <yoshimura@...4.people.or.jp>
[#9869] man-1.1/Marshal.html — ttate@...
立石です。
まつもと ゆきひろです
ふなばです。
まつもと ゆきひろです
ふなばです。
前田薫@リコーです。
ふなばです。
前田@リコーです。
ふなばです。
SRA の笠原です。
まつもと ゆきひろです
SRA の笠原です。
まつもと ゆきひろです
笠原です。こんにちは。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
ふなばです。
[#9884] List of UserInterface Kits for Ruby ? — a.furudo@...
まつもと ゆきひろです
[#9885] 文字化け失礼、再送 — Akihiro Furudo <a.furudo@...>
立石です。
[#9891] signal 関係 — sat <sat@...>
五樹島と申します。
[#9908] item insertion in an array — Kikutani Makoto <kikutani@...>
きくたにです。
わたなべです.
Fri, Oct 09, 1998 at 11:22:12AM +0900 において
わたなべです.
[#9911] ruby/jed hoge.rb — Kikutani Makoto <kikutani@...>
ruby/jed ではbuiltinのrubyモードがあるので、
前田です。
[#9959] デストラクタ (?) — m_seki@... (SEKI)
[#9973] [BUG] def i; super i.foo; end; i # => Illegal instruction — gotoken@... (GOTO Kentaro)
ごとけんです
まつもと ゆきひろです
わたなべです.
ごとけんです
[#9976] ruby:struct -> ext module -> ruby — Kikutani Makoto <kikutani@...>
きくたにです。
Sun, Oct 11, 1998 at 03:40:14PM +0900 において
Mon, Oct 12, 1998 at 01:52:45AM +0900 において
まつもと ゆきひろです
Wed, Oct 14, 1998 at 01:08:31PM +0900 において
きくたにです。またこれなんですが、
[#9978] include vs extend — TEI meiki <tei@...>
鄭です。
まつもと ゆきひろです
原です。
[#9999] ruby on HP-UX — AU6M-IWM@... (Iwama Misao)
まつもと ゆきひろです
どうも 10000 おめでーとです。
In message "[ruby-list:10029] Re: ruby on HP-UX"
岩間です。
わたなべです.
岩間です。
[#10030] Ruby/Gtk text widget — TAKAHASHI Masayoshi <maki@...>
高橋です。
高橋です。
岡本です。
五十嵐@早大 です。
五十嵐@早大 です。
[#10092] for が修飾子だったら — ARIMA Yasuhiro <fit0298@...>
有馬@FITECです。
まつもと ゆきひろです
前田@リコーです。
まつもと ゆきひろです
Regard to "[ruby-list:10097] Re: for が修飾子だったら"
話は変わりますが、
>>>>> "Y" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:
>>>>> "Y" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:
Reply-To: ruby-devとしました。
市川です。
ど〜も、中井と申します。
[#10111] Ruby on mips-sony-bsd — kjana@... (YANAGAWA Kazuhisa)
SONY NEWS-OS 4.2R 上で ruby を make した時に起こったこと.
まつもと ゆきひろです
小田@QNES です。
[#10140] xtoolkit patch — 民斗 <tommy@...>
RUby から Motif を使ってみようと思って、xtoolkit-0.0 を使おうとしたので
[#10143] tk.rb: font name — TEI meiki <tei@...>
鄭です。
永井@知能.九工大です.
鄭です。
[#10159] Speed! — Kikutani Makoto <kikutani@...>
きくたにです。
えぐち@エスアンドイー です。
[#10165] syntax of compare strings — Koji Oda <oda@...1.qnes.nec.co.jp>
小田@QNES です。
わたなべです.
[#10175] VPATH — Motoyuki Kasahara <m-kasahr@...>
SRA の笠原です。
[#10208] stdin — komai@...4u.or.jp
はじめまして、こまいと申します。
In message "[ruby-list:10208] stdin"
[#10232] Regexp.html — Tadayoshi Funaba <tadf@...>
ふなばです。
まつもと ゆきひろです
[#10233] curses and thread — aito@...
あ伊藤です.
自己フォローですが,
あ伊藤です.
まつもと ゆきひろです
あ伊藤です.terminfo パッケージについて,
[#10236] Array.html again — Motoyuki Kasahara <m-kasahr@...>
笠原です。こんにちは。
まつもと ゆきひろです
SRA の笠原です。
まつもと ゆきひろです
SRA の笠原です。
まつもと ゆきひろです
大原です。
[#10257] 今日の一言について — Takayuki SAGIJIMA <sat@...>
五樹島です。
田中久太郎@三鷹市です。
大原と言います。
[#10271] Time.html — Tadayoshi Funaba <tadf@...>
ふなばです。
[#10272] time.c:time_arg() — Tadayoshi Funaba <tadf@...>
ふなばです。
まつもと ゆきひろです
ふなばです。
[#10286] Re: for が修飾子だったら — ttate@...
立石です。
[#10294] Re: 文字列を数値型に変換する方法を教えてください — "石田 宏香" <h-ishida@...>
石田です。
[#10303] djgpp 版の Make について — たむら けんいち <t9655832@...>
[#10311] Re: 大規模プログラムの友 — m_seki@... (SEKI)
At 11:23 PM 98.10.23 +0900, Takashi Nakai wrote:
ど〜も、(またしても)中井です。
そういえば、「rubyコンパイラが欲しい」というような要望は
まつもと ゆきひろです
福嶋と申します。
いがらし@早大 です。
[#10316] array — Toshiki Komai <komai@...4u.or.jp>
こまいです。先日、
[#10338] rbgw11c6 + rskkserv-1.0.2 — Masaki YATSU <yatsu@...>
[#10346] negative index of an array — Motoyuki Kasahara <m-kasahr@...>
笠原です。
[#10406] ruby スクリプトにメニューのようなメッセージと選択方法をいれたいのですが... — "Hirotaka Ishida" <h-ishida@...>
いしだです。
[#10413] how to setup ruby for Windows NT — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#10415] split — flare@... (Takashi Ikeda)
ふれあです。
えぐち@エスアンドイー です。
limit の挙動を Perl に合わせるというのはどうでしょうか?
[#10443] ruby 1.1c での SJIS — Toshiharu Tanaka <tanatosi@...>
たなか@神戸です。
[#10470] MailModule ver 0.2 — MineroAoki <aamine@...>
あおき@一橋です。
Fri, Oct 30, 1998 at 12:45:10AM +0900 において
あおきです。
Thu, Feb 04, 1999 at 10:25:47AM +0900 において
[#10473] case with Class — MineroAoki <aamine@...>
あおきです。
まつもと ゆきひろです
こんにちは。あおきです。
ごとけんです
あおきです。
前田です。
青山です。
前田です。
青山です。
まつもと ゆきひろです
[#10498] 全角英数字を半角にする方法 — 民斗 <tommy@...>
民斗です。
[#10510] irb がうまく動かない — ARIMA Yasuhiro <fit0298@...>
有馬@FITECです。
[#10527] rfc822.rb — "Kikutani, Makoto" <kikutani@...>
きくたにです。
[#10539] syntax error in thread — Yoshiki WADA <wada@...>
和田といいます。
青山です。
[ruby-list:10071] Re: Ruby/Gtk text widget
かんだです。 [ruby-list:10037] Re: Ruby/Gtk text widget TAKAHASHI> 高橋です。 TAKAHASHI> > 昔 Color.new を作ったような気がしたんですけれど、見当たらないです TAKAHASHI> > ねぇ…。不都合なことでもあったかしら。 TAKAHASHI> > ではっと、style からもらってこようとしたら、SEGV で落ちた(^^; ちょっ TAKAHASHI> > と見てみます。 TAKAHASHI> TAKAHASHI> よろしくお願いします。 Gtk::Editable に insert_text は定義されていました。でもちょっとバグあり だったので修正。Gtk::Text#indert_text は Editable のを使うのと同じみたいな ので作りませんでした。 Gtk::Text と Gtk::DrawingArea のサンプルもつけときます。
Attachments (3)
require 'gtk'
window = Gtk::Window.new(Gtk::WINDOW_TOPLEVEL)
window.signal_connect("delete_event") { exit }
window.signal_connect("destroy_event") { exit }
window.realize
box = Gtk::VBox.new(FALSE, 0)
window.add(box)
box.show
$str = "Hello, world."
$text = Gtk::Text.new(Gtk::Adjustment.new(0,0,0,0,0,0),
Gtk::Adjustment.new(0,0,0,0,0,0))
box.pack_start($text)
$text.show
button = Gtk::Button.new("append")
box.pack_start(button)
button.show
button.signal_connect("clicked") { |w,e|
$text.insert_text($str + "\n", $text.get_point)
}
window.show
Gtk::main()
require 'gtk'
class Canvas < Gtk::DrawingArea
def initialize
super
signal_connect("expose_event") { |w,e| expose_event(w,e) }
signal_connect("configure_event") { |w, e| configure_event(w,e) }
@buffer = nil
@bgc = nil
end
def expose_event(w,e)
if ! @buffer.nil?
rec = e.area
w.window.draw_pixmap(@bgc, @buffer, rec.x, rec.y,
rec.x, rec.y, rec.width, rec.height)
end
false
end
def clear(b = @buffer)
return if b.nil?
g = b.get_geometry
@bgc = self.style.bg_gc(self.state) if @bgc.nil?
if (g[2] > 0 && g[3] > 0)
b.draw_rectangle(@bgc, true, 0,0, g[2], g[3])
end
end
def configure_event(w,e)
g = w.window.get_geometry
if (g[2] > 0 && g[3] > 0)
b = Gdk::Pixmap::new(w.window, g[2], g[3], -1)
clear(b)
if not @buffer.nil?
g = @buffer.get_geometry
b.draw_pixmap(@bgc, @buffer, 0,0,
g[0], g[1], g[2], g[3])
end
@buffer = b
end
true
end
end
class A < Canvas
def initialize
super
signal_connect("button_press_event") { |w,e| pressed(w,e) }
set_events(Gdk::BUTTON_PRESS_MASK)
end
def pressed(widget, ev)
if not @last.nil?
@buffer.draw_line(widget.style.fg_gc(widget.state),
@last.x, @last.y, ev.x, ev.y)
x1,x2 = if (@last.x < ev.x)
then [@last.x, ev.x]
else [ev.x, @last.x]
end
y1,y2 = if (@last.y < ev.y)
then [@last.y, ev.y]
else [ev.y, @last.y]
end
widget.draw(Gdk::Rectangle.new(x1,y1,x2-x1+1,y2-y1+1))
end
@last = nil
@last = ev
true
end
end
window = Gtk::Window.new(Gtk::WINDOW_TOPLEVEL)
window.signal_connect("delete_event") { exit }
window.signal_connect("destroy_event") { exit }
window.realize
canvas = A.new
window.add(canvas)
canvas.show
window.show
Gtk::main()
diff -cr ruby-gtk-0.13/gtk.c ruby-gtk-0.13-p1/gtk.c
*** ruby-gtk-0.13/gtk.c Mon Sep 28 05:51:10 1998
--- ruby-gtk-0.13-p1/gtk.c Wed Oct 14 04:45:17 1998
***************
*** 5020,5036 ****
}
static VALUE
! edit_insert_text(self, new_text)
! VALUE self;
{
! gint pos;
Check_Type(new_text, T_STRING);
gtk_editable_insert_text(GTK_EDITABLE(get_widget(self)),
RSTRING(new_text)->ptr,
RSTRING(new_text)->len,
! &pos);
! return INT2NUM(pos);
}
static VALUE
--- 5020,5036 ----
}
static VALUE
! edit_insert_text(self, new_text, pos)
! VALUE self, new_text, pos;
{
! gint p = NUM2INT(pos);
Check_Type(new_text, T_STRING);
gtk_editable_insert_text(GTK_EDITABLE(get_widget(self)),
RSTRING(new_text)->ptr,
RSTRING(new_text)->len,
! &p);
! return INT2NUM(p);
}
static VALUE
***************
*** 5902,5908 ****
int i = NUM2INT(idx);
if (i < 0 || 5 < i) ArgError("state out of range");
! return make_gdkcolor(get_gstyle(self)->fg[i]);
}
static VALUE
--- 5902,5908 ----
int i = NUM2INT(idx);
if (i < 0 || 5 < i) ArgError("state out of range");
! return make_gdkcolor(&get_gstyle(self)->fg[i]);
}
static VALUE
***************
*** 5912,5918 ****
int i = NUM2INT(idx);
if (i < 0 || 5 < i) ArgError("state out of range");
! return make_gdkcolor(get_gstyle(self)->bg[i]);
}
static VALUE
--- 5912,5918 ----
int i = NUM2INT(idx);
if (i < 0 || 5 < i) ArgError("state out of range");
! return make_gdkcolor(&get_gstyle(self)->bg[i]);
}
static VALUE
***************
*** 5922,5928 ****
int i = NUM2INT(idx);
if (i < 0 || 5 < i) ArgError("state out of range");
! return make_gdkcolor(get_gstyle(self)->light[i]);
}
static VALUE
--- 5922,5928 ----
int i = NUM2INT(idx);
if (i < 0 || 5 < i) ArgError("state out of range");
! return make_gdkcolor(&get_gstyle(self)->light[i]);
}
static VALUE
***************
*** 5932,5938 ****
int i = NUM2INT(idx);
if (i < 0 || 5 < i) ArgError("state out of range");
! return make_gdkcolor(get_gstyle(self)->dark[i]);
}
static VALUE
--- 5932,5938 ----
int i = NUM2INT(idx);
if (i < 0 || 5 < i) ArgError("state out of range");
! return make_gdkcolor(&get_gstyle(self)->dark[i]);
}
static VALUE
***************
*** 5942,5948 ****
int i = NUM2INT(idx);
if (i < 0 || 5 < i) ArgError("state out of range");
! return make_gdkcolor(get_gstyle(self)->mid[i]);
}
static VALUE
--- 5942,5948 ----
int i = NUM2INT(idx);
if (i < 0 || 5 < i) ArgError("state out of range");
! return make_gdkcolor(&get_gstyle(self)->mid[i]);
}
static VALUE
***************
*** 5952,5958 ****
int i = NUM2INT(idx);
if (i < 0 || 5 < i) ArgError("state out of range");
! return make_gdkcolor(get_gstyle(self)->text[i]);
}
static VALUE
--- 5952,5958 ----
int i = NUM2INT(idx);
if (i < 0 || 5 < i) ArgError("state out of range");
! return make_gdkcolor(&get_gstyle(self)->text[i]);
}
static VALUE
***************
*** 5962,5968 ****
int i = NUM2INT(idx);
if (i < 0 || 5 < i) ArgError("state out of range");
! return make_gdkcolor(get_gstyle(self)->base[i]);
}
#define DEFINE_STYLE_SET_COLOR(func, type) \
--- 5962,5968 ----
int i = NUM2INT(idx);
if (i < 0 || 5 < i) ArgError("state out of range");
! return make_gdkcolor(&get_gstyle(self)->base[i]);
}
#define DEFINE_STYLE_SET_COLOR(func, type) \
***************
*** 5995,6007 ****
static VALUE
style_black(self)
{
! return make_gdkcolor(get_gstyle(self)->black);
}
static VALUE
style_white(self)
{
! return make_gdkcolor(get_gstyle(self)->white);
}
static VALUE
--- 5995,6007 ----
static VALUE
style_black(self)
{
! return make_gdkcolor(&get_gstyle(self)->black);
}
static VALUE
style_white(self)
{
! return make_gdkcolor(&get_gstyle(self)->white);
}
static VALUE
***************
*** 7213,7219 ****
/* Editable */
rb_define_method(gEditable, "select_region", edit_sel_region, 2);
! rb_define_method(gEditable, "insert_text", edit_insert_text, 3);
rb_define_method(gEditable, "delete_text", edit_delete_text, 2);
rb_define_method(gEditable, "get_chars", edit_get_chars, 2);
rb_define_method(gEditable, "cut_clipboard", edit_cut_clipboard, 1);
--- 7213,7219 ----
/* Editable */
rb_define_method(gEditable, "select_region", edit_sel_region, 2);
! rb_define_method(gEditable, "insert_text", edit_insert_text, 2);
rb_define_method(gEditable, "delete_text", edit_delete_text, 2);
rb_define_method(gEditable, "get_chars", edit_get_chars, 2);
rb_define_method(gEditable, "cut_clipboard", edit_cut_clipboard, 1);