ルギア君の戯言

雑多な記事。

コーディング開始

さて、概ね UI ができたところで、コーディングの開始です。


まずは、悩んでいたところから作り始めるのがいいと思い、初期化時のイベントの設定から開始。




<init.cc>

int init_editor(Glib::RefPtr<Gnome::Glade::Xml> xml) {
	// イベントの設定
	Gtk::ImageMenuItem* New, Open, Save, Save_As, Quit, // File Menu
			    Cut, Copy, Paste, Delete, // Edit Menu
			    Info; // Help Menu
	xml->get_widget("imagemenuitem1", New);
	glade_xml_signal_connect(xml->gobj(), "on_new_file_select", new_file::event);
	return SLK_SUCCEED;
}


xml は main.cc から glade ファイルを読み込んで指定されます。


imagemenuitem1 は「新規(作成)」のメニューの glade 内の名前です。
on_new_file_select は imagemenuitem1 の GtkMenuItem の activate シグナルのハンドラ名、new_file::event はシグナルが発行された時に実行する関数で、戻り値、引数ともに void です。


これで メニューの「新規」をクリックした時の動作が作れるようになりました。
はあ、残りはどうするんだ・・・?
大変だ・・・。
こういうのは多いからしょうがないか。

    glade_xml_signal_autoconnect(xml);

をつかうと楽らしい*1・・・が、C++ の関数名(クラス名付き)を引っかけることができるのか?
やってみる価値はあるかな。


まあ、いいや。これで作り始めちゃったからこのまま行こう。


うーん・・・

*1:http://d.hatena.ne.jp/maoe/20061123/1164278196