[#30220] schedule for Ruby 1.8.6 — "Akinori MUSHA" <knu@...>

 ruby-core を読んでいない人もいると思うので、ここでもアナウンス

20 messages 2007/01/30

[ruby-dev:30080] Ruby/Tk クラス名のゆれ

From: Kazuhiro Yoshida <moriq@...>
Date: 2007-01-05 02:53:02 UTC
List: ruby-dev #30080
moriqです。

Ruby/Tk にはいくつかクラス名のゆれがありますが、
マニュアルを作成する上で、どちらかに統一したいです。

例えば、BLT Tileのcheckbuttonは、
Tk::BLT::Tile::Checkbuttonの名前で定義され、
TkCheckbuttonを継承しています。
そして、Tk::BLT::Tile::CheckButtonを別名として用意しています。

tkextlib/blt/tile/checkbutton.rb:
module Tk::BLT
  module Tile
    class Checkbutton < TkCheckbutton
      TkCommandNames = ['::blt::tile::checkbutton'.freeze].freeze
    end
    CheckButton = Checkbutton
  end
end

しかし、Tkのcheckbuttonを見ると、
TkCheckButtonの名前で定義され、
TkCheckbuttonを別名として用意しています。

tk/checkbutton.rb:
class TkCheckButton<TkRadioButton
  ...
end
TkCheckbutton = TkCheckButton

これはできればBLT Tileの定義をTkに合わせ、次のように変更して
名前をCheckButtonに統一したいです(少なくともマニュアル上は)。

tkextlib/blt/tile/checkbutton.rb:
module Tk::BLT
  module Tile
    class CheckButton < TkCheckButton
      TkCommandNames = ['::blt::tile::checkbutton'.freeze].freeze
    end
    Checkbutton = CheckButton
  end
end


あと、ほかには…

tk/scrollable.rb:
  module X_Scrollable

tk/scrollbar.rb:
class TkXScrollbar<TkScrollbar

_ の付け方に統一感がない。

tk/canvas.rb:
 class TkCanvas<TkWindow
   include TkCanvasItemConfig
-  include Scrollable
+  include Tk::Scrollable
autoloadに頼っているように見える(module Tkの外にある)ので、
このように変更したい。

など、個人的な要望としてあります。


あと、些細なtypo:
tkextlib/blt/table.rb:
     tk_call('::blt::table', container)
     begin
       class << container
-        include Tk::BLT::TABLE::TableContainer
+        include Tk::BLT::Table::TableContainer
       end
     rescue
       warn('fail to include TableContainer methods (frozen object?)')

In This Thread

Prev Next