wxWidgetsに報告すべき案件
wxrc の出力が wxT の削除と wxNO_IMPLICIT_WXSTRING_ENCODING に未対応
現状は python スクリプトで対応しています。wxrc で対応する方法はいろいろありそうです。
wxFileConfig の問題
ConfigurationData.cpp に記しています。
wxFileConfig にファイル名を与えて構築する際に、指定したファイルが存在しないと、その後どのような保存も行われません。構築時にファイルがないことを検出するとファイル名情報そのものが消失します。このため保存も一切行われません。
wxComboBox を含んだ wxStaticBoxSizer の解体時異常
詳細は CatapultPage::~CatapultPage() の中で記しております。wxComboBox に文字を入力したり項目を選択したりすると、それを囲っている wxStaticBoxSizer(の中の wxStaticBox)の解体時に例外が発生するという事象です。解体前に wxStaticBox::Hide() で隠すという方法で回避しています。
wxUSE_XXX の依存関係チェックがない
報告がいるかどうかは別にして。
- PNG → ZLIB, EXPAT
- PROPGRID → COLOURDLG, COLOURPICKERCTRL
- RICHMSGDLG → SASH
- デフォルトの wxLogWarning 出力先ダイアログ → 依存先不明ながら現在 OFF にしているいずれかが必要です。
- Ubuntu では wxUSE_POSTSCRIPT=0 がうまく機能していないようです。
CMake 関係の説明で不備と思われるもの
CMakeList.txt に2箇所説明を入れています。
- add_subdirectory で wxWidgets に接続するときの set による設定上書きで CACHE ~ FORCE が必要な件
- find_package で wxWidgets に接続するときの wxrc の path が必須となることがある件
wxExecute/wxProcess 相当の改良品提供
catapult は GPL なので、wxWindows Linsence に合わせた書き起こし分が必要です。その際には szmCt で使っていないプロセス終了検出、名前なしパイプでの実装、名前ありパイプなら名前の指定などの機能を付けるのがよいでしょう。
また、環境変数周りで非ASCII文字が使えないらしい問題にも対応が必要です。
説明不足関係
wxDir::GetAllFiles()
- wxArrayString に返されるのはフルパスか相対パスかが記されていません。
- wxDIR_FILES を指定しないと何も返さないとあるが wxDIR_DIRS を指定していれば当然返されますが、そういう説明になっていません。
- wxDIR_DIRS を指定していれば一回で再帰的に全部取ってくるのか、あくまで一回の呼び出しにつきフォルダ階層ひとつなのかが文章ではわかりません。
wxLog::SetComponentLevel と wxLOG_COMPONENT の使い方
要は wxLogWarning などのマクロ展開結果に wxLOG_COMPONENT がそのまま置いてある、という話なんですが wxWidgets のソースを見ないとはっきりしないのはいただけません。
その他要調査
- wxGrade で wxStdDialogButtonSizer を指定した xrc ファイルを出力すると wxWidgets 側で正しく読めないかもしれません。
- Windows のアクセシビリティでテキストだけ大きくする設定はどのソフトもまともに機能しない(ダイアログの文字が小さいまま、とか)なので対応しなくてもいい?
- 最近の wxWidgets だと project(Visual Studio)/scheme(XCode) が po_*** で溢れかえっている問題。