[#11507] parser generator — Minero Aoki <aamine@...>

あおきです。今年もよろしくおねがいいたします。

54 messages 1999/01/07
[#11508] Re: parser generator — ttate@... 1999/01/07

立石です。

[#11511] Re: parser generator — shugo@... (Shugo Maeda) 1999/01/08

[#11514] Re: parser generator — keiju@... (石塚圭樹 ) 1999/01/08

けいじゅ@日本ラショナルソフトウェアです.

[#11517] Re: parser generator — aamine@... 1999/01/08

あおきです。

[#11519] Re: parser generator — keiju@... (石塚圭樹 ) 1999/01/09

けいじゅ@日本ラショナルソフトウェアです.

[#11521] Re: parser generator — aamine@... 1999/01/10

あおきです。

[#11537] Re: parser generator — keiju@... (石塚圭樹 ) 1999/01/12

けいじゅ@日本ラショナルソフトウェアです.

[#11564] Re: parser generator — Minero Aoki <aamine@...> 1999/01/14

あおきです。

[#11566] Re: parser generator — keiju@... (石塚圭樹 ) 1999/01/14

けいじゅ@日本ラショナルソフトウェアです.

[#11585] Re: parser generator — aamine@... 1999/01/16

あおきです。

[#11611] Re: parser generator — keiju@... (石塚圭樹 ) 1999/01/18

けいじゅ@日本ラショナルソフトウェアです.

[#11643] [racc] help me [Re: parser generator] — keiju@... (石塚圭樹 ) 1999/01/20

けいじゅ@日本ラショナルソフトウェアです.

[#11648] Re: [racc] help me [Re: parser generator] — kjana@... (YANAGAWA Kazuhisa) 1999/01/20

In message <199901200705.QAA02084.keiju@bc.mbn.or.jp>

[#11659] Re: [racc] help me [Re: parser generator] — keiju@... (石塚圭樹 ) 1999/01/21

けいじゅ@日本ラショナルソフトウェアです.

[#11661] Re: [racc] help me [Re: parser generator] — kjana@... (YANAGAWA Kazuhisa) 1999/01/21

In message <199901210735.QAA03189.keiju@bc.mbn.or.jp>

[#11664] Re: [racc] help me [Re: parser generator] — keiju@... (石塚圭樹 ) 1999/01/21

けいじゅ@日本ラショナルソフトウェアです.

[#11681] Re: [racc] help me — Minero Aoki <aamine@...> 1999/01/22

あおきです。

[#11685] Re: [racc] help me — keiju@... (石塚圭樹 ) 1999/01/23

けいじゅ@日本ラショナルソフトウェアです.

[#11687] Re: [racc] help me — aamine@... 1999/01/23

あおきです。

[#11740] Re: [racc] help me — keiju@... (石塚圭樹 ) 1999/01/26

けいじゅ@日本ラショナルソフトウェアです.

[#11759] Re: [racc] help me — aamine@... 1999/01/27

あおきです。

[#11783] Re: [racc] help me — keiju@... (石塚圭樹 ) 1999/01/28

けいじゅ@日本ラショナルソフトウェアです.

[#11793] Re: [racc] help me — aamine@... 1999/01/28

あおきです。

[#11812] Re: [racc] help me — keiju@... (石塚圭樹 ) 1999/01/29

けいじゅ@日本ラショナルソフトウェアです.

[#11553] はじめまして&環境変数についての質問 — Atsuko Yoshida <atsuko@...>

こんにちは。はじめまして。

22 messages 1999/01/14

[#11587] Array.new([SIZE]) — Yoshinori Toki <toki@...>

土岐です。

15 messages 1999/01/17

[#11621] Segmentation fault — polygon <polygon@...>

ポリゴンです。

18 messages 1999/01/19

[#11660] ruby 1.2.2 released — matz@... (Yukihiro Matsumoto)

Hi.

19 messages 1999/01/21

[#11720] ruby からの MSAccess への DB アクセス方法 — ymaekawa@...

はじめまして前川@NECと申します。

13 messages 1999/01/25
[#11723] Re: ruby からの MSAccess への DB アクセス方法 — たむら けんいち <t9655832@...> 1999/01/25

たむら です。

[#11746] (joke :-) ruby chip — Noritsugu Nakamura <nnakamur@...>

14 messages 1999/01/26
[#11747] Re: (joke :-) ruby chip — "Kikutani, Makoto" <kikutani@...> 1999/01/26

Wed, Jan 27, 1999 at 07:19:14AM +0900 において

[#11803] Array クラス — hisanori@...

松尾です。

36 messages 1999/01/29
[#11804] Re: Array クラス — matz@... (Yukihiro Matsumoto) 1999/01/29

まつもと ゆきひろです

[#11807] RE: Array クラス — ozawa@... 1999/01/29

最近Beなさくです。

[#11813] RE: Array クラス — ISII takesi <isii@...> 1999/01/29

石井です。

[#11814] Re: Array クラス — keiju@... (Keiju ISHITSUKA) 1999/01/29

けいじゅ@日本ラショナルソフトウェアです.

[#11815] Re: Array クラス — matz@... (Yukihiro Matsumoto) 1999/01/29

まつもと ゆきひろです

[ruby-list:11776] ruby-gtk spin button

From: takeshi@...
Date: 1999-01-28 03:29:02 UTC
List: ruby-list #11776
はじめまして。村上毅と申します。

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);

In This Thread

Prev Next