SimpleText開発記
SimpleText 完成! このシンプルなインターフェイス!今やこれがメインエディタです(ウソ)開発記 DAY 10 - テキストを保存する DAY 9 - statusbarに文字を表示させてみる DAY 8 - テキスト読み込み機能の手直し その2 DAY 7 - テキスト読み込み機能の手直…
今日はテキストを保存する機能を付け加えましょう。 なお、このプログラムで大切なデータを消してしまったとしても、責任はとれません。callbacks.cのon_button_save_clickedを見てください。 callbacks.cvoid on_button_save_clicked( GtkButton *button, g…
今日は、statusbarに文字を表示させてみましょう。 entryに入力されたファイルがあるかどうかを調べて、 あれば 「Open File / Save Mode」 なければ「New File / Save as Mode」 と表示させてみます。(今のところプログラムと同じフォルダにあるファイルを…
今日は、指定したファイルが存在しない状況への対処を追加しましょう。 ファイルが存在しない場合、g_io_channel_new_fileからNULLが返されるのでそれを利用します。 callbacks.cvoid on_button_open_clicked ( GtkButton *button, gpointer user_data) { Gt…
無事にテキストファイルを読み込んで textviewに表示できましたが、OPENボタンをクリックするたびに、同じ内容がどんどん追加されてしまいます。そこを修正しましょう。 callbacks.cvoid on_button_open_clicked ( GtkButton *button, gpointer user_data) {…
今日こそ読み込んだテキストをtextviewに表示してみます。 textviewはテキストの表示を受け持っているだけで、 テキストの保持はtextbufferの分担です。 とりあえずコードを見てみましょう。 void on_button_open_clicked ( GtkButton *button, gpointer use…
では、テキストを読み込んで コンソール上に表示してみましょう。 /* え、またコンソールに出力ですか? ええ、物事は一歩ずつ進めた方がいいんです。 直接textviewに出力だと、ファイル読み込みとtextviewの扱い、2つ一気にやることになりますからね。 */ …
いよいよソフトの機能を構築するところに入っていきます。OPENボタンをclickすると、entryに入力されているファイル名を開く という機能を実装したいので、ひとまず、 OPENボタンをclickすると、entryに入力されている文字をコマンドラインに出力 するように…
さて、気づいた人もいるかもしれませんが、 前回作成したSimpleTextをコマンドラインから実行。 $ ./SimpleTextその後、ウィンドウを閉じてもコマンドライン端末に制御が戻ってきません。 これはウィンドウを閉じてもプログラム自体が終了していないからです…
Makefile CC = gcc -Wall CFLAGS = `pkg-config --cflags gtk+-2.0` LDFLAGS = `pkg-config --libs-only-L gtk+-2.0` LIBS = `pkg-config --libs-only-l gtk+-2.0 gthread-2.0` SRCS = main.c support.c #ソースファイル名 OBJS = $(SRCS:.c=.o) PROGRAM = S…
GladeでCのコードを出力します。 Gladeのメインウィンドウの「オプション」ボタンで出てくる 「プロジェクトの設定」ウィンドウ-「Cオプションタブ」 の 「サポート関数を出力する」 にチェックが入っていることを確認してください。 Gladeメインウィンドウ…
GladeはGTKを利用したGUIを簡単に作成してくれるソフトです。Glade3がリリースされているのですが、Cのコードを作成してくれる機能がなくなっているので 今回はGlade2を使っています。詳しい使い方は書きませんがだいたい分かると思います。callback関数を w…
Hello World!の次のステップとしてシンプルなテキストエディターを作ってみます。プロジェクト名:Simple Text 単純なウインドウ1つのアプリ 「保存しないで終了しますか?」などの親切な機能もなし 上段:テキスト編集エリア (GtkTextView) 中段:ファイル…