[#11507] parser generator — Minero Aoki <aamine@...>
あおきです。今年もよろしくおねがいいたします。
立石です。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
立石です。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
In message <199901200705.QAA02084.keiju@bc.mbn.or.jp>
けいじゅ@日本ラショナルソフトウェアです.
In message <199901210735.QAA03189.keiju@bc.mbn.or.jp>
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
[#11525] ruby 1.2.1 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#11542] \^x as control — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#11550] nif.rb ver0.31 — Wakou Aoyama <wakou@...>
青山です。
[#11553] はじめまして&環境変数についての質問 — Atsuko Yoshida <atsuko@...>
こんにちは。はじめまして。
こんにちは。あつこです。
[#11587] Array.new([SIZE]) — Yoshinori Toki <toki@...>
土岐です。
新井です。
土岐です。
立石です。
土岐です。
新井です。
まつもと ゆきひろです
新井です。
[#11612] djgpp 版の djdev の Version — たむら けんいち <t9655832@...>
[#11621] Segmentation fault — polygon <polygon@...>
ポリゴンです。
まつもと ゆきひろです
ポリゴンです。
[#11644] postgres-0.4.1 released — Eiji-usagi-MATSUmoto <ematsu@...>
まつもとえいじです
[#11647] Numeric#step の増減方向 — Yoshinori Toki <toki@...>
土岐です。
[#11660] ruby 1.2.2 released — matz@... (Yukihiro Matsumoto)
Hi.
0) ウェッブページが更新されていません.1.2.1-stable のままになっている.
まつもと ゆきひろです
えぐち@エスアンドイー です。
[#11711] Ruby 1.2.2 Make on Cygwin — たむら けんいち <t9655832@...>
たむら です。
[#11720] ruby からの MSAccess への DB アクセス方法 — ymaekawa@...
はじめまして前川@NECと申します。
たむら です。
[#11746] (joke :-) ruby chip — Noritsugu Nakamura <nnakamur@...>
Wed, Jan 27, 1999 at 07:19:14AM +0900 において
MobileGear1 for DoCoMo + PocketBSD ユーザーのCakeです。
[#11758] [BUG] 3e9.to_i => floating exception — gotoken@... (GOTO Kentaro)
ごとけんです
[#11774] MD5 クラスについて — たむら けんいち <t9655832@...>
[#11776] ruby-gtk spin button — takeshi@...
はじめまして。村上毅と申します。
まつもと ゆきひろです
[#11797] IOクラスのメソッドcloseで質問です — Atsuko Yoshida <atsuko@...>
こんにちは。あつこです。
[#11803] Array クラス — hisanori@...
松尾です。
まつもと ゆきひろです
最近Beなさくです。
石井です。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
えぐち@エスアンドイー です。
まつもと ゆきひろです
前橋です。
まつもと ゆきひろです
[ruby-list:11776] ruby-gtk spin button
はじめまして。村上毅と申します。
ruby と ruby-gtk を最近利用しはじめたのですが、
ruby-gtk-0.13 に spin button が無かったので、
以下(添付)のように付け加えてみました。
自分自身では一部の関数しか使用してませんが、
いかがなものでしょう?
実は ruby の拡張方がわからないままやみくもに入れてみたら
とりあえず動いたので、これがはたして正しいのかは?であります。
お手が開いたときに、どなたかチェックしていただけないでしょうか?
現在きちんと動作しているように思われるのは、
new, set_digits, set_value, get_value_as_int です
使用方
adj = Gtk::Adjustment::new(1, 0, 100, 1, 10, 10)
spin = Gtk::SpinButton::new(adj,1,0)
spin.set_digits(1)
spin.show
n = spin.get_value_as_int
村上 毅 takeshi@SoftAgency.co.jp
PGP fingerprint = 45 5D 54 12 B4 55 77 7F D4 52 66 EC 03 3F 1B E9
[ http://www.softagency.co.jp/mysql/ ]
[ MySQL ML: mysql-guide@ml.database.ne.jp ]
--- gtk.c.orig Mon Sep 28 05:51:10 1998
+++ gtk.c Tue Jan 26 20:39:19 1999
@@ -32,6 +32,7 @@
static VALUE gAdjustment;
static VALUE gBox;
static VALUE gButton;
+static VALUE gSButton;
static VALUE gTButton;
static VALUE gCButton;
static VALUE gRButton;
@@ -4712,6 +4713,102 @@
return self;
}
+//--- spin button
+static VALUE
+sbtn_initialize(argc, argv, self)
+ int argc;
+ VALUE *argv;
+{
+ VALUE arg1, arg2, arg3;
+ GtkAdjustment *adj = NULL;
+ GtkWidget *widget;
+
+ rb_scan_args(argc, argv, "03", &arg1, &arg2, &arg3);
+
+ if (!NIL_P(arg1)) adj = (GtkAdjustment*)get_gobject(arg1);
+
+ widget = gtk_spin_button_new(adj,arg2,arg3);
+
+ set_widget(self, widget);
+ return Qnil;
+}
+static VALUE
+sbtn_set_adjustment(self,adj)
+ VALUE self, adj;
+{
+ gtk_spin_button_set_adjustment(GTK_SPIN_BUTTON(get_widget(self))
+ ,(GtkAdjustment*)get_gobject(adj));
+}
+static VALUE
+sbtn_get_adjustment(self,adj)
+ VALUE self, adj;
+{
+ return (GtkWidget *)get_gobject(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(get_widget(self))));
+}
+static VALUE
+sbtn_set_digits(self,n)
+ VALUE self, n;
+{
+ (void)gtk_spin_button_set_digits(GTK_SPIN_BUTTON(get_widget(self))
+ , NUM2INT(n));
+}
+static VALUE
+sbtn_get_value_as_float(self)
+ VALUE self;
+{
+ float w;
+ w = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(get_widget(self)));
+ return w;
+}
+static VALUE
+sbtn_get_value_as_int(self)
+ VALUE self;
+{
+ int w;
+ w = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(get_widget(self)));
+ return INT2NUM(w);
+}
+static VALUE
+sbtn_set_value(self,n)
+ VALUE self, n;
+{
+ gfloat k;
+ k = (gfloat)RFLOAT(rb_Float(n))->value;
+ (void)gtk_spin_button_set_value(GTK_SPIN_BUTTON(get_widget(self))
+ , k);
+}
+static VALUE
+sbtn_set_numeric(self,n)
+ VALUE self, n;
+{
+ (void)gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(get_widget(self))
+ , NUM2INT(n));
+}
+static VALUE
+sbtn_set_update_policy(self,w)
+ VALUE self, w;
+{
+ (void)gtk_spin_button_set_update_policy(GTK_SPIN_BUTTON(get_widget(self))
+ ,(GtkSpinButtonUpdatePolicy)get_gobject(w) );
+}
+static VALUE
+sbtn_spin(self,n,m)
+ VALUE self, n, m;
+{
+ (void)gtk_spin_button_spin(GTK_SPIN_BUTTON(get_widget(self))
+ , NUM2INT(n)
+ ,(gfloat)RFLOAT(m)->value);
+}
+static VALUE
+sbtn_set_wrap(self,n)
+ VALUE self, n;
+{
+ (void)gtk_spin_button_set_wrap(GTK_SPIN_BUTTON(get_widget(self))
+ , NUM2INT(n) );
+}
+
+//------- spin button end
+
static VALUE
tbtn_initialize(argc, argv, self)
int argc;
@@ -6790,6 +6887,7 @@
gAdjustment = rb_define_class_under(mGtk, "Adjustment", gData);
gBox = rb_define_class_under(mGtk, "Box", gContainer);
gButton = rb_define_class_under(mGtk, "Button", gContainer);
+ gSButton = rb_define_class_under(mGtk, "SpinButton", gContainer);
gTButton = rb_define_class_under(mGtk, "ToggleButton", gButton);
gCButton = rb_define_class_under(mGtk, "CheckButton", gTButton);
gRButton = rb_define_class_under(mGtk, "RadioButton", gCButton);
@@ -7095,6 +7193,23 @@
rb_define_method(gButton, "clicked", button_clicked, 0);
rb_define_method(gButton, "enter", button_enter, 0);
rb_define_method(gButton, "leave", button_leave, 0);
+
+ /* Spin_Button */
+ rb_define_method(gSButton, "initialize", sbtn_initialize, -1);
+ rb_define_method(gSButton, "set_adjustment", sbtn_set_adjustment,1);
+ rb_define_method(gSButton, "get_adjustment", sbtn_get_adjustment,1);
+ rb_define_method(gSButton, "set_digits", sbtn_set_digits, 1);
+ rb_define_method(gSButton, "get_value_as_float",sbtn_get_value_as_float,0);
+ rb_define_method(gSButton, "get_value_as_int", sbtn_get_value_as_int, 0);
+ rb_define_method(gSButton, "set_value", sbtn_set_value, 1);
+ rb_define_method(gSButton, "set_numeric", sbtn_set_numeric, 1);
+ rb_define_method(gSButton, "set_update_policy", sbtn_set_update_policy,1);
+ rb_define_method(gSButton, "spin", sbtn_spin,2);
+ rb_define_method(gSButton, "set_wrap", sbtn_set_wrap,1);
+ /*
+ rb_define_method(gSButton, "get_type", sbtn_get_type,0);
+ rb_define_method(gSButton, "construct", sbtn_construct,4);
+ */
/* ToggleButton */
rb_define_method(gTButton, "initialize", tbtn_initialize, -1);