[#43494] ブロックとともに呼び出されたsortについて — "Toshiyuki Ogura" <oguradio@...>

小倉です。

12 messages 2007/05/15

[#43508] rubyのテキストについて — 桑江 康公 <ykuwae@...>

はじめまして、桑江といいます。プログラム開発の勉強をはじめたいと考えています。いろいろと調べたのですが、オブジェクト指向を使った開発が現在しりゅうとのことで、Javaを勉強しようと考えていたのですが、rubyという言語もあるということがわかりネットで調べたところこのメーリングリストにたどり着きました。どなたかプログラム開発初心者でもわかりやすい本またはサイトがありましたら教えていただけないでしょうか?ちなみに、私のレベルはHTMLが少しわかる程度です。

8 messages 2007/05/15

[ruby-list:43559] Re: Ruby/Tk:ドラッグによる範囲選択

From: Hidetoshi NAGAI <nagai@...>
Date: 2007-05-23 01:53:07 UTC
List: ruby-list #43559
永井@知能.九工大です.

From: 山崎雄介 <y-yamasaki@saeilo.co.jp>
Subject: [ruby-list:43558] Re: Ruby/Tk:ドラッグによる範囲選択
Date: Wed, 23 May 2007 10:12:46 +0900
Message-ID: <20070523091401.3E98.Y-YAMASAKI@saeilo.co.jp>
> TkGridが使えなかったのはIwidgets::Scrolledframe内にTkGridで配置すると、
> セル数が少なくてウィンドウいっぱいにセルが配置されない場合に、グリッドの
> 領域が真ん中によってしまい、左上寄せにする方法がないようだったからです。
> 
> あ、でもベースとなるフレームをplace(:x=>0, :y=>0)しなおせばいいのでは?
> ジオメトリマネージャは奥が深いですね。

frame widget を新しくつくって,その上で grid を使い,
そのフレームを f.pack(:expand=>false, :fill=>:none, :anchor=>:nw)
で親フレームに配置するというのではいかがですか?

具体的にはこんな感じです.
-----------------------------------------------------------------
require 'tk'
require 'tkextlib/iwidgets'

scr_f = Tk::Iwidgets::Scrolledframe.new
scr_f.pack(:expand=>true, :fill=>:both)

cols = 4
rows = 6

f = TkFrame.new(scr_f.child_site)
f.pack(:expand=>false, :fill=>:none, :anchor=>:nw)

btag = TkBindTag.new

mark_loc = [0,0]

btag.bind('1', '%W %x %y'){|w, x, y|
  # drag 範囲の起点
  mark_loc = f.grid_location(w.winfo_x + x, w.winfo_y + y)
}
btag.bind('B1-Motion', '%W %x %y'){|w, x, y|
  # drag 範囲の終点
  p [mark_loc, f.grid_location(w.winfo_x + x, w.winfo_y + y)]
}

ary = (0..(rows-1)).collect{|row|
         (0..(cols-1)).collect{|col|
            TkEntry.new(f){|w| w.bindtags_unshift(btag)}
         }
      }

ary.each{|row| Tk.grid(*row)}

Tk.mainloop
-----------------------------------------------------------------
-- 
                                       永井 秀利 (九工大 知能情報)
                                           nagai@ai.kyutech.ac.jp


In This Thread