与太郎プログラマの日記 このページをアンテナに追加 RSSフィード

2007-02-18

Prototype windowを利用する。

Prototype window

Railsに標準で入っている prototype.js にウィンドウ機能を追加するJavaScript集。

簡単なRails用ヘルパも入っているので統合するのは楽そう。


準備

  1. ダウンロード解凍
  2. helper/prototype_window_class_helper.rb を railsapp/app/helpers/ へ配置。
  3. javascripts/*.js を railsapp/public/javascripts/ へ配置。
    • もともとあるのはコピーしなくてもOK。
  4. themesをフォルダごと、railsapp/public/stylesheets/ へ配置。

使う(Rails 1.2.2)

まず、ヘルパを組み込む。(ただ、コメントに書かれていた方法ではうまくいかず。なんか勘違いしてるかな?)

railsapp/app/helpers/application_helper.rb

# Methods added to this helper will be available to all templates in the application.
module ApplicationHelper
  include PrototypeWindowClassHelper #この行を追加。
end

つぎ、レイアウトにCSSJSを組み込む。

railsapp/app/views/layouts/hogehoge.rhtml

<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
  <title>Hogehoge</title>
  <%= stylesheet_link_tag 'ajax_scaffold', :media => 'all' %> #これはAjaxScaffoldGenerator用。windowと同居できるみたい。
  <%= stylesheet_link_tag 'themes/alert' %> #追加。
  <%= stylesheet_link_tag 'themes/default' %> #追加。
  <%= stylesheet_link_tag 'themes/nuncio' %> #使いたいテーマがあれば、このように追加。
  <%= javascript_include_tag :defaults %>
  <%= javascript_include_tag 'rico_corner', 'ajax_scaffold' %> #これはAjaxScaffoldGenerator用。
  <%= javascript_include_tag 'window' %> #追加。
</head>
<body>

<%= @content_for_layout %>

</body>
</html>

最後、ビューにヘルパを組み込む。まずはサンプル通りに。

test1.rhtml

<%= link_to_prototype_dialog( 'Link', 'Hello world', 'alert' ) %>
<%= link_to_prototype_window( 'Link', 'window_id_1', { :title => 'Window title Default', :left => 200, :top => 200 }) %>
<%= link_to_prototype_window( 'Link', 'window_id_2', {  :className => 'nuncio', :title => 'Window title nuncio', :left => 200, :top => 200 }) %>

もういっちょ、scaffoldの一覧ページを出してみる。

test2.rhtml

<%= link_to_prototype_window( 'Link', 'window_id_1', {
	:className => 'nuncio',
	:title => 'Window title nuncio',
	:left => 50,
	:top => 50,
	:url => '/hogehoges/list' }) %>

Prototype windowを実行する。

出来上がったので動かしてみる。


f:id:yotaropg:20070218131602p:image

http://localhost:3000/hogehoges/test1を表示し、ウィンドウを2つ出したあと、Alertを表示したところ。


f:id:yotaropg:20070218134502p:image

http://localhost:3000/hogehoges/test2を表示し、ウィンドウを表示したところ。(AjaxScaffoldGeneratorを利用。ざっと見たところ、ちゃんと動いてます)


いったん理解してしまえば組み込みは簡単*1。動きは・・・あまり軽快とは言い難いが。Windowsだとまた違うだろうか。


表示は実に美しいのだけれど、どう活用すれば使いやすいUIになるかは今のところ謎。ブラウザ内で移動・リサイズできてもあまり嬉しくないような。どうかな。そうでもないかな。

簡単な使い方としては、位置固定で表示してコンポーネントの外枠として使う、とか。それなら何処にでも使えそうだ。

「有能なプログラマ」チェックシート

■ 有能なプログラマの特徴を思いつくまま列挙してみる

分裂勘違い君劇場グループ - 劇場管理人のコメント - 有能なプログラマの特徴を思いつくまま列挙してみる

チェックしてみましょう、そうしましょう。


  1. ○:要求自体をシンプル化する
    • 可能なときはそう努力している。
    • プロジェクトが大きいとプログラマとユーザの間に関係者が沢山入ってくる*2ので、段々難しくなってきます。
  2. ○:メタレベルプログラミング
    • C#もCLOSも知らないので想像で。システム基盤を自前で書いてその上に業務ロジックを載せる、みたいな考え方のことかしらブクマにツッコミ。え、そうじゃなくて。あ、実行時の内部情報を動的に読み取って、それを元に処理を行うようなものですかしら?それならやっています。
  3. ○:DSLオンデマンドで自作する
    • Rubyを使ってやっている。
  4. △:デザインパターン
    • あやしい。パターン名と実際のパターンの関連付けがイマイチ。
  5. ×:英語
    • まったくダメ。日本語Googleで見つからないときに仕方なく英語の資料を浚いに行きます。
    • 英会話スクールにも通う・・・想像のらち外だった。試しにやってみるのも面白いかも。
  6. △:処理系ライブラリの動作原理の精密な理解
    • 緻密には理解してないなぁ。Delphiが出たときにVCLを貪るように読んだのが最後。この経験で得られたものは確かに大きい。
  7. ○:ライブラリに関する知識
    • 話題になったのはなるべく押さえるようにはしてます。が、なかなか。
  8. ×:基本的なコンピュータサイエンスの知識
    • 全然だめ。大学を出てないと、この辺を支える広範な基礎がないのが辛い。
    • 高等教育の成果が現れるのは40近くになってから、という言葉*3が身にしみてくる今日この頃。
  9. ×:セキュリティ技術の基本
    • これもダメだ。いま、SSHの入門書を読んでいるレベル。
  10. ×:プロトコルの詳細
    • だめ。概要だけ。
  11. ○:異質なプログラミングパラダイムを理解しておく
  12. ×:汎用のキーカスタマイズツール
    • してない。というか職場でそういうの禁止されてる。
  13. ○:開発環境の具体的な機能の理解と使いこなし
    • いちおうは。
  14. ×:開発環境のマクロ言語
    • 職場で禁止されてるので、あまり大ぴらには出来ない。
  15. △:開発環境の正規表現
  16. ○:スクリプト言語
    • すいません。メイン系としても使ってます。
    • 用言語としてはあまり使ってない。職場じゃバッチファイルによる個人レベルの自動化でさえ上長の許可がいるので。
  17. ×:プログラミングに飽きて、プログラマを辞めたくなったときの準備をしておく
    • ・・・してません。田舎さ帰って百姓でもやるだかい。

全17問中、

  • ○:7件
  • △:3件
  • ×:7件

という微妙すぎる結果に。どうするのよ俺、みたいな?

ちなみに結果の集計は正規表現でやりましたよ!・・・orz

ほうれん草とじゃがいものカレー、トマトと玉ねぎのカチュンバル

カレートマトピューレを多めにしてみた。

チュンバルはサラダ。さっぱり塩味。

どちらも簡単に完成。だんだん作るのが手早くなってきている。だれか嫁に貰ってくれ。

いただきます。

以上。

トマトピューレ多めのカレーは、日本のカレーっぽい感じで○。

チュンバルはサッパリしてて、玉ねぎとトマトそのものの味が強調されていて美味。

幸福のちから

ハリウッドらしからぬ、淡々とした映画。これ、アメリカンは感動したのかあ。なるほどなぁ。

見終えて出て行く列のあちこちから「なんかスッキリしない」という声が上がっていたのが印象的でありました。


同感。これは日本人には感動ポイントが存在しない映画じゃないだろうか。

なんというか・・・アメリカが金持ちに優しくて貧乏人に厳しい*4事情を見事に描き出している感じ。

*1:実は30分もかかってしまいましたが。helperのコメントに各ファイルの配置情報が載ってないんだもん。

*2:それは実装者の出る幕ではない、と言われる

*3:野村吉三郎?鈴木貫太郎かも

*4:ほんとかどうか知らないけど、そういう論しか聞こえてこない。