2007-01-01から1年間の記事一覧

閃いた

ふと、AOISORAのlogic.pyでgtkをimportしてないことに気づいた。実際にはその中で使っているiterはGtkTreeIterだしmodelはGtkTreeStoreなんだけど、型に甘いpythonにとってはそんなの関係ない。どこかでCreateしたりしてるわけじゃないので。ということは、…

GUIツールキット選びの難しさ

先ほどwxPythonのTreeCtrl周りのソースを書いてみて実感しました。よく「開発のしやすさはGtk、ユーザの使いやすさはwxWidgets」と言われますが、本当にそのとおりですね。やはりツールキット選びは永遠の課題です。というわけでwxWidgetsでのエレガントなコ…

AOISOMEコミットしました

TreeCtrlをカスタムウィジェット化 ダミーのTree表示(アイコン付き) 各種イベントハンドラを追加 以上の内容をコミット(Rev.24)。

wxTreeCtrlについて

ノードの追加方法とかデータやテキストとの関連性とかその辺のドキュメントを読んでいたんですが、印象としてはちょっと設計が古く、GtkやSwingよりはMFCとかVCLに近いと感じました。wxTreeCtrlにノード(Item)を追加する際に、テキストと画像とデータを引数…

エディタについて

ちょっと休憩して、エディタについて書きます。 開発中のアウトラインプロセッサのエディタ部の話じゃなくて、コーディングに使用するエディタの話です。AOISOのコードはvimで書いています。僕は巷で言うvimmerではないので、そんなにvimに詳しいわけでも使…

XRCedでカスタムウィジェット

