[#25279] mkmf - DESTDIR is ignored — dellin <dellin_geo@...>

こんxxは。dellinです。

14 messages 2000/10/02

[#25311] =begin, =end — m_seki@...

27 messages 2000/10/04
[#25315] Re: =begin, =end — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/10/05

なひです.

[#25317] Re: =begin, =end — rubikitch <rubikitch@...> 2000/10/05

From: "NAKAMURA, Hiroshi" <nakahiro@sarion.co.jp>

[#25319] Re: =begin, =end — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/10/05

なひです.

[#25321] Re: =begin, =end — rubikitch <rubikitch@...> 2000/10/05

From: "NAKAMURA, Hiroshi" <nakahiro@sarion.co.jp>

[#25341] Re: =begin, =end — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/10/06

なひです.こちらはRDの話.

[#25417] Re: mswin32 組み込み用 Ruby — toyofuku@...

豊福です。遅い反応でごめんなさい。

19 messages 2000/10/10
[#25423] Re: mswin32 組み込み用 Ruby — nobu.nakada@... 2000/10/10

なかだです。

[#25471] Re: mswin32 組み込み用 Ruby — toyofuku@... 2000/10/16

豊福です。

[#25474] 始めまして — matsue <mattue@...>

松江と言います。お初になります。

15 messages 2000/10/16

[#25505] media watch 2000.10.18 — Noritsugu Nakamura <nnakamur@...>

26 messages 2000/10/18
[#25522] Re: media watch 2000.10.18 — Noritsugu Nakamura <nnakamur@...> 2000/10/19

[#25540] Re: media watch 2000.10.18 — Shin-ichiro HARA <sinara@...> 2000/10/20

原です。

[#25567] Ruby で遅い処理は? — Yasuki <yasuki@...>

Yasukiです.

16 messages 2000/10/22

[#25599] 原先生の本 — WATANABE Tetsuya <tetsu@...>

渡辺哲也です。

44 messages 2000/10/25
[#25611] Re: 原先生の本 — Shin-ichiro Hara <sinara@...> 2000/10/26

原です。

[#25733] Re: 原先生の本 — keiju@... (石塚圭樹) 2000/11/01

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

[#25738] Re: 原先生の本 — Shin-ichiro HARA <sinara@...> 2000/11/01

原です。

[#25628] RWiki 1.0 and てんこもりぱっく — Masatoshi SEKI <m_seki@...>

14 messages 2000/10/26

[#25633] ping.rb の使い方 — goto@...

お世話になります。後藤です。

20 messages 2000/10/27

[#25674] EOF before end of embedded document — YANAGAWA Kazuhisa <kjana@...>

>od -c foo

15 messages 2000/10/28
[#25678] Re: EOF before end of embedded document — matz@... (Yukihiro Matsumoto) 2000/10/28

まつもと ゆきひろです

[ruby-list:25588] Re: Ruby/GTK の FileSelection が Win95 でうまく動きません

From: ITO Yoshiaki <yoshi@...>
Date: 2000-10-24 00:50:42 UTC
List: ruby-list #25588
いとうです。
yashiさん ありがとうございます。

At Mon, 23 Oct 2000 20:50:00 +0900,
Yasushi Shoji wrote:
> うちだと、
> 
> $ ruby -v -r gtk -e "Gtk::VBox.new.signal_connect('clicked'){}"
> ruby 1.6.2 (2000-10-18) [i686-linux]
> 
> Gtk-WARNING **: gtk_signal_connect_full(): could not find signal
> "clicked" in the `GtkVBox' class ancestry
 
確かに私のところでも、Linux上では

$ ruby -v -r gtk -e "Gtk::VBox.new.signal_connect('clicked'){}"
ruby 1.4.5 (2000-06-26) [i586-linux]

Gtk-WARNING **: gtk_signal_connect_full(): could not find signal
 "clicked" in the `GtkVBox' class ancestry

となりました。
ただ、先ほど確認してみたのですが、実際のスクリプトをWindows上の
DOSプロンプトで実行したときにエラーが出るのは、Gtk::VBox.newの
ところではなく、以下のタイミングで起こりました。

irb(main):039:0> fs = Gtk::FileSelection.new('')
#<Gtk::FileSelection: id=0xe9b9890>
irb(main):040:0> fs.ok_button.signal_connect('clicked') {
irb(main):041:1* fs.hide
irb(main):042:1> $callback.call fs.get_filename
irb(main):043:1> }

Gtk-WARNING **: gtk_signal_connect_full(): could not find signal
 "clicked" in the `GtkVBox' class ancestry
0
irb(main):044:0> fs.cancel_button.signal_connect('clicked') {
irb(main):045:1* fs.hide
irb(main):046:1> }
81
irb(main):047:0>

> なので、windowsじゃなくても使えないと思いますよん。
> 
> gdkwindowを持たない widget群は window systemからの eventつまり signalな
> んかを受け取る事ができないので clicked signalにhandlerを connectする事は
> できません。たとえできても呼ばれないしね(^^
> 
> GGADにその辺は書いてあります。
> http://developer.gnome.org/doc/GGAD/ggad.html
> 
> vbox widgetの referenceはこちら。
> http://developer.gnome.org/doc/API/gtk/gtkvbox.html

ありがとうございます。
プログラミング自体あまり経験がないので、いろいろと勉強してみます。

ちょっと長くなってしまうのですが、今かいているスクリプトを添付し
ますので、他にもおかしなところがありましたら、ご指摘頂けませんで
しょうか。
よろしくお願い致します。

#!/usr/bin/env ruby
#
# Ruby/Gtkによるプログラミングからのパクリ
#  (http://ruby.freak.ne.jp/gtk/)
#

require "gtk"

#===============================================
# GTK+での画面生成
#===============================================
# Main Window の生成
window = Gtk::Window.new(Gtk::WINDOW_TOPLEVEL)

# メニュー部分の作成
mbar = Gtk::MenuBar.new

# "File" メニューの生成 -> 'Open','Save','Quit'
filemitem1 = Gtk::MenuItem.new('File')
filemitem1.show
filemenu1 = Gtk::Menu.new
item11 = Gtk::MenuItem.new('Open')
item11.show
filemenu1.add item11
item12 = Gtk::MenuItem.new('Save')
item12.show
filemenu1.add item12
item13 = Gtk::MenuItem.new('Quit')
item13.show
filemenu1.add item13
filemitem1.set_submenu filemenu1
mbar.append filemitem1

# "Edit" メニューの生成 -> 'Run','Delete Item'
filemitem2 = Gtk::MenuItem.new('Edit')
filemitem2.show
filemenu2 = Gtk::Menu.new
item21 = Gtk::MenuItem.new('Run')
item21.show
filemenu2.add item21
item22 = Gtk::MenuItem.new('Delete Item')
item22.show
filemenu2.add item22
filemitem2.set_submenu filemenu2
mbar.append filemitem2

mbar.show

# テキスト表示部分とスクロールバーの作成
vadj = Gtk::Adjustment.new(0,0,0,0,0,0)
text = Gtk::Text.new(nil, vadj)
vs = Gtk::VScrollbar.new(vadj)
text.set_editable true

# 選択済みファイル名表示部分の作成
clist = Gtk::CList.new(['Selected File'])
clist.set_selection_mode(3)
# selection_mode について
#  0: 一個だけしか選択できない
#  1: 一個だけしか選択できない
#  2: 複数選択可能 ただし shiftとctrlの区別なし
#  3: 複数選択可能 shiftとctrlの区別あり
#clist.set_usize(100,200)
#clist.set_column_width 0,100

# ファイル名表示部分,テキスト表示部分とスクロールバーのパック
hbox = Gtk::HBox.new(false, 0)
hbox.pack_start clist, true, true, 0
hbox.pack_start text, true, true, 0
hbox.pack_start vs, false, false, 0
hbox.show

# メニュー部分とそれ以外の部分のパック
vbox = Gtk::VBox.new(false, 0)
vbox.pack_start mbar, false, false, 0
vbox.pack_start hbox, true, true, 0
vbox.show

# FileSelectionの生成
fs = Gtk::FileSelection.new('')

# OKボタンを押した時 ファイル名を取得
fs.ok_button.signal_connect('clicked') {
  fs.hide
  $callback.call fs.get_filename
}
# Canselボタンを押した時 画面の消去
fs.cancel_button.signal_connect('clicked') {
  fs.hide
}

# Open を選択した時
#   Clistにファイル名を表示 Textにファイルの内容を表示
item11.signal_connect('activate') {
  fs.set_title('Open File')
  $callback = proc {|filename|
	clist.append ["#{filename}"]
	text.set_point(0)
    text.forward_delete(text.get_length)
    open(filename) {|f| text.insert_text(f.read, 0)}
  }
  fs.show
}

# Save を選択した時
#   ???
item12.signal_connect('activate') {
  fs.set_title 'Save File'
  $callback = proc {|filename|
    open(filename, 'w+') {|f| f.write(text.get_chars(0, -1))}
  }
  fs.show
}

# Quit を選択した時
#   終了
item13.signal_connect('activate') {
  exit
}

# Run を選択した時
#   集計処理を実行
item21.signal_connect('activate') {
  filelist = get_file_list(clist)
  software_list = make_soft_list(filelist)
  license_list, pc_list = get_total_license(software_list)
  put_results(license_list,pc_list,text)
}

# Delete Item を選択した時
#   選択されたファイルをファイルリストから削除
item22.signal_connect('activate') {
  cr = clist.focus_row
  text.set_point(0)
  text.forward_delete(text.get_length)
  clist.remove_row(cr)
  window.show
}

# 各ウィジェットの表示とメインループ
window.add vbox
mbar.show
clist.show
text.show
vs.show
hbox.show
window.show
Gtk.main


In This Thread