[ruby-gnome2-doc-cvs] [Ruby-GNOME2 Project Website] update - libglade2-tut-create-src

Back to archive index

ruby-****@sourc***** ruby-****@sourc*****
2008年 10月 16日 (木) 23:18:17 JST


-------------------------
REMOTE_ADDR = 222.225.51.171
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/ja/hiki.cgi?libglade2-tut-create-src
-------------------------
@@ -82,10 +82,12 @@
     bindtextdomain(domain, localedir, nil, "")
     
     @editor = @glade['textview1']
-    @opendlg = @glade['filechooser']
+    @filedlg = @glade['filechooser']
     @aboutdlg = @glade['aboutdialog']
   end
 
+{{br}}
+
 以下、シグナルハンドラの実装例です。まずは簡単な所で、"Edit"メニューの"Cut(切り取り)"、"Copy(コピー)"、"Paste(貼り付け)"コマンドを実装してみます。
 
   def on_paste1_activate(widget)
@@ -102,6 +104,10 @@
 
 以上(笑)。Gtk::TextViewのおかげです。ちなみにTextViewウィジェットの右クリック(コンテキスト)メニュー内のコマンドは実装する必要すらありません。デフォルトで動作します。
 
+{{br}}
+
 次は、"Help"メニューの"About"コマンドを選択した時に、Gladeで作っておいたアバウトダイアログを表示する例です。
 
   def on_about1_activate(widget)
@@ -128,5 +132,34 @@
   end
 
 Gtk::Dialog#runは、どのボタンを押してもダイアログが閉じる処理の場合には便利ですが、そうでない場合、他のウィジェットと同じ方法でシグナルハンドラを設定することもできます。詳しくは((<「Gtk2チュートリアル」の「ダイアログ」のページ|gtk2-tut-dialog>))を見て下さい。
+
+{{br}}
+
+もう一つ、"File"メニューの"Open(開く)"コマンドを選択した時に、Gladeで作っておいたFileChooserDialogを使って、TextViewにテキストファイルを読み込む例です。
+
+  require 'hwedit_glade'
+  require 'kconv'		# この行を追加
+
+まずシグナルハンドラ内の文字コード変換処理に必要なKconvモジュールを読み込むコードを冒頭に追加します。プログラムからTextViewにテキストを入力する場合、文字コードがUTF-8になっている必要があります。
+
+  def on_open1_activate(widget)
+    if****@filed***** == Gtk::Dialog::RESPONSE_OK
+      filename  =****@filed*****
+      @editor.buffer.text  = ""		# バッファをクリア
+      File.open(filename).each do |line|	# 1行ずつ処理
+        @editor.insert_at_cursor(Kconv.toutf8(line))
+        # 文字コードを変換してカーソル位置(バッファ末尾)に挿入
+      end
+      @editor.move_cursor(Gtk::MOVEMENT_BUFFER_ENDS, -1, false)	# カーソルを先頭に移動
+      @editor.cursor_visible  = true				# カーソルを表示
+    end
+    @filedlg.hide
+  end
+
+
 
 (まだ未完成)




ruby-gnome2-cvs メーリングリストの案内
Back to archive index