Gtkでやったときの経験上、wx.TreeCtrlは派生クラスを作った方がいいでしょう。 import wx class AoisoWxTreeCtrl(wx.TreeCtrl): def __init__(self, parent): wx.TreeCtrl.__init__(self, parent) return XRCed上では?マークのカスタムウィジェット(wx用語…

XRCedにしよう

wxGladeを使っていたらすぐに問題にぶつかった。wxGladeでは、ボタンなどの画像の指定がファイル名でしかできない(多分)。Gladeのようにstock画像を呼び出せない。最終的にはすべての画像アイコンを自作する予定なのでそれはそれでもいいのかもしれないが…

wxGladeをPythonで使う方法

Gladeの場合はPythonのスクリプトから*.gladeファイルを直接読み込んで使うが、wxGladeの場合はwxGladeからPythonファイルをジェネレートしてそれを使う。こっちの方が全部Pythonで読めて便利かも。しかし、wxGladeでGUIいじる度にジェネレートするとすればP…

sizerメモ

画面リサイズに追随するかどうかの決め手になるパラメータはProportionとwxEXPAND。Sizerの方向に関してはProportionが0だと固定、1以上だとリサイズに追随。通常の2分割の場合は片方が0、もう一方が1になる。3分割以上を使う場合は、広げたいペインだけ1に…

AOISORA 0.0.4 リリースしました。

次の作業に入る前に一旦今の状態(Rev.21)をAOISORA-0.0.4としてリリースします。0.0.3からの目だった変更点はツリー上にアイコンが表示されるようになったくらいですが、内部的にはかなり変わっています。また、今のところ文字化けして実質使えないのですが…

wxPythonも使ってみるか

カテゴリをちょっと変更しました。さて、PyGtkでの開発のめどはたったんですが、py2exeの豆腐問題とか、GtkのダイアログはWindowsユーザには馴染めないとか、いろんな課題が残されています。元々Linuxで使うためのソフトとして開発をしているわけですが、配…

TreeViewにアイコン表示

やることは、TreeViewの生成時に column = gtk.TreeViewColumn() column.set_title('item') render_pixbuf = gtk.CellRendererPixbuf() column.pack_start(render_pixbuf,expand=False) column.add_attribute(render_pixbuf,'pixbuf',c.COL_ICON) render_tex…

続・XRCedで生成されたソースについて

なんかジェネレートされたPythonファイルはいらないような気がしてきた。Gladeと同じようにXMLを読み込むところからコーディングしても別に手間じゃないし、自分で書いたソースの方が読みやすい。 シンプルなFrameならxrcファイルとAppクラスだけでいける。 …

XRCedで生成されたソースについて

XRCedでGUIを作ったら、xrcファイルとpythonファイルが作られるわけですが、このpythonファイルをどうするかが問題です。直接編集すると次回ジェネレートするときに困ります。しかし良く見てみると大事なことはだいたいxrcファイルに書いてあるので、GUIを作…

AOISOMEリセット&コミットしました

AOISOMEの方は一旦クリアし、XRCedで作成したファイルだけの状態にしました(Rev.22)。これからの予定としては ボタンでTreeViewにノード追加するイベント テスト用ファイルの読み書き あたりをやってみます。その際に、AoisoNodeクラスは既存のものを使いま…

py2exe

作業マシンのFeodraを8にアップグレード中なので久しぶりにWindowsを起動。PythonアプリもWindows用にはやはりexe形式の方が配布しやすいので、py2exe用のスクリプトを書いてみました。 いろんなサイトを参考にした結果こんな感じで。 from distutils.core i…

ブログデザイン変更

はてなに用意されてるデザインをそのまま使っているんですが、なんか全くデザインで内容がカブってるブログを見つけたので、変えてみました。いまいち気に入らないのでそのうちまた変えると思います。

TODO 2007.12.29

ツリービューにアイコンを表示。とりあえず第一階層とそれ以外で違うアイコンを表示してみようか。 TreeModelあたりが気に入らない。モデルなのにGtkに依存するのはどうなのか? Gtkってビューでしょ? 例えば「やっぱwxWidgetsで行こう!」となったときに流用…

どこに何を書くか

しばらく間があきました。TreeViewの派生ウィジェットを作ったところで、既存コードの整理をすることにします。まず、MainWindowに依存しすぎているという問題をどうにかしたいんですが、Gladeを使っているとどうしても仕方ない部分が多いようです。たとえば…

AOISORA、でした

12/9の日記で1AOISOMEコミットと書きましたがコミットしたのはAOISORAでした。うーむ、プロジェクトの管理がよくわからなくなってます。近々名称も含め整理しようかな。みなさん、プロトタイプやテスト用のコードをSourceForgeで管理するときはどうしてるん…

AOISOMEコミットしました

早速、TreeViewをカスタムウィジェット化したAOISOMEをsorceforge.jpのリポジトリにコミットしました(Rev.18)。と言っても現時点ではカスタムウィジェットはTreeViewそのままです。そのうちMainWindowからTreeView関連のコードを移していきたいと思います。T…

PyGtk+Gladeでカスタムウィジェットを使う

先日の日記で「うまくいかない」と書いたのですが、原因がわかりました。参考にしていたソースはこちらなんですが、このサンプルではメインウィジェットがSimpleGladeAppというクラスを継承していてその中でやっている処理があったため、シンプルな記述でカ…

Gladeとカスタムウィジェット

今は一旦ある程度動いているソースをバラして書き直しているところです。というのも、これまでGladeでGUIデザインをする際にカスタムウィジェットというのを使えることを知らず、デフォルトのGtkウィジェットしか使えないようだからと仕方なくそれらを張り付…

PyGtkを使っています。

今回、どういう言語でどういうGUIツールキットを使うのかには散々悩みました。Swing、Qt+C++、wxWidgets+C++、SWT、Lazarus+FreePascal、Gtk+C・・・。 いろいろ悩んだ挙句、最後の最後くらいにスクリプト言語でいいんじゃないかと思い立ち、PythonかRubyでG…

そうそう

「で、そのアウトラインプロセッサはいつ完成していつダウンロードできるようになるの?」と気になる人がいるかどうかわかりませんが、一応説明しておきましょう。完成時期はわかりません。っていうか、完成って何ですか?w未完成のままで公開されますので、…

はじめまして

これからソフトウェアの開発ブログを書くことにします。作るソフトはアウトラインプロセッサです。アウトラインプロセッサは世の中にたくさんあるので、アウトラインプロセッサを知らない人はググって調べてください(と言って説明を省略w)。で、「世の中に…