• [soccerwindow2] wx版の整理をほぼ完了. (akiyama) 07:19:33

boost::signalsを使ったSignal/Slotで実装し直した. Qt版のデータの実装で動作することを確認. 後は細かい動作テストが残っているくらい. 結局,土日を全部使ってしまった.

さー,ついにwx版とQt版を統合するときがやってまいりました.

  • [soccerwindow2] wx版とQt版の統合をほぼ完了. (akiyama) 15:33:48

GNU Autotoolsを使ったビルドであれば,問題なく両方を使い分けることができるようになった. configureのオプションに --enable-wx と --enable-qt4 を追加して,必要な方だけをビルドできるようにした. ビルドされるバイナリは, soccerwindow2-wx と soccerwindow2-qt の二つ. これらに加えて,soccerwindow2 というシェルスクリプトがインストールされるようにした. 将来的には,soccerwindow2コマンドへのオプションによって,どちらを使うかを選択できるようにする予定.

さて,フォーメーションエディタのソースをどこに置くかが問題だ. qmakeでは,ひとつのMakefileからひとつのバイナリしか作れないように見える. だとすると,フォーメーションエディタのソースは別ディレクトリに移さないといけないわけだ. しかし,できれば,ソースはひとつのディレクトリにまとめておきたい. そんなわけで,現在のところ,フォーメーションエディタはビルドターゲットとせずに宙ぶらりんの状態して,解決策を調査中. qmakeは,非常に手軽で便利だが,複雑な用途になると逆に使いにくくなるのかもしれない. ともかく,もうちょっと調べてみよう.

  • [soccerwindow2] フォーメーションエディタを分離. (akiyama) 18:28:53

qmakeで,同一ディレクトリ内に複数のビルドターゲットを指定することは難しいようなので,フォーメーションエディタを完全に独立したディレクトリへ分離することにした. Qt版のフォーメーションエディタも作るつもりなので,旧フォーメーションエディタは fedit-wx というバイナリにビルドすることにした. 現在のディレクトリ構成は以下のとおり:

soccerwindow2/
   +-- config/  : Autotools関連の設定ファイル格納用
   +-- src/
            +-- fedit-wx/ : wxGTKによるフォーメーションエディタの実装
            +-- model/  :  共有するデータ構造
            +-- qt/          :  Qt4による実装
            +-- wx/         :  wxGTKによる実装

何だか美しくない. fedit-wxはmodelにも依存していないので,いっそのこと,フォーメーションエディタは完全に別パッケージ化した方がいいだろうか?

Qtの実装を追加したら全体で46000行を越えてしまった.これでQt版フォーメーションエディタを加えたら,5万行を越えてしまいそう.何でこんな巨大になってしまったんだろう.もっとシンプルに書けるようになりたい.


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-03-14 (月) 14:51:37 (1308d)
SourceForge.JP
Creative Commons License
RoboCup tools by Hidehisa Akiyama is licensed under a Creative Commons 表示-非営利 2.1 日本 License.