【GUIライブラリ】wxWindowsでのひょーん

このエントリーをはてなブックマークに追加
クロスプラットフォームGUIライブラリのwxWindowsについて語りましょう。

本家
 http://www.wxwindows.org/
dW : Linux : wxWindowsの概要
 http://www-6.ibm.com/jp/developerworks/linux/010413/j_l-wxwin.html
SunWorld Online:wxWindows――無名だが成熟したGUIツールキット
 http://www.idg.co.jp/sw/back/200102/20010219_01_report.html
メルマガ
 http://www.mag2.com/m/0000108320.htm

1はこれからインストールします
でのひょーん?
のひょーんスレの予感
以降、このスレは「のひょーん」で1000目指すスレになったとさ。
のむひょん
サンプルのコンパイルできました!
ドキュメントを四苦八苦しながら読むと、ライブラリのコンパイルとか書いてあるので、
コンパイルしなきゃ使えないのかな、と思ったらそんななかったようです。

VCのincludeファイル参照に
<ライブラリを解凍したdir>\include
<ライブラリを解凍したdir>\contrib\include
libファイル参照に
<ライブラリを解凍したdir>\lib
<ライブラリを解凍したdir>\contrib\lib
を追加するだけでオッケーでした。
7デフォルトの名無しさん:03/05/06 13:07
ゲームとか作れるの?
>>7
ゲームは関係無い。
10デフォルトの名無しさん:03/05/06 13:28
公式サイトのtranslateで訳してみたが、
天然UIとでた段階で読む気なくした。
11デフォルトの名無しさん:03/05/06 16:26
俺もこのメルマガ読んで始めようとおもったけど
MinGWでうまくコンパイルできなかった。
>UNIX/Win32および (若干の制限はありますが) BeOSのもとでは、
>非GUIクラスだけを含むwxBaseライブラリーも構築可能です。
>また、wxWindowsをDLLとしてコンパイルしていない場合にも、
>でき上がる実行可能ファイルは非常に小さくなります。 たとえば、
>最小のサンプル・アプリケーションをWindowsプラットフォーム用の
>Microsoft Visual C++ でコンパイルすると、 400 Kバイト未満になります。

最小のサンプルアプリでも400kb近くあんの?
>>12
DelphiとかMFCスタティックリンクに比べれば大したことないと思うけど。
要する労力を考慮すれば商用コンパイラ使ったほうが安上がりだ。
>>14
つーかここコンパイラのスレじゃないでしょ。
とりあえずGtkやQtに比べてドキュメントが少ないから手出すの躊躇してたんだよねぇ。
とりあえずメルマガに期待か?
GUIがネイティブに近いのは気に入った。
どのぐらいまでクロスプラットフォームで使えるのかな。
コンパイルし直せば、Windows、Linuxで使えるレベルまでいくのだろうか。
FOXとどっちがいいの?
>>16
俺もメルマガ登録したけど、こういうのってすぐ配信が止まっちゃうんだよね。
モチベーションが続かないんだろうけど。
22デフォルトの名無しさん:03/05/10 13:07
ttp://slashdot.jp/developers/03/05/09/1450219.shtml?topic=58
今度はグラフィック、ゲーム用フレームワークだって。
現時点ではLinuxに対応してない所が残念(開発中らしい)
23:03/05/10 13:48
>1
スレ立ておつかれ

いいフレームワークですな、wxWindows。
"child's play. Well, almost."というのも納得。
ただしC++をまともに使えるガキがいればの話ですが。

日本語のドキュメントが少ないのが欠点ですなぁ。
あと、EUC-JP/SJIS <-> UTF-8とかの変換がデフォルトで
無いところとか

>6
色々と落とし穴があるので気をつけなされ
#VC一般の話でもあるけど。

>7,9
ゲームに制限されない、つうのが正解ですな。やろうと思えば
OpenGLで3Dゲームも作れる。

>12
私の環境(VC++.net/最適化Off)で
 GUI ON
wxAPP::OnInit()からfalseで抜けるだけ(Windowも作らない)
 全部スタティックリンク(VCランタイムも使わない)
のプログラムは656KB……まあ、それなりかな?

>20
FOXって、まだ生きてるの?
24:03/05/10 13:57
sageてどうする。

Win2K + VC + wxWindows2.4でのインストール記書いたので、
上の環境の方は参考にしてくれ
http://www.debilotte.net/programming/wxWindows/index.html

GPLプログラム作るためのモノなんで、DLL不要のプログラムを作る
環境になっています。

だれか、Debian(sid)+Anjuta+wxWindowsでまともにプロジェクト
作れるヒトいる?
FLTK使ってる漏れは少数派?
26:03/05/10 14:25
>25
安心しろ。(日本だと)wxWindowsも少数派。
FLTKもいいツールキットだよね。前にAgenda VRでプログラムしたときに
使ったことがある。でも、FLTKって、MS-Winに対応していたっけ?
Xだけだった樣な気がするけど……
27デフォルトの名無しさん:03/05/10 14:48
>>23
参考になる資料サンクス。
ちょっと触ってみよっかなぁ。
28:03/05/10 14:56
>23のフォロー
バリバリ現役ですな。 Fox 1.10.40出たばかりだわ。
http://www.fox-toolkit.org/

29bloom:03/05/10 15:13
30:03/05/10 15:26
FOXのWebページ見てみたけど、主な違いは
・対応プラットフォーム
 -wxWindowsはMacに対応
・Linux上で必要になるライブラリ
 -wxWindowsはGTK+/Motifが必要
・ライセンス
 -wxWindowsはスタティックリンクしたバイナリをソース無しで配付可能
・ライブラリの対応範囲
・プログラムスタイル
 -wxWindowsはクラスを継承してプログラムするスタイル。
  main関数すら隠蔽しているし。
 -wxWindowsはマクロをバリバリ使ってます。

かな?間違えていたらごめん。

wxPythonとかはあえてシカトしています。興味ないし。

ひょーんで脱力。でも笑った。
日本語オッケー?
33:03/05/11 18:47
>32
UTF-8に対応しているので、多分8bitクリーンでしょう。
wxWindowsでこんなアプリ作ったけれど、文字化け等の問題は今のところ無し。
http://www.debilotte.net/programming/SaikoroPencil/index.html

ただ、(上でも書いたけど)EUC-JP/SJIS対応は甘いので、ICUとかと
併用したほうが無難かも。

(FAQでも解るけど)この程度の認識だしね。
http://www.wxwindows.org/faqmsw.htm#doublebyte
34デフォルトの名無しさん:03/05/15 10:46
メルマガ、早速配信延期かよ!
もうだめぽ
36:03/05/17 23:51
Classes by category
http://www.wxwindows.org/manuals/2.4.0/wx448.htm#classesbycat
間違いあったら指摘ヨロ
37:03/05/17 23:51
wxWindowsのカテゴリー別分類

◯window管理

ウインドウマネージャー(MS Windows, Motif Window Managerみたいなの)に直接コントロールされる種類のウインドウデス。フレームはたいていウインドウを含み、ダイアログボックスはたいてい直下にコントロールを含む。

wxDialog ダイアログボックス
wxFrame 一般的なフレーム
wxMDIChildFrame MDIの子フレーム
wxMDIParentFrame MDIの親フレーム
wxMiniFrame 小さなタイトルバーを持つフレーム
wxSplashScreen スプラッシュスクリーンクラス
 ※アプリ起動時などに表示されるアレ
wxTipWindow 小さなウインドウに文章を表示するヤツ
wxWizard ウィザードダイアログ
 ※アプリのインストールとかで出てくるアレ

コモンダイアログの項目も見るように
38:03/05/17 23:52
◯色々なウインドウ
次のやつはwxWindowsがでっち上げた変種クラス

wxPanel 現在のユーザーのセッティングによって色が変化するウインドウ
wxScrolledWindow 自動的にスクロールバーを管理するウインドウ
wxGrid グリッド(テーブル)ウインドウ
wxSplitterWindow 水平方向や垂直方向にウインドウを分割するウインドウ
 ※2つの領域の間にあるバーで左右の領域の大きさの比率を変更できるやつ
 ※ペイン ウインドウで適当にGoogleてくれ
wxStatusBar フレームのステイタスバーを実装するやつ
wxToolBar ツールバークラス
wxNotebook ノートブッククラス
 ※いわゆるタブですな。
wxPlotWindow データを表示するためのクラス
 ※心電図みたいなやつだって
wxSashWindow ドラッグできる4辺の窓枠をもつウインドウ
 ※普通はウインドウに標準でついてますな
wxSashLayoutWindow 統合開発環境みたいなレイアウト調整ができるウインドウ
wxWizardPage ウィザードダイアログのページ部分のベースクラス
wxWizardPageSimple ウィザードダイアログのページ部分
39:03/05/18 00:02
◯一般的なダイアログ

概要
コモンダイアログはアプリケーションで良く使われる既成のダイアログクラスである

wxDialog コモンダイアログのベースクラス
wxColourDialog 色選択のダイアログ
wxDirDialog ディレクトリ選択ダイアログ
wxFileDialog ファイル選択ダイアログ
wxFindReplaceDialog テキスト検索/置換ダイアログ
wxMultipleChoiceDialog リストから1つ、又は複数選択するダイアログ
wxSingleChoiceDialog リストから1つだけ選択し、文字列を返すダイアログ
wxTextEntryDialog ユーザーから1行の文字列を受け取るダイアログ
wxFontDialog フォント選択ダイアログ
wxPageSetupDialog 一般的なページ設定ダイアログ
 ※メモ帳の「ファイル->ページ設定」を見てくれ
wxPrintDialog 一般的なプリンタ設定ダイアログ
wxMessageDialog 簡単なメッセージボックスダイアログ
wxWizard ウィザードダイアログ
40:03/05/18 00:44
◯コントロール
普通、こいつらはユーザー(とプログラム)の相互作用をもたらす小さなウインドウだったりする。staticでないコントロールは、それらに対応するvalidatorをもつことができる。
wxControl コントロールのベースクラス
wxButton テキストが貼り付けられたボタンコントロール
wxBitmapButton ビットマップが貼り付けられたボタンコントロール
wxToggleButton ユーザーにクリックされると押されたままになるボタン
wxCalendarCtrl Date picker control
 ※ユーザーから日付に関する入力を受ける時に使うコントロールですな
wxCheckBox チェックボックスコントロール
wxCheckListBox チェックボックスがそれぞれのアイテムの左側に対ているリストボックス
wxChoice 選択コントロール(編集エリアの無いコンボボックス)
wxComboBox 編集エリア付きのChoice
 ※edit controlとlistboxを組み合わせた様なやつだって
wxGauge 変化する分量(例えば残り時間)を描写するコントロール。
wxGenericDirCtrl ディレクトリツリーを表示するコントロール
wxStaticBox お互いに関係のあるコントロール同士を視覚的にまとめるための、静的なまたはグループ化するbox
 ※原文のstaticてどういう意味?

41:03/05/18 00:44
wxListBox 単体、又は複数の文字列を選択するための文字列リスト
wxListCtrl 多層カラムのレポートビューの文字列および/またはアイコンのリストを表示するコントロール
wxListView インターフェイスを簡単にするもの(wxListCtrlの報告モード用のファサード)
 ※ファサード(Facade)についてはGoFのデザインパターンを参照のこと
wxTabCtrl いくつかのタブをコントロールするコントロール
wxTextCtrl 1つの行、または複数の行のテキストを編集するコントロール
wxTreeCtrl ツリー(階層)コントロール
wxScrollBar スクロールバーコントロール
wxSpinButton Spin、言い換えると『上下』コントロール
wxSpinCtrl スピンコントロール。spin buttonとtext controlを合わせた様なやつ
wxStaticText 編集のできない1つの行、または複数の行のテキスト
wxStaticBitmap bitmapを表示するコントロール
wxRadioBox ラジオボタンのグループ
wxRadioButton お互いに排他的に選択される丸いボタン
wxSlider ユーザーによってドラッグ可能なスライダー
42:03/05/18 00:48
◯メニュー

wxMenu 選択されるメニューアイテムの一組を表示する
wxMenuBar フレームによって使用されるメニューの一組を収納する
wxMenuItem 1つのメニューアイテムを描画する
43:03/05/18 01:41
◯ウインドウレイアウト

ウインドウ(とりわけダイアログ)のレイアウトを行う方法には2種類の
異なる方法が存在する。一つはsizerと呼ばれるものに基づいたもので、
タイピング量、思考、計算量の少ない、そしてたぶんほとんど全ての
ケースで、全てのプラットフォームでほとんど同じ外観をダイアログに
もたらす。
もうひとつがconstraintに基づくもので、よく非難されているけどまだ
利用可能だ。

Sizerの概要

これらはsizerに基づくレイアウトに関連するクラスだ

wxSizer 抽象基底クラス
wxGridSizer 全てが同じサイズのグリッドにウインドウをレイアウトするためのsizer
wxFlexGridSizer 柔軟なグリッドにウインドウをレイアウトするためのsizer
wxBoxSizer 行または列方向にウインドウをレイアウトするためのsizer
wxStaticBoxSizer wxBoxSizerと同じだが、static boxに覆われた sizer
wxNotebookSizer wxNotebook controlと一緒に使うsizer


Constraintsの概要

これらはconstraintsrに基づくレイアウトに関連するクラスだ

wxIndividualLayoutConstraint 1つの制約された次元を示す
wxLayoutConstraints あるウインドウに対する制約を示す
44:03/05/18 01:43
……
これで1/4かな?
続きは気が向いたら。
#誰か続きしない?
45デフォルトの名無しさん:03/05/18 04:29
>>40
wxStaticBoxのところは A static (box), or group box で
「static box、言い換えればgroup box」じゃないかと推測。

最初の部分は、wxValidatorの説明からいくと
「変数などとデータのやり取りが必要ない」という意味で「静的な」つーとこ?
「イベントによって動作を変える」という意味でも静的なのかもしれんが
wxCalendarCtrlとかあるからちょっと?ですな。
46デフォルトの名無しさん:03/05/18 07:01
mxWindowsって
ドラッグ&ドロップと日本語入出力をサポートしていますか?
47bloom:03/05/18 07:11
48:03/05/18 13:08
>45
サンキュー。確かにvaridatorの説明を読むとそんな感じですな。
#ValidatorはGoFのMediatorパターンを実装したものみたいですし。
Validatorはユーザーからの入力をフィルターするのを想定しているので、
「イベント〜」に見えるのかも。

>46
してます。
http://www.wxwindows.org/manuals/2.4.0/wx495.htm#wxdndoverview
49:03/05/18 13:14
>45
あ、日本語入出力はそれぞれのOSの日本語対応に依存しています。
IMの仕組みはなさそうです。
#意識しなくても普通に使えるから、それぞれのコントロールの裏で
#処理されていると思うけど……
50デフォルトの名無しさん:03/05/18 14:20
のって、偉いね。
51デフォルトの名無しさん:03/05/18 14:28
wx.NETってどうよ
52デフォルトの名無しさん:03/05/18 14:58
のって、ダサイね。
最近使い始めたよ。

ダサいけど実用的で良いね>wxWindows
ScintillaとかOGLとか、使えそうな追加ライブラリがあるのもいい感じ。
○ Device contexts デバイス コンテキスト
デバイスコンテキストは、あなたの図面描画コードをパラメター化できるような
抽象的概念を提供する、描画可能な表面です。
(Device context overviewより:wxDCはグラフィックとテキストを描く事が出来る
デバイスコンテキストです。デバイスコンテキストは、様々な出力デバイスを
同様のAPIで包括的に利用できるようにします)

wxClientDC OnPaintイベント外でクライアントエリアにアクセスするためのデバイスコンテキスト
wxPaintDC OnPaintイベント内でクライアントエリアにアクセスするためのデバイスコンテキスト
wxWindowDC 非クライアントエリアにアクセスするためのデバイスコンテキスト
(クライアントエリアにもアクセス可能、ようするにウィンドウ全体にアクセスできる)
wxScreenDC スクリーン全体にアクセスするためのデバイスコンテキスト
wxDC デバイスコンテキストのベースクラス
wxMemoryDC ビットマップに描画するためのデバイスコンテキスト
wxMetafileDC メタファイルに描画するためのデバイスコンテキスト
(Windows only、デバイスコンテキストとして扱えるメタファイルオブジェクトを生成する)
wxPostScriptDC PostScriptファイルに描画するためのデバイスコンテキスト
wxPrinterDC プリンタに描画するためのデバイスコンテキスト
(Windows only、任意のプリンタとWindowsドライバへのアクセスを許可する)

OnPaintイベント = 再描画イベントと判断して良いかな?

省略思いこみ訳ですが。
次、Networking classesとかかしら。
ライセンスの読み方がよくわからないんだが

ドキュメントに関するライセンス事項(http://www.wxwindows.org/lic_doc.txt
これって

4. Permission is granted to copy and distribute translations of this
manual or piece of documentation into another language, under the above
conditions for modified versions, except that sections related to
licensing, including this paragraph, may also be included in translations
approved by the copyright holders of the respective licence documents in
addition to the original English.

翻訳して公開する分には制約ないよってことだよね?
んで、このファイルの最初の所に書いてあることだけど
lic_doc.txt も一緒に配布してくれたらばっちりさ、ボブ!
ってことでいいのかしら?
56:03/05/20 01:05
『翻訳した文もこのライセンスに縛られるけど、自由に配付していいよ』
つうことを言っているのかと……

※『このライセンス文を修正したものは除く(配付してはいけない)』
※つう例外はあるけど。
>>56
サンクスコ。がっつり翻訳してみます。

wxWindows 普及促進サイト作りました。
http://dot-gray.s33.xrea.com/index.html
58デフォルトの名無しさん:03/05/20 02:26
>>57
おお、すばらしい!
あげ!
59デフォルトの名無しさん:03/05/20 08:14
>>57
神降臨
キタ━(゚∀゚)━( ゚∀)━(  ゚)━(  )━(゚  )━(∀゚ )━(゚∀゚)━!!!!
60動画直リン:03/05/20 09:11
標準C++(STL)とwxWindowsとSDLを組み合わせればかなり応用範囲の広い
マルチプラットフォームプログラミングが出来るような気がしてきた
62:03/05/21 01:19
>56
おつかれ。
やっぱり、こういう風にまとまっているといいよね。

あと、細かい所だけど、
> Line 5-7 : #pragma hbrstop
#pragma hdrstop
だと思う……プリコンパイルに関連するpragmaですな。
>>62
うほ
お恥ずかすぃ。
64デフォルトの名無しさん:03/05/21 21:18
おい、お前等。
やっとこさ、”wxWindows を使用したマルチ・プラットフォーム開発” の
http://dot-gray.s33.xrea.com/docs.org/wx10.htm#multiplat
半ばまで訳せましたよ。

お陰さまで私、精も根も尽き果てましたので
”プログラミング戦略”以下の 4 ファイル
http://dot-gray.s33.xrea.com/docs.org/wx22.htm
http://dot-gray.s33.xrea.com/docs.org/wx23.htm
http://dot-gray.s33.xrea.com/docs.org/wx24.htm
http://dot-gray.s33.xrea.com/docs.org/wx25.htm
誰か訳してください。
お願いします。

で、訳後ファイルを↓にうpって下さい。
http://dot-gray.s33.xrea.com/cgi/upload.cgi

本当にお願いします。
僕はもう駄目です。無理です。
乙。

> Watcom C++ is automatic apart from the specification of the .pch
file. Watcom C++ is strange in requiring the precompiled header to be
used only for object files compiled in the same directory as that in
which the precompiled header was created. Therefore, the wxWindows
Watcom C++ makefiles go through hoops deleting and recreating a single
precompiled header file for each module, thus preventing an accumulation
of many multi-megabyte .pch files.

Watcom C++では、.pchファイルの指定を除いては自動的である。Watcom C++は、
プリコンパイルヘッダは、それが作られたのと同じディレクトリでコンパイルさ
れるオブジェクトファイルにのみ利用されるという点でヘンタイ的である。
であるから、wxWindowsのWatcom C++用makefileでは、それぞれのモジュールご
とにプリコンパイルヘッダを削除して作成しなおすという面倒なことをして、
.pchファイルが積もり積もって全部で何メガバイトにもなる事態を回避している
のである。

というところでどうでしょか。文体は丁度今見ているNHKの影響を受けている……。
6665:03/05/21 21:42
> Note: include wx.rc after any ICON statements so programs that search
your executable for icons (such as the Program Manager) find your
application icon first.

wx.rcのインクルードは、どのICONステートメントよりも*後に*行え。
それは実行ファイルを見てアイコンを探すプログラム(プログラム・マネージャ
など)が、貴君のアイコンを最初に見つけるようにするためである。
67デフォルトの名無しさん:03/05/21 22:04
>>65-66
乙です。
翻訳アリガトー。

私、知らない環境の話になると、
英語力が足りなすぎて
ニッチもサッチも行かなくてとてもお困りでしたの。

サソーク直してきま
6865:03/05/21 22:14
ついでに。allocating and deleting wxWindows objects.(前半にょ)

> In general, classes derived from wxWindow must dynamically allocated
with new and deleted with delete. If you delete a window, all of its
children and descendants will be automatically deleted, so you don't
need to delete these descendants explicitly.

ふつー、wxWindowから派生したクラスはnewで動的にアロケートしてdelete
で逝ってしまわないといけないんだよもん。ウィンドウを削除したら、その
子も子孫も自動的に氏ぬから、こいつらを明示的に殺す必要はないもん。

# 難しい……

> When deleting a frame or dialog, use Destroy rather than delete so
that the wxWindows delayed deletion can take effect. This waits until
idle time (when all messages have been processed) to actually delete the
window, to avoid problems associated with the GUI sending events to
deleted windows.

フレームやダイアログを頃すにはdeleteじゃなくてDestroyを使ってくださいお
まいら。wxWindowsが、あぼーんの執行を送らせられるよーに。これは、ウィン
ドウの削除をアイドルタイム(全てのメッセージが処理されたとき)まで遅らせて、
GUIがあぼんされたウィンドウにイベントを投げちまうことによる問題を避ける
ためでつ。

> Don't create a window on the stack, because this will interfere with
delayed deletion.

ウィンドウをスタックに作るなゴルァ。削除の遅延が出来なくなるじゃねーか。
6965:03/05/21 22:21
後半にょ。

> If you decide to allocate a C++ array of objects (such as wxBitmap)
that may be cleaned up by wxWindows, make sure you delete the array explicitly
before wxWindows has a chance to do so on exit, since calling delete on array
members will cause memory problems.
wxWindowsがあぼーんするかもしんないオブジェクト(wxBitmapとかな)のC++ の配列
(STLのarrayのことか?)をC++でアロケートするんなら、終了時にwxWindows がそうする
前に、絶対、その配列を明示的にあぼんすれ。配列のメンバについてdelete を呼ぶと
メモリの問題が発生するからな。

> wxColour can be created statically: it is not automatically cleaned up
and is unlikely to be shared between other objects; it is lightweight enough
for copies to be made.
wxColourは静的に作成できまつ。自動的に削除されず、オブジェクト間で共有されるこ
ともあんまないでつ。十分軽いのでコピー作ってもおkでつ。

> Beware of deleting objects such as a wxPen or wxBitmap if they are
still in use. Windows is particularly sensitive to this: so make sure you make
calls like wxDC::SetPen(wxNullPen) or wxDC::SelectObject(wxNullBitmap) before
deleting a drawing object that may be in use. Code that doesn't do this will
probably work fine on some platforms, and then fail under Windows.
wxPenやwxBitmapといったオブジェクトを削除する際は、それらがまだ使用中でないか
気を付けよ。Windowsはこの点にたいへんウルサイ。であるから、使用中かも知れない
オブジェクトを削除する前には、必ず、確実にwxDC::SetPen(wxNullPen) もしくは
wxDC::SelectObject(wxNullBitmap)を呼ぶようにせよ。これを怠ったコードはいくつか
のプラットフォームではちゃんと動くだろうが、Windowsではダメなんである。

文体バラバラや。推敲して下さい。
あと、見直して気付いたんですが>>65の「指定」は「仕様」かも知れませぬ。
長くてスマソ >皆様。
70:03/05/21 23:24
>>68-69
65 氏、マジでグジョブ!
要点きちっっと抑えててすげーよ!

でも、一点だけ。

>>68
> classes derived from wxWindow * must * dynamically allocated
with new and deleted with delete.
wxWindowから派生したクラスはnewで動的にアロケートし、delete
で逝かせる * 必要 * があるんだよもん。

ここの must ははしょっちゃいけない気がするんだけど、
いかがでしょ?


漏れも長文スマソ。
71:03/05/21 23:33
あ、はしょってはいないか。
失礼しました。 >>65
おまいら神!漏れも勉強してみよっかなっと。
73デフォルトの名無しさん:03/05/21 23:57
>>72
カモン カモーン
75:03/05/22 00:51
>>69
清書してて気付いたので突っ込み。
1つ目の奴。
> wxWindows オブジェクトのC++配列は自分で削除せーよ。
ではなく、
> 自分で削除すんなゴルァ。wxWindows が削除するからほっとけよ。
じゃないかな?
mey be 〜 by wxWindows は、If you 〜 にかかってて
since 〜 memory problems は make sure you delete 〜 にかかってる?気がする。

>>65 は指定でいい思いまつ。
仕様にするとそれはそれで変になると思う。

なんか、話がとっ散らかっててしてスマソ。
形になってきたら sourceforge.jp に翻訳プロジェクトとして申請してみれ。
77:03/05/22 02:30
おお、盛況ですな。

>75
案1)の方がC++としては自然ですな。
C++では、ポインタの指しているオブジェクトが配列かそうでないかを
識別することができないんだよね。
#詳しくはARMの5.3.4あたりを参照

オブジェクト配列を割り当てたのにdeleteを使用してしまった場合の挙動は
未定義(だいたいの場合はメモリリーク)になるから、『自分で始末しろ』て
いってんじゃない?

……delete[]した後にdeleteするのもなんかマズい気もするけど……
ポインタを0クリアする必要ないのかなぁ?wxObjectのdelete演算子で
0クリアするように実装しているのかな?
7854 = tofu ◆fS6u1o5e6Q :03/05/22 06:35
早起きしたので wx25.htm 適当訳を
http://dot-gray.s33.xrea.com/cgi/upload.cgi にうpりました。

誤訳の責任が他にいくと申し訳ないのでコテ。
7965:03/05/22 07:09
>>75
清書おつかれさまです。
>>65の指定・仕様は、私もWatcom C++を知らんのでよくわからんのですが、
ヘンタイ的な仕様(とそれに伴う面倒)を指しているのかなと思ったのでした。
Watcom C++知ってる人のアドバイスきぼんぬ。

>>75,77
この文、やっぱり意味不明ですよねえ。
私のC++の知識はかなーり錆びててあやしいですが、もしかして、delete
explicitly は、まず手動で要素のデストラクタを呼んでdelete[]する、ことま
で言っていたりするんでしょうか。

あと、>>69の最後の訳文は、
Windowsはこの点にたいへんウルサイ。
→とりわけWindowsはこの点にウルサイ。
に訂正です。
80デフォルトの名無しさん:03/05/22 07:15
女子高校生監禁コンクリート詰め事件!!!!

共産党幹部宅で行われた鬼畜行為(裁判で明らかになってます)(監禁41日間の内容)

・オイルを両大腿、膝、すねにたらして着火する
・熱がって火を消そうとすると手にもオイルをかけて着火、火が消えるとまた点火する
・性器に異物を入れて弄ぶ
・自分の尿を飲ます
・性器にライターを入れて着火する(この行為によって何度も気絶し、髪の毛が抜けていったという)
・性器を灰皿代わりにする
・性器にオロナミンCの瓶を入れる
・お尻の穴に花火を突っ込む
・性器に強引に直径3Cmの鉄の棒を突っ込んだり抜いたりして性器を破壊する
・頬が鼻の高さを超えるまで腫れ上がり、目の位置が陥没して分からないほどになるまで暴行
・歌謡曲を流して、歌詞にあわせて脇腹に思いっきりパンチをいれる
・痛さをこらえるので口が変なふうに歪むのを見て面白がる
・犯人2人の真ん中に立たせ、左右から肩や顔に回し蹴りを数発入れる
・顔にろうそくをたらす
・眉間に短くなった火のついたろうそくを立てる
・6kgの鉄アレイを腹に落とす
・鉄アレイで大腿や顔面を殴る
・逃げないようにガムテープで全身をぐるぐるまきにする

コンクリート詰め事件で検索すればわかります。

アンチが騒いでます(w
http://qb.2ch.net/test/read.cgi/accuse/1052793624/l50
8165:03/05/22 07:25
>>78
乙です。んじゃ strategies for reducing programming errors と
strategies for portability を貼ります。それぞれ短いのでご容赦下さい。

プログラミングエラー低減の戦略

ASSERTを使え

私自身はwxWindowsで実行できていないのだが、ASSERTステートメントを
さくさく使うのは良い習慣だ。ASSERTは、成立すべき、ないしせざるべき
条件をチェックし、適切なエラーメッセージを出力する。これらは、
ノンデバッグ版のwxWindowsやあなたのアプリケーションからコンパイル時に
外すことも出来る。ASSERTの使用は、「防禦的プログラミング」の一例であり、
そのうちあなたに問題を警告してくれる。


文字配列よりもwxStringを使え

wxStringの使用は、char*の使用よりもはるかに安全でより有用である。
今度もまた、私自身は自分の説く道を実践できていないのだが、私も
今、可能な限りwxStringを使おうと努めているところである。あなたは
メモリリークの可能性を著しく低減でき、オーバーロードされた演算子
の使用は、strcmpなどの関数よりはるかに便利である。wxStringは、
プログラムにさほどのオーバーヘッドを与えない。オーバーヘッドも、
文字列操作がより簡便となったこと(つまりより少ないコードで済む
ということだ)によってチャラになる。

他のデータ型についても同様である。可能な限りクラスを使え。
8265:03/05/22 07:35
移植性の戦略

相対位置指定やSizerを使え

[訳注: Constraints positioningは既にobsoleteである。そのため、sizer
に置き換えて文章を構成した。容赦願いたい。]

出来うれば、パネルの要素の絶対位置指定はやめよ。GUIが異なればパネルの
要素の大きさも随分と違うのである。多少はプログラムの手間が増えるかも知れ
ないが、Sizerの使用を検討せよ。

別解として、プラットフォーム毎に、それぞれ少しずつ数値の違う別々の.
wrc(wxWindowsリソースファイル)を用意する方法もある。もしくは、問題を避け
るためにパネル要素の間を十分に空けよ。


wxWindowsリソースファイルを使え

可能な限り .wrc (wxWindowsリソースファイル)を使え。これは、ソースコー
ドとは独立に簡単に編集できる。ビットマップリソースはプラットフォームに
よって異なるビットマップをロードするようにも設定できる(リソースファイ
ルの項を見よ)。

~ ~ ~
たぶん、Windowsでもパネル要素の大きさは大きいフォントと小さいフォントで
違うのではないかと思います。
8372:03/05/22 10:54
>>69関係について、新参ですが、こーゆー事を言ってるんじゃないでしょうかねぇ。

何かのクラスのメンバーに例えば wxBitmap *pBitmap = new wxBitmap[N];
とかってやった場合はキチンと自前で delete [] pBitmap; ってやれ、って
事じゃぁないでしょうか。

wxWindows勉強まだ始めてないんで、かなり推測なんですが、wxWindows では
動的にアロケートされたwxWindows用のオブジェクトを終了時に勝手に delete
してくれるようになってるんじゃないですかね。で、その自動化機構によって
配列に delete かけるとマズいから、配列を動的に確保した場合はキチンと
delete [] を明示的にユーザー側でやってちょ。と。

全然違ったらスマソ
Mingw(+MSYS)でコンパイルしたいのですが。
MingwのインクルードファイルとwxWindowsのインクルードファイル間で
構造体の宣言が衝突してエラーになります。
どなたか回避方法とかわかる方いらっしゃいますか?
8584:03/05/22 12:59
ググったら、なんかそれっぽいのがあったです。
とりあえず下記を参考にインクルードファイルを修正してコンパイル中。
http://lists.wxwindows.org/cgi-bin/ezmlm-cgi?5:mss:33083:200305:jimgjppnkkijcogmmhle
コンパイル通ったらまた来ます。
86:03/05/22 13:31
おー、なんかすげー勢いになってる。
取り急ぎいろいろと。長文、乱文、アンカーミスあったらスマソ。

>>78 早起き過ぎ。
文責関係は私も気にしなきゃいけない気がしてたので
文書として明文化しておきました。
http://dot-gray.s33.xrea.com/translation.html
あー、なんか俺必死っぽい(藁

>>78,81-82
ローカルに保存しますた。あとでマージしときます。サンクスコ!

>>79
>>65 は原文併記に切り替えときます。あと、修正もやっときまふ。
>>75,77 は >>77,83 氏の案でビンゴかと。
wxWindows のオブジェクトはガベコレで管理してるけど、
new されたC++配列(wxHoge* p = new wxHoge[N])までは
管理しない(出来ない)から wx cleaned up までには、自分で責任もって削除しろYO!
でないと、問題ですよ!ってことで理解しかけますた。
new wxHoge != new wxHoge[N]

>> 84,85
うちも cygwin あるんでうp期待してまつ。
8765:03/05/22 15:51
わかりました。たぶん。

>>69 の "a C++ array of objects" は配列じゃないんですな。
STLの……は惜しいけど違って、wxObjArrayだと思われ。こいつは要素を所有し
ますので死ぬときにdeleteします。それがclean upまで持ち越されると、
arrayのdeleteとwxWindowsが要素を直接deleteするのとの前後が不定なため
二重deleteが発生しうるということではないかと。

include/wx/dynarray.h (_WX_DECLARE_OBJARRAYの中のEmpty())
include/wx/arrimpl.cpp (~name()、DoEmpty())
wx31.htm (wxArrayの説明)
を読んでみて下さい。

訳文は夜にでも修正します。

>>84
いかがでしたか? うちではMinGWでもcygwinの-mno-cygwinでも作れていますけど、
ソースを修正したかどうかは忘れてしまいました。
あんまり困らなかったとは思うんですけど。

あと喉にひっかかってるトゲ(>>65)をとってくれる勇者ぼしうです。だれか
Watcom C++試して。
8884:03/05/22 18:29
出来たので報告。
環境はMingw2.0.0+MSYS1.0.8。
install-msw-2.4.0.txtに書いてある手順だけではうまくいかなかったので、
追加で必要だった作業を書いておきます。

★MingwのWindows APIパッケージは最新の2.3にしておく
http://lists.wxwindows.org/cgi-bin/ezmlm-cgi?5:mss:33083:200305:jimgjppnkkijcogmmhle
  上のURLを参考に、wxWindows-2.4.0/include/wx/msw/missing.hの
  162行目以降で
  #if defined(__GNUWIN32__) && !defined(HDN_GETDISPINFOW)
  #define HDN_GETDISPINFOW (HDN_FIRST-29)
  typedef struct {
      NMHDR hdr;
  となっている所を
  #if defined(__GNUWIN32__) && !defined(HDN_GETDISPINFOW)
  #define HDN_GETDISPINFOW (HDN_FIRST-29)
  #endif
  
  #if defined(__GNUWIN32__) && !wxCHECK_W32API_VERSION( 2, 3 )
  typedef struct {
      NMHDR hdr;
  の様に修正する
以上です。
これで、minimalサンプルをコンパイルできる所まで確認しました。

ところで、wxWindowsのドキュメントの翻訳、乙です。
日本語のドキュメントなどが揃えば、新たな利用者も増えて、
スレ活性化で、情報増えて(゚Д゚)ウマー
漏れは英語苦手なんでアレですが、がんがってください!
とりあえずコンパイルで苦労したくない人に対しては
DevPakとDev-C++を薦めたほうがよさげだね

http://citymap.slyip.com/_scripts/file.php?f=2618&r=46
90:03/05/22 23:01
>>88
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!

> 漏れは英語苦手なんでアレですが、がんがってください!
ぶちゃけ、みんな苦手だと思うYO!
漏れ工房んとき、馬鹿すぎて英語教師に黒板けし投げつけられたことあるYO!
しかも当たったョ・・・、黒板けし。・・・糞、・・・氏ね、英語教師。

>>76
遅レスだがソースフォージか・・・、cvs 使えるのがえらい魅力的っぽいんだけど
そこまですんのも・・・。
週末に擬似 cvs ちっくな cgi いれよかな。
メールでパス発行して、期間限定(一週間ぐらい?)のチェックアウト。
コミットした文書はいったんトランク(?)に突っ込んで、
コミッター3人以上の認証が得られれば本コミットみたいな・・・。
面倒くさいか。

あと、皆様。
文責・著作権関係を以下に纏めてみたんだけど、
これでいいのかな?
こういうの書くのって初めてなのでよくわからないです。つっこみキボン。
http://dot-gray.s33.xrea.com/translation.html#res

んじゃ、ちょっくらマージしてきまふ。
9165:03/05/22 23:20
>>87
> 訳文は夜にでも修正します。

いまいち反応がないのが不安ですがこの立場で大幅に言葉を足してみました。

> If you decide to allocate a C++ array of objects (such as wxBitmap)
that may be cleaned up by wxWindows, make sure you delete the array explicitly
before wxWindows has a chance to do so on exit, since calling delete on array
members will cause memory problems.

wxWindowsが終了時に個別に始末するオブジェクト(wxBitmapなど)のC++ array
(具体的には、WX_DECLARE_OBJARRAYで定義されるもの)をアロケートするのなら、
wxWindowsが終了時にそれを削除するより先に、確実に、明示的に削除せよ。
それはデストラクタで要素をdeleteするため、終了時の処理の順序によっては、
wxWindowsがarrayの要素についてdeleteを呼ぶときに、メモリを二重に解放して
しまうからである。


違うなら違うといってくれー。
92:03/05/22 23:45
>>91
違うと否定するにはまず wx31.htm (wxArrayの説明) を読まなきゃいけない。

漏れはそこ読みたいけどその前に訳をまとめときたいのでいまはむりぽー。
9384:03/05/23 00:27
>>灰氏へ
普及促進サイトの
http://dot-gray.s33.xrea.com/docs.org/wx14.htm#topic10
のページ中で(以下翻訳不能って所を訳してみました。
一部推測と意訳混じってますが、もし良かったら使ってください。
以下訳。

wxWindowsを制御するメイクファイルは、各Windowsコンパイラー用の物がMS-Windowsディレクトリ(src/msw)に入っているし、
Unix版を使っているならビルドディレクトリの中に入っている。このビルドディレクトリはユーザーが選ぶことが出来ます。
configureスクリプトを実行する時のカレントディレクトリがビルドディレクトリとなります。
このディレクトリは、標準的な基本ディレクトリ(そうするには./configureコマンドを実行すればよい)でも良いし、
他のどんなディレクトリ(例えば、先に基本ディレクトリの上階層にビルドディレクトリを作っておいて
そこで../configureコマンド実行するとか)でも良いです。
9484:03/05/23 01:33
調子に乗って第二弾♪(w
以下のページを訳しました。
http://dot-gray.s33.xrea.com/docs.org/wx17.htm#topic14
おかしかったら、指摘してください。
以下訳。


アーキテクチャ依存

マルチプラットフォーム対応なプログラムを書いていると時々、
C言語の基本型(the basic C types)がすべてのプラットフォームで同じように定義されていない
という問題に遭遇することがある。この問題は基本型(intやlongなど)をビットで表したときの長さにも当てはまり、
また、それらのバイトオーダーにも当てはまる。バイトオーダーは、標準的なIntel系のコンピュータではリトルエンディアンになったり、
標準的な幾つかのUnixワークステーションではビッグエンディアンになる。
wxWindowsはアーキテクチャに依存しないコードを簡単に書けるように型とマクロを定義している。
それらの型には以下の物がある:
wxInt32, wxInt16, wxInt8, wxUint32, wxUint16 = wxWord, wxUint8 = wxByte

このwxInt32は32ビット符号付き整数型を表す、などなど。
またあなたは、wxBIG_ENDIANかwxLITTLE_ENDIANのどちらか一方を定義する(将来wxPDP_ENDIANも定義できる様になるかも)wxBYTE_ORDERを使って、
プログラムがどのアーキテクチャ上でコンパイルされるかチェックすることが出来ます。
その、アプリケーションのエンディアンについてビットスワッピングを処理するマクロは、Byte order macrosの章で説明されています。
95:03/05/23 01:54
長文スマソ。

>>78,79,81-82
マージしますた。
ただ、新規翻訳文書は訳文と原文とのチェックまではいたらなかったので
両文併記のスタイルで挙げておきました。
申し訳ないっす。

>>93
乙です。がっつし!
ばっちりだと思います。
一点だけ・・・、個人的に configure はスクリプトだろ!って思ったのですが
グーグルおじさんによるとコマンド派が優勢だと知りました。
私の負けでございます。結構ショック。

configureスクリプト 約12,300件
http://www.google.co.jp/search?q=configure%83X%83N%83%8A%83v%83g&hl=ja&btnG=%8C%9F%8D%F5
configureコマンド  約17,900件
http://www.google.co.jp/search?q=configure%83R%83%7D%83%93%83h&hl=ja&btnG=%8C%9F%8D%F5
96:03/05/23 02:02
>>32-33
亀レス。
MBCS系のお話。
下によるとにゃんかこんばーたまで用意されてるみたいね。
タイトルだけでぜんっぜん読んでないでけど
>> の氏 いかがでしょこのあたり。

Unicode support in wxWindows
http://dot-gray.s33.xrea.com/docs.org/wx458.htm#unicode
wxMBConv classes overview
http://dot-gray.s33.xrea.com/docs.org/wx459.htm#mbconvclasses

あとね、マジでまるちぷらっとふぉーむでごりごり行きたい人は
これをみとくと良いかもよ。
Supported classes by port
http://www.wxwindows.org/supported.htm

一応スレへのふぃーどばっく(?)つーことで。
9784:03/05/23 02:11
>>95
自分で書いておいてあれですが、漏れもスクリプトだと思います。(w
シェルスクリプトのひとつですよね?なんでコマンドって書いたんだろ?
漏れ的にはスクリプトはテキスト、コマンドはバイナリってイメージです。
ところで、もういっちょ訳しました。URLは↓です。よろしくお願いします。長文スマソ。
http://dot-gray.s33.xrea.com/docs.org/wx18.htm#topic15
以下訳。


条件コンパイル

wxWindowsの目的の一つは、乱雑で理解するのを混乱させ得るソースコード中の条件コンパイルの必要性を減らすことにある。
しかし時々、プラットフォーム固有の機能(MS-Windowsにおけるメタファイルの使用など)を組み込む必要が出てくることがある。
もしかするとsymbols.txtに載っているシンボルは、ユーザーが用意(定義)したシンボルと一緒に、この目的のために使用されるかもしれない。
98:03/05/23 02:33
長文スマソ。

>>97
禿同。
テキストベースはスクリプト、
バイナリベース単機能型はコマンド、
同多機能型はアプリケーション、
って思ってたけどどうやら違うらっすいね。

んで、翻訳乙です!
明日(っつかもう今日か) >>97 はマージします。
>>94 はマージしました。
また、両文併記だけど、もう今日は限界。
ねむりまふ。

もう、ほんとヘナチョコですまん。

あー、最後に
翻訳者の方々へ。
http://dot-gray.s33.xrea.com/translation.html#doc_info
上にあるとおり翻訳者名をすでうめこんでまふ。
今のところ”数字”で名乗ってる方々は数字のまんまつっこんでるんですが
ちゃんとしたハンドルで埋め込まれてー方はご一報くだされ。
99:03/05/23 03:04
>91
wxBitmap::~wxBitmap()の説明なんかを勘案して、こんな感じかと……

「もしもあンたがwxWindowsがクリンナップ(処理)を行うオブジェクトの
C++配列を割り当てることにしたンなら、(プログラム?関数?)終了(処理)時
みたいにwxWindowsが配列を削除する機会を得る前にてめぇできっちり
やっときなよ。配列メンバのdelete呼び出しはメモリ問題を招きやがるからな」

やっぱり(C++)配列だと思う。

でも、なんでメモリ問題をおこすのかな?オブジェクト配列の各要素が
デフォルトコンストラクタで作成されるから、それによって扱いが特殊になる、
つうこと?

教えて!!詳しいひと!

>96
いいですな。
ただ、確かEUC-JP/SJISはサポートしていない罠。
週末チャレンジしてみますか。
>>99
詳しくはないけど"C++ Array"が通常のC++配列(new wxBitmap[N];で確保した配列)
のことだとした場合に考えられる問題は>>83にも書いてある通り
delete[]で削除すべきオブジェクトをdeleteで削除してしまう問題が発生するのでは
wxBitmapから辿ってソースを眺めてみたところ
wxObjectRefDataクラスが参照カウンタをもっていて
wxObjectのm_refDataメンバにwxObjectRefDataの派生クラスのオブジェクトを指すことで
wxObjectのRef(),UnRef()メンバを使ってwxObjectRefDataの派生クラスのオブジェクトを
管理することができるようになっているみたいです

これがwxWindowsが自動的に削除するオブジェクトの仕組みだとすると、
参照カウンタが0になって削除されるのはwxObjectRefDataの派生クラスのオブジェクトのほうで
>>83>>87も問題なさそうな気がするのでもしかしたら的外れかもしれない・・・
10265:03/05/23 07:49
>>99
ごめんなさい、私がC++のdelete[]の仕様を誤解しておりました。
delete[]は要素についてデストラクタを呼ばないと思っていましたが、そうでは
ないのですね。wxObjArray(でないといけない)説は撤回します。
普通の配列でも同じ話が出来るということで。

memory problemsが何を指すかですが、wxObjectは基本的にハンドラで、データ
の実体であるRefDataへのポインタを持ちます。RefDataはリファレンスカウント
で管理されます。wxObjectがデストラクタでUnRef()するとカウントが減り、0
になれば破壊されます。

main loopを抜けたあとでリソースのclean upが行われるとすると、この時点で
RefDataは破壊されます。万一、この時点でまだ配列が生き残っていて、それが
これより後にdelete[]され、そしてそれぞれの要素のデストラクタが呼ばれると、
破壊されたRefDataを触ることになるので問題が発生します。

……ということを言っているように思います。

もっとも、少なくともwxMSWのwxBitmapではcleanupはやってなさそうに見えます。

>>96
現状でもEUC-JP/SJIS変換できますよ。iconv使えますから。
103:03/05/23 13:15
報告遅れてすいません。

>>64 で依頼していた文章が全て翻訳されましたー。
アリガトゴザマース

後で清書しますでっす。

>>68 の訳はえらい難しいですね。
>>101 氏、蛇足だとは思いますが一応 wxObject は中途半端に和訳しております。
何かの参考になるやも・・・。
http://dot-gray.s33.xrea.com/docs.org/wx283.htm#wxobject
(すでについて行けなくて他人事気分。うへ。)

(´-`).。oO(なんか、神の多いスレだなぁ・・・)
104101:03/05/23 20:18
>>102
wxObjectはすべてのクラスの基本クラスで参照カウントオブジェクトがいらないクラスもあるので
UnRefはm_refDataがNULLかそうでないかを見てm_refDataを触るかどうか判断しているみたい
で、UnRefするとm_refDataをNULLにしてRefや代入で新しくm_refDataに参照カウントオブジェクトを指すまで
UnRefはm_refDataには触らないようになっているので、メモリ問題と参照カウントオブジェクトは関係ないかもしれない
話をややこしくしたみたいでスマソ
10565:03/05/23 22:08
>>104
102は101を見てから書いたわけではないので。単にだぶっただけです。

RefDataが破壊されても他に残ったwxObject(あれば)のm_refDataはNULLになった
りはしないので、cleanupで強引に破壊されるとしたら(これが怪しいんですが:<)
可能性はあるんじゃないかと思いますが。

CleanUp()からも辿ってみたけどwxBitmapを片してるところが見つからず。
あー、やっとメルマガのサンプルをコンパイルできたー
俺もやってみるかな。
108:03/05/24 00:24
これちぇっくついでに訳しますた。よろしぅ。(まだうpってないけど
http://dot-gray.s33.xrea.com/wxWindows/docs.org/wx423.htm

>>81 の1個目の訳
>さくさく使うのは良い習慣だ。ASSERTは、成立すべき、ないしせざるべき
どーでもいいがさくさくでワロタ。
仕事モード直後だったんでツボにはまりますた。

>>106
おお、おめー。
やっとってことは何か問題発生?

>>107
コレ結構おもろいですお。

メルマガのバックナンバーってココで読めるのね、知らなかった・・・。
http://backno.mag2.com/reader/Back?id=0000108320
wxStringの冒頭部分を機械+手で訳してみました。


wxString wxStringは文字列を表すクラスです。
これに関する詳しい情報に関してwxString概観を見てください。
そこで説明されるように、wxStringはstd::stringのメソッドの約90%を実行します。
(iteratorはサポートしていないので、それを使用するすべてのメソッドも未サポート)。
これらの標準関数がこのマニュアルに記述されないので、STLドキュメンテーションを見てください。
これらのすべての機能のふるまいはそこで説明されたふるまいと同じです。

引き出します。

親クラス
なし

インクルードファイル

<wx/string.h>

事前に定義されたオブジェクト

オブジェクト: wxEmptyString

参照

概観

ファンクショングループ
110106=109:03/05/24 00:40
あ、「引き出します。」はなしで。

>>108
いえ、こっちがちゃんとドキュメントを読んでないから、いろいろ躓きました(w
111:03/05/24 01:41
>>109
またキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
これまた、地味かつディープなところで、・・・凄くナイスです。
早速取り込みますです。

>>110
やっちまったんですな。

何はともあれ乙でした。
112:03/05/24 01:51
あ、あの。
クラス、関数のどきめんとは某翻訳プロジェクトを真似て、
(tp://www.shibu.jp/wiki/translation%20standard)
見出しは訳さない方向でいこかとおもーてまふ。
見出しの訳語を統一する手間も省けるし
そのままの方が馴れでわかりやすいと私もおもーてますので。
なので、以後それ系ドキ、見出し徹底放置で。
113デフォルトの名無しさん:03/05/24 01:59
マルチな質問
widestudioとwxwindowsってどこが違うの?
114:03/05/24 02:24
>113

マルチ氏ね

で、質問の回答だけど、一番違うのがプログラムスタイル。

widestudioは、RAD&ウィザードスタイルのガチガチに硬いフレームワーク。
#window毎にソースファイルを作らなきゃいけないところとかの制限もあるみたいだし。

wxWindowsはクラスとマクロを組み合わせたライブラリライクなフレームワーク
スタイル的な柔軟性はこちらの方が高い……と思う。使い方覚えるの大変だけど。

例えば、wxWindowsはウインドウの無いアプリケーションも簡単に作れる。
#wxApp::OnInit()の中でwindowを作らずにreturn false;するようにするだけで
#(ウインドウを表示することなく)実行後にすぐ終了するプログラムを作れる
#……つうてもわかんないか……

あとは、ライブラリの規模でしょうな。

#widestudioは軽く触っただけなので、間違えていたら指摘ヨロ
wxWindowはフリーでマルチプラットフォームなMFC
widestudioはフリーでマルチプラットフォームなBCBのサブセット
11665:03/05/24 04:05
>>112
個人的には見出しは訳した方がいいと思うけどね。
どういう情報がどこにあるか探すのにわかりやすい方が楽でしょ。

あるときに読む必要のある文章というのは全然多くないのだから、
なまじ本文をだらだら訳すよりもそういう箇所をすぐに見つけられるように
する方が同じ時間をかけるなら役に立つんじゃないかと思ったりしてるぐらい。
11765:03/05/24 05:22
あ、>>116の後半は一般論です。翻訳プロジェクトとか日本ユーザ会とかには
木を見て森を見ずというが多いように思うので。水をかけるようでスマソ。
wide studioちょっとだけ使ってみた感想。
統合環境があって日本語ドキュメントも整っていて、非常に使いやすい。
初心者の俺でもすんなり使えた。
ただ、GUIが独自で作成物がちょっと操作しにくい。
慣れの問題だろうけど、この点がマイナスかな。
119灰 ◆v/.u/aNe9w :03/05/24 13:56
>>116-117
>木を見て森を見ずというが多いように思うので。水をかけるようでスマソ。
確かにそうかも。
了解しました、翻訳する方向で行きます。
ただし、見出しは完全な定型文なので個々に翻訳はせず
後日スクリプトで一括置換することにします。
対応訳語はdoxygenの出力あたりを参考してみまーふ。
(でいいかな?もっちょい考えるべきかな?)

一応、見出しの定義:
クラス、関数仕様トキメント及び、そのフォーマットに順ずる文書
における下記の2パターン
<h2>[^<]*</h2>
<b><font COLOR="#FF0000">[^<]*</font></b>
これを見出しとします。(この2種類だけのはず・・・)

現時点ではとりあえず放置。
調査後にチカンの方向で。
120灰 ◆v/.u/aNe9w :03/05/24 14:05
ほんやくこんにゃくセット(タブブラウザでタブグループ登録すると幸せに・・・)
 Excite エキサイト :英和辞書 http://eiwa.excite.co.jp/
 goo (国語辞書) http://www.goo.ne.jp/
 専門語辞書参照サービス http://www.nova.co.jp/webdic/webdic.html
 接頭辞(prefix) http://www1.ttv.ne.jp/ yano/prefix.htm
 接尾辞(Suffix)(abcde) http://www1.ttv.ne.jp/ yano/suffixabcde.htm
 接尾辞(Suffix)(fghi) http://www1.ttv.ne.jp/ yano/suffixfghi.htm
 接尾辞(Suffix)(klmno) http://www1.ttv.ne.jp/ yano/suffixklmno.htm
 接尾辞(Suffix)(pqrstuvwxy) http://www1.ttv.ne.jp/ yano/suffixpqrstuvwxy.htm
 google(オーディエンス用) http://www.google.co.jp/
121灰 ◆v/.u/aNe9w :03/05/24 14:05
オミトロン・翻訳ドキュメント用フィルタ(ちょっと楽しく便利になるかも・・・)
## 原文へのリンクを表示(もじら以外のユーザ用
Name = "wxW Show Original Document"
Active = TRUE
URL = "dot-gray.s33.xrea.com/docs.org/"
Bounds = "<(link rel="alternate" title="Original \(English ver.\)" href=)\1"([^"]*)\2"*>"
Limit = 128
Match = "*"
Replace = "<\1"\2">"
"<p><a href="\2">原文</a></p>"

## 翻訳者名を表示
Name = "wxW Show trans-auther"
Active = TRUE
URL = "dot-gray.s33.xrea.com/docs.org/"
Bounds = "<(meta name="translation-author" content=)\1"([^"]*)\2">"
Limit = 128
Match = "*"
Replace = "<\1"\2">"
"<p>翻訳者: \2</p>"

IE opera moz で動作確認しますた。
122灰 ◆v/.u/aNe9w :03/05/24 14:12
>>120
s/ yano/\~yano/g
スマソ。
12365:03/05/24 14:26
>>gray氏
乙です。精力的ですな。

wxWindowsでの日本語について少し書いてみました。指摘よろ。
http://www.geocities.co.jp/SiliconValley-Cupertino/8526/wxWindows/japanese.html
日本語リテラル埋め込みで使う分には知らなくても使えちゃう部分もありますが。
124灰 ◆v/.u/aNe9w :03/05/24 14:43
>>119
あの・・・、やっぱり自由でいいです。
訳したい方は訳して、
ほっときたい人はほっときで。

私の方でうまいことやりますです。
でも、見出しは一斉チカンなので
訳をうpった人は見出し訳したのに反映されねーぞゴルァ!
って言わねーでくださぃ。

(・∀・)オナガイシマース。

>>123
おおお。
凄いのキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
凄いのキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
凄いのキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
あげるぞ、このやろー!

藻前様は神か?そうなのか!?
125:03/05/24 15:23
>119
折衷案だけど、見出しについては

ユニコードはどーなってんの?
[Unicode support in wxWindows]

みたいな感じで両方併記するのはどう?
……て、Boost翻訳プロジェクトでもそうなってるのあるね……

そういえば、ここのスレと灰さんのwebページを見て思ったんだけど、
原文と対訳を併記するのはどうですかね?
誤訳の修正を期待するなら、こっちのほうがいいと思う……

サンプル
http://www.debilotte.net/programming/wxWindows/html/wx/wx425.htm#versionfunctions

#そういや、ドキュメントパックはhttp://www.wxwindows.org/dl_all.htm
#からダウンロード可能ですな。docbookが無いのは寂しいですが……
126:03/05/24 15:55
そういや、前にもあったけど、 sourceforge.jp に登録してみる?

みんながCVS使えるようだとsourceforgeも便利なんだけどね。
12765:03/05/24 16:13
最初は併記にして、安定してきたら
和訳に対応する原文のページへのリンクに切り換えるというのはどうです?

併記でも原文ページへのリンクが欲しいです。
原文が更新された場合などは便利かと。
128:03/05/24 16:44
>102

まだしつこく続きを。

void wxApp::CleanUp() で wxBitmap::CleanUpHandlers();というwxBitmapの
何か得体の知れないhandlerをdeleteするメンバ関数が呼び出されますね。
#wxBitmap::CleanUpHandlers()はwxGDIImageから継承。

void wxApp::CleanUp() 自体は void wxExit()で呼びだされるので、
"wxWindows has a chance to do so on exit"とはこのことを指している
のかな?

#それ以上はトレース出来無かったけど。
12965:03/05/24 17:00
>>128
CleanUpHandlers()で削除されるのはbitmapの各種フォーマットに対応する
ためのhandlerで、個別のwxBitmapとは無関係かなと思いました。

void wxGDIImage::CleanUpHandlers() の直ぐ下に
void wxGDIImage::InitStandardHandlers() というのが定義されていますが、
これを見るに、そんな感じです。
130:03/05/24 17:58
>129
確かにそんな感じですな。new [] しても問題になるとも思えない……

そもそも、"that may be cleaned up by wxWindows"つうのはどういうこっちゃ?
よりによってwxBitmapを代表例に選んでいたりするからよく解らん……

#wxButtonとかだったら、まだわかりやすいんだけど……

取りあえずは、『オブジェクト配列は使うな』つうことですかねぇ
ところでpython使っている人、wxpython入れると、(windowsだと)toolフォルダに
XRCedっていうGUIビルダがついているのはご存知で?
他はwxDesigner,標準でついてくるらしいwxrceditかなぁ。

wxpythonではboa
http://boa-constructor.sourceforge.net/
っていうのがあるみたい。
スクリーンショット
http://boa-constructor.sourceforge.net/Screenshots/FrameDesign.html
見るとよさげなのでこれから遊んでみます。
132灰 ◆v/.u/aNe9w :03/05/25 02:55
>>125
確かにそうですね。
でも、両文併記はちょっと読みにくいかなぁと思ってたんですが
見た目をちょいちょい弄れば、自然に読めそうなことを発見します田。

んで、そうなると訳のチェックはみんなで出来るようになるから
今まで漏れが勝手にしていた作業を放棄できる。
んであれば、訳文マージ作業も自動化出来る。
簡単な構造指定文法(wikiちっくな感じかな)+スクリプトをつくーれば
make all
make upload
で、作業完了ですお。父さん!って夢も見てみますた。
うほーい、楽ちんかもー!やふーぃ!
133灰 ◆v/.u/aNe9w :03/05/25 03:25
>>127
うーん、切り替えは無しでも良くないかな?

ここ何日かの作業の感想からいうと、
文書の品質チェック(偉そうでスマソ)は脱糞するほどきついことがわかりますた。
一人でやるのはむりぽ。

やるのであればコミッター制度(>>90)の導入が必要不可欠だと感じておりまふ。
それか別案があれば提出プリーズ!

あと、原文リンクが必要なのは同意なので、
>>125 案+>>127 案のサンプルこさえてみますた。
http://dot-gray.s33.xrea.com/test/wx17.htm // サンプル

デザインはアレとして、結構いける気がしまつ。
いかがでしょ?
134灰 ◆v/.u/aNe9w :03/05/25 03:58
>>126
> そういや、前にもあったけど、 sourceforge.jp に登録してみる?
そんな気軽に利用でけるの?詳しくないのでわからんです。
プロジェクト(?)の具体的な目標、成果物を決めてからのほうがいいと思ってみたり。
個人的な目標では、wxWindows の概要・思想・方向性についての
文書の和訳の完成(not 全ドキメント)が目標だったりします。
(具体的な部分(クラスの仕様等)は、今後どんどん変わってく可能性が高いので・・・)

>>128-130
メモリリーク関係のwikiDocs。
http://wiki.wxwindows.org/wiki.pl?Avoiding_Memory_Leaks
マニュアルの件については同じ内容しか書いてないけど、
それ系の内容がまとまってるんで参考になるやも。

あと、ここ検索すっといいのが掘れそうな気がするんだけど
うまい事掘り出せないっす。
埋まってないのかな?既に耕されてまふか?皆様。
http://lists.wxwindows.org/cgi-bin/search.cgi

>>131
蛇使いなんで興味アリでつ。
漏れも(・∀・)ダウソスルー!

連続長文スマソ。
135灰 ◆v/.u/aNe9w :03/05/25 04:01
>>132
訂正
> んで、そうなると訳のチェックはみんなで出来るようになるから

> んで、そうなると訳のチェックは読者に任せられるから

あ、朝日が・・・。
13665:03/05/25 06:16
>>133
ハマってますなー。

> ここ何日かの作業の感想からいうと、
> 文書の品質チェック(偉そうでスマソ)は脱糞するほどきついことがわかりますた。
> 一人でやるのはむりぽ。
>
> やるのであればコミッター制度(>>90)の導入が必要不可欠だと感じておりまふ。
> それか別案があれば提出プリーズ!

とりあえずここに貼るのはどうでしょう。

> あと、原文リンクが必要なのは同意なので、
> >>125 案+>>127 案のサンプルこさえてみますた。
> http://dot-gray.s33.xrea.com/test/wx17.htm // サンプル
>
> デザインはアレとして、結構いける気がしまつ。
> いかがでしょ?

おお、いいじゃないですか。見出しの原題はちょっと工夫欲しいかも。
h1,h2,h3,h4,h5,h6 span.j + span.o {
size: smaller;
}
h1,h2,h3,h4,h5,h6 span.j + span.o:before {
content: "<br> (";
}
h1,h2,h3,h4,h5,h6 span.j + span.o:after {
content: ")";
}
とか?
13765:03/05/25 06:59
ついでに>>133の訳の改良案。

> (the basic C types)
はなくても大丈夫じゃないでしょうか。

typicallyはmight beにかかりますので、
> which might be little endian (typically on Intel computers) or big endian (typically on some Unix workstations).
例えばIntel系のコンピュータではリトルエンディアンだったり、
Unixワークステーションによってはビッグエンディアンだったりする。

定義する→〜として定義される、の方が良いかと思います。
> where wxInt32 stands for a 32-bit signed integer type etc. You can also
> check which architecture the program is compiled on using the
> wxBYTE_ORDER define which is either wxBIG_ENDIAN or wxLITTLE_ENDIAN (in
> the future maybe wxPDP_ENDIAN as well).
例えばwxInt32は32ビット符号付き整数型を表す。また、プログラムをコンパイ
ルしているアーキテクチャも、wxBYTE_ORDERマクロを使って調べられる。
wxBYTE_ORDERはwxBIG_ENDIANとwxLITTLE_ENDIANのいずれかとして定義される
(将来はwxPDP_ENDIANも扱えるようになるだろう)。

語尾統一。
> 説明されています。
説明されている。

訳のチェックは好みもあるし盛り下げたくないしで難しいですね。
これまでは誤訳かと思ってもwxWindowsと直接関わらないものはスルーしてました。
138tofu:03/05/25 09:52
灰さん、マージやらUpやらお疲れ様です。

wx448.htm の Networking classes と
wxFTPクラスの説明 wx165.htm を訳しました。

----------------------------------
ネットワーキング クラス
wxWindowsはソケットに基づいたネットワーキングのためのクラスを提供する。

wxDialUpManager ネットワーク接続のステータスチェックと接続確立機能を提供
wxIPV4address インターネット・アドレスを表現
wxSocketBase ソケット基礎オブジェクトを表現
wxSocketClient ソケット・クライアントを表現
wxSocketServer ソケット・サーバーを表現
wxSocketEvent ソケットイベント
wxFTP FTPプロトコル クラス
wxHTTP HTTPプロトコル クラス
wxURL ユニバーサル・リソース・ロケーターを表現
----------------------------------

wx165.htm は長いのでアプロダに。http://dot-gray.s33.xrea.com/cgi/source/0003.html
原文併記にしてありますが、どういう状態がマージする時に楽なんですかね。
139tofu:03/05/25 09:56
ところで、訳しながら、各メソッドの動きをチェックするために
CUIでチマチマやってたんですよ。.NET 2003で。

で、CUIでやるには $(WXWIN)\lib\wxbase.lib が必要なんですが
追加してなくても comctl32.lib と rpcrt4.lib が追加されていれば、ビルドできちゃう。
追加していても $(WXWIN)\lib\wxmsw.lib より前にしないと駄目。
(というより、CUIではwxmsw.libは要らないっぽい)

これにはまっちゃうと、ビルドできるし、他の機能は動くのに、接続だけできない。

wxbase.lib が必要なのは samples\console をみてすぐ分かったんだけど
追加する位置で思いっきりはまりました…

こんなところにはまるのは僕ぐらいかもしれませんが、自分用メモを兼ねて書き。
140:03/05/25 15:54
>136
65さんのサンプルを参考に、変換用のrubyスクリプトを作ってみました
……ソースに情報が無さすぎて、あんまり大したことはできていませんが……


解る範囲でいらない段落は削除しています。
使い方は
 ruby <強制変換したいファイルの集まったディレクトリ>
です。
強制的に書き換えを行いますので注意。
141:03/05/25 15:55
#!/usr/bin/ruby -Ks

rootdir = ARGV[0].gsub(/\\/, "/")
Dir[rootdir+"**/*.htm"].each do |source|
p source
#source = ARGV[0]
s = ""
ref = source.gsub(/\\/, "/")
ref.gsub!(/^.*html\/wx(.*)$/, 'http://www.wxwindows.org/manuals/2.4.0\1')
File.open(source, "r") do |aFile|
s = aFile.read.gsub(/\<[Pp]\>/, "</p>\n<p>")
s.sub!(/\<\/p\>/, '')
s.sub!(/\<head\>/, "<head>\n\
<meta http-equiv=\"content-type\" content=\"text/html; charset=Shift_Jis\">\n\
<meta name=\"translation-author\" content=\"\">\n\
<link rel=\"alternate\" title=\"Original (English ver.)\" href=\"" + ref+ "\">\n\
<style type=\"text/css\">\n\
p,div {\n\
margin-left:1.5em;\n\
}\n\
.o {\n\
color:#363;\n\
background-color:#f3f3f3;\n\
}\n\
142:03/05/25 15:56
div.o {\n\
border:solid #aaa;\n\
border-width:0px 0px 0px 0.2em;\n\
padding-left:0.5em;\n\
}\n\
span.o {\n\
margin-left:0.5em;\n\
}\n\
div pre\n\
{\n\
margin-top: .6em;\n\
margin-bottom: .6em;\n\
margin-left: 2em;\n\
margin-right: 2em;\n\
font-family: Andale Mono, Courier New, Courier, mono, monospace;\n\
color: #550000;\n\
background: #eeeeee;\n\
}\n\
</style>\n"
)
s.sub!(/ALT\=\"Next\"\>\<\/A\>/, "ALT=\"Next\"></A> <a href=\"" +ref+ "\">原文</a>")

end
143:03/05/25 15:56

t = false
s.gsub!(/\<p\>([\S\s]+?)\<\/p\>/) {|m|
paraj = m.gsub(/\<\/?p\>/, "")
parao = paraj.gsub(/\<HR\>/, "")
if (parao.include?("<FONT COLOR=\"#FF0000\">Derived from</FONT>"))
t = true
end
if (paraj.include?("<HR>"))
t = false
end
if (parao.include?("<H3>") or t) then
"<p>\n<div class=\"j\">" + paraj + "</div>"
else
"<p>\n<div class=\"j\">" + paraj + "</div>\n<div class=\"o\">" + parao + "</div>\n</p>"
end
}
s.gsub!(/\<pre\>([\S\s]+?)\<\/pre\>/, "</p><pre>\1</pre><p>")

end
File.open(source+"l", "w") do |aFile|
aFile.write(s)
end

144:03/05/25 15:59
あ、最後間違えている……
File.open(source+"l", "w") do |aFile|
aFile.write(s)
end

File.open(source, "w") do |aFile|
aFile.write(s)
end
ですね。

……しかし、HTML文中に情報なさすぎ……<p>も閉じていないし……
145:03/05/25 16:11
なお、変換後のサンプルは
http://debilotte.net/programming/wxWindows/html/wx/wx.htm
から参照してください。

#そのうち削除するけどね
146:03/05/25 16:40
サンプル見ていて……

変なことしないで、

 訳したあと、原文を<div style="background: #999999"></div>で囲む

ぐらいのシンプルなものの方がいいような気がしてきた……
こだわるのも大変だしね。
147灰 ◆v/.u/aNe9w :03/05/25 19:43
長文スマソ。
>>137
> C type〜
らじゃー。

> which might 〜
らじゃー。

> where wxInt32 stands 〜
びみょー。
定義される には激しく同意。でも、文全体としては >>84 氏の方が良いかと。
折半案として以下の奴でいかがでしょう?(変更点 = *〜*)

*例えばwxInt32は32ビット符号付き整数型を表す。*
またあなたは、wxBIG_ENDIANかwxLITTLE_ENDIANの *いずれかとして定義される*
(将来wxPDP_ENDIANも定義 *される* 様になるかも)wxBYTE_ORDERを使って、
プログラムがどのアーキテクチャ上でコンパイルされるかチェックすることが出来ます。

つづく。
148灰 ◆v/.u/aNe9w :03/05/25 19:44
>>147 続き
> 語尾統一。
りじぇくとー。えへ。
語尾(文体かな?)の統一は、今はやらない方向で考えています。
(ですにゃ。とか、ですにょ。はさすがにアレだけど・・・。いや、取り込むべきか・・・?)
1.手軽さがなくなる。
2.>>36 等の大きな文書になると複数人翻訳は必然。
各訳者から、うpされるたびにチェック&修正は大変。
3.下手をすると揚足取りになってしまう。それは(・∀・)ダメー!

語尾統一するなら何かのタイミングで文書をフリーズしたとき、
パソコン君にやろそうかと考えてます。

> 訳のチェックは好みもあるし盛り下げたくないしで難しいですね。
> これまでは誤訳かと思ってもwxWindowsと直接関わらないものはスルーしてました。
出来るだけ自由にやれる様にしたいですな。
149灰 ◆v/.u/aNe9w :03/05/25 20:14
>>138
新規翻訳 キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
乙です。
早速取り込みますでふ。

> 原文併記にしてありますが、どういう状態がマージする時に楽なんですかね。
>>132 でみた夢を追いかけて旅立ってみようかとおもってみたり。
15065:03/05/25 20:30
>>147,148
まあ、お好きにどうぞ。
私は日本語として通したときに自然な方が好きなのでああしてみました。
最後の語尾統一はまあついでですね。さすがに同一ファイル内でばらばらなのは
見苦しいかと。
151灰 ◆v/.u/aNe9w :03/05/25 20:37
>>145
おお、具体例だ!
やほー!

>>140-144
この解析ロジック頂きます。

> ……しかし、HTML文中に情報なさすぎ……<p>も閉じていないし……
・・・同意。
152灰 ◆v/.u/aNe9w :03/05/25 20:52
>>150
らじゃー。
修正してきまふ。
153灰 ◆v/.u/aNe9w :03/05/27 00:19
VC、mingw へのインストールと、
日本語関係の話題をスレからコピペで纏めてみますた。

あと、めぇるでwx450.htmとwx453.htmの翻訳を頂きました。
後ほどうpります。
さんくすこー! > かす氏
win98seだとコンパイルできん
コンパイラとそのバージョンは?
Win98でコンパイル・・・
157デフォルトの名無しさん:03/05/27 23:52
あげよう
158灰 ◆v/.u/aNe9w :03/05/28 00:19
某氏より、メールにてwxSizerの和訳頂戴いたしますた。
http://dot-gray.s33.xrea.com/docs.org/wx343.htm
乙でふ!>某氏

本家をあさってたらおもろいもの見つけますた。
tp://etpmod.phys.tue.nl/jan/janinjapan_web/
tp://etpmod.phys.tue.nl/jan/min_intl/ (gettext Japanese translation sample)
ヤン氏いかしすぎ。

あと、ロードマップ・・・。Σ(゚д゚ )ペース早!
http://www.wxwindows.org/roadmap.htm
159山崎渉:03/05/28 12:32
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
160tofu:03/05/28 20:11
wxURLクラスの説明 wx405.htm を訳しました。
例によって灰さんのアップローダをお借りしてます。
http://dot-gray.s33.xrea.com/cgi/source/0004.html

>>灰さん
前回訳したwxFTP wx165.htm なんですが、
wxFTP::GetInputStream の部分、以下の訂正をお願いできませんか。

wxStreamのseek機能のほとんどを利用できる。Seekはすべてのストリームで利用可能なわけではない。例えば、httpまたはftpのストリームはそれに対処しない。

あなたは、seek機能を除いて、wxStreamのほとんどの機能を利用できる。seekは全てのストリームで利用可能なのではない。例えば、httpやftpのストリームはそれを処理しない。

ご面倒おかけしますがお願いします。
161デフォルトの名無しさん:03/05/29 02:17
wxWindowsでスプライトは使えないんですか?
7upだけ
>>161
使ったことがないので間違ってる可能性があるけれど
たぶんwxImageクラスの
SetMask
SetMaskColour
SetMaskFromImage
あたりを使えばできると思う
164灰 ◆v/.u/aNe9w :03/05/29 11:32
>>160
乙です。今晩うpります。
165:03/05/31 19:28
>136
遅くなりましたが……

>span.o:before {
before, afterをサポートしているブラウザはあまり無いようですな。

ここ参照
http://www.zspc.com/documents/css2/index.html
166:03/06/01 15:11

SourceForgeのプロジェクトページを作りました。

http://sourceforge.jp/projects/wxwindowsjp/
http://wxwindowsjp.sourceforge.jp/

参加するかたは権限を与えますので、私までログイン名を教えてください。

#まだ灰さんのページやこのスレのマージもすんでいないけど……
167灰 ◆v/.u/aNe9w :03/06/01 16:33
dot-grayで登録してきますた。
SF、cvs共に使い方良くわかりませんが参戦しますです。
168:03/06/01 22:30
>167
全部つきで登録しました。
#何でもできます。


まずはCVSの立ち上げですかね。Webページに自動的に反映されるように設定してみます。
Mac OS X 版の screenshot がちゃんと AQUA で表示されていて感動した。
日本語入力も出来るなら、これを機に C++ 勉強してみようかな。
170:03/06/02 02:04
SourceForge.jpのCVSに、灰さんのヘッダ情報を織り込んだマニュアルソースを
置きました。
興味のあるかたはCVSでゲッツしてください。
#自動化は面倒くさそう……取りあえずはWeekly位を目安に手動でアップすかね……


>169
C++は、その生い立ちと目的がとんがっているから、言語的にかなり狂った
仕様になっているけど、やっぱり使っていて面白いよ。

お手軽なのはRubyかPythonにまかせるつもりでC++と付き合うといいと思う。
メルマガの作者ってココ見てるのかな?
アンケート答えてあげたい気はあるんだけど、なんか身元がバレるのが
嫌なので勘弁してくれ、ってのは結構あるんですよね。
仕事場からしかインターネットに繋げられない身としては特に…
172灰 ◆v/.u/aNe9w :03/06/02 12:54
>> の氏
す、、、すまないっす。
和訳ファイル上がっているのに気が付きませんでした・・・。

あと、権限を頂いておきながら申し訳ないのですが、
SFの翻訳プロジェクト来週から参戦します。

>>169
win版は問題なく入力できますね。
mac版はどうなんだろう?
173tofu:03/06/02 16:49
>>のさん
手続きありがとうございました。
早速チェックアウトしてみました。

で、

コミットするファイルは、
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx448.htm
みたいにしたほうが良いんですかね?
174169:03/06/02 20:52
どうもです。普通に build しただけではダメでした。IM は起動した物の、フォント
が豆腐になってしまいました。Font の指定が必要なのかな。
試してみたのは samples の text です。
じゃ、samplesのfontはどう?
176:03/06/03 01:52
>172

問題ないです。マターリやりましょう。

>173

すみません、古いのがUPされていました。
一応、形式は >133 をベースに進めようかと思いますが、いかがでしょうか?

スタイルシートを参照するように加工ずみですので、
・英文を<div class="o">〜〜</div>で囲う
・<div class="o">〜〜</div>で囲った部分をコピー&ペーストする
・貼り付けた<div class="o">〜〜</div>の前の部分を<div class="j">〜〜</div>
 に変更する
・<div class="j">〜〜</div>の中を翻訳する

でOKですね。
タイトルの部分は<span class="o">〜〜</span>で

……ところで、SourceForge.jpにアップしたWebページが文字化けしていますね……
EUC-JPじゃないとだめなんですかね?だとしたら、修正しないと……

177:03/06/03 01:58
>176
自己フォロー
sourceforge.jpはeuc-jp以外ダメですね……
https://sourceforge.jp/projects/sourceforge/document/projectweb_faq/ja/4/projectweb_faq.html
euc-jpに変更します……トホホィ
178:03/06/03 03:15
>177
自己フォロー続き。
up終わりました。これでまともに読めるはず……
179灰 ◆v/.u/aNe9w :03/06/03 22:25
乙です。

>>176
原文へのリンクに使うアイコンを作ってみますた。
えれーシンプルな一品でふ。
http://dot-gray.s33.xrea.com/cgi-bin/source/0006.gif

>>178
プロジェクトページ以下のブラウザで
表示確認してみました。

IE v6
Moz 1.4b
Opera 7.03jp
Lynx for Win32

全部OKですた。
180灰 ◆v/.u/aNe9w :03/06/03 22:26
>>179
追記:
全部 win2k sp3 上で確認しました。
181灰 ◆v/.u/aNe9w :03/06/03 22:40
せっかくなんで前作ったサンプルに原文アイコン適用してみますた。
http://dot-gray.s33.xrea.com/test/wx17.htm
ぶっちゃけ、MFCイヤーンな人の逃げ場になりますか?
こんなのはいかが?
・<img src="original.gif">のあとに

<span onclick="show('j')">日本語</span>/<span onclick="show('o')">English</span>

・<head>の中に
<script language="javascript">
<!--
function show(lang) {
  showRecursive(window.document, lang);
}
function showRecursive(node, lang) {
  if (node.className == 'j' || node.className == 'o') {
    if (node.className == lang) {
      node.style.display = "block";
    } else {
      node.style.display = "none";
    }
  }
  var array = node.childNodes;
  for (var i = 0; i < array.length; ++i) {
    showRecursive(array[i], lang);
  }
}
// -->
</script>
う・・・ブロックレベル要素かどうかってどうやって調べるんだろ。

    if (node.className == lang) {
      node.style.display = "block";
    } else {



    if (node.className == lang) {
      if (node.tagName == 'DIV') {
        node.style.display = 'block';
      } else if (node.tagName == 'SPAN') {
        node.style.display = 'inline';
      }
    } else {
185:03/06/04 02:09
>179
おおっ、素晴しい。
さっそく適用してみました。

>181
取りあえず、マージしました。

>182
なると思う。どのレベルを求めているかによって違うだろうけど……

>183
JavaScriptはちょっと抵抗あるなぁ。
いいとは思うけど……
>>182
どういうところがイヤーンなのかによると思うけど
187tofu:03/06/04 19:17
<span class="j">と<div class="j">で訳文の背景色が違うのは意図的なんですか?
188:03/06/05 01:11
>187
意味なし……というか、別だったっけ?
一応、スタイルシートでは同じ色を指定しているつもりなんだけど……
太字のままだから、違う色に見えるというのはあるかもしれないけど。
189:03/06/06 03:00
寝るまえにwxTimerを訳シマシタ。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx391.htm#wxtimer
190:03/06/07 02:32
ガン(・∀・)ガレ!!
192_:03/06/07 09:32
193デフォルトの名無しさん:03/06/07 12:21
途中で終わる予感
194:03/06/08 00:10
クラスリファレンスのマージ終わったなりよ。
195灰 ◆v/.u/aNe9w :03/06/08 02:13
をっつかれっす。
もっちょい、もうちょいで参戦できそうでおま。
196灰 ◆v/.u/aNe9w :03/06/08 17:13
おおぅ、wxPrintData wx302.htm の和訳をしてくださった神が現れますた。
http://dot-gray.s33.xrea.com/cgi-bin/source/0007.html

ありがたやありがたや。
取り急ぎ私のローカルに保存しておきました。
これは、私がSFに参戦した時に責任を持ってcvsに持ち込みます。
参戦者で漏れが取り込んでやるぜなかたがいればやってもらっちゃっても良いです。
その際はご一報くだされ。んでは。
197:03/06/09 00:42
>196
CVSとWebの両方にマージしました。

この文の翻訳者のymasuda [[email protected]]さんは新しく
SourceForgeに参加された方です。
wxPythonがメインとのことですが、ドキュメント翻訳は取りあえず
一緒に行うことになっています。

よろしくお願いします。>ymasudaさん
#といってもこっちは見ていないかな?
198灰 ◆v/.u/aNe9w :03/06/09 23:30
>>197
ありがとう。
199:03/06/11 01:10
カテゴリ別クラス一覧上ったナリよ。
長かった……
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx448.htm#classesbycat
|u^=)・・・
201:03/06/12 02:33

増田さんからcommitがありましたのでwebページの方に反映しておきました。
ありがとうございます>増田さん
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx286.htm
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx302.htm
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx303.htm
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx304.htm


あと、寝るまえに関数の目次を訳しました。
訳す必要が無いような気も少ししますが……
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx423.htm
202ymasuda:03/06/12 13:02
>> 201 作業ご苦労様です.
しばらくは印刷系を中心に進めていく予定です.皆様よろしくお願いします.
203灰 ◆v/.u/aNe9w :03/06/13 00:33
>>202
よろしくお願いします。

>> の氏
亀レスですが、以前に出ていたcssで色の設定が変わってるかもってのは、
最初に漏れが出したサンプルと、の氏の出したプロジェクトの方の
ファイルのcssの設定がずれているせいかも。

漏れはWebセーフを考慮せずに色を設定していたのですが、
の氏の設定ではそれが考慮されていたので、違和感を覚えたのかも?
# 当時と現在で設定が変わってるような気もしますが・・・。

あと、追加で<li>、<hN>な奴(他にもあるかな?)は
<br><span class="o">〜</span>でやった方がいいかもですね。
ちょっと、<a>な時にクリックし難いように感じました。(wx423.htmとか…)

ん?あれ?もしかして、IEとMoz、Opeでビジュアルが著しく違う?
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx423.htm

たった今、ie v6, moz v1.4r, op7 で見てみたのですが、
他はOKだけど、ie v6だと、見た目がおかしな感じになってる。
本筋じゃないですが、ちょっと、cssをチェックした方がいいかもですね。
204灰 ◆v/.u/aNe9w :03/06/13 00:37
あと、
プロジェクトHPのリンクでうちが本家になってますが
本家はSFの方にしたほうがいいかもー。
私は、SFを本家と考えているので…。

・・・酔っ払ってるのでこの辺で・・・。
205:03/06/13 03:17
>203
cssのコメントを間違えていました……
指摘サンクスです。これでOKかな?
206灰 ◆v/.u/aNe9w :03/06/13 17:31
以前言っていた
簡易web cvs機能付き共同翻訳作業用のイメージを作ってみた。
まだ、ファイルの更新は出来ないんですがそれいがはほろほろと動きます。
いらねーかなー。

http://dot-gray.s33.xrea.com/docs.org/wx11.htm
http://dot-gray.s33.xrea.com/docs.org/wx10.htm
207灰 ◆v/.u/aNe9w :03/06/13 17:35
208灰 ◆v/.u/aNe9w :03/06/14 01:15
>>205
乙。OKでした。
ie6 moz1.4r opera7 on win2k sp3 で同じように表示されました。

>>203
> ちょっと、<a>な時にクリックし難いように感じました。(wx423.htmとか…)
これの原因わかりました。
<a href="foo">
<div class="j"> 〜 </div>
<div class="o"> 〜 </div>
</a>
こうなってるから、リンクのクリックエリアの検知がブロックに
対して行われてますね。
<a>をそれぞれの<div>中身に対してはればOKですね。
<div c="j"><a>〜</a></div>
<div c="o"><a>〜</a></div>
209:03/06/14 15:28
wxsplitterwindowを翻訳しました。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx357.htm#wxsplitterwindow

>206
イイ感じ……これでSourceForge.jpのCVSと連動できれば無問題ですな。
……出来たっけ?セキュリティとかもちょっと心配……

>208
チェックサンクス。
不思議なリンクになってましたね。修正しました。
210灰 ◆v/.u/aNe9w :03/06/14 19:16
>>209
乙です。口ばっかりでスンマソン。

> イイ感じ……これでSourceForge.jpのCVSと連動できれば無問題ですな。
妄想癖が過ぎるかなとびくびくしてただけに、う、嬉しい。

一応セキュリティについては、
・書き込み処理に関するものは、全てIP保存。
・匿名串は弾く。(*)
・HTTP_REFFERのチェック。(HTTP_HOST、FORWARDED辺りもかな?嘘つかれたら無駄だけど)(*)
・<STYLE><SCRIPT>タグは原則使用禁止。
・使用できるタグを限定。
・外部リンクを限定(<A>、<IMG>等)
・HTMLのヘッダに仕込んだ文書情報はシステム側で全て一元管理。(*)
・万がイチ、アレな人がきちゃたら、IPブロック等。(*)

文末に(*)が付いていないものに関しては実装しているので、
現状でも試しに * 違うファイル * を上げてもらえればエラー画面が見れます。
詳しくは、ソースのpylib/transdoc.py参照。

最悪、必ず1つ前の状態は残しているので、アレな事態になっても復旧可能なはず。

cvsがcgiから呼び出せればHistroyの実装に関しては楽が出来ますね。
出来ないのであれば、diff & patchを活用・・・かな?
(それでも200MB程度のスペースで済むはず・・・。)

続く
211灰 ◆v/.u/aNe9w :03/06/14 19:17
続き

また、さらに実装したいもので次のものをつけようかと思っています。
・フリーズ、または、解除依頼インターフェイス。
(議論の余地がなくなった文書に関して変更不可依頼。または、その逆。)
・フリーズ依頼、解除スコアビュー。(フリーズ依頼、解除が来ている文書の一覧)
・一定権限所有者用フリーズ、解除処理インターフェイス。
・アレな事態の為の、一定権限所有者用ロールバックインターフェイス。
・同事態、同権限者用のブロックIP追加インターフェイス。
・会議室に2chライクフロート型スレッドインデックス。
(翻訳ファイルうpか、mail欄sage入力以外で浮上)
・トリップ機能(翻訳うp、会議室共通。メアド、HP等で一意性を出せいない人用)
・自動文字コード変換。
(HTMLコメントでシンボルキャラクタを埋め込めば行けるはず・・・、
 そこまでしたらうざいかなぁ。)
(・遊びでうpランキング(ななしさんは除外、結構面白そうな気が。))

なんていうか、2chから派生したプロジェクトならば、
可能な限り2chヌラが気軽に参加できるようにしてみてーなー、
なんて思ってるのですよ。奥さん。

んでは、>>206-207の評価ageをしてみる。

# あ、ダウンローダーcgiが動いてなかったので修正しますた。
212灰 ◆v/.u/aNe9w :03/06/14 19:19
sageてた・・・。鬱だ・・・。
2.4.1リリース
21465:03/06/14 22:09
ぼちぼちとメッセージカタログの翻訳やってます。
ようやく一通り済んだのでよければ突っ込む前に見てやってください。
http://www.geocities.co.jp/SiliconValley-Cupertino/8526/wxWindows/ja.po.txt
旅行に行ってて遅れたので知らない間に2.4.1が出ちゃってたのが残念。
細かいセンテンスごとにWikiみたいに翻訳に参加出来るのはいいアイデアだね。
216:03/06/15 00:55
>214
見れぬぅ〜
リンクをミスっているみたいですな
21765:03/06/15 01:40
失敬。スクリプトミスでuploadできてませんでした。
今度は大丈夫のはず。書き忘れていましたがエンコーディングはUTF-8です。
218:03/06/15 03:46
翻訳時のフォーマットを整えるのが面倒なので、簡単なマクロを書いてみました。
xyzzy用デス。
#調整すればemacsにも使えると思う。

――――――――――――――――――――――――――――――
(defun set-div ()
(interactive)
(save-excursion
; (kill-region (point) (mark))
(kill-selection-to-clipboard)
(insert "<div class=\"j\">")
(newline)
(newline)
(insert "</div>")
(newline)
(insert "<div class=\"o\">")
(newline)
; (yank)
(paste-from-clipboard)
(newline)
(insert "</div>")
(newline)))
続く
219:03/06/15 03:47

続き
(defun set-span ()
(interactive)
(save-excursion
; (kill-region (point) (mark))
(kill-selection-to-clipboard)
(newline)
(insert "<span class=\"j\">")
(insert "</span>")
(newline)
(insert "<span class=\"o\">")
; (yank)
(paste-from-clipboard)
(insert "</span>")
(newline)))
――――――――――――――――――――――――――――――
220:03/06/15 03:47

マウスで範囲を選択して実行すると、

<div class="j">

</div>
<div class="o">
<選択した範囲>
</div>

<span class="j"></span>
<span class="o"><選択した範囲></span>

こんな感じに調整してくれます。

私はこれに divspan.lとか名前をつけて site-lispに転がしといて、.xyzzyに
(require "divspan")
(global-set-key #\F1 'set-div)
(global-set-key #\F2 'set-span)
とか設定しています。
DreamPlanet
222灰 ◆v/.u/aNe9w :03/06/15 22:51
>>214
見れますた。
ついでにgnu gettext & iconv1&2 for win32も突っ込んでみたので
後日bcc32への導入記が書けるやも。書けないやも。
223灰 ◆v/.u/aNe9w :03/06/18 23:33
今、>>69 (wx16.htm)をSFにマージしているのですが、
最初に 65 氏が出された訳でいいような気がし捲くっています。
どうでしょう?
それか、>>69以降の議論を誰か上手くまとめてplz。
# 漏れにはついていけないレベルで全然ダメぽ。

>>209
CVSの使い方勉強してて、の氏の仰っている意味がわかりますた。
禿しくむりぽそう…。鬱。
224灰 ◆v/.u/aNe9w :03/06/19 00:01
>>218
同じようなスクリプトをvim用に作りますた。
http://dot-gray.s33.xrea.com/etc/wjputil.vim
225:03/06/19 02:37
問題の文を分解してみると、こんな感じかしらん……

If you
A  decide
|     to allocate a C++ array of objects
|                   A    A
|                   |     L (such as wxBitmap)
|                   L that may be cleaned up by wxWindows,
|    「make sure
|    |
Lyou V
   delete
 A   A  the array
 |    Lexplicitly
 |    Lbefore wxWindows has a chance to do so on exit,
 |
 Lsince calling delete on array members
     will cause
       memory problems.


that may 〜〜は、arrayにかかる関係代名詞の限定用法だと思う……
ここでifを喰っちまうと、その後のyou delete 〜〜の部分が分離してしまって、
カンマで区切ってあるのが不自然になってしまうと思う。
(結び付ける句が無くなっちまうつうことですな)
英文法は詳しくないのではっきりとは言えんが……


こんなページ発見……
http://www.alc.co.jp/eng/grammar/index/
Boa Constructorのガイドのチュートリアルを超訳しているんですが
どこに投げればいいですか?
227灰 ◆v/.u/aNe9w :03/06/20 01:06
>>226
多分、Pythonドキュメント翻訳プロジェクトが一番近いのではないでしょうか?
向こうにメールしてみるといいかもしれない。
http://pythonjp.sourceforge.jp/

もし、メルアド等を出すのが難しいのであれば仲介してみまふ。
その際はうちのうpろだをつかってくらせ。
http://dot-gray.s33.xrea.com/cgi-bin/upload.cgi
228灰 ◆v/.u/aNe9w :03/06/20 02:59
>>225
解らないなりにがんばってみたのですが、こういうことでいいのかな…?

もし、貴方がwxWindowsがメモリ管理を行う(終了時にクリーンアップ
を行う)オブジェクトをC++ 配列として動的にメモリ確保を行う場合、
wxWindowsはnewによって確保されたオブジェクトが配列か否かを
識別することが出来ない為、プログラマ自身により配列の削除を行う
必要があります…が、その処理は、wxWindows終了時のクリーンアップ処理
の前に、明示的に行う必要があります。
なぜなら、wxWindowsクリーンアップ後ではdelete[]との二重削除が発生
してしまうからです。


# …取りあえず、ほっておいてしまおうかなぁ。
229灰 ◆v/.u/aNe9w :03/06/20 21:04
>>226
Python翻訳プロジェクトの方に伺ったところ、向こうで公開可能だそうです。

ファイルうpのやり方としては、向こうのSFのパッチマネージャを使って
頂いて、その際、お名前と、原著者に連絡済かどうか記入して頂ければ
良いそうです。
# http://pythonjp.sourceforge.jp/の作業手順を参考にされると
# 良いと思います。
230226:03/06/22 01:01
んー単にBoaを学ぶがてら適当に訳しただけなのでかなりいい加減な訳なのと、
一部原文と全然違う説明をしていたりしてますので、翻訳プロジェクトに入れるのは
マズーだと思いました。で、2chのpython系のwikiないかなーと思ってたんです。
気楽な気持ちでやってたんで。

http://montpython.s13.xrea.com/

に置きましたんで後は好きにして下さい。はい。
231灰 ◆v/.u/aNe9w :03/06/24 01:23
>>230
Getting Started Guide for Boa Constructorの1.1と2.1〜7ですね。
画像の文字まで翻訳するのはえれー大変だったはず。
凄いじゃないですか。
いや、あんたすげーよ!

> に置きましたんで後は好きにして下さい。はい。
サイトは維持されないということ?
んじゃ、もしサイトが消えちゃった場合は、
うちで誰かが清書してくれるの待ちながら、
公開しちゃいます。ぐへへ。
232灰 ◆v/.u/aNe9w :03/06/24 01:31
>>231
1.1は違うか…、失礼。
233:03/06/25 02:05
……PCがぶっ飛びました……
しかもVC++.netのCDも壊れやがりました(;;
行いが悪いといろいろと罰があたりますなぁ。

リハビリをかねてwxPanelを翻訳
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx291.htm#wxpanel

#明日、VC++ .NET 2003を買ってこようかねぇ
234灰 ◆v/.u/aNe9w :03/06/26 00:45
>>233
あちゃー、痛いですね。
MSってメディアの再発行って出来ないんでしたっけ?
235:03/06/26 02:14
寝る前に簡単にMiniFrameを翻訳
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx270.htm#wxminiframe

>234
Webページを探してみましたけど、特にそのようなサービスはなさそう……
まあ、今度の.NET2003は、かなりコンパイラが良くなっているみたいだから
買ってみようかとは思っていたんですけどね。

丁度よかったということで……シクシク……
236諦めるのは:03/06/27 00:52
237236:03/06/27 00:56
もし2003を買ってしまったのであれば、古いのは売ると言う手もあります。
(アップグレード買った場合除く)
権利譲渡手続きをきちんと行えば、違法にはなりませぬ。
間に合わなかった…か?
239:03/06/28 12:07
>236
おお、サンクス。参考になります。
……まあ、2003買っちまいましたけどね。
ちょっと触ってみた感じではなかなか良くなっていそうな感じですが。
#といっても、.netとかは相変わらず使わないつもりです。
240灰 ◆v/.u/aNe9w :03/06/29 02:33
wx21.htm - wxWindowsと共に配布されるユーティリティとライブラリ -
を超訳して見ますた。
んで、そこの
Frame Layout library    : ドッカブルフレームに関するライブラリ
Styled Text Control library : テキストボックスの構文ハイライトをしてくれるライブラリ
この辺り試された方います?
興味アリアリなので識者のレポートキボンヌ。

あと、wx20.htm - ファイルの取り扱い - を訳してくれる勇者の光臨キボンヌ。
なんか、微妙に難しくて訳せない・・・。
241ymasuda:03/06/29 12:47
>>240
wx20.htm コミットしておきました.本格的な作業は python ライブラリ
リファレンスの和訳プロジェクトが終わってから入りますね.
242:03/06/29 13:42
>240
Frame Layout libraryは面白そうですね。サンプルをためしてみましたけど、
結構マトモにフロートしているみたいです。
ソースを見てみると、フレームにプラグインを追加するスタイルのようで、
結構簡単に使えそうでした。
#といっても、これを使うアプリを作成するのはしばらくなさそうですが……

Styled Text Control libraryのサンプルは動作せず……あれ?


wx20.htmは増田さんが先に翻訳していました。早っ
Adam Lock <[email protected]> wrote:

>I've just checked in a work-in-progress wxWindows based sample in
>mozilla/embedding/tests/wxEmbed.

ttp://lxr.mozilla.org/mozilla/source/embedding/tests/wxEmbed/
244:03/06/30 00:08
アルファベット順クラスリファレンス
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx26.htm#classref
に、翻訳状況を記載しました。

……まだまだですな……
245:03/06/30 00:14
>243
wxEmbed is a sample application developed with wxWindows to demonstrate
various ways of embedding Gecko. It contains a sample browser and several
other demonstrations of embedded Gecko.

つうことで、C++でGeckoベースのブラウザを作るときの簡単なサンプルになりそうですな。
BSD(ライク)なライセンスなので、面倒なことも少なそうですし。
#私は作らないけど……
246灰 ◆v/.u/aNe9w :03/06/30 01:53
>>241
おお、ありがとうございます。
こんなに早く勇者が現れるとは思ってもいなかったので、
えれーびっくらこきました。
Python和訳プロジェクトにはお世話になりっぱなしです。
うーん、無責任な発言ですが…、応援しております。

>>242
結構簡単に使えそうな感じですね。
これが使えるだけでもかなりの集客力がありそう・・・(特にBCC、MinGWユーザー
ちょっくらチュートリアルの作成に挑戦してみまふ。
…って今、ライブラリをコンパイルしてサンプルを試してみたのですが、
Netscapeっライク?なドッカブルとしてに動きますね。
うわー、これいいわー。すげー。

BCC32で、STCのサンプル動きました。
CPPの構文強調だったのですが、
シンプルに組み込めそうな感じです。
200行程度のソースで構文強調付きテキストエディタが作れるのは、
結構よさげですね。

>>243,245
Geckoベースの2chブラウザが作れる勢いなのかしら?
うわー、この辺もいじってみたいなぁ。

>>244
おお、凄く解りやすくなりますね。
この辺、CVSで自動化できるといいんだけど、なんか出来そうにないですね。
どうにかならんものか…。
247思兼 ◆l3iwkTImVo :03/06/30 03:21
微力ながら参加させて下さい。
とりあえず
http://dot-gray.s33.xrea.com/cgi-bin/upload.cgi

0009.htm
にあたりさわりのなさそうなwx455.htmの訳をアップしておきました。
こんなかんじでいいですか?
248灰 ◆v/.u/aNe9w :03/06/30 22:59
>>247
乙です。ばっちりです。
コミットしておきました。

参加表明は >>166 をご参照下さいまし。
お待ちしてます、うふふのふ。
249思兼 ◆l3iwkTImVo :03/07/01 02:15
>>248
 クラブでwxWindowsの導入を考えていて、導入する事になったら
参加することにします。
 現在の壁は、9x系のOSを使っている学生の環境で上手くいくかどうか。

>>65
http://www.geocities.co.jp/SiliconValley-Cupertino/8526/wxWindows/japanese.html
ここの情報ぼしゅうで
「再配布用MSLU(unicows.exe)のダウンロードURL (失念してしまった) 」
がありますよね。
既出かもしれませんが、とりあえずMSのサイトで検索したら出てきました。

http://www.microsoft.com/downloads/details.aspx?FamilyID=73ba7bd7-ed06-4f0d-80a4-2a7eeaee17e2&DisplayLang=en
250:03/07/01 02:27
眠いときは手を抜いて……
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx29.htm#wxactivateevent
を翻訳しました。

>247
いらっしゃい。歓迎します。

SourceForge.jpに参加されても問題ありませんが、面倒ならばうぷろだを使って
頂ければ反映します。お好きな方をどうぞ。

一応、原文と対比しやすいように、
http://wxwindowsjp.sourceforge.jp/docs/index.html
のようなルールでタグを打っていますので、よろしければご協力下さい。
251灰 ◆v/.u/aNe9w :03/07/01 02:40
>>249
らじゃー。
上手くいくと良いですね。


手前味噌ですが、
bcc32の環境用のインストール方法と、チュートリアルを更新しました。
http://dot-gray.s33.xrea.com/topics/install-bcc32.html
http://dot-gray.s33.xrea.com/tut/skeleton/index.html

ウソこいててすまんかった…。
252灰 ◆v/.u/aNe9w :03/07/01 02:47
>>250
やべ、<span class="help">ってタグ打っちゃった。
<div class="comment">に直しますです。
# 業務連絡スマソ。
253:03/07/01 02:49
>248
自由に使えるGUIツールキットは、他にFOXとかもありますね。
http://wxwindowsjp.sourceforge.jp/docs/index.html
ドキュメントの日本語訳 http://www.asahi-net.or.jp/~cv8t-hdk/fox/fox-doc.ja/fox.ja.html

FOXがどのような特徴をもつのかはわかりませんが……
254灰 ◆v/.u/aNe9w :03/07/02 02:34
http://dot-gray.s33.xrea.com/tut/skeleton/index.html
をちょいちょい修正しました。

後、
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx163.htm#wxframe
wxFrame の翻訳に手をつけてみたのですが、
結構いろいろ出来るみたいですね。
んで、うちのチュートリアルにwxFrameであそぼうってなページを作ろうと思い、
こんな(http://dot-gray.s33.xrea.com/cgi-bin/source/0010.zip)ソースを書いてみたのですが、
wxFRAME_TOOL_WINDOW と、wxFRAME_EX_CONTEXTHELP が上手く動きません。
これって漏れがお馬鹿さんなだけでしょうか?

識者のアドバイスキボンヌ。
# wxFrame の翻訳を手伝ってくれる人もキボンヌ。

V2.4.0 から上げてないのですが、それが悪いのかなぁ。
面倒くさいが、バージョン上げるべきか…。

環境:
Windows 2000 + SP3
wxWindows version 2.4.0
bcc32 V5.5.1
255思兼 ◆l3iwkTImVo :03/07/02 19:43
 学校でwxFrameの最後の方を翻訳してあぷろだにあげておきました。
 学校から2ちゃんへの書き込みは制限されてるので報告が遅れましたが、
確認&コミットお願いします。

 これからwxFrameを後ろから順に翻訳していきます。
256灰 ◆v/.u/aNe9w :03/07/02 21:27
>>254
> wxFRAME_TOOL_WINDOW と、wxFRAME_EX_CONTEXTHELP が上手く動きません。
wxFRAME_TOOL_WINDOW については自己解決しますた。
v2.4.1に上げた後に試したところ上手く行ったのですが、
原因は、タイトルバーが細くなっているのに漏れが気付いておりませんですた!
……………逝ってきまーす。

んでも、wxFRAME_EX_CONTEXHELPが動かんなぁ。
多分、これも漏れが何か間違っているんだろう…。
調べてみます。

あと、v2.4.1入れた時のインストール記を
http://dot-gray.s33.xrea.com/topics/install-bcc32.html#proc_241
に書き足しときますた。
v2.4.0とやり方は殆ど変わら無いんですけどね。
# *.lib、*.dll にコンパイラ環境サフィックスがつくようになってますね。 *_bcc.lib 見たいな感じで。

>>255
ありがとうございます、コミットいたしました。
では、私は上から訳していきます。
257思兼 ◆l3iwkTImVo :03/07/02 23:15
wx163.htmの翻訳完了しました。
あぷろだにあげておきます。


 ・・・気まぐれで帰宅してから3時間以上ぶっ通しで翻訳してたけど、本当は
そんなヒマ人じゃないんだが・・・これもヲタクの性か(w
258思兼 ◆l3iwkTImVo :03/07/02 23:34
いくつか修正してあげ直して置きました。

>>256
 翻訳不能になっていたり、不可解な翻訳になっていたところをコメントアウトして
翻訳しなおしました。訳を比較しておかしいと思うほうを削除してください。
259灰 ◆v/.u/aNe9w :03/07/03 00:41
>>257-258
なんてこったΣ(゚д゚ )
テレビ見てたら先越されますた。

> 訳を比較しておかしいと思うほうを削除してください。
了解です。

んでは、コミットしてきます。
260:03/07/03 01:19
おお、みんな進めてますな。

今日はもう眠いので、手を抜いて役にもたたないところを訳しました。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx50.htm#wxcalendarevent
ではお休みなさい。
261灰 ◆v/.u/aNe9w :03/07/03 02:17
コミットしてまいりました。
思兼 氏、ありがとうございます。
かなーりばっちりな感じで、大変助かりました。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx163.htm#wxframe

>>254
思兼 氏が訳してくれたので、
wxFRAME_EX_CONTEXTHELP の使い方が解りますた。
2段階構築っつー技を使はきゃいけなかったみたいです。
# コンストラクタが一段階目で、Create()が二段階目。

class MyContextHelpFrame : public wxFrame {
public:
  MyContextHelpFrame(wxFrame* parent, const wxString& title
    , const wxPoint& pos, const wxSize& size, long style=wxDEFAULT_FRAME_STYLE) {
    // こんな感じに、wxFrame のサブクラスのコンストラクタの中から
    // Create() の前に SetExtraStyle() を呼び出せば OK。
    SetExtraStyle(wxFRAME_EX_CONTEXTHELP);
    Create(parent, -1, title, pos, size, style);
  }
};

一応、wxFrame の全ウィンドウスタイルが試せるサンプルを上げといたので興味のある方はどうぞ。
# makefile が bcc32 用なので、そこは上手いことやってくださいな。
http://dot-gray.s33.xrea.com/cgi-bin/source/0015.zip
262灰 ◆v/.u/aNe9w :03/07/03 02:36
>>260
SFプロジェクトページより
活発さ: 83.8384%

ちょっと嬉しくなりますね。


では、おやすみなそい。
wxWindowsとCPPUNITって相性悪いの?
なんか変なところでエラーでるんですけど。
wxBase使わんとだめ?

この質問でわかるニュータイプな人、レスお願い。
264灰 ◆v/.u/aNe9w :03/07/03 20:23
思兼 ◆l3iwkTImVo 氏が日本語プロジェクトに参戦されました。
よろすこオナガイシマス。 > 思兼氏

>>263
識者降臨祈願age。
265思兼 ◆l3iwkTImVo :03/07/05 02:23
誰かチェックアウトの仕方を教えてください.
とりあえず
http://www.hunes.co.jp/oki/wincvs/
ここの、SSHによる接続試験までは成功しました。ですが、チェックアウトしようとすると

cvs -z9 --no-knjwrp checkout -P -d wxwindowsjp wxwindowsjp
cvs server: cannot find module `wxwindowsjp' - ignored
cvs [checkout aborted]: cannot expand modules

*****CVS はコード 1 で終了しました*****

となります。ためしにwxwindowsjpをboostjpにしても同じでした.
266灰 ◆v/.u/aNe9w :03/07/05 02:55
Wikiなるものを導入してみました。
wxWindows関連の話題であればなんでもご利用OKです。
http://dot-gray.s33.xrea.com/

>>265
モジュールの名前が違っているようです。
モジュール名は wxWindows_240 になります。
また、http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/wxwindowsjp/でモジュールの一覧が見れます

漏れもそこで2日悩みますた…。
267思兼 ◆l3iwkTImVo :03/07/05 03:05
>>266
キタ Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒(。A。)!!!
 動きました。数時間悩んでたんだけど、聞いて良かった・・・Thanx!

 Let's wxWindowsもいつのまにかガラっと変わってますね。
 そういや前のLet's wxWindowsにあったwx450.htm(参照の使い方)の訳とかが、
日本語化プロジェクトの方にコミットされてない気がするんですが、どうですか?
268灰 ◆v/.u/aNe9w :03/07/05 11:50
>>267
ご指摘サンクスコ!
コミットしてきますたー。

これで、もううちから消しても大丈夫かな…。
269思兼 ◆l3iwkTImVo :03/07/05 19:15
 そのままの勢いで,WinSCP2を使ってWebの方もちょっと更新.
 wxFFileとその他いくつか細かいのを翻訳してみました.
 wxFileはwxFFileと殆ど同じだけど,とりあえず今日はここまで.
(´-`).。oO(だれかwxFileをwxFFileみながら翻訳してくれないかなぁ)

 データベースとかXMLとかGUIとかよく判らないので,こういった小物から
翻訳していきます.

 GUI抜いたら翻訳できる部分殆ど無いじゃんとか突っ込まないように(w
 嘘を翻訳しないように,GUI回りは後回しで,自分で使ってみながら
翻訳していきます.
なんとなくwxAppの訳をしてみました。
うpロダのほうにあげておきました。
つたない英語力なんで変なところもいっぱいあるかもしれませんが
よかったら使ってやってください。
271思兼 ◆l3iwkTImVo :03/07/05 20:12
>>270
乙!
 で,コミットしようと思ったら,うぷろだからhtmlをDLできないのね。そのまま
見たらサーバーに中身書き換えられるし。
 つーことでよろしく>灰さん
272灰 ◆v/.u/aNe9w :03/07/05 21:25
>>270
wxAppはでかいよぉ。
あんた凄いよ!乙!

ファイルはありがたく頂戴いたします。
後ほどうpりますです。

>>271
うぃ。コミットしてきます。
うpろだも、広告つかないようにしてきまーす。
273思兼 ◆l3iwkTImVo :03/07/06 00:20
 どうでもいいけど、Topicの「参照(reference)を・・・」というの,C++の参照とかぶる
から別の言い方のほうが良いんじゃないかな。
 「このドキュメントを読む前の注意事項」とか
274思兼 ◆l3iwkTImVo :03/07/06 00:42
翻訳に使う辞書の話

http://www.popjisyo.com/WebHint/Portal.aspx
 この辞書を翻訳の時に使いたいんだけど,IEではポップアップが画面から左に
はみ出て読めなかったりするから,今は
http://www.dictionarize.com/alc/
 これを使うか,普通に読みながらわからない単語を英辞郎 on the webで調べてる.

 だれかIE以外のブラウザを使ってる人,ポップ辞書のポップアップが画面から
はみ出さないかどうか実験してくれない?
 それと,「漏れはこんな辞書をつかってる」という情報もキボンヌ。出来るだけ無料&
5000円以下で。
275:03/07/06 02:02
私も「英辞郎 on the web」ですかね。
細かいニュアンスがわからないときはコウビルド英英辞典を併用しています。
http://www.amazon.co.jp/exec/obidos/ASIN/0007102011
平易な表現で分かり易いのが便利。安いですしね。
イギリス英語中心(らしい)ですが……
276:03/07/06 02:14
>IEではポップアップが画面から左に はみ出て読めなかったりするから,
Mozillaでも試しましたが、 やっぱりだめですな。
「別ウインドウで表示」にする必要がありそうです。
277270:03/07/06 02:46
インストールしたときにdocsフォルダにあるreadme.txtを訳して
うpしたんですが役に立ちますか?
あ〜、でもライセンスのところはぼろぼろ&他と結構内容かぶってるんだけど。

>>274 昔office2000についてたbook Shelf 2.0なるものと
120にある専門語辞書参照サービス ttp://www.nova.co.jp/webdic/webdic.html
を使ってます。でもこのサイトってホントに専門的な単語ってぜんぜん載ってないんでウツ。
278灰 ◆v/.u/aNe9w :03/07/06 14:09
遅くなりますたが、うp完了しますた。

>>271
次回から*.(html|htm)は拡張子を*.txtに変更するようにしてきますた。
IE v6、opera v7.11ja、Moz v1.4で動作確認。
IEはコンテントタイプよりファイルの中身を優先して、
強引にHTMLとして開きますが右クリツク>対象を保存でよろすくオナガイシマス。

>>274
うちは、
・遠い昔に買ったNetSurfer/EJ(英和翻訳ソフト)
・Exiciteのテキスト翻訳 http://www.excite.co.jp/world/text/
・専門語辞書参照サービス http://www.nova.co.jp/webdic/webdic.html
・手元の初級クラウン♔英和辞書第六版
・英辞郎 on the web # 今日から追加。いいですね、これ。
をつこーちょります。

>IEではポップアップが画面から左に はみ出て読めなかったりするから,
Opera v7.11でも飛び出ました。

# なんとなく今日気付いたこと。Googleページランクの取得方。HTTPだったのか…。
http://216.239.33.104/search?client=navclient-auto&googleip=O;216.239.57.104;1406&ch=53353498627&freshness_check=3s7nRJsrubA3meFfx-IZI&ie=UTF-8&oe=UTF-8&features=Rank&q=info:http%3A%2F%2Fdot%2Dgray%2Es33%2Exrea%2Ecom%2Fcgi%2Dbin%2Fsource%2F0019%2Etxt
279灰 ◆v/.u/aNe9w :03/07/06 14:20
>>277
乙です。
readmeも翻訳されていると嬉しいですね。
でも、どうしましょ?
cvsに加えてSFのリポジトリで公開とかにするといいのかな?

ご意見求む。
>>279
適当に使っていただければOKです。
ただ、あんまし訳当てにしないで(汗

つーか、あんましSourceForgeとかよく知らん人なのでつ・・・
281思兼 ◆l3iwkTImVo :03/07/06 17:22
Hello World Sampleをできるだけ翻訳
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx452.htm#helloworld
しかし力不足で不完全、誰かフォローたのんます。
282:03/07/06 21:24
新規プログラムの雛型としても使えるサンプルプロジェクトを作成してみました。
ディレクトリ構造が妙に深いですが、気にしないで下さい。

http://wxwindowsjp.sourceforge.jp/download/wxWindowsBase.zip

VC.net 2003用ということで、まだ使える人間は多くないと思います……
#autoconfあたりでも作ってみたいけど、良くわからん
283思兼 ◆l3iwkTImVo :03/07/06 22:51
 wxWindowsのライセンスって、スタティックリンクしてもオープンソースに
しないでもいいLGPLってかんじだよね?

 ということは、ビルドしたライブラリファイルを再配布しても問題ないのかな?
 後輩にMSYS教えてconfigureの仕方を教えて・・・とやるよりも,こっちでビルド
して,できたライブラリファイルとヘッダファイルをMinGWのincludeディレクトリや
libディレクトリの中にコピーさせるつもり。これを身内だけじゃなくて,WEB上で
配布してもいいのかな?
284:03/07/06 23:58
>283
ここのことですな。
2. The exception is that you may use, copy, link, modify and distribute
under the user's own terms, binary object code versions of works based
on the Library.

どちらかというと、逆に
『バイナリバージョンならば、好きなライセンスで配付していいよ』
といっている様に思う……
#思兼さんのやりたいことは"copy"にあたるかな?

ソースコード自体は、wxWindows Library Licence,かLGPLでしか配付できない
みたいだけど……
厨な質問でアレなんだがwxWindowsって日本語で何て読むんですか?(読んでますか?)

ダブリューエックスウィンドウズ?
ダブルエックスウィンドウズ?
(これくらいしか候補が浮かばない)

っていうか頭のwxが何の略かが分からない。
誰か知ってる人、解説キボンヌ。
>>283
LGPLなライブラリ自体をコンパイルして配布すること自体
全く問題ないのでは?

もちろん公開したwxWindowsのバイナリを入手した人がwxWindowsの
ソースコードを入手できるようにしておく必要があるけど.

スタティックリンク云々はwxWindowsをリンクしたソフトウェアを
作ってそれをバイナリで配布する場合の話でしょ?
287ymasuda:03/07/07 12:19
>> 辞書
「リーダーズ+プラスV2」を使っています.

>> 何の略
http://www.wxwindows.org/intro.htm によると,もともと Windows と
X Window System でクロスプラットフォームなライブラリを作ることを目的に
開発されたため,

... wxWindows (w for Windows, x for X) ...

ということだそうです.
288285:03/07/07 16:30
>>287 サンキュ!
じゃあ、読み方としては
「ウィン・エックスウィンドウズ」くらいかなぁ。
とりあえず今度から脳内でそう呼ぶことにするわ。
289思兼 ◆l3iwkTImVo :03/07/07 19:08
>>284,286 thanx
 とりあえず,ライブラリとincludeファイルだけを,Mingwのディレクトリに入れて
動かせるかどうか試してみた。
 実際に動かすには,ウィンドウズ関連のライブラリをいっぱいリンクさせないと
いけないので,wx-configが使えないととてもコンパイルがめんどくさかったけど、
とりあえずは動いた。

 とりあえずリンクはバッチファイルを作って,
http://www63.tok2.com/home/bitwalk/download.html#mingw
 ここのパッケージをインストールした後にバッチファイルその他をコピーすれば
MSYSなくても使えるようにするつもりです。

 まぁ学校ではLinux使ってるから,MSYSとwx-configを教える方が良いのかも
知れないけど。

(´-`).。oO(デバッグ版スタティックリンクライブラリ,容量が100Mを超えてるよ。MFCの方が小さい?)
Dialog Editorでデザインしたwxrファイルって、どうやって
使用するのでしょうか?
なんか便利そうなんだけど。
291:03/07/08 02:07
>289
>(´-`).。oO(デバッグ版スタティックリンクライブラリ,容量が100Mを超えてるよ。MFCの方が小さい?)

wxmswd.libのこと?うちのは26.8 MB (28,146,186 バイト)だよ
#VC++.net2003でDLL不用になるようにコンパイル
292思兼 ◆l3iwkTImVo :03/07/08 18:06
>>291
 いや、こっちはMinGWなんだけど、どうもGCCってデバッグ情報が大きい気がする。

 それともう一つ思ったんだけど,MinGWでつかうならUnicode版じゃ無いほうが良い
と思う。コンパイラがUnicodeに対応してないのに,ソースをUnicodeで書いたらコンパイル
自体が出来ないし,UTF-8で書いたらそもそもwchar_t型に文字が入らないし。
 多分2バイト目が\な文字に注意したら,非Unicode版ならSJISで書いたソースの中に
日本語文字列を入れたら,簡単に日本語アプリが作れる。
>>292
普通UTF使うだろ・・・
294思兼 ◆l3iwkTImVo :03/07/08 22:00
>>293
 unicodeのこと、詳しく知らんのです。>>292の結論に至った過程を書くので,誰か
間違っている所を指摘してください。

 まず、全ての文字に2バイトコードを割り当てたunicode(UCS2)が基本としてあって,
ASCIIコードをそのまま用い,それ以外を最大3バイトで表すUTF-7(7bitコード)と,
UTF-8(8bitコード)がある。
 で、wchar_t型は16bit整数で,UCS2と非常に相性が良い。Windows2000/XPの内部
でもこれが使える。(〜Wという名前のAPI)
 wxWindowsでも,--enable-unicodeをしたら,wchar_tを用いて内部でUCS2を使う。
だけれど,ソースをUCS2で書いたらコンパイルできない。
 試しにUTF-8で書いたら,もちろんコンパイルは通るけれど文字化けする.

 結論:UCS2をコンパイルできないとソース内にユニコードの文字列を直接書き込むのは不可能。
> 結論:UCS2をコンパイルできないとソース内にユニコードの文字列を直接書き込むのは不可能。
unicodeとてバイト列。可能。
296思兼 ◆l3iwkTImVo :03/07/08 22:16
>>295
 ・・・なるへそ、プログラム部分はASCIIコードで書いて,文字列部分のみをなんとかして
UCS2で書くんですね・・・
・・・・・・やっぱりSJIS使います。後輩に使わせるためにやってるんで・・・・・・

(´-`).。oO(もしや>>295は,コンパイルできなくても書き込む事はできると言っているだけ?)
>>296
>(´-`).。oO(もしや>>295は,コンパイルできなくても書き込む事はできると言っているだけ?)

ASCII対応のコンパイラにSJISの文字列リテラル渡してはいけない法律はないだろう?二バイト目が"のコードとかだと悲惨だが。
298思兼 ◆l3iwkTImVo :03/07/08 22:29
>>297
 もちろんSJISはね。問題なのは2バイト目が\の時だったと思うけど。
 でも、UCS2ではASCII文字も非ASCIIコードが割り当てられているから,javacみたいに
コンパイラが対応していないと,コンパイル自体が出来ない。UTF-8では文字化けする。

 とりあえず,>>294の「不可能」っていうのは,gccでコンパイルできないor実行時に
文字化けするという意味ね。

 結局,MinGWで日本語を使うには,SJISを使ってコードを書いて,2バイト目が\な文字の
直後に\を追加するプリプロセッサをかますしか無いのかな。GCCのDevelopmentPlanにも
unicodeサポートは無いみたいだし。
>>298
お前はSJISを使うプログラムを書くときは全角英数を使用するんですか?
300思兼 ◆l3iwkTImVo :03/07/08 23:13
>>299
???
 少なくとも文字列定数以外には半角文字っつーかASCII文字を使ってるので
問題ありませんが何か?
>>300
だろ?だったらなんで俺にけちを付ける?
302思兼 ◆l3iwkTImVo :03/07/08 23:59
>>301
 え〜っと、けちをつけるってどれのことですか?
 コテハンもIDも無いので判らないのですが。

 というか,私が問題にしているのはunicodeのことで,SJISでは\問題以外は
全く問題ないのですけど,どこからSJISの話に?
>>290
Sizerベースのwxrceditの方が今は旬みたい。
使い方は知らんけど。

参考はこの辺り。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx21.htm#utilities
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx478.htm#xrcoverview
304思兼 ◆l3iwkTImVo :03/07/09 01:06
>>290
 英語のドキュメントを見る限りでは,普通にincludeしてからごにょごにょって
感じなんだけど・・・今--enable-resourceつけてconfigureし直しているので,
判ったら書き込みなおします。

 なんか--enable-prologしないといけないみたい。・・・もう眠いから、多分明日の
夜くらいになります。

>>303
 そこを見るとXMLつかったリソースもあるみたいですね。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx418.htm
 wxXmlResource::LoadDialogでダイアログ作ってくれたりするみたい。
 まだunder developmentな所が多いけれど,これからに期待です。
305:03/07/09 01:15
Unicodeの参考でげす
http://www.mikeneko.ne.jp/~lab/kcode/uni-encode.html
基本的にUTF-8は8ビット目が常に立っているので安全ですな。
ASCIIとの親和性のために効率落している部分もありますが……

前述の文字コードを変更してのプログラミングの話は、(マトモに使うには)
コンパイラの対応だけじゃなくてOSとかの諸々の環境も考慮する必要が
あるので一概にはいえないと思うけど。

#そもそもライブラリからして8bitクリーンである必要があるし。
306思兼 ◆l3iwkTImVo :03/07/09 01:27
>>305
 Cの規格にwchar_tが追加されたことを知ったときは喜んでたけど,実際に
使えるのはまだまだ環境がそろいませんね。

 文字列定数の前にLをつけるとUNICODEに変換してくれるというのも,ASCII
コードしか変換してくれなかったら意味が無いし。
307思兼 ◆l3iwkTImVo :03/07/09 02:07
検索してたらこんなのがヒット
http://seclan.dll.jp/c99d/c99d03.htm
C99スゲーよ。という事で、これからいろいろ実験します。
308思兼 ◆l3iwkTImVo :03/07/09 19:35
遅くなったけどunicodeの実験結果

 gccに-std=c99オプションをつけて,\uを有効にしてコンパイル

wchar_t str[] = L"\u3042\u3044";//"あい"のunicode
wprintf( str );
MessageBoxW( NULL , str , str , MB_OK );

 wprintfは実行しても何も表示されず。L"hoge"とかなら表示できたので,
ASCII文字しか表示できないのかもしれない。
 MessageBoxWは成功。ちゃんと「あい」と表示されてる。

 ただし,g++では,windows.hをincludeすることで一緒にincludeされる
rpcndr.hがコンパイルできなくて使えない。

 ということで,現状でも\uを使うことで,unicodeを埋め込んだプログラムを
g++で使うことは可能。選択範囲の文字列を\u形式に変換する機能を持つ
エディタを使えば,簡単にunicodeのwxWindowsアプリを作れる。

 gccが,L""文字列の中のマルチバイト文字列をunicodeに変換してくれる
ようになればもっと楽なんだけどな。せめてUTF-8だけでもいいから対応
して欲しい。
309思兼 ◆l3iwkTImVo :03/07/09 21:00
追加報告

 gccは,一応文字列の解析に,環境変数LANGを用いてマルチバイト文字列
からunicodeに内部で変換している。(少なくとも今gcc3.3のソースを見た限りでは
ちゃんと変換している部分があった)

 だけどbitwalkのMinGWパッケージに入っているgcc3.2.3ではそれが有効にならない
らしい。この機能はgcc3.2.3でもあるはずだから,configureするときのオプションか
何かでdisableされているのかも知れない。

 これから,MinGWからgccのソースを持ってきて,configure等を確かめてみる。
310思兼 ◆l3iwkTImVo :03/07/09 23:08
 結局,configureしなおしてもダメでした。というかGCCのスレに同じようなことを
やっている人が・・・鬱だ。

 でも,gcc3.2.3のソースを見ていると,UTF-8からunicodeへの変換をするソースが
#if 0〜#endifでコメントアウトされていたので,これからに期待・・・かな。
 マルチバイト文字列をunicodeへ変換する関数もちゃんと呼ばれてない気がするし。
311思兼 ◆l3iwkTImVo :03/07/10 21:10
>>290
 結局,あの後configureしなおしてからdialogedをmakeしようとしたんだけれど,DailogEd_
resources.oが無いとかでまだ出来てません。
 だれかダイアログエディタのビルド成功した人いませんか?
312灰 ◆v/.u/aNe9w :03/07/10 23:50
>>311
うちではビルドできてますよ。
ただ、.wxrの使い方は良くわかりませんが…。
環境
win2k sp4
bcc32 5.5.1
wxWindows 2.4.1 + patch01

>>273
> どうでもいいけど、Topicの「参照(reference)を・・・」というの,C++の参照とかぶる
亀レスですが、これってC++のリファレンスと文書のリファレンスを掛けているような気がしてきました。
”リファレンスを使う際の注意”とすると良いかもしれない。
ご意見くださいませ。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx450.htm#referencenotes
313:03/07/11 02:41
>312
いや、これは単純に「この参考資料」程度の意味でしょう。
文章リストの頭にあるわけですし。

あと、
for remaining char * return values〜〜
のところは、
「wxStringはwxWindowsによって参照カウントされるから、char*を(コピーして)
保存しておいてもwxWindowsが勝手に割り当てや削除をしちまうぜ」
ぐらいの意味でしょうね。
314灰 ◆v/.u/aNe9w :03/07/12 03:45
>>313
ありがとやんす。
”このリファレンスを読む際の注意”に直してきますた。

しばらく、"トピックの概要”の辺りを翻訳してますです。
315思兼 ◆l3iwkTImVo :03/07/12 08:41
dialogedをコンパイルしてみました。makeは何故か失敗するけれど,dialoged.rcを
windresでコンパイルしてからソースファイル全部をコンパイルしたら動いた。

 で,wxrファイルの使い方。

 dialogedで作ったwxrファイルには,ダイアログの構造を書いたリソースが文字列定数
で書かれています。
 プログラムの中でこれを使うには

#include "hoge.h"
#include "hoge.wxr"
#include <wx/resource.h>

...

wxDialog *dialog = new wxDialog();
::wxResourceParseData( hoge );
dialog->LoadFromResource( (親ウィンドウへのポインタ) , "hoge" );
dialog->ShowModal();

 こんな感じでできます。もちろんこのままだとダイアログの動作を定義できないので,
wxDialogを継承したクラスを自分で作って,hoge.hの中で宣言されている定数等を
使って動作を実装する必要があります。(↑の例だと無意味なダイアログができる)

 詳細は,wx477.htmを見てください。(っていうか訳せよ>俺)


316思兼 ◆l3iwkTImVo :03/07/12 08:48
P.S.
 サンプルプログラムにresourceってのがあって,そこでダイアログとメニューを
リソースから取り出して使っているので,それを読めばすぐにわかると思います。

 そのサンプルプログラムの中で,__WXMSW__ではリソースを実行時にファイルから
取り込んでいますが,コメントを見る限りWindows用のコンパイラの中に拡張子がwxrな
ファイルのincludeを許さないものがあるかららしいです。

wxrファイルのincludeが出来るのなら普通に使えますし,出来なくても拡張子を
wxrからhに書き換えたらいいだけなので,サンプルプログラムで行っている場合分けは
必要ありません。
317思兼 ◆l3iwkTImVo :03/07/12 20:41
久しぶりに翻訳
wx461.htmを翻訳しました。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx461.htm

 日本語アプリを作りたい人は参考にして下さい.この機構をSJISで使えば,
9x系でもNT系でも問題なく動作するアプリが作れます.
 このドキュメントより,>>65氏の解説の方が良いので,既出だけどリンクをば
http://www.geocities.co.jp/SiliconValley-Cupertino/8526/wxWindows/japanese.html
318灰 ◆v/.u/aNe9w :03/07/13 02:19
wxWindows 2.4.1 on Win32 で gettext で i18n 化して遊ぶサンプルを上げてみますた。
突っ込みプリーズ。
http://dot-gray.s33.xrea.com/index.xcg?page=%A5%B5%A5%F3%A5%D7%A5%EB%3A%3Aminimal%2Dja
319思兼 ◆l3iwkTImVo :03/07/13 03:19
>>318
 gettextって,moファイルから入力したあとロケールにあわせて文字コード変換を
行うらしい。

http://www.gnu.org/manual/gettext/html_mono/gettext.html#SEC149
gettext not only looks up a translation in a message catalog. It also converts
the translation on the fly to the desired output character set.

 っつーことで,poファイルをeuc-jpかUTF-8でエンコードして,プログラムでは
ロケールにSJISをするという実験プリーズ
 明日の昼になって誰も実験してない&暇&気が向いたら私が実験します。
320思兼 ◆l3iwkTImVo :03/07/13 03:55
というか
http://www.geocities.co.jp/SiliconValley-Cupertino/8526/wxWindows/japanese.html
ここのメッセージカタログの文字コードで既に書いてあるし・・・
 とりあえず今の私の環境では、iconvを使わずにwxWindowsをビルドしたからUTF-8は
無理でした。
 今度configureしなおしてみます。
321思兼 ◆l3iwkTImVo :03/07/13 08:39
スミマセン、wx461.htmの翻訳ミスってました。

.poファイルのヘッダで
#, fuzzy
という行があると,文字コードの自動変換が行われなくなります。

このことを知らなくて,Make sure ...の文の訳に見当違いなことを書いていました。
>>318
そのページの.poファイルもfuzzyの行を外した方が良いです.
322灰 ◆v/.u/aNe9w :03/07/13 11:38
>>321
あーりがとー!
でけました行けました!

んで、別なところで不思議な現象が発生。

2.4.1 with bcc32 で wxLocale を使ったソースを、
FINAL=1でコンパイルしたところ
コンパイルは通るけど、実行するとエラーで止まりまふ。
デバッグと FINAL=hybrid は問題がないのだが…。

他の環境でも、この問題は発生してますでしょうか?
323思兼 ◆l3iwkTImVo :03/07/13 13:30
>>322
 FINALってのが何か判らないけれど,最適化とかリリースモードという意味なら
g++の-O4で無問題です。
324灰 ◆v/.u/aNe9w :03/07/13 23:40
>>323
リリースモードのことです。
言葉足らずですいません。
そして、ご回答ありがとうございます。

むぅ、g++は大丈夫ですか…。
325山崎 渉:03/07/15 10:13

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
wxWindowsいいねー
"GTKっぽさ"が嫌いでこの系統のGUIツールキットから引いてたクチとしては
各プラットフォームnativeに近いのは凄くいい
訳やってる人たちもがんばれー
出来上がり実行ファイルがバカでかくなるんですが、どうすればいいんでしょう
単純にリンカに-sを渡しても、まだずいぶん大きいです
328思兼 ◆l3iwkTImVo :03/07/15 21:29
>>327
 質問する時はもうすこし環境とか数値とかを出しましょう。

 リンカに-sを渡すという事は,gccのリンカかな?私はMinGWを使っているので,
Cygwinではどうなるか判りません.

 とりあえず,MinGWで実験してみました。
対象     minimalサンプル
コンパイラ  g++-2.3.2

コンパイル法
 MSYS上で,wxWindowsのサンプルソースのあるディレクトリ内で以下のコマンドを実行

$windres -i minimal.rc -o minimalrc.o -I(インクルードディレクトリ)
$g++ *.cpp *.o -s -O2 -o minimal `wx-config --cppflags --libs`

結果
258,560 byte

 wxWindowsのconfigureオプションは忘れましたが,とりあえず--enable-sharedでDLLを
有効にしています.DLLを使用時258KBというのは,MFCと比べてそれ程大きいわけでは
無いと思います.さすがにWin32APIを直に叩くよりはずっと大きいですけど(w
329:03/07/15 23:52
>327
気にすんな。C++Builderとかと比べてもそれほど悪くは無いと思うよ。

気に入らないようなら、wxWindowsでプロトタイピングしてそのあとに
API直叩きで最適化するのがよろしかと。
330思兼 ◆l3iwkTImVo :03/07/16 01:31
>>328で書いたコンパイラ,g++-3.2.3の間違いでした.

 今日はwxAppの概要を訳して,wxStringを少し修正&訳の続きを途中まで
しました.もしwxStringを翻訳中の人がいたらゴメンナサイ.とりあえず明日
にはwxStringの訳を終わらせるつもりなんで,先にしてた人がいたらここで
報告してください.
331灰 ◆v/.u/aNe9w :03/07/16 02:16
>>326
漏れも同じ動機で wx を使いはじめますた。
応援ありがてー!

>>327
samples/minimal の実行ファイルサイズ

borland bcc32 5.5.1   1,588,736 byte リリースビルド
cygwin g++ 3.2      2,207,232 byte デバッグビルド

win な環境だと VC 以外 (>>12- あたり参照) はでかくなりますね。
cygwin のリリースはどうなんでしょう?
やたらコンパイルに時間がかかるのでうちでは作ってないのだが…。

>>330
乙。
locale周りを調べたら復帰しまふ。
332思兼 ◆l3iwkTImVo :03/07/16 23:20
wxStringの訳がほぼ終わりました.
で、最後の方にわからない一文が・・・
だれか"go without saying "の意味を教えてください.

http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx456.htm
言うまでもなく
it goes without saying that ほげほげ.


ほげほげということは言うまでもない。
335灰 ◆v/.u/aNe9w :03/07/17 00:21
bcc32 5.5.1 限定 wxLocale の不具合への対策できますた。

http://dot-gray.s33.xrea.com/index.xcg?page=%A5%B5%A5%F3%A5%D7%A5%EB%3A%3Aminimal%2Dja#p13

んで、識者の方に質問。
char *setlocale(int category, const char *locale) の戻り値を第 2 引数にして、
再度、setlocale() を呼び出すのは規格的に動作の保証はされているのでしょうか?

無保証であれば、本家にパッチを投げに行ってみようかと。
336思兼 ◆l3iwkTImVo :03/07/17 00:38
>>333-334
 Thanx.その分だけ直してから寝ます.

 なんか無知を晒したような気が・・・高専生なんてこの程度か.普通に文章を
読んで意味を感じる事は出来るが,訳すとなると大学受験で単熟語を叩き込んだ
人たちと差がついてしまう.
それって中2でやりますよ・・・なんて無粋な突っ込みはよしておこう
338思兼 ◆l3iwkTImVo :03/07/17 00:46
直しておきました.

>>337
 マジですか?
 一応今年の春の英検2級を正答率80%以上で合格したんだが・・・使えねぇ

 学校で英語の授業が無くなって(選択で応募多数の為抽選で落ちた),秋の英検
準1級への勉強を兼ねて翻訳プロジェクトに参加したんだけど・・・この程度じゃ
ダメっすか?
>>338
中2だったかどうかは覚えてないけど、
常識範囲内だと思う。

2級ではそんなもんかもね。
勉強がんばれ。
340nanasea:03/07/17 18:43
wxSocket*って、誰か訳してます?
まぁ…だぶってても良いから訳すか…
やっと自分で作ったリソースのコンパイルが通った。
けっこう面倒だね。
342灰 ◆v/.u/aNe9w :03/07/17 21:06
wxAssert で bcc32 551 がまた飛びますた…。鬱。
gcc に移ろうかしら…。

>>335 の件は、調べてみたのですが戻り値を第二引数として、
そのまま使用した場合の話を発見することが出来ませんでした。
近い話として、
The application shall not modify the string returned
which may be overwritten by a subsequent call to setlocale().
アプリケーションは返されたストリングを修正しないものとします、
それはsetlocale()への後の呼び出しによって上書きされるかもしれません。
http://www.opengroup.org/onlinepubs/007904975/functions/setlocale.html
なんてのがありますた。

んで、これはbcc限定の話なんでbccスレに行って聞いてきます。
お騒がせしますた。
343灰 ◆v/.u/aNe9w :03/07/17 21:14
>>340
cvsで確認したところwxSocket系は、
まだ誰も手をつけていないので、
大丈夫だと思います。

うpお待ちしております。
bombsがデバッグモードでコンパイルしたものが上手く実行できないのはどうしてだろ?
FINAL=1をつければ実行できるバイナリが出来るけど…
345344:03/07/18 00:15
BCC32での話です
xmlのリソースエディタ、早くできないかねぇ。
subclassのところが美味しそう。
347灰 ◆v/.u/aNe9w :03/07/18 00:31
>>344
>>342で書いた奴が原因です。
> wxAssert で bcc32 551 がまた飛びますた…。鬱。

リリース版はデバッグ関係が一切入らないので動作できるのですが、
デバッグ版は上記理由によりぶっ飛ぶみたいです。

ただいま解析中なり。
td32の使い方がやっと解ってきた。楽しい。
348灰 ◆v/.u/aNe9w :03/07/18 02:46
>>344
ある程度わかりますた。
wxAssert がおかしいって言うのは私の勘違いでしたゴメンナスン。

んでbombsは、wxSashWindowが原因でAssert発生。
..\common\object.cpp(197):
assert "classInfo" failed: base class 'wxSashWindow' is unknown
to wxWindows RTTI [in child thread]

この時点で、Appの初期化がすんでいないので
GUIでデバッグメッセージを出力できない。
んで、wxAssertは内部で以下の順でデバッグ用 win32api をコール。
OutputDebugString デバッグメッセージをデバッガに送る
DebugBreak ブレークポイント例外を発生させる

OutputDebugString は、Windows2000 の場合、adminまたはadminグループじゃないと出力されない。
http://support.microsoft.com/default.aspx?scid=kb;ja;274559

あと、DebugBreakは対応したデバッガがないと意味無し。多分。
なので、一見飛んだようにみえただけですた。
(td32でキャッチできるように出来ないのかな?)

OutputDebugStringの出力をみるにはビューアが無いとダメ臭い。
取りあえず、フリーソフトDebugTracerで確認できますた。
http://www65.tok2.com/home2/pentawar/

駆け足ですがこんな感じですた。以上。
349169:03/07/19 14:19
>169 ですが、Mac OS X でも問題無く日本語が入力出来ました。wxMac の問題
では無く、私が Gimp 用に設定していた環境変数が悪さしていたみたいです。
350:03/07/19 14:33
>349
それはすばらしい。
OSがしっかり対応していれば、それなりに使えるみたいだね。
351灰 ◆v/.u/aNe9w :03/07/20 00:03
bcc32 で samples/bombs のデバッグ版が動かない理由がわかりますた……。

理由:
wxWindows では実行時型情報を提供する為の仕組みとして、
wxClassInfo クラスと、マクロ DECLARE_DYNAMIC_CLASS(foo) と
IMPLEMENT_DYNAMIC_CLASS(foo, bar) を提供していまつ。
http://www.wxwindows.org/manuals/2.4.0/wx455.htm

このマクロはそれぞれ、

static wxClassInfo sm_classなんちゃら;
virtual wxClassInfo *GetClassInfo() const { return &MainFrame::sm_classなんちゃら; }


wxObject* wxConstructorForなんちゃら() { return new なんちゃら; }
wxClassInfo MainFrame::sm_classなんちゃら(
 "なんちゃら", "wxFrame", 0
 , (int) sizeof(MainFrame), (wxObjectConstructorFn) wxConstructorForなんちゃら
);

に展開されます。

んで、wxClassInfo はコンストラクタ(src/common/object.cpp)で
各クラス内のスタティックな sm_classなんちゃら のポインタをチェインとして
登録するような仕組みになってます。

んで、wxWindows::msw のデバッグを有効にしている場合、
内部の WinMain にあたる wxEntry の最初の方で wxClassInfo のチェインをハッシュテーブルに登録。
更に、そのテーブルを元にデータの正当性(依存関係)のチェックを行ってます。

bcc32 は、その正当性チェックの部分で弾かれてしまっています。
352灰 ◆v/.u/aNe9w :03/07/20 00:04
しかし、スタティック変数は規格上最初に使用されるタイミングまでに初期化されていれば
いいので、この場合 bcc32 の反応はある意味規格に則っているといえます。
逆に、wxWindows の方は各クラスのスタティック変数が、スタートアップルーチン前に
初期化されることを前提に動いているので問題があるともいえます。

取りあえず、bcc32 で bombs のデバッグビルドを正常に走らせるには
以下のような小細工が必要になります。

bool AppClass::OnInit()
{
 ・・・略・・・
 // start Dummy
 wxSashEvent::sm_classwxSashEvent.GetClassName();
 wxSashWindow::sm_classwxSashWindow.GetClassName();
 // end Dummy

 return TRUE;
}

むほぉ。
ときに偉い人。wxWindowsではTCP/IPレイヤが提供されてるようだけどSSLは提供されてないの?
354灰 ◆v/.u/aNe9w :03/07/20 00:11
余り自信はないが、多分これであっていると思う。
誰ぞ突っ込みプリーズ。


でもこれって、他の環境でも少なからず発生しうる現象な気がする…。
他の環境で同じようなことは発生して無いでしょうか?
355思兼 ◆l3iwkTImVo :03/07/20 00:29
>>353
wxWindows本家では提供されて無いみたいだね.

http://wxssl.sourceforge.net/index.html
↑でwxWindows用のSSLライブラリが提供されてる.
あら、そうなんだ
ありがとう偉い人
http://sourceforge.net/projects/wxssl/

ガビソ 実装のhowtoを書いてるだけでライブラリは出してないんだね…1年以上放置してるし
1年以上放置は誤読だった
359思兼 ◆l3iwkTImVo :03/07/20 01:20
ほんとだ・・・ライブラリ作成のガイドラインだけ作って,ライブラリ自体は作ってない・・・

適当にググッた結果書き込んだだけだったのだ,スマソ.

360灰 ◆v/.u/aNe9w :03/07/20 10:29
>>352
・・・ぅ。スミマセン、大間違いでした。
プログラミング言語 C++ 第3版の 9.4.1 で確認しますた。

誤:スタティック変数は規格上最初に使用されるタイミングまでに初期化されていればいいので
正:スタティック変数は、main、WinMain 前に初期化される
# スタートアップルーチン って言葉も意味、使い方ともに間違ってまつね…。

っつーことで、wxWindowsの実装が正しくbcc32に問題がありまつ。

どうやら、bcc32 5.5.1はスタティック変数の初期化にバグを抱えているようです。
なので、wxWindowsが提供する実行時型情報系の部分等で
色々問題が出る可能性が高いです。

[参考サイト]
スタティック変数のバグについて
http://www.geocities.co.jp/SiliconValley/1173/bcbfix/#bcb5bssinit
バグを回避する方法について
http://homepage1.nifty.com/mcn/weekly/000531.htm

逝ってきます…。
DLLをコンパイルできないんですが、なくても大丈夫ですよね?
そもそもDLLとはなんですか?
Nacelle - Beginner - DLLファイルとは何か http://nacelle.info/beginner/03006.php
なくてもいけるけどないと困るの?
ここぐらいにまで育つのかな。
http://www.logionworks.jp/software/SDLdoc-jp/
sample>minimalをコンパイルしたら21.6Mbもありますが仕様ですか?
うちでは 88KB だよ。スタティックリンクしてるのでは?
sample>artprovをコンパイルしたらこれまた21.6Mbもありますが仕様ですか?
make -f makefile.g95 wxusingdll=1
としました。

もしかして、MinGWが原因ですか?
もしかして、d:\wx\src\mswでコンパイルするときに
make -f makefile.g95 FINAL=1
にしないとダメ?
>>367
メガビットとな!?
スタティックリンクで、デバッグシンボル込みだとそんなものかと。
DLL作るか、FINAL=1ですな。
MinGW のみでのDLLの作り方は知らん。

Cygwin+MinGWであれば、

cd $WXWIN
mkdir build-shared-debug
cd build-shared-debug
../configure --with-msw --enable-shared --enable-debug
make; make install;
でいけると思うが…。
372思兼 ◆l3iwkTImVo :03/07/26 23:52
MinGWでは,MSYSを入れて同じくconfigure,make installですね.

・・・最近翻訳する気が起きない・・・だれか翻訳して欲しい部分をリクエストしてちょ.
GUIとか通信とか前提知識が足りないから翻訳できる部分は少ないけど
wxWindowsのメーリングリストとかないのかな。
>>373
wxPython のほうは入っているけど、ものすごいトラフィック量がある。
だから、サブジェクトをみて一部のものしか目を通していない。
375:03/07/27 02:29
>372
Threadがらみキボン。この辺は良くわからないんですよね。

まあ、実際にはwxStringの方が重要ですね。幸せになる人も多そう。
#私はwxTextctrlをぼちぼちやっています……長い……
376思兼 ◆l3iwkTImVo :03/07/27 03:49
>>375
 了解.とりあえずスレッドを一通り訳してから,wxString周りを攻めて行きます.


・・・なんかsourceforgeにうまく繋がらなくなってうぷろだに上げたけど,ちゃんと
コミットできたのでうぷろだのファイルは無視してください.(wx494.htm)
377灰 ◆v/.u/aNe9w :03/07/29 14:09
やほーい。おまいら、wx440.htm - Log functions - がうpられてましたよ!
ナイス!kaba氏!
そして、気付くのが遅くなってすみませぬ。

今晩、コミットしますでっす!
GUI部分はtkで組め。
以上
wxTextCtrlのEVT_KEY_UPだとつかめるんだけどさぁ、
EVT_KEY_DOWNでShift+TABの入力ってつかめないかなぁ?
380山崎 渉:03/08/02 02:37
(^^)
381kaba:03/08/02 13:03
>>377
使ってもらえてうれしいです。
皆さんの訳文・HPを散々見させて頂いているんで、
少しぐらいはお返しせなならんかとうpしてみました。
意訳・超訳なのはごかんべん。

このとおりの亀なのでお手伝いできる事も
あんまりないのですが、またうpします。
382SEX:03/08/02 13:24
 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 |オッパイが透けて見えるフラッシュは最高ですぅ〜!
  \____ __________________
           V
      , -―- 、 /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   /了 l__〕      〈]    /同人で、激エロSEXモノですよ!
    7| K ノノノ ))))〉 ,、  | http://pink.sakura.ne.jp/~erotan/
    l」 |」(l| ( | | ||.  !lm  \_  _________
    | |ゝリ. ~ lフ/リ  lアノ     V
     | | /\∨/‐-/`'/
.    l l | /ヽ/==|‐-- '
     !リl/ //   ヽ   _ , '⌒ ⌒\
   _〈 //      \\\ ノ// ヘヘ、
.  `つノl//       ヽ  // |||)、 
                 //'へ゛ーノ  可愛いエッチな音声も聞けますよ〜!
                       < お絵描きBBSもありますよ!
383デフォルトの名無しさん:03/08/02 20:14
☆ ☆ ☆ http://www.gals-cafe.com ☆ ☆ ☆
りさちゃんですっ☆みんな元気ぃ?夏だねっ!
あたしね、今アメリカにいるんだけど、、、えへっ(*>▽<*)
アナタに逢いたくて、こんなバイト始めちゃったヨ♪
りさに逢いに来てくれたら、7日間も会費無料サービスしちゃうし、
さらにさらに10分間も無料なんだよ! Σ(@o@)!!
アナタにだけの特別大っサービス♪絶対来てね!
二人っきりでたっくさん楽しいことしようよ♪まってるよ(^.^)/
☆ ☆ ☆ http://www.gals-cafe.com ☆ ☆ ☆
384灰 ◆v/.u/aNe9w :03/08/03 18:10
>>381
意訳・超訳大歓迎ですよ!
お待ちしてまっす!

ところで、
wxNotebook 系とwxEvent、wxEvtHandler を超訳ぶっこきますた。
wxEvtHandler が思いのほかでかく、
なかば白目を剥きながらやっつけたのでかなり不安。
どなたか査読キボンヌ。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx131.htm

ついでに、topics/wxWindows サンプル の後半を手伝って(やっつけて)くれる人もキボンヌ。
扱う範囲が広くてアップアップで御座います。ヘルプ…ミ。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx453.htm#samples
すばらしい働きぶりですな,皆さん.
まじでがんがってほしい.応援してます.

で,忙しいところ申し訳ないのですが,一つ質問がありまして.
コントロール間のTabでのフォーカス移動って,どうやってやるんでしょ.
wxTextCtrlでwxTE_PROCESS_TABを指定しても,うまくいかなかったもんで.
誰か教えて下さい.
386385:03/08/04 13:51
wxArrayStringの訳をあげておきました.
txtになっちゃったみたい.

遠慮なく添削してけっこうです.>皆様
なんとなく小技。
wxSMALL_FONTとかの、文字化け回避(するかも)。
samples/font/font.cppのMyApp::OnInit()の最初のほうに突っ込んでみたら、それなりに動きますた。

wxNativeFontInfo default_nfi,small_nfi,italic_nfi,swiss_nfi;
default_nfi.FromString(wxNORMAL_FONT->GetNativeFontInfoDesc());
small_nfi = italic_nfi = swiss_nfi = default_nfi;
small_nfi.SetPointSize(default_nfi.GetPointSize() - 2);
italic_nfi.SetStyle(wxFONTSTYLE_ITALIC);
swiss_nfi.SetFaceName(wxT("MS Pゴシック"));
wxSMALL_FONT->SetNativeFontInfo(small_nfi);
wxITALIC_FONT->SetNativeFontInfo(italic_nfi);
wxSWISS_FONT->SetNativeFontInfo(swiss_nfi);

SWISSのフェイスは、環境に合わせて適当に指定してください。
font family指定では化けるから、根本的な解決ではないけど・・・
388灰 ◆v/.u/aNe9w :03/08/04 23:01
>>385
試してみたんだけど上手くいかないね。なぜだ?
$WXWIN/samples/controls のlog出力に使われている奴。

550  m_text = new wxTextCtrl(this, -1, _T("This is the log window.\n"),
551              wxPoint(0, 250), wxSize(100, 50), wxTE_MULTILINE);

特殊なことはやっていないようなんだけど、
普通にタブでフォーカス移動が出来るんだよなぁ。

あと、wxTE_PROCESS_TAB で作った場合でも
CTRL-ENTER でフォーカスが移動する[wxTextCtrl|wx381.htm]ってあるんだけど、
これも上手く行っていない感じ。

あ、$WXWIN/samples/font もTABで遷移できる…。

>>386 >> Kaba氏
ダブル(σ・∀・)σゲッツ!!
ありがてー!

>>387
回避できたーよー。

この辺は解決したい問題ですね。
wxSystemSetting::GetFont()
あたりをいじるといいのかなぁ。
389灰 ◆v/.u/aNe9w :03/08/05 02:47
うp完了なり。

>>386
> txtになっちゃったみたい.
これは仕様なんです。
htm | html だと、広告が挿入されちゃうのがいやんなのと、
部落らとか、ウィルスを張られた場合の対策も含めて、
(IE だとあまり意味がなかったりするけど…)
拡張子を txt 変更するようにしてまふ。
説明がついてなくてスマソ。直しておきます。

> 遠慮なく添削してけっこうです.>皆様
添削しますた。
case (文字について話している場合)
誤:入れ物
正:大文字小文字
case sensitive で '大文字小文字を区別する' みたいな意味になりますです。
これ以外は問題ないッス。乙!

# 最近、機械翻訳なしでぺろっと英文が読めるようになりつつある自分にビックリ。
# 調子に乗って誤訳生産機になってなければいいけど…。
390385:03/08/05 22:27
>>389
"case sensitive" == "大文字小文字を区別"
そういや,そうだった.
忘れてました.thx.
>>385
タブオーダーの指定はまだできないようです。
http://www.wxwindows.org/faqcmn.htm#taborder
392灰 ◆v/.u/aNe9w :03/08/06 23:09
おおぅ!?またまたファイル(wxSockAddress)がうpられてますた。
>> sue 氏
サンクスコ!後ほどコミットしまふ。

>>391
タブオーダの指定はできなかったのか。
通りで探しても出てこない訳だ…。

んでも、TAB によるフォーカス制御は出来るはず。
wxWindow::SetFocusFromKbd があるぐらいだし…、
これも実は無保証なのかな。
393385:03/08/08 11:33
Size overview (Sizeの概要) を揚げておきました.
つかれた.
394灰 ◆v/.u/aNe9w :03/08/08 23:51
>>393
乙です。
ちょっとタグ付けしてうpる余裕が無いので、
後日、うーん、来週の水曜日あたりまでにはコミットします。

どなたか、お手すきな方にやってもらえると助かるなり。

また、次回から以下のルールに沿ってタグ付けしてもらえると助かります。
http://wxwindowsjp.sourceforge.jp/docs/index.html

翻訳して頂いておきながら、
生意気なことを申し上げて誠に申し訳ないっす。
395灰 ◆v/.u/aNe9w :03/08/13 08:37
>>393
うp完了なり。
396:03/08/14 01:37
長かった……
wxTextControl終了しました。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx381.htm#wxtextctrl
>>395・396
お疲れさんです。
凄い勢いでプロジェクトが進行していますね。
陰ながら応援させていただきます。
398デフォルトの名無しさん:03/08/14 16:39
Dev-C++にwxWindowsを組み込み、新規プロジェクトをwxWindowsで作成すると、
「base.h」「base.cpp」というファイルが生成されます。

私は、DOSで表示させたときと全く同じ動作(数字を入力し、
計算結果を同じウィンドウに表示させる、など初歩的なもの)を
GUIで実現させたいのですが、どこにその構文を挿入すればいいのでしょうか?

どなたか教えていただけないでしょうか?
399山崎 渉:03/08/15 15:25
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
400400ゲットプログラム:03/08/15 15:27
400ゲット
401:03/08/15 22:46
Dev-C++は使ったことないけれど……
(使う気もないし)

・どこかに
 bool 〜〜::OnInit()
 {
 }
は無かった? そこが実行ブロックになります。

・上記のメンバ関数内はどのようになっている?
 SetTopWindow( 〜〜 );
という行があるのならば、そのオブジェクトがメインウインドウになるので、
そのオブジェクトのクラスを追ってください。
もし無いのならば自分でウインドウを作成する必要があります。
http://wxwindowsjp.sourceforge.jp/download/wxWindowsBase.zip
のサンプルプログラムを参考にウインドウをこしらえてください。
402398:03/08/15 23:17
>>401
base.cppの中に下のような部分があります。

bool MainApp::OnInit()
{
MainFrame *win = new MainFrame("Frame", wxPoint (100, 100),
wxSize(450, 340));
win->Show(TRUE);
SetTopWindow(win);

return TRUE;
}

いろいろ試してみます。
どうもありがとうございます。
403:03/08/16 01:03
>402
どっかにwxFrameの派生としてMainFrameのクラスが定義されていると思うから、
そのクラスをいじくるとヨロシかと。

こっから先はwxWindowsのフレームワークの話になってしまうので、
・灰さんのサイト
http://dot-gray.s33.xrea.com/index.xcg?page=FrontPage
・オイラのサイトの解説
http://www.debilotte.net/programming/wxWindows/index.html
・マニュアル(翻訳途中)
http://wxwindowsjp.sourceforge.jp/
とかを参照してくれぃ
カレンダーサンプルの日付けがずれていませんか〜
405デフォルトの名無しさん:03/08/19 04:05
いくらなんでも751では圧潰沈没しそう。緊急浮上。
406灰 ◆v/.u/aNe9w :03/08/19 19:47
久しぶりに翻訳に挑戦したら頭痛くなった…(藁

>>405
サンクス。

>>404
遅いかもしれんが、うちの環境では特にずれてはいないみたい。
GTK+とかあのあたりのお話?
http://dot-gray.s33.xrea.com/index.xcg?page=wxCalendar%A4%CE%C6%FC%C9%D5%A4%AC%A4%BA%A4%EC%A4%EB
Mingw32 options for Dev-C++ with wxWindows (hope minimize the EXE size)

compiler: -D_X86_=1 -DWIN32 -D_WIN32 -D__WIN95__ -D__GNUWIN32__ -D__WIN32__ -DSTRICT -D__WXMSW__ -D__WINDOWS__ -fmessage-length=0 -fno-rtti -fno-exceptions

-mthreads (only needed for multi-threads)

linker: -lwxmsw -lstdc++ -lgcc -lodbc32 -lwsock32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -ladvapi32 -lopengl32 -lglu32 -lole32 -loleaut32 -luuid

-s (will reduce exe file size a lot, but don't add it if in debugging)
408407:03/08/20 09:45
>>407のオプションはDevPack版のデフォルトなのかな?

それはともかく、>>398さん 見てたらbase.cppとbase.hの内容をコピペして欲しいです…
自己解決できましたスマソ
410デフォルトの名無しさん:03/08/20 20:04
がんがれ
411_:03/08/20 20:05
412お気に入り集 ☆http://beauty.h.fc2.com/:03/08/20 21:17
お気に入り集 ☆
http://beauty.h.fc2.com/
413灰 ◆v/.u/aNe9w :03/08/24 01:57
やばい忙しいなんてもんじゃない。
書き込みエラーまで出た。
超忙しい、超エラー、超やばい。
extra.zipを解凍して出てくるbin、shareフォルダは
mingwをインストールしたディレクトリ直下と
mingw32フォルダ内のどちらにコピーするのですか?

d:/mingw/bin
d:/mingw/mingw32/bin
メルマガの作者は何を目指してるのだろうか。
ミス多いし文章読みにくい。。。鬱だ。
Javaに乗り換えよう。
>>415
Javaに乗り換えられるなら、それが良いかも

というか、メルマガなんてなくても平気じゃない?
417:03/08/31 03:15
ひゃー。
wxStringようやっと終った。長いよ。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx368.htm#wxstring
418:03/08/31 19:37
たまにはあげ。
Drag and drop overview 終了なり
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx495.htm#wxdndoverview
おつかるー!
420デフォルトの名無しさん:03/09/02 01:28
wxTreeCtrl を訳してみました。
いちばん、自信のないところ:
EVT_TREE_GET_INFO(id, func)
アプリケーションから情報を要求する。?
EVT_TREE_SET_INFO(id, func)
情報が与えられた。?
それと、wxTreeCtrl::Unselect と wxTreeCtrl::UnselectAll の違いも文面から
読み取れていません。
コードで試していないのがいかんのですが。


421:03/09/03 01:41
> 420
おつかれさまです。マージしました。遅れてスマソ

> EVT_TREE_GET_INFO(id, func)
> アプリケーションから情報を要求する。?
> EVT_TREE_SET_INFO(id, func)
> 情報が与えられた。?

むむむ、情報無さすぎですね。コードをHackしないとわからないか……
多分、Itemに情報をsetする/Itemから情報をgetするときに発生する
イベントだと思うけど……
>>328
亀レスだけど、手元の環境(共有DLL・非デバッグ)でやると178,290byteになったよ
デバッグ版で作ったのかな?
非デバッグだと凄く小さい…デバッグ版だとwxmsw241.dllが30MB以上あったが、リリース版では↓のようになった

$ ls -lh /usr/local/lib/
6.3M libwx_msw-2.4.dll
6.3M libwx_msw-2.4.dll.0
6.3M wxmsw241.dll
9.6M wxmsw241.dll.a
424思兼 ◆l3iwkTImVo :03/09/03 22:46
>>422
 すいません.-DNDEBUGやってませんでした.簡単に実験しただけなので,
オプションをもっと弄ればさらに小さく出来るかもしれません.

 最近卒研とプロコンと夏休みの宿題(笑)が忙しいので,翻訳に手が回りません.
しばらく陰で応援しています.
425デフォルトの名無しさん:03/09/09 22:06
がんばれあげ
426:03/09/13 13:23
帰ってきたぞ。イァ〜
やっぱりPC再セットアップは大変ですな。

wxDropSource終了しました。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx125.htm#wxdropsource
おつ
>>107です。
4ヶ月越しですが、ようやく今日から始めました。
とりあえずMinimalに感動しました。
皆様の翻訳大変ありがたいです。がんばってください。
C++BuilderXに採用…?
>>429
採用らしいね。
ついにwxWindowsもメジャー化?
431思兼 ◆l3iwkTImVo :03/09/16 19:18
マジ?
ソースキボンヌ
432思兼 ◆l3iwkTImVo :03/09/16 21:31
http://slashdot.jp/article.pl?sid=03/09/16/0613259&topic=58&mode=nested
これは発見した.これ以外にwxWindows採用って言ってるところある?
>>432
ttp://www.borland.com/cbuilderx/tour/View_C++BuilderX%20Turbo%20Demo.htm

のデモ見てたら、New wx framework projectとか出てたのと、
wxStringとかwxCommandEventとか出てたけどコレかなぁ。
>>433
wxFrameとか出てくるね。
wxWindowsでRADな環境になる…のかな?
RADいいねぇ。
でも日本語版はいつになる事やら。
>でも日本語版はいつになる事やら。
へ?
po書くだけじゃないの?
>>432
wxwindowsのオフィシャルサイトにも
http://www.wxwindows.org/borland01.htm
439灰 ◆v/.u/aNe9w :03/09/17 01:31
C++BuilderX、ビクーリしますた。ワショーイ、ワショーイ。

http://www.wxwindows.org/borland01.htm で気になる点をつらつら書いてみる

抜粋:
Rest assured that Borland is adapting itself to wxWindows' open source nature,
残りは、ボーランドがwxWindowsのオープンソースに自然に順応していると保証しました。

オープンソースな状態を保ったまま、ボーランドがwxWindowsを採用しサポートもしてくれるってことかな?

Q&Aから一部抜粋:
Q. How is Borland helping the wxWindows project?
Q. ボーランドはどういった貢献をwxWindowsプロジェクトにするんだい?
A. Borland is providing funding for several aspects, including extended
RTTI, the new build system, documentation and some reengineering tasks.
A. Borlandは、拡張RTTI、新しいビルド・システム、ドキュメンテーションといくらか
の再設計している作業を含むいくつかの面のために、資金提供を提供しています。

文書化に資金提供か…。ライセンス上OKとはいえ勝手に翻訳してて大丈夫かな?
なにかしら、足並みをそろえる必要があったり無かったり?
日本語版には翻訳ドキュメントも付属するのかな?
だとしたら、将来的に翻訳プロジェクトの続行を如何するべきだろう?

などと斜め読みながら思ってみた。ゆっくり読まねばなぁ。
祭りですか?
441通りすがり:03/09/18 14:26
>>439
Rest assured that Borland is adapting itself to wxWindows' open source nature, and not the other way around

ボーランドはwxWindowsをそのオープンソースの性格に則って採用し、
それに反対するようなことはないと保障したから安心しる、
って感じかと。

442デフォルトの名無しさん:03/09/18 22:40
age
443:03/09/19 02:05
ネットワークが死んで隔離されている間に嬉しいニュースが

> だとしたら、将来的に翻訳プロジェクトの続行を如何するべきだろう?

◯Borlandが自由に使用可能な形で翻訳文を提供
->ありがとう、Borland!! オレたちゃ先 (Howto, Tipsとかの整理) にいくぜ!

◯C++BuilderXに閉じたライセンスでの配布のとき
->残念。BuilderXに閉じていると不便だから、自由に使えるように地道に
 翻訳するよ。

つう感じですかね。
まあ、のんびりやりましょう。
どちらにしろ構造を先に知っていれば(゚д゚)ウマーかも
漏れはGUIビルダとかを期待かな>BuilderX
マターリマターリ
445灰 ◆v/.u/aNe9w :03/09/19 20:53
>>443
らじゃあ。
マターリ行きますか。
すいません。イベントに関して質問があります。
環境はwxWindows-2.4.1 on Gtk+2です。

ウィンドウを直接フレームに張り付けた場合にサイズイベントが呼ばれるんですが、
パネルに格納したものをフレームに張り付けると呼ばれなくなってしまいます。
大きな勘違いをしていると思うのですが、どうすればよいのかご教授願います。

次レスにできるだけ短くしたソースを貼ります。
public wxPanelにしても同じでした。
また、イベントを動的に結合(wxEvtHandler#Connect)しても同じでした。
447446:03/09/20 09:47
#include <wx/wx.h>
struct MyWindow : public wxPanel {
  MyWindow(wxWindow* parent) {wxWindow::Create(parent,wxID_ANY,wxDefaultPosition,wxDefaultSize,0,wxT(""));}
  void OnSize(wxSizeEvent& event) {puts("MyWindow::OnSize()");}
  DECLARE_EVENT_TABLE();
};
BEGIN_EVENT_TABLE(MyWindow, wxWindow) EVT_SIZE(MyWindow::OnSize) END_EVENT_TABLE()
class MyApp : public wxApp {
  virtual bool OnInit() {
    wxFrame* frame = new wxFrame(0, wxID_ANY, wxT("TITLE"));
//*   ("/*" or "//*")
    MyWindow* window = new MyWindow(frame);
/*/
    wxPanel* panel = new wxPanel(frame);
    MyWindow* window = new MyWindow(panel);
    panel->Show(TRUE);
//*/
    frame->Show(TRUE);
    return TRUE;
  }
};
IMPLEMENT_APP(MyApp);
448446:03/09/20 12:50
追記です。
一応解決法としては、MyFrame : public wxFrameを作成してMyWindow* windowをメンバとして持っておいて、
MyFrame#OnSize内で this->window->GetEventHander()->ProcessEvent(event)をする方法がありますが、大変煩わしいです。
例えばwxNotebookに追加したい時も必ずMyNotebook : public wxNotebookを作らないといけないことになってしまいます。

449:03/09/20 13:31
>446
VC++.net/MS-WindowsではwxEvtHandler::ConnectでOKですた。
#ソースをハックしないと何指定すればいいかわからないのは難点ですな

class MyApp : public wxApp {
  virtual bool OnInit() {
    wxFrame* frame = new wxFrame(0, wxID_ANY, wxT("TITLE"));

    wxPanel* panel = new wxPanel(frame);
    MyWindow* window = new MyWindow(panel);
    panel->Connect(
        wxID_ANY, wxEVT_SIZE,
        (wxObjectEventFunction)(wxEventFunction)(wxCommandEventFunction)
        MyWindow::OnSize);

    frame->Show(TRUE);
    return TRUE;
  }
};
450466:03/09/20 14:29
>>449
素早いお返事ありがとうございます。
しかしその方法ではMyWindow::OnSize内でthisは使えませんよね。

…というかそもそもイベントハンドラ内でthisは使っちゃいけないんでしょうか。
だとしたら俺すごいあほですね。。。
451466:03/09/20 16:05
すいません。どうやらwxPanel自体がそういう仕様のようです。
つまりwxPanelに載せたオブジェクトはwxFrameに載せた場合と異なり、
明示的に指示しない限りリサイズされないようです。
MyWindowの代わりにwxButtonで確めました。

結局MyWindowの使用者は、wxPanelに載せる場合wxPanel#OnSizeから
ProcessEventでMyWindow#OnSizeを呼び出してあげるのが正攻法ということでしょうか。

自己レスですが、
>イベントハンドラ内でthisは使っちゃいけないんでしょうか。
いいみたいです。でもConnectで異なるオブジェクトから接続すると
thisが変わってしまいますのでやらない方が無難です。
代わりにwxWindow#PushEventHandlerが使えるような気がしたのですが
OnGtkだと正しいthisで呼び出された直後にSearchEventTableの中でセグってしまいます。
(サンプルではPushEventHandlerは同一クラス内でしか使用してない)
こういう使い方をするものじゃないかもしれません。
452:03/09/20 17:51
>450
>しかしその方法ではMyWindow::OnSize内でthisは使えませんよね。

はっ、そういやオブジェクト渡していない…… ->*ではないみたいですね。

マニュアルに書いてある通り、あくまで"静的イベントテーブルの使用に代わるもの"
か……ほかのオブジェクトへのコールバックには使えないですね。

m_parent->Connect(wxID_ANY, wxID_ANY, wxEVT_SIZE,
(wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction)
&MyWindow::OnSize,
window);
}
として
wxEvent::m_callbackUserData
越しのアクセスである程度うまくいくけど……
panelを削除するときに、先に削除したwindowにアクセスしにいってエラーになるなぁ

どうしたもんだか……
453デフォルトの名無しさん:03/09/22 10:12
MicroWindowsとwxWindowsってどういう関係でしたっけ?

自分の記憶では、DOSでMicroWindowsが動作して、
wxWindowsはMicroWindowsがあれば動作できましたっけ?

知りたいのは、DOSでwxWindowsを動作させるには、だったりして。
454:03/09/23 01:20
http://www.wxwindows.org/wxuniv.htm
にwxMicroWindows projectについての記載があるけれど……まだまだみたいだね。
# まだ生きてるのかな? 活発な印象は受けないけど……
455:03/09/23 01:41
2.4.2がリリースされましたな。
バグとりが中心のようです。
456デフォルトの名無しさん:03/09/23 14:09
>>454
wxMicroWindowsでDOS動作なんだー。

まだツカテナイケド便利。
457:03/09/23 14:42
最近だとwxEmbeddedというくくりになってますな、Microwindows
http://www.wxwindows.org/embedded.htm
興味ないからあまりトレースしないけど……
起動時に既にそのアプリケーションが起動しているかどうか調べたいんですが
どうすればいいのでしょう?ポインタだけでもいいです。
あと、もしそれができるのであれば、WindowsのPostMessageのように
その既に開いているウィンドウに通知したいのです。宜しくお願いします。
質問ばっかりでアレなのでちょっとしたTips。

Windows版の時にwxWindow#GetHandle()で返ってくるのは描画領域を持つHWNDですが、
GTK+版では描画領域(GdkWindow)を持たないGdkScrolledWindowが返ってきます。(GetHandle(){return m_widget})
GdkWindowを持っているのはwxWindow#m_wxwindow(GTK_PIZZA型 win_gtk.h)なので
ネイティブなウィンドウに描画する場合はその部分だけ#ifで分けねばなりません。
ちなみにwxWindow#m_wxwindowはwxWindow#m_widgetの子供になっているので
gtk_container_children(GTK_CONTAINER(wxWindow#m_widget))->data == wxWindow#m_wxwindow
となります。

ま、あまり使う人はいなさそうですが結構苦労したのでメモっときます。
460思兼 ◆l3iwkTImVo :03/09/23 18:53
>>458
プロセス間通信までしたいのなら
http://www.wxwindows.org/manuals/2.4.1/wx498.htm
同じアプリが動いているかどうか確かめるだけならこっちのほうが楽
http://www.wxwindows.org/manuals/2.4.1/wx340.htm


 結局日本語化はBorlandがやってくれるのかな?プロコンまで3週間切ったけど,どうせ
漏れが翻訳してもBorlandみたいな企業が使ってくれるようなドキュメントにならないと
思うのだが.
 それよりはEclipse用にwxWindowsプラグインでも作ったほうが良いかも.まぁEclipseは
CDTがまだ使い物にならないけどね.
>>460
ぐはっ!wxSingleInstanceCheckerってそのまんまの名前ですね。ありがとうございます。
日本語訳あるかどうか見に行こうとしたらメンテナンス中だって言われてしまった。
日本語プロジェクトのお話スマソ。

>>460
>  結局日本語化はBorlandがやってくれるのかな?プロコンまで3週間切ったけど,どうせ
どうやら、C++BuilderXはC++Builder6の後継開発環境臭いですね。

Kylix的位置付けなら英語マニュアルしかないのも考えられるけど、
日本語のマニュアルが今まで付属していた既存パッケージの後継であれば、
当然のように日本語圏用のパッケージには日本語マニュアルが付属する可能性は高いッス。

むむむ。
しばし、静観するしかないですな。
時期を見てボーランドに問い合わせでもしてみるべ。

wx340.html 翻訳してもいいかしら?
>>460
>漏れが翻訳してもBorlandみたいな企業が使ってくれるようなドキュメントにならないと
>思うのだが.
そのあきらめのよさは一体・・・
せっかくなんだからBorlandにコンタクトとってみたら?
多分外注に一括して翻訳依頼出すんだろうから
逆に翻訳予定のないところを聞いてそこから手をつけるとか。
某はwxWindowsのドキュメントのみをフリーで公開する気があるんだろうか。
personalとは別にドキュメントだけで。
それはない。
466灰 ◆v/.u/aNe9w :03/09/24 08:54
ヤフー!
SFメンテ中でまだ読めませんが、
wxSingleInstanceChecker の翻訳ageますた!

>>463
そうですね、早めに問い合わせしてはっきりさせた方が、
無駄がなくてよさげですね。

>>464-465
> Rest assured that Borland is adapting itself to wxWindows' open source nature,
がどこまでを意味しているかですね、むむむむ。
467灰 ◆v/.u/aNe9w :03/09/24 09:07
ボーランドへの問い合わせのタイミングは、
日本法人からのC++BuilderXかwxWindowsに関する正式発表がでたあたりかな。
今のところ、それらの名前は一切出てないみたいですから、
今問い合わせしてもフライングかと思われ。
MSYSにwx2.4.2をconfigure;make;make installして正常終了、wx-config等のコマンドも通るのに
| hoge.cpp:4: wx/wxprec.h: No such file or directory
| hoge.cpp:9: wx/wx.h: No such file or directory
とincludeファイルが見つからないというようなエラーでコンパイル止まるのはどういうわけなんでしょう…

独自にパスを通さなきゃいけないんですかね
まずは大人しくreadmeにしたがってみる事にします
to compile with optimizations:
> cd c:\wx\src\msw
> make -f makefile.g95 clean
> make -f makefile.g95 FINAL=1
> cd c:\wx\samples\minimal
> make -f makefile.g95 cleanall
> make -f makefile.g95 FINAL=1
470思兼 ◆l3iwkTImVo :03/09/24 22:42
>>468
いちおう確認.バッククォートって知ってる?
wx-configはバッククォートでくくってgccにオプションを渡して使う.

 あと,INCLUDEパスには関係ない話だからそのコンパイルエラーには関係ないけど,
gccがリンクする順序の関係で,wx-configのオプションはソースファイルより後ろに
置かないといけない.
>470
レスサンクス とりあえずunix系の知識は軽くあるんで``でのサブシェル実行(って言っていいんだよな・・)は分かってる。
gccのバージョンを差し替えたり色々環境をいじり壊してたんでこの機にMinGW MSYS wx全部再インストールすることにした。
今make中です
472灰 ◆v/.u/aNe9w :03/09/24 23:13
>>471
もし、再インストールしてもエラーが出てしまうようなら、
MSYS 環境は良くわからないが、
試しに
echo `wx-config --cppflags`
して、インクルードパスがどうなっているか見てみるといいかも。

おかしければ、wx-config はシェルスクリプトなので、
直接修正しちゃう手もアリかもしれないッス。
吐き出されたlibとincludeをみんぐーのフォルダにコピーしたら問題無しでした。バカみたい(ノД`) スレ汚しスマソ
それをしないためのwx-configなのだが・・・
>>473
環境変数WXWINをC:\wxWindowsとかにしてないかい?
みんぐーは"\"でなく"/"にしないと-Iオプションのいみないかもよ
リソース扱う物が
#error "wxr resources require PrologIO"
で止まるなぁ・・・
検索して出てくるとこも入手先書いてないし
( http://mitbates.mit.edu/oops/Html/SW/wxwin/prologio/proio6.htm )
477思兼 ◆l3iwkTImVo :03/09/25 03:24
>>476
それはconfigureのオプションだったと思います.
confiugre --helpで,prologなんちゃらをEnableにするオプションが無いかどうか
調べてみてください.
wxXmlResourceでxrcファイルに日本語が使えないんですけどどうすればいいんですかね?
UTF-8で書くと化けるし、Shift_JISやEUC-JPだと
Cannot convert from encoding 'EUC-JP'!
とかwxLogErrorで言われちゃいます。
ちゃんとXMLファイルのencoding指定とファイルの文字コードは合ってるんだけど。
環境はWindows2000+wxWindows2.4.1です。
Gtk+でも確かできなかったような覚えがあります。

・・・って今思ったんですけどUNICODEビルドすればUTF-8でいけるんですかね。
ちょっと試してみますけど明日になっちゃうので、どなたか既に情報をもっていらっしゃったらお願いします。
>>478
XRCはXMLパーザが原因で日本語通らなかったはず
Unicodeビルドしても変わらないんじゃないかな

ただwxXmlResourceはwxLocaleを設定してやれば
getopt風のメッセージ変換してくれるから
poファイル用意してやれば一応日本語は出せるよ
(Windowsでしか確認していないけどね)

中途半端な情報スマソ
>>479
> getopt風のメッセージ変換してくれるから
> poファイル用意してやれば一応日本語は出せるよ
それは gettext
>>480
半端な上に嘘書いちゃったよスマソ
482灰 ◆v/.u/aNe9w :03/09/26 00:32
News Release
http://www.borland.co.jp/news/cbuilderx_ja.html
C++BuilderX (Enterprise|Developer) 9/29 に発売。
Perlsonal 版は無償なり。
だだし、
> 2003年10月中旬より、弊社Webサイトにて無償ダウンロードサービス(商業開発不可)を開始する予定です。
らしい。

製品情報はこちら
http://www.borland.co.jp/cbuilderx/index.html

関連スレ: C++Builder相談室 Part7
http://pc2.2ch.net/test/read.cgi/tech/1061594556/219-
商業開発不可版のドキュメントでひたすら勉強してあとは本家をゲフゲフ
484灰 ◆v/.u/aNe9w :03/09/26 00:43
製品情報からの引用
> C++BuilderXは、ボーランドが今まで提供してきたGUIを伴うアプリケーションに主軸
> をおいた「C++Builder」の直接的な後継製品ではありません。ビジュアルデザイナや
> ウィザードなど、従来のC++Builderで提供されてきたような機能は含まれていませ
> ん。
RADがないのか。残念。

んで、なんだかKylixと近い扱いみたいですね。
>>483
日本語マニュアルつかない予感。
485思兼 ◆l3iwkTImVo :03/09/26 00:46
http://www.borland.com/cbuilderx/tour/C%2B%2BBuilderX%20Turbo%20Demo.htm
このデモを見ると,一応RADっぽくコンポーネントをぺたぺた貼り付けられるみたいだよ.
>日本語マニュアルつかない予感。
翻訳し放題でよかったじゃん(藁

とりあえずGUI抜きのgccの統合開発環境として使い物になればいいや。
ってスレ違いだけど。
487灰 ◆v/.u/aNe9w :03/09/26 01:07
>>485
んじゃ、今までより機能が落ちるデザイナが付属する感じなのかな?

>>486
> 翻訳し放題でよかったじゃん(藁
蓋が開けられるまで確かなことはいえないですが、
嬉しいような悲しいような…。

本音は日本語マニュアルが付属する方がうれしいなぁ。
正直、自分の翻訳に自信ないしー。
>>479
レスどうもありがとう。
> XRCはXMLパーザが原因で日本語通らなかったはず
> Unicodeビルドしても変わらないんじゃないかな
そうですか。残念です。
今日初めて気づいたんですが、Gtk版ってUNICODEビルドがないんですね。
いまいちUNICODEビルドが何なのか分からないんですが、どなたか解説願えませんか?


> ただwxXmlResourceはwxLocaleを設定してやれば
> getopt風のメッセージ変換してくれるから
> poファイル用意してやれば一応日本語は出せるよ
> (Windowsでしか確認していないけどね)

今はこれでやってます。
ただいろいろと問題や悩みがあって、
・_Fileに対応するmsgstrが&Fileで直観的ではないし、xgettextで取り出すとsedをかまさなきゃいけない
・下の二つのどちらにしようかという悩み
1.xrcの方を_Fileとしてja.poでファイル(&F)とする
2.xrcの方をFileとしてen.poで&File、ja.poでファイル(&F)とする

poを使うとメッセージの翻訳にインターフェイス(キーバインド)の定義も含まれてしまうから、
キーバインドを変えるためだけにユーザがpoを編集してmsgfmtしなければいけないのが大きな悩みです。
それから、多言語での整合性を取るためにxrcの方で指定するラベルやツールチップ文字列等に
決まった文字列を使わなければならないという悩みもあります。

それならいっそのことインターフェイスの定義に翻訳も含めてしまうのがいいのではないかと。
(というか、翻訳ってインターフェイスの一部ですよね)
なので時間ができればxrcを多言語対応に書き換えようかと思っています。

このレスちょっと日本語おかしいですが勘弁して下さい。宿酔いなので
複数フレームが開いている時に、一度に全て閉じるには普通どうするのでしょうか?
例えばあるフレームで「ファイル→終了」を選んだ時です。

wxExitは緊急の時だけにしろって書いてありますし、
wxWindow#FindWindow*はidやnameが分からないので使えませんし、
wxApp#GetTopWindowは複数回呼んでも同じウィンドウを戻してくるし。。

教えてください えろい人。
490:03/09/28 19:33
えろい人と呼ばれて答えないわけにはいかないですね。

> 例えばあるフレームで「ファイル→終了」を選んだ時です。

アプリを終了させるのなら、wxApp::GetTopWindowでメインウインドウの
ポインタを入手してwxWindow::Closeすればいいと思う。
# wxWindow::Destroyかな?

wxApp, DECLARE_APP()も参考のこと。
>>490
レスありがとうございます。僕も早くえろい人になりたいです。

説明不足で申し訳ありませんが、複数フレームとは各々独立しているものでして、
トップウィンドウが閉じられても他のフレームは存在しつづけるのです。
つまり、全てのフレームの親はNULLなのです。

複数インスタンスを起動すればいいだけの話なんですが、
起動時に重い処理を行うためにそれを避けています。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx454.htm (翻訳ありがとうございます)では、
「新しいウィンドウを作成する時には可能な限り常に親フレームを使うことを推奨する.
そうしない時は,トップレベルフレームのwxCloseEventのハンドラで,全ての子フレームを確実に破棄する事.」

とあるのですが、その「全ての子フレームを確実に破棄する」方法が知りたいのです。
全てのウィンドウのリストを保持する・・・?んー。。。

うおーーーーーできましたっ!
Sえんd
すいません。取り乱しました。。。えっと、wxAppに

bool SendIdleEvents()
すべてのトップレベルウィンドウにアイドルイベントを送ります。

というのを見つけまして、ソースを見たところwxTopLevelWindowsに対して処理をしていましたので、
case wxID_EXIT:{
  wxWindowList::Node* node = wxTopLevelWindows.GetFirst();
  while (node) {
    wxWindow* win = node->GetData();
    win->Close(TRUE);
    node = node->GetNext();
  }
  break;
}
としたところ、うまくいきました。お騒がせ致しました。
494:03/09/28 21:49
おっと失礼……特殊なケースですな。

グローバル変数の wxTopLevelWindows を利用するという手もありそうですが、
ドキュメント化されていない変数を利用するのもまずいかな?
# どっかでドキュメント化されていましたっけ?

私だったら、素直にwxApp(の派生クラス)でNULL親のウインドウリストを
持つようにしますかね……
495:03/09/28 21:58
入れ違いですな……wxTopLevelWindows を利用しましたか。
このあたりのグローバル変数もドキュメント化してくれると助かるのですけどね
# 仕様Fixという意味からも
確かにドキュメント化されてないのは心配ですね。でも結構不変的なオブジェクトっぽいですよ。

REV:1.5以降は wx/window.h に存在してます。REV:HEADでも依然として存在しています。
http://cvs.wxwindows.org/viewcvs.cgi/wxWindows/include/wx/window.h?annotate=1.5

REV:1.4以前は各々のプラットフォーム毎に持っていたようです。
http://cvs.wxwindows.org/viewcvs.cgi/wxWindows/include/wx/window.h?annotate=1.4
http://cvs.wxwindows.org/viewcvs.cgi/wxWindows/include/wx/msw/window.h?annotate=1.1
http://cvs.wxwindows.org/viewcvs.cgi/wxWindows/include/wx/gtk/window.h?annotate=1.1
http://cvs.wxwindows.org/viewcvs.cgi/wxWindows/include/wx/motif/window.h?annotate=1.1
http://cvs.wxwindows.org/viewcvs.cgi/wxWindows/include/wx/mac/window.h?annotate=1.1

つまり、wxTopLevelWindowsという識別子はwxWindowsの歴史の中で存在しなかった事はないようです。
wxWindowsのどのリビジョンを取り出しても、必ずwxTopLevelWindowsは存在します。
これからもずっとこうだと限りませんが、1998年存在しつづけているオブジェクトなので余程のことが無い限り大丈夫だと思います。
また、もし変更があった場合は toplvcmn.cpp utilscmn.cpp wincmn.cpp helpctrl.cpp app.cpp
data.cpp mdi.cpp nativdlg.cpp taskbar.cpp toplevel.cpp window.cpp app.h window.h
に一度に変更が入るため、変更の可能性は低いように思えます。
と思ったんですが、
http://wxguide.sourceforge.net/guidelines/basics.html
のガイドラインでは
WX_DEFINE_ARRAY (AppFrame*, AppFrames);
で全てのフレームをApp(public wxApp)で管理していました。
のさんの言うように自前で管理することにします。どうも。
498デフォルトの名無しさん:03/09/29 20:54
最近wxWindowsの勉強を始めたのですが、サンプルを見ると、
どれもボタンとかメニューを作るたびにIDを割り当てて、
そのIDをベースにコールバックを登録してますよね?

みなさん、そのスタイルでプログラムされてるんですか?
wxID_ANYでまかせて、GetIdを使うやり方は、将来何かまず
いことがおきるでしょうか?

ついでにいうと、せっかくオブジェクト指向なのに、なんで
IDなんていう内部情報を表に見せるようなAPIになってるん
でしょうね。
499:03/09/29 23:58
> 498
>wxID_ANYでまかせて、GetIdを使うやり方は、将来何かまず

具体的にはどんな感じ?
# ハンドラ内でif判定?

マクロとか使用せずに登録したいのなら、EvtHandler::Connectを使うのが
スマートだけど……どのみちIDを使用しますな。


> IDなんていう内部情報を表に見せるようなAPIになってるん

IDをメッセージの一種と考えているんでしょうね。
メンバ関数をコールバックするためにオブジェクトそのものをやりとりするよりも
効率的と判断したのですかね?
>>498
>なんでIDなんていう内部情報を表に見せるようなAPIになってるん
OnFileMenu(wxCommandFileMenuEvent) {}
OnEditMenu(wxCommandEditMenuEvent) {}
OnExitMenu(wxCommandExitMenuEvent) {}
OnOpenMenu(wxCommandOpenMenuEvent) {}

俺はこんなのやりたくないぞ。
OnCommand(wxCommandEvent) {switch (event.GetId())}
の方が素直でいい。
>>500
やりたくないって最近のGUIフレームワークはみんなそうなんだが。
拡張無しのC++だと発生したイベントとイベントハンドラOnFileMenuの呼び出しを
結びつけるのが難しいから(まさかvirtualにもできないし)wxWではやってないというだけで。
>>501
ほんとにメニューが増えるたびにクラス作るの?
まじでやりたくないな。。とりあえずSwingは違ったけど。
その最近のGUIフレームワークって何てやつ?
503501:03/09/30 02:26
>>502
>みんなそうなんだが。
>>500の例は少し違ったな。クラスをボコボコ作るわけじゃない。
↓な感じ。
class Form1
{
OnFileMenu(wxCommandMenuEvent) {}
OnEditMenu(wxCommandMenuEvent) {}
OnExitMenu(wxCommandMenuEvent) {}
OnOpenMenu(wxCommandMenuEvent) {}
}
(´-`).。oO(なんで「MFCに似てるな」で片づけられないんだろう…)
>>503
それって

EVT_COMMAND(wxID_FILE, wxCommandMenuEvent, OnFileMenu)
EVT_COMMAND(wxID_EDIT, wxCommandMenuEvent, OnEditMenu)
EVT_COMMAND(wxID_EXIT, wxCommandMenuEvent, OnExitMenu)
EVT_COMMAND(wxID_OPEN, wxCommandMenuEvent, OnOpenMenu)

と何が違うん?
あ、違うか。そうしないのは何故かってことか。なんでだろ?
関数増えまくるのがめんどくさいからかな。
ヘッダにも書かないかんし。まあC++の宿命っつーか。
507デフォルトの名無しさん:03/09/30 06:45

WideStudio のドキュドキューンさになんとも馴染めなかったので、
これはどうかと wxWindows を見てみたが、






設計古すぎ もうだめぽ
>>507
来年また覗きにおいで
http://www.wxwindows.org/roadmap.htm
Version 3.0.0 Stable
Release 15/12/2003
This stable release will have STL compatibility for compilers that support
templates fully. For example the wxString class will derive from
std::basic_string<>.
よーするにdelegateのないC++は糞だしその上に構築されたライブラリも糞ってこった。
>>509
delegate自分で書けねーのかよ(激藁
511507:03/10/01 00:35
>>508
おぉ

# gtkmm から早く抜け出したいので期待age.
ドキュメントかなりvirtualの間違いがあるんですけど
こういうのってどうしたらいいんでしょうかね?
報告した方がいいんですか?

virtualってドキュメントに書いてあったからオーバーライドしてはまった人より。
>>512
そりゃもちろん報告した方がいいでしょ。
どなたかwxDynamicLibrary(wxPluginLibrary)をうまく使えている方いませんか?
まだ突き詰めて実験してないんですけど、現象としては
class MyWindow : public wxWindow {
DECLARE_DYNAMIC_CLASS(MyWindow);
}
IMPLEMENT_DYNAMIC_CLASS(MyWindow, wxWindow);
というクラスをDLLにしてあり、アプリケーションから
wxDynamicLoaderやwxPluginManagerを使って読み込んでインスタンスを生成しているんですが
instance->GetBaseName1() == wxT("wxWindow")
なのに
instance->GetBaseClass() == NULL
という良く分からない状態になっています。

ドキュメントにはstrlenのサンプルがありますが、wxWindowsの型システムを使った
オブジェクトの生成方法のサンプルがなかなか見つかりません。
一応 http://lists.wxwindows.org/cgi-bin/ezmlm-cgi/8/26949 も見たんですけど何だか良く分からん(;´Д`)
何か情報があればお願いします(英語でも何かのソースでもいいです)
すいません。めちゃくちゃ間違えました

instance->GetClassInfo()->GetBaseClassName1() == wxT("wxWindow")
なのに
instance->GetClassInfo()->GetBaseClass1() == NULL

です。
>>514
おお、そんなものがあるのか。
漏れも試してみます。
イベントを兄弟ウィンドウに伝播させるには、

1.子ウィンドウAがイベントを親ウィンドウに投げて、
2.親ウィンドウが受け取ったイベントを子ウィンドウBへ投げる

としているのですが、これだと親ウィンドウが全てのイベントを
管理しなきゃいけないんですがこんなもんなんですか?
GUIアプリ作ったことないんでこれが普通なのかどうかよく分かりません。
1.子ウィンドウAが親ウィンドウのハンドルを取得する
2.親ウィンドウから子ウィンドウA,B,C,D,...のリストを取得する
3.子ウィンドウリストから必要なウィンドウをピックアップしてイベントを投げる
でも,動作すると思いますよ.
>>518
レスありがとうございます。
XRCを使っているという前提で聞いてもらいたいんですが、

「必要なウィンドウをピックアップ」とありますが、ユーザが勝手に作ったクラスの場合は
必要かどうか分からないので、結局どこかで while を使って子ウィンドウ全てに
イベントを投げる必要があるということですね。

そうすると、孫ウィンドウに送る場合はどうするのでしょう?
途中にwxPanelやwxSplitterWindowなどがはさまってしまうとそれ以上イベントが飛ばないので、
1.まず最初にトップウィンドウにイベントを投げて、
2.トップウィンドウの全ての子孫ウィンドウを再帰的に検索して
3.それぞれのウィンドウのProcessEventを呼び出す
ということをしなければならないのでしょうか。

「しなければならない」のならするのは全然平気なのですが、ちょっと不安になってしまいまして。
520デフォルトの名無しさん:03/10/10 19:20
C++BuilderXはどうだったんだろう。
521思兼 ◆l3iwkTImVo :03/10/10 22:03
>>520
10月半ばにPersonal版がDL可能になる・・・筈
へぇ
英語版のPersonal入れてみたけどwxWindowsは入ってなかったしRADも見当たらなかったぞ
524思兼 ◆l3iwkTImVo :03/10/11 10:48
>>523
まぢ?
とりあえずプロコンが終わったら入れてみよう.
そういえばBitTorrentもwxWindows/Pythonなんだよね。やけに配布パッケージ大きいと思ったらライブラリが9割以上食ってた
526:03/10/12 13:14
> 525

DLLだと全部入りになるからデカいよね。
C++でstatic linkすると随分小さいけど……Pythonじゃ無理か……
527514:03/10/12 23:42
>>514-515 できましたー。
これが正しい方法なのかどうか分かりませんが、
クラス名以外の情報が見えない状態でインスタンスの生成に成功しました。
以下にTipsとして示します。ちょっと長いです。
環境はWindows2000、wxWindows2.4.1です。今週中にLinuxでもやってみます。

1.DLLを用意する。
ヘッダの中身はこんな感じです。キモはDECLARE_USER_EXPORTED_PLUGGABLE_CLASSです。
これによってwxPluginLibraryにwxClassInfoのハッシュマップが宣言されます。

#ifndef MYFRAME_H
#define MYFRAME_H
#include <wx/wx.h>
class MyFrame : public wxFrame {
  DECLARE_USER_EXPORTED_PLUGGABLE_CLASS(MyFrame, __declspec(dllexport));
};
#endif

で、"__declspen(dllexport)"はWXDLLEXPORTのように、
DLL側では__declspen(dllexport)、アプリケーション側では__declspen(dllimport)とならなければなりません。
wx/defs.hを見て適宜プリプロセッサで場合分けしてください。
今回はアプリケーション側はMyFrame.hをincludeしないので、このようにしました。
528514:03/10/12 23:49
(続き)MyFrameはexportしなくても良いみたいです。(ひょっとすると必要なのかもしれませんが)

1.DLLを用意する(2)
今度は実装部です。IMPLEMENT_USER_EXPORTED_PLUGGABLE_CLASSを使えばいいのですが、
wxWindows2.4.1のwx/object.hの_IMPLEMENT_DL_SENTINELにバグがあり、コンパイルが通りませんので以下のようにします。
-------------------------------
#include <wx/dynload.h>
#include "MyFrame.h"
#undef _IMPLEMENT_DL_SENTINEL
#define _IMPLEMENT_DL_SENTINEL(name)                             \
const wxString name::name##PluginSentinel::sm_className(#name);                \
name::name##PluginSentinel::name##PluginSentinel() {                     \
  wxPluginLibrary *e = (wxPluginLibrary*) wxPluginLibrary::ms_classes->operator[](#name);  \
  if( e != 0 ) { e->RefObj(); }                               \
}                                               \
name::name##PluginSentinel::~name##PluginSentinel() {                     \
  wxPluginLibrary *e = (wxPluginLibrary*) wxPluginLibrary::ms_classes->operator[](#name);  \
  if( e != 0 ) { e->UnrefObj(); }                              \
}

IMPLEMENT_USER_EXPORTED_PLUGGABLE_CLASS(MyFrame, wxFrame);
-------------------------------

ms_classes.Get(#name) となっているところを ms_classes->operator[](#name) と直します。

で、これをDLLとしてコンパイルします。
529514:03/10/12 23:57
(続き)ありゃ、ずれてしまった・・・スマン。
2.DLLを読み込んでインスタンスを生成する
wxPluginManagerを使ってDLLを読み込み、wxClassInfoを全走査して目的のクラスを見つけます。
これは http://lists.wxwindows.org/cgi-bin/ezmlm-cgi/8/26949 とほとんど同じです。
---------------------------------
#include <wx/wx.h>
#include <wx/dynload.h>
class MyApp : public wxApp {virtual bool OnInit();}; IMPLEMENT_APP(MyApp)
bool MyApp::OnInit() {
  wxPluginLibrary* lib = wxPluginManager::LoadLibrary("./lib/Debug/lib.dll");
  wxNode *node;
  wxClassInfo* classInfo;
  wxClassInfo::sm_classTable->BeginFind();
  node = wxClassInfo::sm_classTable->Next();
  while (node) {
    classInfo = (wxClassInfo *)node->Data();
    if (wxString(classInfo->GetClassName()) == wxT("MyFrame")) {
      wxLogTrace(classInfo->GetClassName());
      wxLogTrace(classInfo->GetBaseClass1()->GetClassName());
      wxFrame* frame = (wxFrame*)classInfo->CreateObject();
      frame->Create(NULL, -1, wxT(wxString("class ") + classInfo->GetClassName() + wxString(" : public ") + classInfo->GetBaseClassName1()));
      frame->Show(TRUE);
      return TRUE;
    }
    node = wxClassInfo::sm_classTable->Next();
  }
  return FALSE;
}
---------------------------------
以上です。
530514:03/10/13 03:21
あの・・・追記です。
DECLARE_USER_EXPORTED_PLUGGABLE_CLASS(MyFrame, __declspec(dllexport));
IMPLEMENT_USER_EXPORTED_PLUGGABLE_CLASS(MyFrame, wxFrame);
の代わりに
DECLARE_DYNAMIC_CLASS(MyFrame);
IMPLEMENT_DYNAMIC_CLASS(MyFrame, wxFrame);
でもできちゃいました。。。(じゃあPLUGGABLEは何のためにある??)
>>514-515の原因は分からずじまいです。>>527-528の無駄レスごめん。
531思兼 ◆l3iwkTImVo :03/10/13 17:46
wxWindows Personal 英語版をインストールしてみました.
確かにwxWindowsの影も形もありません・・・ハァ.

 デモでは新規作成にwxWindowsのタブがあったのに,こっちにはありません.
wxWindowsはどういう形で使えるようになるのかすら判りません.とりあえず
10月半ばのC++BuilderXではwxWindowsは使えなさそう.
>>523
CBXのどこにRADだと書いてあるのかと小1時間・・・

>>531
某得意のPro版以上とか?
533思兼 ◆l3iwkTImVo :03/10/14 18:16
>>532
http://www.borland.com/cbuilderx/tour/C%2B%2BBuilderX%20Turbo%20Demo.htm

 このデモの最後の方ではwxWindowsアプリをRADっぽく作る様子があるんだけど・・・
少なくともPersonal版には無いな.ラインナップ間の機能を比較する表にwxWindowsの
項目が無いから,wxWindowsサポートの有無が差別機能だとも思えない.

 ソッコーでアンインスコして,MinGW Developer Studioをインストールしてみた.
こっちはなかなか良い.何よりめんどくさいwxWindowsのインストールが簡単にできる
ことだけでも十分うれしい.IDE自体もwxWindows製なので動作が軽い.
 他のIDEが使いたいなら,インストールした後wxWindows関連のファイルだけ取り
出してアンインストールするという使い方もアリかも.
534532:03/10/14 21:49
>>533
そのデモ見てなかった。すまん。
ただDelphiでも比較表にVCLソースの有無とか書いてないし。
535思兼 ◆l3iwkTImVo :03/10/15 00:18
 プロコンも終わったし,ドキュメント書いてからソースを某雑誌の人に
提出したら翻訳に再参戦しようかと思います.

 で,結局C++BuilderXのwxWindows採用の噂以降も翻訳作業は続いて
いるんでしょうか?
 メインの開発環境をノートPCに移行してから,まだCVS入れてないんです.
>>514-515 と >>527->>530 は全て誤りでした。
間違った情報のまま残しておくとTipsに載った場合にまずいので修正しておきます。

wxPluginLibraryが何をするのかというと、通常の::LoadLibrary,dlopenの動作に加えて、
「wxModuleから派生しているクラスをwxWindowsの型システムにインポートする」
という機能が付加されているという、この一点だけです。
wxPluginManager::LoadLibrary("ライブラリ");を実行するだけでpublic wxModuleなクラスはちゃんと使えます。
public wxModule"以外の"クラスは型システムにインポートされませんので工夫して書く必要があります。

ところでWindowsでなかなかうまくいかなったのですが、その原因は wxClassInfo::sm_first でした。
こいつはプロセス中で唯一であることを保証しなければいけません。
つまりDLLを使うことが必須となります。(スタティックリンクでうまくいくようなアイデアがあれば教えてください)
Linuxでうまくいっていたのは、wxGTK.rpmで入れているため元々共有ライブラリになっていたからでした。

これについては
http://lists.wxwindows.org/cgi-bin/ezmlm-cgi/8/26949
の P.S.の部分に
>you need to build your app and dll using WXUSINGDLL=1, otherwise you'll have no end of trouble.
とちゃんと書いてありました。(でもこれP.S.なんてもんじゃじゃないだろーと思った)
>>536
訂正が間違ってるというとんでもないことをしてしまいました。(;´Д`)
> wxPluginManager::LoadLibrary("ライブラリ");を実行するだけでpublic wxModuleなクラスはちゃんと使えます。
> public wxModule"以外の"クラスは型システムにインポートされませんので工夫して書く必要があります。
そんなことないです。wxClassInfoを生成(IMPLEMENT_DYNAMIC_CLASS)すると自動的にインポートされます。
wxModuleを継承したクラスは、メモリにマップ・アンマップされる度にOnInit,OnExitが呼ばれ、
そうじゃないクラスは特に何も起こらない、です。モウカキマセンヽ(`Д´)ノゴメンナサイ
昨日、2.4.2落としたら src/makefile.b32 が付いていないみたいなんですけど、
どうやってlib作ったらいいですか?
539:03/10/18 11:53
> 537
お疲れです。

>モウカキマセンヽ(`Д´)ノゴメンナサイ

そんなこと言わずに書き込んでくだされ。
Hackについてけないことが多いですが……


> 538
$(WXWIN)/docs/(システムごとのフォルダ)/install.txt
を見るヨロシ。
コンパイラごとのmakefileを使うか、configureを使うみたいですな。
540思兼 ◆l3iwkTImVo :03/10/18 11:59
 bcc使ってないから知らないけど,configureは使えないんだよね.bccでは
makefileがないとビルドできないということになると思うけど,使用するmakefileが
変わったのかな?
 MinGW Developer StudioのwxWindows入りバージョンを使ってるから,マトモな
アドバイスが出来なくてスマソ.
>>539
結局はスタティックリンクするとwxClassInfoのメンバ変数が複数生成されてしまうという
こちら側のしょうもないミスだったのですが、ろくに確認せずに書いてしまって申し訳なく思っとります。
>そんなこと言わずに書き込んでくだされ。
お言葉に甘えて、これからは確実に確認してから書き込みさせていただきます。

>>BCCの話題
いやいや、src/makefile.vcの中身見れば分かるけど、
src/msw/makefile.*を読んでるだけなので、
BCCだとsrc/msw/makefile.b32を使えばいいわけです。
src/makefile.vcをコピってちょっと修正すればOKだと思う。
×src/makefile.vcをコピってちょっと修正すればOKだと思う。
○src/makefile.vcをコピってちょっと修正してもいいと思う。
一応今回の件(wxClassInfo,wxDynamicLibrary)についてまとめてみました。
http://www004.upp.so-net.ne.jp/rcl/program/wxwindows/
転載等は自由にして下さって構いません。
544538:03/10/19 02:08
>>539-542
レスサンクス、とりあえず来週
>src/makefile.vcをコピってちょっと修正
ためしてみます。
Cygwin環境でいじってみようと、ドキュメントに書いてあるとおりに
../configure --with-msw --enable-debug --enable-debug_gdb --disable-shared
make
でコンパイルしました。

これだと、cygwin1.dllが必要になっていると思うんですが、
cygwin1.dllが必要ないようにするにはどうしたらいいのでしょうか。
-mno-cygwinをどこかで指定するのでしょうか。
546思兼 ◆l3iwkTImVo :03/10/19 08:23
>>545
specあたりを弄ればいいんじゃない?
でもいろいろ問題があるかもしれないから,↓を読んでから挑戦してね.
http://www.sixnine.net/cygwin/cygwin-doc/devel/mno-cygwin-howto.html
547538:03/10/20 13:32
>src/makefile.vcをコピってちょっと修正
やってみたら簡単にできました。書き込むほどのことでもないですがとりあえず

!include <makeb32.env>

THISDIR=$(WXWIN)\src

all:
cd msw
make -f makefile.b32
cd $(THISDIR)

clean:
cd msw
make -f makefile.b32 clean
cd $(THISDIR)

cleanall:
cd msw
make -f makefile.b32 cleanall
cd $(THISDIR)
548538:03/10/20 13:36
ためしてみたのは
make -f makefile.b32 FINAL=1
でライブラリを作成して samples\dialogs をメイク、実行ができました。
549538:03/10/20 13:52
というか、
>BCCだとsrc/msw/makefile.b32を使えばいいわけです。
が、正解だったのですね。おさわがせスンマソ
へえ
>>546さん
MinGWDSに同梱のwxWindowsライブラリからリソース使えますか?
MinGWからライブラリ作り直さないと無理ですかね・・・
というか「(゚∀゚)ノ☆バンバン! とりあえずライブラリ全部持ってこーい」ってオプションないのかな
--enable-controls use all usual controls
これは違うみたいだし
553思兼 ◆l3iwkTImVo :03/10/25 21:56
>>551
 wxWindowsを入れてるPCとMinGWDS入れてるPCが違うので,正確には調べて
いません.

<wx/setup.h>
#define wxUSE_RESOURCES 1
#define wxUSE_PROLOGIO 0
#define wxUSE_WX_RESOURCES 0

 こんな感じでdefineされていますが,とりあえずPROLOGIOが0ということは
.wxr形式のリソースは無理でしょう..rcはいけるんじゃないかな.

#さっさとdialogedをxrcバージョンにしろよ>wxWindows
554思兼 ◆l3iwkTImVo :03/10/25 22:14
>#さっさとdialogedをxrcバージョンにしろよ>wxWindows
 ちゃんとwxrceditってのがありますね.contribのなかにあるのを「ちゃんと」と
言うかどうかは知りませんけど.
 いまcontrib内のmake中ですが,errorやwarningが沢山出てくる・・・使えないかも.
555思兼 ◆l3iwkTImVo :03/10/25 22:31
 wxrceditが一応ビルド&実行可能でした.
 使い方が判らないけれど,単にXRC専用xmlエディタにプレビュー機能が
付いたみたいな感じで,RADツールみたくペタペタと貼るのは無理かも.
>>555
俺使い方良く分からんかった。
あれだと手書きの方が早い気がした。
557思兼 ◆l3iwkTImVo :03/10/26 06:19
>>556
 一応,プレビューがサクサク表示されるならあっちの方がデザインしやすい
とは思う.でもまだXRCはお勧めできるものではないね.
 っつーことで,wxr形式のリソースに対応していないMinGWDS付属ライブラリは
使いにくいかも.

 wxWindowsって結構こういう不完全な部分が多いかも.自分で使う分には良いけど,
C++初心者の後輩に使わせるGUIツールキットとしてはgtkmmかFOXの方が良いかも.
 翻訳再参戦は延期してしばらく別のライブラリを触ってみます.

#Windows上でフリーで初心者にも使いやすい開発環境をそろえるのは大変かも.
558:03/10/26 22:26
otsu
思兼 ◆l3iwkTImVoにも見捨てられた哀れなライブラリ
561:03/11/03 03:43
>560
まあ、のんびりいくよ。マターリとな。
使う分にはいいんだが、訳すのは大変。ヒマが作れん。
Wikiみたいのだったらなぁ
wxFoundationとBorlandの採用がらみでMLは喧喧諤諤でし。
>>562
wxWindowsがBorlandに採用されるん?
564思兼 ◆l3iwkTImVo :03/11/05 17:06
>>563
http://www.zdnet.co.jp/enterprise/0311/05/epn10.html
 今はWindows版用のプレビュー版プラグインとして提供されて
いる・・・んだと思う.
 将来的にC++BuilderやKylixと統合される時には,完全にクロス
プラットフォームな標準プラグインとなると思いたい.
565思兼 ◆l3iwkTImVo :03/11/05 17:14
>>560
 どっちかっていうと,C++自体に愛想が付きかけている気がする.すごく
強力で,プロコンの競技部門には必須だし,それ以外でも自分個人で
使う分にはすごく良い.でも後輩に教えようとすると,プログラミング以外で
覚えないといけない部分があまりにも多いことに気が付く.
 多分,他人と一緒にプログラムを書くときに,個人の能力差が一番問題に
なるのもC++だと思う.

#C#かJavaがガベッジコレクタ&VM無しで動かせるなら,すぐにでも移行したい.
Rubyだな
567思兼 ◆l3iwkTImVo :03/11/05 17:19
>>566
Rubyって起動速い?
値ベースと参照ベースをプログラマが指定できるGenericsがある?
メモリ管理をプログラマが指定できる?
JITコンパイラの最適化能力は高い?

 ブロックは{}の形が見やすくて好きだけど,Rubyがプロコンの競技で十分使える
性能を持っているのなら後輩に教えてみる.
| ブロックは{}の形が見やすくて好きだけど,Rubyがプロコンの競技で十分使える
|性能を持っているのなら後輩に教えてみる.
と言う位Rubyを分かってるなら前4つの質問の答えは分かると思うが?
569思兼 ◆l3iwkTImVo :03/11/05 19:15
>>568
 いや,Rubyのプログラムソースを見たことがあるだけで,実際に使ったことは無い.
 Perlっぽいスクリプト言語だとか,中間コード+JITコンパイルだからPerlより速いとか,
その程度の印象はあるけどそれが正しい理解だと言う自身は無い.
570思兼 ◆l3iwkTImVo :03/11/05 19:26
調べてみた.
1.起動速度
 C#より遅い
2.Generics
 無い?(検索してもそれらしいものがヒットせず.リファレンスを概観しても載ってない)
3.メモリ管理
 ガベッジコレクトに任せるしかない.
4.実行速度
 C#にダブルスコアをつけて遅い.

結論
 Perlの代わりにはなっても,C++の代わりになるとは思えない.
>>570
Rubyはモノタイプ言語なので、genericsは不要。
型チェックが無いので、ミスが許されない競技にはお薦めできないかも?

競技なら、タイピングに手間かけられないだろうから、いくら要件を満たしててもAdaなんかは除外でしょうね。
OCamlとか、どう?(よく知らんけど

C++の機能に満足してて複雑さに愛想が尽きてるならDが一番いいんだろうけど、まだアルファだし。

//スレ違いすまんです
572思兼 ◆l3iwkTImVo :03/11/05 19:56
>>571
 競技といっても,プログラミング速度を競うのでは無くて,先に作ったプログラムを
持ち寄って性能を競い合うものです.形式としてはロボコンに近い.
http://www.procon.gr.jp/14th/

#スレ違いすぎだな・・・スマソ
>>565
GCなしネイティブでC系といったら、D言語ですよ。
genericsもあるし、値・参照の使い分けも、メモリ管理も出来る。
http://pc2.2ch.net/test/read.cgi/tech/1003674814/l50

難点は、D言語がデフォルトのGUIライブラリを持っていないこと。
wxWindowsがポートされると嬉しいんだけど。
>>573
D言語はGC付きだよ。オフにすることもできるけどさ。
まぁ、でも、D言語は俺も期待。思想にちょっと不満はあるが。
文字列とか連想配列とかはライブラリに入れて欲しいかな、やっぱり。
575:03/11/05 23:59
>565
Templateみたいな仕組みのある言語があれば、そっちも勉強したいなあ。
コンパイル時に確定している情報と実行時じゃないと確定しない情報という観点で
効率化を計っている言語はC++以外に知らないしなぁ。
Eiffelとかどうなんだろう?
どんな言語にせよ、メジャーになってもらわないと仕事に使えないのが辛い。
メジャーじゃなくても仕事に使える、というつっこみはなしで。
まずは使ってメジャー化させてくださいw
>>574
全体的に禿同
連想配列は同意だが、文字列に関しては、そのまま文字列に使える配列というのは嫌いじゃ無い、
というか、素のCだってそうだし。
文字列をクラスにした場合、C++のように、リテラルからの格納形式への変換というコストと、
様々な文字列クラス乱立という混乱を招くので、組み込みで正解と思うし、
charの配列とそれ以外の配列を区別する必然性は無いので、OKかと

むしろ問題は.sort。同じデータ列でも並び方は色々あるのに、一種類だけ言語に組み込む理由が…
//スレ違いゴメン
>>580
見た感じ、標準ではクラスを使わず、データと関数を分離して使う方向で行ってるね。
ここんところがC的だが、Cより安全になってるようだからいいか。
でも、わざわざ配列操作のために演算子作ったり、deleteを連想配列の要素削除に使ったり。
うーん、普通に関数じゃダメなんかな。~ってタイプしにくいぞ。関数のがいいよ……。
凄いスレだ・・・翻訳プロジェクトが動いてる・・・
このスレの神に習ってFLTK日本語ドキュメントでも作っちゃおうかねぇ・・・
583:03/11/13 01:12
>582

ちょっと停滞中だよ。私も今しばらくはTikiの勉強中……
でも、いい加減飽きたから翻訳に戻ろうかな……
584思兼 ◆l3iwkTImVo :03/11/18 16:51
 さっきCマガジンを立ち読みしてきた.
 C++BuilderXの紹介記事があって,Borlandへのインタビューもあった.
 wxWindowsは,将来搭載される予定のGUI関連の機能のプレビューと
して搭載されただけで,wxWindowsの採用が決定しているわけではない
とのこと.

 とりあえず,wxWindows3が大幅に使いやすくなって,C++BuilderXへの
採用されて,一気にメジャー化という夢はまだ残ってる.
585デフォルトの名無しさん:03/11/18 21:43
そ、そうなのか。
なんだったんだ。
夢見すぎ。
587デフォルトの名無しさん:03/11/18 22:23
1月にwxWindowsで遊だときは日本語の情報なんてほとんどなかったのに。
ちょっとだけマニュアルを日本語に訳してすぐ挫折した。
すごいよ2ch

そのとき作ったページの一部を編集して6月くらいにアップしてほったらかし。
このスレ見たら元気になったので、更新する気力が湧いてきそう。
http://www.h3.dion.ne.jp/~k5_n/wxwin/index.html
GTK,gtkmmでいいじゃん。

589思兼 ◆l3iwkTImVo :03/11/22 06:53
>>588
 gtkに比べて,wxWindowsはネイティブのLook'n'Feelだとか,多機能だという
違いがある.
 特に機能に関しては,Write once, Compile anywhereを実現するために,
API依存を吸収するラッパクラスが多数存在する.

 その代わりgtkmmに比べて泥臭いコードになるんだけどね(w.wxWindows3に
期待.
おれも、gtkやQtなどを使ってしまうことに賛成。
どうしても、windowsの操作感を求めるなら、外部だけ作り直してしまった方がいい。
逆にGTKやQtはwxWindowsに比べてどんな利点があるの?
2.4.2で、メッセージカタログをShift_JISで作るとちゃんと使えないみたい。
UTF-8では使えたので、内部での変換でしくってるのか?
2.4.0ではちゃんと使えてたのに……。
594灰 ◆v/.u/aNe9w :03/12/09 01:29
wxColour と 標準イベント識別子 を翻訳してくれた素敵さん。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx63.htm
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx446.htm
ありがのう。


あと、この辺に突っ込んでくれる人がいると誰かが幸せになりそうな気がします。
http://dot-gray.s33.xrea.com/index.xcg?page=MinGW%A4%D8%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
http://dot-gray.s33.xrea.com/index.xcg?page=wxRuby%A5%CD%A5%BF
595デフォルトの名無しさん:03/12/09 18:31
$B$9$_$^$;$s!"$I$J$?$+65$($F2<$5$$!#(B
$B2?$+D9$$=hM}$r$9$k;~$K!"=hM}$r$7$F$$$k$"$$$@$K(BWindow$B$H$+$,:FIA2h$5$l$J$/$J$C$F(B
$B$7$^$&$N$G$9$,!"$3$l$r=hM}$NESCf$K:FIA2h$5$l$k$h$&$K$7$?$i$I$&$7$?$iNI$$$G$7$g$&$+!#(B
$B%a%$%s%U%l!<%`$N(BRefresh(), Raise(), Update()
$B$H$+$r8F$Y$PNI$$$N$+$H;W$C$?$N$G$9$,!"(B
$B$=$l$G$O:FIA2h$5$l$J$$$h$&$G!D!#(B
GUI$B$N%=%U%H:n$C$?;v$J$s$FKX$IL5$$$N$G$I$N$h$&$J%-!<%o!<%I$G8!:w$7$?$iNI$$$N$+$bJ,$+$i$:!"(B
$B$I$J$?$+%]%$%s%H$@$1$G$bNI$$$N$G65$($F2<$5$$(Bm(_ _)m
596595:03/12/09 18:50
すみません、どなたか教えて下さい。
何か長い処理をする時に、処理をしているあいだにWindowとかが再描画されなくなって
しまうのですが、これを処理の途中に再描画されるようにしたらどうしたら良いでしょうか。
メインフレームのRefresh(), Raise(), Update() とかを呼べば良いのかと思ったのですが、
それでは再描画されないようで…。
GUIのソフト作った事なんて殆ど無いのでどのようなキーワードで検索したら良いのかも分からず、
どなたかポイントだけでも良いので教えて下さいm(_ _)m
すみません>>595バケました。
先人は0.1秒以上かかる処理をメインスレッドでやるなと言っていたが。
要するに0.1秒未満で実行できるハードウェアを使えということか。
マルチスレッド
>>597
0.1秒未満の処理に分割しろって事ですな
wx494.htm によると,マルチスレッドにする他の選択として,演算を
idle handler にするか,定期的に ::wxYield() (wxApp::wxYield())を
呼んで画面を更新してください,と書いてあります.
wxYield は,プログレスバーや splashscreen を更新する時によく使われます.
ためしてみてください.
602596:03/12/16 14:21
>>601
ありがとうございました。さらに安全な::SafeYield()を使うことでそれなりに目的が達成されそうです。
また、
>>597, 599
やはり途中で中止とかもできるようにしたいので、将来的にはマルチスレッドにもしようと思います。
ご指導ありがとうございました。

ちなみに wxMDIChildFrame::GetParent() って wxGTK だと wxMDIClientWindow を返して、 wxMSWだと
wxMDIParentFrame() を返すんですね。コレにハマっていたので、御礼兼メモとして書かせて頂きます。
603灰 ◆v/.u/aNe9w :03/12/20 23:20
604デフォルトの名無しさん:03/12/21 14:39
どんどんあげていこう
じゃぁ、さげ
>>602
GetParentでクライアントウィンドウ返さるのっておかしくねぇ?
バグかな。
翻訳はここに書き込んでいいのかな?

wxWindows Hello World サンプル の一文目は、

多くの人から、文法や基本的な原理に関する幾らかの迅速な判断が出来るように、
ここに小さなサンプルを示して欲しい、という要求をされてきたが、あなたは今、
wxWindows における"Hello World" を見ることが出来る。

って感じでしょうか。幾分堅いかな。
Borland の C++ BuilderXに,wxWindows用のパッケージがありました.

A technology preview of a RAD designer for the wx framework and of a
100% ANSI/ISO C++ compliant compiler for Windows x86 For use with
C++BuilderX Personal and C++BuilderX Enterprise Trial

だそうです.
609思兼 ◆l3iwkTImVo :03/12/29 00:16
>>608
 それ,ダウンロードしたPersonal版にはついてなかったんだよな・・・.
 Borlandの中の人によると,まだwxWindowsに正式に決めたわけでは
無いらしい.
>>609
あくまで,_A technology preview_ですから.
でも,Borlandのサイトからダウンロードできるようになってました.
611& ◆iFNZlc1izc :03/12/29 11:51
>>607
ありがつー。直してきました!
612デフォルトの名無しさん:03/12/31 17:13
初心者ですみません。教えてください。
wxWindowsをダウソしてインクルードファイルのパス
を通したのですが、wx/setup.hがないと叱られてサンプルが
コンパイルできません。
で、自作の空のsetup.hをつくってwxフォルダに入れてみたのですが
ダメなのですがどうすればいいでしょうか?
613デフォルトの名無しさん:03/12/31 17:16
>>612
Windowsの検索機能でsetup.hを探しましたか?
>>613
レスありがとうございます。
探したのですが、#include wx/setup.h
になっていてwxにはないのです。
wx/unix/setup.hとかはあるのですが。。。
616614:03/12/31 17:55
>>615
レスどうもです。
今読んでいるのですが、後ほど報告させていただきますね。
ありがとうございます。。。
617614:03/12/31 23:33
レス遅れてすみません。
うまくいきました。
wx/msw/setup.hをwxフォルダにコピーしたらいけました。
どうもです〜。。。
まさかinclude/wxにコピーしたのか?
もしそうだったら、そんな変なことせずに lib/msw???/ をインクルードパスに追加せーよ。
619614:04/01/01 00:29
>まさかinclude/wxにコピーしたのか?
そうです(TT)
>もしそうだったら、そんな変なことせずに lib/msw???/ をインクルードパスに追加せーよ。
だってソース中で、#include wx/setup.h ってなってるんですもん(TT)
620デフォルトの名無しさん:04/01/01 01:03
今年はwxWindowsがメジャー化しますように
>>619
>だってソース中で、#include wx/setup.h ってなってるんですもん(TT)
そりゃそうだよ。
lib/msw???/wx/setup.h
にビルドに対応したsetup.hが入ってるんだから。
lib/msw???/をインクルードパスに追加したら、#include <wx/setup.h>で
lib/msw???/wx/setup.hが読み込まれるだろ?
622:04/01/01 03:20
あけおめ

>619
VCでのインストール手順はここです(引越しました)。
http://www.fiercewinds.net/programming/wxWindows/index.html

VC使ってるなら参考にしてください。
wxmsw242d.dllのサイズが26.7Mもあるんですが
もっと小さくできませんか?
624思兼 ◆l3iwkTImVo :04/01/01 06:33
>>623
 デバッグ用だとそんなもん.リリース版ではもっと小さくなるから気にしない.
 あと,VCのランタイムと違ってwxWindowsのランタイムはバージョンが同じでも
configureの仕方で中身が違ってくるから,リリース版ではDLLを使わずにスタティックで
ビルドする事をお勧めする.
>>624
こんなもんですか。なるほど。
公開する上ででかいdllをダウンロードするのは大変だと思ってたんですが
しょうがないですね。
ありがとうございました。
626思兼 ◆l3iwkTImVo :04/01/01 15:41
>>625
wxmsw242d.dllはデバッグビルドされたdll.デバッグ情報が入ってるのでデカイ.
公開にはデバッグ情報の無いwxmsw242.dllの方を使おう.
できれば>>624に書いたようにスタティックで使うことをお勧めするけどね.
make -f makefile.g95 WXMAKINGDLL=1
でコンパイルするとwxmsw242d.dllができるのに対して、
wxmsw242.dllを作るにはどのようにコンパイルすればいいですか?
628思兼 ◆l3iwkTImVo :04/01/01 22:32
>>627
bccは使って無いから知らないけど,多分
make -f makefile.g95 WXMAKINGDLL=1 FINAL=1
だと思う.
629思兼 ◆l3iwkTImVo :04/01/01 22:36
あ,makefile.g95はgccか.多分コマンドは>>628で合ってる.
それでダメなら,cygwinかMinGWで
strip wxmsw242d.dll
でデバッグ情報を外せるはず.こっちだと最適化はされないけどね.
ありがとう。やってみます。
wxmsw242.dllできました。なんと4.85M!
これで「サイズデカッ!」っていわれずにすみそうです。
ありがとうございました。
サンプルのコンパイルがうまくいないのはなぜですか?

make -f makefile.g95 WXUSINGDLL=1

../../include/wx/chkconf.h:47:9: #error "wxUSE_DYNLIB_CLASS must be defined."
../../include/wx/chkconf.h:55:9: #error "wxUSE_FILESYSTEM must be defined."
../../include/wx/chkconf.h:68:9: #error "wxUSE_DYNAMIC_LOADER must be defined."

docview.cpp:212: error: invalid use of undefined type `class MyFrame'
docview.h:43: error: forward declaration of `class MyFrame'
make: *** [docview.o] Error 1
ちょいと質問.
wxWindowsを最初にいったんビルドしたら消してもいいファイルってどれだろ?
ちょっとHDがきつい(全体で9GBしかない)から,
もう要らないファイルは消したいんだけど.

Debug〜は(Release〜さえあれば)いらないの?
>>633
*.obj
635思兼 ◆l3iwkTImVo :04/01/02 04:43
>>633
 環境によるけれど,例えばMSYS+MinGWの場合,make installしたあとは
wxWindowsを解凍してできたフォルダの中身全部いらなかったと思う.
必要なヘッダファイル+ライブラリファイルがコピーされるから.
 Debug〜は,wxWindowsのデバッグ情報が要らないならいらないと思う.

今はwxWindows入れて無いから確認取れないので,誰かフォローお願い.
636632:04/01/02 05:32
エラーの原因がわからないので寝ました。
先程起きてもういちどやってみたらうまく行きまくりでした。ムハッ
原因はFINAL=1を付け忘れたことです。
しかも、サイズが205K! デバッグのときは1M以上あったのに驚きです。

make -f makefile.g95 WXUSINGDLL=1 FINAL=1
637:04/01/02 13:19
>633
Win2K/VC++/wxWindows2.4.2で試してみました。
includeフォルダとlibフォルダ以外は削除しても問題なさそうです。
#Locale使うのならlocaleフォルダもいるかな?

また、libフォルダの中身も、リンク/インクルードしているファイル以外は
削除しても問題なさそうです。
#自分のプログラムだと lib/wxmsw.libとlib/mswd/wx/setup.hのみ

これで19,989,302 バイト……スタティックリンクだからしょうがないけどね。
638633:04/01/02 19:06
>>635>>637
とりあえずRelease〜とかDebug〜とか消してみた.
ほとんどがobjファイルだったからOKだよね.
ありがと.
海外掲示板用オフラインリーダーを作るスレ
http://pc2.2ch.net/test/read.cgi/tech/1072883528/

海外でよく使われていうる掲示板スクリプト
専用のオフラインリーダー作って下さい。

必要な条件はID、PASSを管理できること、
OpenJaneみたいな三面型の見た目。
簡単にローカライズできるように言語ファイルを採用
640思兼 ◆l3iwkTImVo :04/01/03 04:08
 MinGWをインストールしやすいようにパッケージにしてくれているbitwalkさんの
ところで,いつの間にかwxWindowsもパッケージ化されていました.
http://www63.tok2.com/home/bitwalk/download.html#wx

MinGW+wxWindowsのインストールが楽チンでできるのでお勧め.
サンプルのopenglだけうまくコンパイルできない。
Java1.5でデフォルトの見た目がWindowsネイティブっぽくなる&テンプレートっぽい機能が使えるようになるので、wxWin捨てる悪寒です。
>>642
捨てるもなにもそもそもどれくらい使っていたのかと(ry
>>641
エラー内容は?
OpenGLのヘッダーファイルは入っている?
>>644
調べてみる
mingwフォルダにあるgl.h、glex.h、glu.hの3つをコピーしてみたけど失敗。

cube.cpp:31:2: #error Please set wxUSE_GLCANVAS to 1 in setup.h.
In file included from cube.cpp:34:
cube.h:44: error: syntax error before `{' token
cube.h:50: error: syntax error before `*' token
cube.h:55: error: destructors must be member functions


cube.cpp: In member function `virtual bool MyApp::OnInit()':
cube.cpp:524: error: syntax error before `(' token
make: *** [cube.o] Error 1
>>646
Please set wxUSE_GLCANVAS to 1 in setup.h
・・・
Please set wxUSE_GLCANVAS to 1 in setup.h完了
しかし新たなる問題が。

cube.o(.text+0x13b4):cube.cpp: undefined reference to `_imp___ZN10wxGLCanvasC2EP8wxWindowPKS_iRK7wxPointRK6wxSizelRK8wxStringPiRK9wxPalette'
cube.o(.text+0x1444):cube.cpp: undefined reference to `_imp___ZN10wxGLCanvasC2EP8wxWindowPKS_iRK7wxPointRK6wxSizelRK8wxStringPiRK9wxPalette'


cube.o(.text$_ZNK10wxGLCanvas12GetClassInfoEv+0x2):cube.cpp: undefined reference to `_imp___ZN10wxGLCanvas18sm_classwxGLCanvasE'
make: *** [cube.exe] Error 1
ライブラリをビルドする前に1しろよな、当然ながら。
0から1にはしたよ
こんなのもある

cube.cpp:81: warning: unsigned int format, long int arg (arg 3)
もしかして、wxWindowsとは別にopenGLをインストールしないとダメ?
>>651
650も書いてるが、wxWindowsを初めからビルドし直さなければ
だめだよ。
それから、サンプルのコンパイル。
>>654
え?
そんなめんどうなことやりますよ。
656デフォルトの名無しさん:04/01/07 21:18
やりおえたら、その手順をうpしてね♪
Linux版だとRPMにGL版入ってるけどな。
658655:04/01/08 04:42
>>646-647にあるように、スタートボタン→検索(F)→ファイルやフォルダ(F)で
wxWindowsをインストールしたフォルダ内のsetup.hを探して
setup.h内でwxUSE_GLCANVAS 0 となっているところ全てをwxUSE_GLCANVAS 1に変更。

その後、654さんの言うとうり、wxWindowsを始めからビルドしなおしました。

d:\wx\src\>mingw32
d:\wx\src\>cd msw
d:\wx\src\msw>make -f makefile.g95 cleanall
d:\wx\src\msw>make -f makefile.g95 WXUSINGDLL=1 FINAL=1

WXMAKINGDDとすべき所をいつものようにWXUSINGDLLとしていたので失敗。

d:\wx\src\msw>make -f makefile.g95 cleanall
d:\wx\src\msw>make -f makefile.g95 WXMAKINGDLL=1 FINAL=1

ビルド時間長杉->睡眠->起床->ビルド成功!

次はサンプルのコンパイル。

d:\wx\samples\opengl\cube>make -f makefile.g95 cleanall
d:\wx\samples\opengl\cube>make -f makefile.g95 WXUSINGDLL=1 FINAL=1

大成功!みなさんありがとうー。。。 あれ? (つづく)
cube.exeをクリックしても、2つのダイアログが出て起動せず。

・プログラム開始エラー
CUBE.EXE ファイルは
欠落エクスポート WXMSW242.DLL:_ZN10wxGLCanvas10SetCurrentEv にリンク
されています。

・D:\wx\samples\opengl\cube\cube.exe
D:\wx\samples\opengl\cube\cube.exe
システムに装着されたデバイスは動作していません。

前にもコンパイルしたサンプルが起動しなかったことがあって、その時はdllをC:\WINDOWS\SYSTEM内に入れたらうまくいったので、
同様にd:\wx\lib内のwxmsw242.dllをコピーして、C:\WINDOWS\SYSTEM内にペーストしようとしたら、
ファイルの上書き確認ダイアログ出現。

現在のファイル
      サイズ:4.85MB
      更新日時:2004年1月1日、23:39:22
に新しいファイルを上書きしますか?
      サイズ:4.87MB
      更新日時:2004年1月7日、22:11:32

setup.hの情報を変えてビルドし直したせいか、ファイルのサイズが違ったので、
これで間違いない(長井風)と思い、もう一度cube.exeをクリックすると。キター!!

みなさんありがとうございました。うまくいきました。
660思兼 ◆l3iwkTImVo :04/01/08 05:13
>>659
 dllだと,ビルドしたときの設定によって中身が変わっちゃうからね.
 自分で使う分には,使いそうな機能全部Enableにしたdllを使えばいいかもしれないけれど,
配布する時にはユーザーが使っているdllのことも考えないといけなくなる.
 全部スタティックリンクしちゃえば,DLL HELLは避けられるよ.賢いリンカは使わない関数は
外してサイズを削ってくれるし,そもそもMFCとちがってwxWindowsはアプリが少ないからdllを
使ってもメモリの節約になら無いから,スタティックがお勧め.
661659:04/01/08 05:45
>>660をネタにググルってみる。
まずはスタティックリンクから
662灰 ◆v/.u/aNe9w :04/01/09 02:12
wxArray と wxList を翻訳してくれた方がおりますです。
あんがとー。
VBのように簡単にプログラム作れるwxEuphoriaを普及させることが
wxWindowsを広めることにつながるような気がするので、とりあえずEuphoria使ってみて。

Euphoria
http://directory.google.com/Top/Computers/Programming/Languages/Euphoria/?tc=1
664灰 ◆v/.u/aNe9w :04/01/12 01:11
wxButton
wxControl
wxArray
wxFlexGridSizer
デバイスコンテキストの概要
んを翻訳してくれた方々がおりまッス!
ありがつー!
試訳

WxApp::FilterEvent

この関数はなんらかのイベントを処理する前に呼ばれ、アプリケーションがイベント処理を
差し替える機能を提供する。

This function is called before processing any event and allows the application
to preempt the processing of some events.


このメソッドは -1, TRUE, FALSE のどれかを返さねばならない。
-1を返した場合、通常のイベント処理が行われる。
TRUE,FALSE を返した場合は、イベント処理はただちに停止する。
TRUEの場合、そのイベントは既に処理されたものとみなされ、
FALSEの場合、イベントは全く処理されないものとみなされる。

If this method returns -1 the event is processed normally, otherwise either TRUE
or FALSE should be returned and the event processing stops immediately considering
that the event had been already processed (for the former return value) or that it
is not going to be processed at all (for the latter one).


666灰 ◆v/.u/aNe9w :04/01/13 21:49
バイトオーダーマクロ wx437.htm
環境変数アクセス関数 wx443.htm
wxRadioBox wx318.htm
バージョンマクロ wx425.htm
を翻訳していただきました。
ありがとございまぬ。
667デフォルトの名無しさん:04/01/24 00:10

wxWindowsを使って2chViewerを作ろうとしています。

Proxy設定&User-Agentの設定はwxURLと
wxHTTPのAPIを使ってうまくできました。
(wxWindowsドキュメントの翻訳に感謝!)

次にHTMLのパースをしようと思っているのですが
HTMLParserは未翻訳なようなのでまず翻訳をやろうと
思います。
ただ、ざっとみたところサンプルがないと扱えなそう。。。

どなたか使ってみている方おられますか?
668:04/01/24 04:37
>667
あれ?2chViewerにHTML Parserって必要だっけ?
http://www.monazilla.org/document/index.html
見ると要らなそうな気がするけど……
669デフォルトの名無しさん:04/01/27 21:59
>668 確かに・・・
ボード一覧取得用ソースを参考にして
文字列操作のみでいけそうですね。

wxWindows3.0 マダー?
STLization マダー?
671灰 ◆v/.u/aNe9w :04/01/29 09:28
うpろだにあげてくれた人
ありがのう。

回収する時間がちょいと無いので
しばしおまちを
あの。。。>>670はマジ質問です。
http://www.wxwindows.org/roadmap.htm
で 15/12/2003 ってなってるままなんだけど。
MLとかで情報流れてませんか?私には見つけられませんでした。

あとCVSで3.0に向かってるのはどれなのでしょう?HEADを見ればいいんですか?
レイアウト関係が貧弱だーーー!!!
>>672
そのページのDone Listはこうなってるけど、コード見てないから詳しくは分からん。
1. Build system redesign allowing to easily create add-on libraries
2. Make it possible for the wxGUI ports to use wxBase library directly
3. provide a standard implementation of wxRenderer so that the other (i.e.
native) ports could use the universal controls as well
4. make wxListCtrl and wxTreeCtrl really themeable (depends on the previous
point as they should still be usable in the normal ports)
5. Text selection in wxHTML
6. STLization

>>673
wxSizerって、そんなに貧弱に思えないけど・・・
>>674
一見そう見えるんだけど、様々なニーズを満たせるほど設計がよくないです。
必要かつ十分な設計になってないというか。
SwingやGTKのレイアウトと比べると色々できないことや悩むこと多し。
676灰 ◆v/.u/aNe9w :04/02/07 05:41
>>671
回収完了。
メールの方もありがのう。
677デフォルトの名無しさん:04/02/07 13:08
どんどん上げちゃおう
678思兼 ◆l3iwkTImVo :04/02/08 23:35
こんなサイト見つけたなり.
http://www.h3.dion.ne.jp/~k5_n/wxwin/index.html

卒研発表終ったけど,ちと作りたいアプリがあるので翻訳再参戦はもうちょっと先延ばしします.
そのアプリにwxWindowsを使うつもりだけど,wxXMLを使うかXercesを使うか悩み中.
>>678
>卒研発表終ったけど
    _, ,_  パーン  
  ( ‘д‘)
   ⊂彡☆))Д´) >>思兼


うらやましい。俺今週末修論発表だ。早く楽になりたい。
Windowsで、メモリ上に、BITMAPINFOHEADERと、ビットマップデータがある状態で、
それを画面に表示させたい場合ってどうやってやるかわかります?
wxBitmapのコンストラクタに、幅、高さ、色数、データをぶち込んでみたんですが、
なんか表示される気配がありませぬ。

とりあえず24bitカラーなんで、パレットはつかってないんですが。
681思兼 ◆l3iwkTImVo :04/02/10 09:49
>>680
wxImageをビットマップの中身から作成するべし.BMPのフォーマットって変態的だから
かなりめんどいけど.
682680:04/02/10 11:02
なんだか呼ぶコンストラクタ変えたらできました

今までは、
wxBitmap(void* data, int type, int width, int height, int depth = -1)
を呼んでたんですが
wxBitmap(const char bits[], int width, int height, int depth = 1)
こっちにすると、とりあえずOKですた
上下反転になっちゃうのでwxImage::Mirror()を食わさなきゃアカンですが。

なんか2つのコンストラクタがどう違うのかわかりませんが、
リファレンスみると、下のほうは、
「ポータブルなアプリ内では、白黒(depth=1)でしかつかっちゃいやよ」
ってなことが書いてある気がするんだが今回めっちゃ24ビットだし…
まあこんなモンがメモリ上にあるあたりすでのポータブルじゃないから
問題なしっていう話がかなりあるが…
683思兼 ◆l3iwkTImVo :04/02/10 16:14
>>682
wxBitmapの中のソースは見てないけど,リファレンスには

"under Windows, the data is passed without any changes
to the underlying CreateBitmap() API."

って書いてある.んで,MSDNのCreateBitmap()には,

"The CreateBitmap function can be used to create color bitmaps.
However, for performance reasons applications should use CreateBitmap
to create monochrome bitmaps and CreateCompatibleBitmap to create
color bitmaps. "

って書いてある.Windowsでは,推奨はされていないものの,ちゃんと動く.でもWindows
以外では動かないから,プラットフォーム非依存を目指すならwxImageを使う,もしくは
一旦ファイルに書き出してからwxBitmapで読み込むという手順を取る.
そのメモリで作ったwxMemoryInputStreamを与えてwxImageを生成する、
というのがポータブルな正しい方法じゃないかな?
685思兼 ◆l3iwkTImVo :04/02/10 17:34
>>684
 おぉ,wxImage::LoadFileではwxMemoryInputStreamがあるんですね.
 wxBitmap::LoadFileはファイル名しか受け付けてくれないから諦めてた.っていうか,
なんでwxBitmap::LoadFileはwxMemoryInputStreamに対応してないんだろう?
686思兼 ◆l3iwkTImVo :04/02/10 18:48
>>682
ということで,ポータブルかもしれないBMPファイル表示アプリ
http://dot-gray.s33.xrea.com/cgi-bin/source/0048.cpp

>>684
Thanx.
Windowsで、ステータスバーつかってると、
一番左側のフィールドに対して、
SetStatusTextとかPushStatusTextで
文字列を設定しても、マウスでメニューいじったり、適当に動かしてるだけで、
文字が消えてしまうんですが、抑制ってできないのかな?
たぶん、メニューとかツールバーのツールチップを表示させようとしてるのが原因っぽいんだが。。。
688思兼 ◆l3iwkTImVo :04/02/11 10:49
>>687
一応こんな関数がある.

void wxFrame::SetStatusBarPane(int n)
メニューやツールバーのヘルプを表示するステータスバーのフィールドを指定する。
-1を指定するとヘルプを表示しない。

 Push/PopStatusTextを使うと,ヘルプの表示が終ると元の表示に戻るっていう
実装にして欲しいね・・・.
689思兼 ◆l3iwkTImVo :04/02/11 11:00
ソース確認してみた.
wxFrameBase::DoGiveHelp()がPushStatusTextじゃなくてSetStatusTextを使ってる.

メニューにカーソルを当てたらEVT_MENU_HIGHLIGHT_ALLマクロで指定した関数を
呼び出せるけど,メニューからカーソルを外したというイベントが無いからPush/Popは使えない
みたい.
690灰 ◆v/.u/aNe9w :04/02/12 08:08
bcc32 v5.5.1 以上用 locale で苦しまないためのパッチ
$(WXWIN)/src/common/intl.cpp にあててください
--- intl.cpp.org2004-02-12 07:34:29.421875000 +0900
+++ intl.cpp2004-02-12 07:36:46.968750000 +0900
@@ -65,6 +65,13 @@
#include "wx/mac/private.h" // includes mac headers

#endif



+// Borland C++ compiler version 5.5.1 has some problems (Abnormal memory

+// reference) in compiling this source with option -O2.

+// This pragma is for escaping that.

+#if ( defined(__WIN32__) && defined(__BORLANDC__) && (__BORLANDC__ >= 0x551) )

+#pragma option push -O1

+#endif

+

// ----------------------------------------------------------------------------

// simple types

// ----------------------------------------------------------------------------
691灰 ◆v/.u/aNe9w :04/02/12 08:09
@@ -836,7 +843,7 @@


#ifndef WX_NO_LOCALE_SUPPORT

wxChar *szLocale = retloc ? wxStrdup(retloc) : NULL;

- bool ret = Init(name, canonical, retloc,

+ bool ret = Init(name, canonical, szLocale,

(flags & wxLOCALE_LOAD_DEFAULT) != 0,

(flags & wxLOCALE_CONV_ENCODING) != 0);

if (szLocale)

@@ -2442,5 +2449,9 @@

692灰 ◆v/.u/aNe9w :04/02/12 08:12
// --- --- --- generated code ends here --- --- ---


+#if ( defined(__WIN32__) && defined(__BORLANDC__) && (__BORLANDC__ >= 0x551) )
+#pragma option pop
+#endif // pragma option push -O1
+
#endif // wxUSE_INTL



wx242用

無駄な改行が入ってしまいました。
ごめん。
693682:04/02/14 22:16
>>684,686
遅れましたが、さんくすです。m(_ _)m
とりあえず、686のソースを適当に改造して使ってみることにしました
694デフォルトの名無しさん:04/02/16 19:42
wxWindowsすげえ。

これでつくったアプリはリコンパイルだけでプラットフォーム非依存?

695思兼 ◆l3iwkTImVo :04/02/16 19:48
>>694
そーゆーふうに作ればね.
プラットフォーム依存で作ることも可能.
696思兼 ◆l3iwkTImVo :04/02/18 15:33
翻訳プロジェクトの方達へ.
サンプルプログラムソース内のコメントの翻訳の仕方を統一しない?
697思兼 ◆l3iwkTImVo :04/02/18 15:46
もう一つ提案.
 クラスリファレンスを翻訳する時に,重要な部分の訳を優先しない?
 クラスリファレンスの中身はメンバ関数の説明が大部分を占めていて,その多くは
わざわざ訳さなくても実際に使う時に読めば簡単にわかる程度のものだし.
 パラメータの説明とか,単語数個で説明してあることをいちいち訳するのがメンドクサイ.

 メンバ関数の説明以外のクラスの説明と,大きなRemarks項目が含まれる関数の説明
を訳し終わったら,とりあえず概訳完了ということにする.それでできるだけ多くのクラスを
概訳することを優先する.
698デフォルトの名無しさん:04/02/18 22:53
age
699:04/02/20 01:31
>>思兼
了解。

っつっても、何も出来ませんが…。
701思兼 ◆l3iwkTImVo :04/02/21 07:53
>>700
イイ!

ところで,M$のWindowsと名前がかぶってるからという理由で,wxWidgetsに名前が変わるらしい.
702ymasuda:04/02/23 19:18
>>697
了解です.(最近全然貢献してなくてすみません)
それから,成果をTeXソースに反映してはどうかと考えています.
sf.jp の方で doc/latex を管理してもらえるなら,backport は
私がやってもかまいません.どうでしょう?
February 23rd, 2004. wxWidgets 2.5.1 has been released.
704思兼 ◆l3iwkTImVo :04/02/24 08:13
>>703
イイ.けど,2.5.xは開発版で,次の安定版は3.0.xなんだよなぁ.
ドキュメントのバグは2.5の方が少ないんだけど,とりあえず翻訳するのは2.4.0のままかな.
xrcでメニューとかダイアログとかゴリゴリ書いてたんだけど、
どうも速度的に思わしくないので,C++コードに書き換えたいなーと思うんですが、
xrcからc++にサクっと変換をしてくれるツールってありませんかね?
wxrcってそんなのと思ったら,xrcファイルをただ単に実行ファイルに埋め込むだけなんすね。
706思兼 ◆l3iwkTImVo :04/02/24 11:59
>>705
 そんなに速度が気になる?
 何度も使うリソースなら,一旦生成したのを表示/非表示切り替えるだけにして
生成を最初の一度にするとかできない?

>>702
 CVSとか使い慣れてないので,僕はちょっと・・・.sf.jpのProjectManagerの方
お願いします.
707思兼 ◆l3iwkTImVo :04/02/24 12:17
 そういや,OfficialHPのマニュアルが2.4.2になってる.日本語マニュアルもアップデートする?
 とりあえずは2.4.0と2.4.2でdiffとって,大きな変更が無いファイルはそのまま使い,変更が
あるマニュアルは変更点を日本語に反映してという作業が必要になるけど・・・.マニュアルで
wxWindowsがwxWidgetsに変更されるまでは待つか.
708思兼 ◆l3iwkTImVo :04/02/24 12:29
 OfficialWebのマニュアルが2.4.2になったから,日本語マニュアルの原文へのリンクが
切れてる.マンドクセ.
709ymasuda:04/02/24 16:12
>>708
latex の import : こちらで import しておきます.
リンク: sed で全て 2.4.2 に置き換えてみました,これ commit していいですか?
710思兼 ◆l3iwkTImVo :04/02/24 19:21
>>709
 明日試験終るんで,今週中に>>707の作業やっておきます.リンクの書き換えも
そんときに一緒にやっときます.
711思兼 ◆l3iwkTImVo :04/02/24 20:04
>>707の作業について.

1.diffをとって変化が無いファイル
  日本語ドキュメント内の,原文へのリンクの書き換えのみ

2.diffをとって変化があるファイル
  リンクの書き換え+原文が変更された旨をコメントとして記す.

という感じで行こうと思います.翻訳者は,原文が変更されたファイルを訳する場合,

1.全く日本語訳されていないファイル
  日本語訳のbodyタグ内を2.4.2のbodyタグで上書きしてから一旦commit.その後
翻訳開始.

2.日本語化されているファイル
  頑張って変更点を反映.

という流れになります.

誰か他にアイデアありませんか?
>>711 思兼さん,
すみません,
> 日本語訳のbodyタグ内を2.4.2のbodyタグで上書きしてから一旦commit
の意味がよくわからない...とにかく何でもいいから追記して commit
しなさい,ということですか?
713思兼 ◆l3iwkTImVo :04/02/24 21:54
>>712
 今の日本語ドキュメントは2.4.0を元にして訳してる.で,2.4.2で内容が変更された場合,
内容(=<body>〜</body>)を2.4.2のもので上書きしてから翻訳を始めてねって意味.
 ヘッダ(=<head>〜</head>)にはスタイルシートとか原文へのリンクとかに必要なものが
入ってるから,上書きしないでね.
>>713 i see.
今 CVS を見たら, wxWidgets というブランチができていますね...
中身は実質的に 2/22 あたりの wxWindows リポジトリをコピーしたものの
ようです.TeX ソース上では,まだ wxWidgets への置き換えは始まって
いませんね.うーん,いつ,どっちから作業コピーを取り出せばよいのかなぁ.
715思兼 ◆l3iwkTImVo :04/02/24 22:20
wxのuserMLを見てたら,Widgetという名称も問題が起こる可能性があるらしいです.
とりあえずwxWindowsのまま様子見しましょう.
>>714 「wxWidgets というブランチ」
リポジトリの間違いでした... _| ̄|●
>>716
・・・ただ単に別モジュールじゃないの?
718思兼 ◆l3iwkTImVo :04/02/25 20:19
 やっぱり,全く訳をしていないファイルのbodyタグは,こっちでプログラムを使って2.4.2のものに
入れ替えます.
 問題は既に訳されてるファイルが変更されてる場合だけど,どうしよう?コメントでdiffの結果
をHTMLの中に埋め込んでおくかな?
719705:04/02/25 22:43

>>706
よく確かめてみたら、デバッグ版でやってたのがいかんかったみたいです。。。
Release版でビルドしなおしたら普通に速く動いてくれました。

ただ、なんかプログラムがバグったとき、
Debug版で実行したいとき毎回遅いのはちと辛めです。

メニューもxrcで書いてるんで、メインウィンドウが表示されるまでに
Debugだと30秒ぐらい平気でかかってしまうのはなんでなんでしょ?
しかし、Releaseだと普通に1秒もかからず表示できるのに…

ためしに、wxWindowsのライブラリをビルドするときに、
最適化を最高にしてみたけど、あんまし変化みられず…

xrcの部分以外はそんなに遅くないから、
ASSERT判定とかがあって遅くなりまくっちゃった
ってわけでもなさそうだし、、、
う〜む、謎。
>>719
>メニューもxrcで書いてるんで、メインウィンドウが表示されるまでに
>Debugだと30秒ぐらい平気でかかってしまうのはなんでなんでしょ?

んなこたーない。ってか、そのxrcでかいのか?
wxtkでいいじゃん。
コンパイルオプションが違っていて、デバッグ版では中間オブジェクトまでいち
いち生成するが、リリース版ではインライン展開も効いてすっきりするとか?

723719:04/02/26 02:28
>>720
メニュー2個とダイアログ3個が同じファイルに書いてあって、サイズは30kぐらいかな。
これって大きいのかな?

>>721
wxtkとはなんぞや?

>>722
だから、ライブラリビルド時にコンパイルオプションを変えて、
最適化を最大にしたんですが、ダメですた。
インライン展開もしたはず
mingwでXRCライブラリのdll作って使えた人います?
Software/wxWidgets/wxBuilder Preview
http://g.yi.org/f.php?f=3877
727デフォルトの名無しさん:04/03/11 13:26
いろんなものがwxWidgetsに改名されつつありますね。
CVSでソースとってる人は"CVS and maillist hostname changed"という
サブジェクトのメールを参考に作業をお忘れなく。
http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx131.htm#wxevthandleraddpendingevent
Remarks

イベントを送る(sending)ことと (ProcessEvent メソッドを使って) ポストすることとの違いは、
                   ↓
イベントを(ProcessEvent メソッドを使って)送る(sending)ことと、ポストすることとの違いは、


です。意味が変わってしまう誤訳ですので進言しました。
729思兼 ◆l3iwkTImVo :04/03/16 21:19
結局まだ更新してません.スンマセン.

>>728
Thanx. 反映しておきました.
730思兼 ◆l3iwkTImVo :04/03/16 21:38
 ドキュメントのバージョンアップの問題はこれからも起こるから,原文のバージョンアップに
対応する方法を確立しておいた方が良いかも.

 原文の旧バージョンと新バージョンをdiffして,変更があったファイルをリストアップして,
日本語訳をバージョンアップに対応させるたびにリストからそのファイルを削除していくという
方法はどうだろう.もちろん変更があったファイルのリストはcvsで管理すると.
いいと思います...が,sfで管理者やっている面子がスレッドを
見てないようですね...
732思兼 ◆l3iwkTImVo :04/03/18 03:00
とりあえず,wxWindows→wxWidgetsの置換と,本家URLの置換をしてみました.
日本語版プロジェクトサイトで公開してるのを見て,問題があったら指摘してください.
ていうかコンパイルできる環境は構築したけど、難しいなこれ。
リファレンス見ても全く分からん。機能があるのは分かるが使い方が分からん。
ここにいる人って、実際にリファレンス使ってプログラミングしてるの?
リファレンスを翻訳されるのは有難いが、分かりやすいチュートリアルが欲しいところ。
ウィンドウを出すだけじゃなくて、他のコントロールを使う方法とか・・・。
>>733
僕は今の所リファレンスだけで十分だけど。
使い方分からんのは例えば何?気が向いたらチュートリアル書くよ。
735思兼 ◆l3iwkTImVo :04/03/18 14:44
>>733
使い方が判らないならサンプルプログラムを見たら良いと思うよ.
>>734-736
レスさんくす。
とりあえず、サンプルプログラムとPDFを見てやってみることにします。
topic overviewを見るのがおすすめ。
Audacity
http://audacity.sourceforge.net/about.php?lang=ja

wxWindonwsで作られてるみたい
GPLなのでソースコードも公開されてます
740:04/03/21 09:09
見てますョ。
741デフォルトの名無しさん:04/03/21 23:18
2.4.2をダウンロードする下に、2.5.1って言うのがあるんだが、こっちを落したほうが良いの?
来たばっかでワカンネ…
742思兼 ◆l3iwkTImVo :04/03/22 01:50
>>741
安定版の2.4.2で良いと思うよ.
このライブラリを使って作ったソフトを
商用としてパッケージや製品へのバンドルなどで
販売したとしてソースの公開は必要ですか?
ソースを改変してなければ問題ないのかなと
認識してますが、あってますか?
744741:04/03/22 07:46
>>742
サンクス。とりあえず、2.4.2でやってみます。

ageちまった…スマソ
>>743
どこをどう読んでそう認識しました?
>743
まずライセンス嫁
http://www.wxwindows.org/newlicen.htm
L-GPLかwxWindows Library Licence, Version 3のどっちか守ればOK
>>746
デュアルライセンスというわけではないので表現が変。

The wxWidgets 2 licence is essentially the L-GPL (Library General Public Licence), with an exception stating that derived works in binary form may be distributed on the user's own terms.
748デフォルトの名無しさん:04/03/24 10:07
wxWidgets に名前変わったのかよ!!
非Windows以外の環境でwxHTMLに日本語表示できた人いらっしゃいます?
Liunxでeuc-jp, utf-8, unicodeどれもダメ。念のためhtml中のcharsetも指定したけどダメ。
euc-jpとutf-8は文字化け、unicodeはエラーになる。

unicodeが有効にしてないため、
メニューやダイアログボックスは何も変換しなくてもそのまま表示されるけど、
wxHTMLだけがうまくいきません。成功した人、設定を教えて下さい
>>749
フォントを設定していますか?
言い忘れましたがwxpython上です。でもソースみると単なるラッパーみたい。
>>750
一切していません。全てデフォルトでメニューなどはそのまま表示されます。
デフォルトフォント以外だとフォントを何にするかいちいちダイアログボックスで聞いて来るので
うっとおしいのと、設定しても反映しないことがあるので。
wxHTMLだけ文字化けします。
wxhtmlwindowのSetFonts("", "", (10, 12, 14, 16, 19, 24, 32))
はセグメンテーションエラーになります。
私も wxPython ユーザですよ.ただし Windows でしか使いませんが.
メニューやボタンにはシステムフォントが使われますが,wxHTMLWindow の
デフォルトフォント指定は違うらしく,別個にフォントを指定してやる必要が
あるようです.私は wxFontEnumerator() でフォント名一覧を作成してから,
フォント名を明示的に指定して SetFonts しています.手前ミソですが,
ttp://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/monarch/Monarch/Monarchore.py?rev=1.11&content-type=text/vnd.viewcvs-markup
を参考にしてみてください.
753デフォルトの名無しさん:04/03/30 20:26
MSYS と MinGW でビルドしようと思うんですが、
MMX 付きの Pentium と k6-2 以上で動くようにするには、
--host はどうしたらいいんでしょうか?
>>752
フォント一覧を取り出すことができますが、SetFontsでセグメンテーション違反を起こします。
SetFonts("", "", (10, 12, 14, 16, 19, 24, 32))
で落ちるのでGTK自体に問題があるのかもしれません。あきらめます。
i586-mingw32じゃないかな。
756753:04/04/01 22:21
>>755
教えていただいたようにやってみました。
サンプルなどもコンパイルできて動いているようなので、
このまま行こうと思います。
ありがとうございました。
757デフォルトの名無しさん:04/04/02 22:12
MFCのプロパティシート/ページのようなのって無いですか?
のひょーん
VisualWx new release 0.8 Alfa 10 April 2004
http://visualwx.altervista.org/
760名無しさん@Vim%Chalice:04/04/20 11:05
デバイスコンテキストに回転した楕円形を描きたいのですが、どのように
すれば良いのでしょうか?wxDC::DrawEllipseでは回転角度は指定出来ない
ようですし、rotateぐらいのキーワードしか思いつかないのですが、調べて
もwxDC::DrawRotatedTextぐらいしか見付からず、困っています。
どなたか教えて頂けませんでしょうか。お願い致します。
761760:04/04/20 11:56
ドキュメントに無いけどwxTransformMatrixなんてのを発見しました。
これとcontribの中のcanvas使えば何とかなりそうかもです。
wxのスポンサーにvmwareがついてるけど、vmwareの
GUIもwxで作ってんの?
マルチプラットフォームが流行ると、vmwareが売れると思ってるからでは?
age
C++BuilderXに見捨てられたライブラリはこれですか?
別にBorlandごときに見捨てられたところで痛くもかゆくもないわ。
吉野家みたいに速くて安くて(゜Д゜)ウマーと言われていたのも
遠い昔の話だし。
>>767
目から大粒の汗が流れてるよ。
某厨って好きな時に都合の良い夢を見られる体質なんですね(微笑
以下の環境で wxWidget の開発を試してみました。
Windows XP
Eclipse 2.1.3
CDT 1.2.1
wxWidget 2.4.2
cppunit 1.8.0

http://www.h3.dion.ne.jp/~k5_n/wxwin/setup_win.html
を参考にウィンドウを出すだけのプログラムはできるようになったのですが、
make(というかgcc)が激遅なのはしょうがないとして、
eclipse の code assist(補完機能)が、
Ctrl+SPC を押してから候補がでるまで10秒程もかかり実用になりません。
こんなもんなんでしょうか?

初めて書き込むんで、板違いだったらすいません。
771デフォルトの名無しさん:04/05/01 18:32
gccはプリコンパイルヘッダが効かないから遅いんじゃなかったっけ。
最新のバージョンでそれもようやく対応したそうな。

CDTもコード補完出来るようになったんだねー。
俺も使ってみるか。
Ctrl+Spを音楽プレイヤーの再生/一時停止切り替えキーに設定してるわorz
773770:04/05/01 22:43
>>771
gcc のバージョン書くの忘れてました。
cygwin を導入したときついてきた gcc 3.3.1 でした。
おっしゃるプレコンパイルヘッダ機能は 3.4 からのようですね。
cygwin の gcc がバージョンアップするのはいつごろですかね?

コード補完も CDT がヘッダファイルをあらかじめ見て
情報を集めといてくれれば速くなると思うのですが、
こういう話題は Eclipse のスレになるのでしょうか。
VC++.NETでサンプルをコンパイルしようとしたんですが
dde.hでエラーいっぱいで困ってます。
error C2143: 構文エラー : ';' が '&' の前にありません。
error C2433: 'wxDDEServer::wxList' : 'inline' はデータ宣言をするのに使用できません。
error C2501: 'wxDDEServer::wxList' : 識別名を宣言するのに、型が指定されていません。
error C2146: 構文エラー : ';' が、識別子 'm_connections' の前に必要です。
etc.
解決策知りませんか?
775774:04/05/07 13:40
自己解決しますた。
何度も言わせるな。解決策も書いとけー。
>>774-775
新手のいやがらせですか?
778774:04/05/07 20:40
libのコンパイルしてなかっただけ。
779デフォルトの名無しさん:04/05/08 01:55
http://www.h3.dion.ne.jp/~k5_n/wxwin/
にあったmenuというサンプルをPlamo Linux 3.3環境下でコンパイルして
みましたが、ウインドウタイトルを除いて日本語が文字化けします。
windows以外では日本語使えないのでしょうか?
それとも何か設定があるのでしょうか?
ちなみに
static wxLocale theLocaleObj(wxLANGUAGE_DEFAULT);
も入れてみましたが結果は一緒でした。
>>778
その情報で十分だ。
今度初心者が
>error C2143: 構文エラー : ';' が '&' の前にありません。
というメッセージを見たときに、「libのコンパイルをすればいい」と分かるじゃないか。
2.5.1の新機能ってどこに書いてあるの?
HPのドキュメント見たけどよくわからん。
784779:04/05/08 10:35
書き忘れてましたが、configureの際setup.h.inの中の
wxUSE_WCHAR_Tの値は1に変更した上でなおかつ日本語
化けるという話でつ。スマソ。それとwxWindowsは2.4.2です。
>>783
感謝
786デフォルトの名無しさん:04/05/08 14:57
GTK2.x向けのwxWindows2.4.2での質問です。
wxGLCanvasを使ってクロスプラットフォームの3D appを作ろうとしています。
タブを使うため、wxGLCanvasはtopのwxFrameに付けずにwxNotebookを作成し、
その中にwxGLCanvasを作成しました。Windowsではこれでうまくいくのですが、
GTK版ではwxGLCanvas::OnSize()中でGetSize(&x, &y)とすると、サイズ変更する前の
古いwxGLCanvasサイズが帰ってきます。wxGLCanvasをtopのwxFrameから直接作成した場合は
問題なく動作します。GTK版wxNotebookかwxNotebookSizerの挙動に問題があるのかなと思ったのですが、
どなたかアドバイスお願いいたします。
787770:04/05/09 08:02
>>770 自己レス
Eclipse 3.0M8
CDT 2.0M8
にしたらコード補完まあまあ速くなりました。

ただ読み込むヘッダファイルが多いためか、
コード補完がタイムアウトしてしまうので、
"Content Assist parsing timeout(in milli seconds)"って項目を
大きくしてやらなければいけないみたいです。
788デフォルトの名無しさん:04/05/10 05:40
wxWindows(wxWidgets)って軽いんですか?
wxWindowsはその存在を軽んじられていることで有名です。
790デフォルトの名無しさん:04/05/10 19:21
マルチプラットフォームGUIライブラリで一番メジャーなのって、なんなんだろうね。

GTK、Qt、wxWidgets?
Windows.Formsだろ
>>790
最古のTkはアウトオブ眼中ですか。
>>790
QtのWindows版にもGPL適用できたら間違いなくQtがメジャーになってたのに・・・
LISENCEが全然分からないんですけど、
例えばスタティックリンクした場合、こちらは何をしなければならないのですか?
LGPLの場合とwxWindows Library Licenceそれぞれについてお願いします。
>794

ずばり書いてあるよ。

まずライセンスの中身はこれでOK?
http://www.wxwindows.org/newlicen.htm
http://www.wxwindows.org/licence3.txt

大雑把にいうと(ツッコミ歓迎)
・このプログラムはLPGLに従って再配布/修正することができる
・また、例外として、
1. このライセンス保持者が追加であなたに許諾を与える。(使用するかどうかはあなた次第)
2. その例外とは「貴方は自分が望む条件で、このライブラリを元にした成果物の
 バイナリオブジェクトバージョンを使用、コピー、リンク、修正、出版することができる」
 ことである。
3.もしあなたがGPL又はLGPLライセンスのコードをこのライブラリにコピーする場合は、
 上記例外はそのコードに当てはまらない。
4. もしあなたが自分自身でこのライブラリを修正した場合、上記例外をその修正箇所に
 適用するかどうかはあなた自身が選択できる。
 
……と、なる。

>例えばスタティックリンクした場合、こちらは何をしなければならないのですか?
>LGPLの場合とwxWindows Library Licenceそれぞれについてお願いします。

LGPLに従うなら、成果物を再配布するときにソースコードも一緒に再配布する必要がある。
wxWindows Library Licenceに従うなら、例外規定2に従ってバイナリコードのみを配布してもOK
>>795
>LGPLに従うなら、成果物を再配布するときにソースコードも一緒に再配布する必要がある。
>wxWindows Library Licenceに従うなら、例外規定2に従ってバイナリコードのみを配布してもOK
この2行でよく分かりました。ありがとうございました。

#ライセンスを日本語に訳してもらっても、やっぱり意味が分かりませんでした。
日本語対応はどうなんですか? IMEとか。
よくわからんけど、そのあたりは大丈夫だと思う。
日本語関連で問題が出るのはコンパイラの問題の場合が多いし。
っていうか、VC2003ツールキットでうまくコンパイルできん。
まぁ、情報が流れるのを待つか・・・。
>>798
コンパイルしてみた。
スタティック版は上手くいくよ。

が、DLL版は失敗する。
delayimp.libが無い為リンク出来無い。
何処かから合法的に持って来る方法は無いかな?
800デフォルトの名無しさん:04/05/20 23:58
bool Get800() {
  return TRUE;
}
>>798
開発版は対応してる模様
wx-cvs-20040521.tar.bz2をビルドしたところ、
スタティック版もDLL版も問題なく成功。

早く次の安定版が出てくれればいいのだが…
Doxygenかましたらまともなドキュメントになるのになー
あー、嘘嘘。やってみたけど見にくいわ。
defs.hが痛過ぎる。全部まとめちゃってるから各クラスの解説に定数が出てこねー。ダメダコリャ。

でもメソッド一覧はやっぱりDoxygenの出力使えるといいなあ。
ちゃんとwxApp::MainLoopはvirtualって出るし。それに
wxWindow::SetSize(const wxRect &rect)
って実はサイズフラグも取れるって知ってた?
ドキュメントでは↑だけど、本当は↓これ。
wxWindow::SetSize(const wxRect &rect, int sizeFlags=wxSIZE_AUTO)
Doxygenしてみて初めて気付いた。
ドキュメントとソースを行ったり来たりするのは面土居sage
wxWindowsで作られた有名ソフトって何ですか?
>>799
DELAY_LOAD=delayimp.lib \
  /delayload:ws2_32.dll /delayload:advapi32.dll /delayload:user32.dll \
    /delayload:gdi32.dll \
  /delayload:comdlg32.dll /delayload:shell32.dll /delayload:comctl32.dll \
    /delayload:ole32.dll \
  /delayload:oleaut32.dll /delayload:rpcrt4.dll $(GL_LIBS_DELAY)
を6行まとめて次の1行に置換
DELAY_LOAD=
これは、dll の遅延ロード用の設定で、
delayimp.lib は、遅延ロード用のヘルパーライブラリだと思うので、問題ないはず。

ちなみに、Visual C++ Toolkit 2003 は、
ランタイムライブラリ dll 用の lib が無いので
includeディレクトリに有る use_ansi.h を下記のように変更した

//#pragma comment(lib,"msvcprtd")
#pragma comment(lib,"libcpmt")
#else// _DEBUG
//#pragma comment(lib,"msvcprt")
#pragma comment(lib,"libcpmt")
#endif// _DEBUG
#else// _DLL && !STATIC_CPPLIB
#ifdef _DEBUG
//#pragma comment(lib,"libcpmtd")
#pragma comment(lib,"libcpmt")

さらに、debug 用の static ライブラリも無いので変更
これで出来ました。
807デフォルトの名無しさん:04/05/26 13:57
今日使い始めたわけなんですけど、
windowsでいうとこのSetWindowRgnって、どうやったら実現できるかなぁ?
教えてくださいませ、詳しい人!
808807:04/05/26 15:50
wxFRAME_SHAPED セットした wxFrameに

wxString name("hoge.bmp");
wxBitmap bitmap( name, wxBITMAP_TYPE_BMP );
wxColour color( 0,0,0);
wxRegion rgn(bitmap, color );
frame->SetShape( rgn );

とか、こんな感じでできるけど、リージョンをウインドウの形にできるけど
wxMDIChildFrameだと、うまくいかない。無理ってことかねぇ。
809デフォルトの名無しさん:04/05/26 18:32
LinuxでwxGTK-2.4.2.tar.gzのコンパイルの際、日本語を使用可能にしよう
と思った場合、configureオプションに--enable-unicodeを指定するべきな
んでしょうか?
--enable-unicodeを指定しなくても、setup.hには

#define wxUSE_WCHAR_T 1

となっているので、指定する必要はないんでしょうか?

ちなみに--enable-unicodeを指定して出来たライブラリを使って、Webから
拾ってきたとあるプログラムをコンパイルしようとするとwxStringがambiguous
なんちゃらエラーになってしまいます。
http://www.watch.impress.co.jp/game/docs/20040520/ue12.htm
GameWatchのUnrealのページにこんなスクリーンショットがあったんですが、
wxMaterialEditorってwxWindowsと関係あるんですか?
>>806
サンクス。

ランタイムライブラリのlibは、自分はimpdefを使って作成しました。
msvcp71d.dllやmsvcr71d.dllはネットに落ちてたのを拾って使ってるんだけど、
ライセンス的に平気かな?
保守age
815デフォルトの名無しさん:04/06/24 19:33
Borland C++ BuilderX に preview 載せて、
wxWindows をいじり始めました。
preview の出来は今1歩、いや2〜3歩か。
正式版に期待するかな。

xml パーサが日本語を通さないのが、残念なり。
>>815
UTF-8でASCII以外がだめなの?
ダメすぎ
817デフォルトの名無しさん:04/06/28 19:38
wxWindowsのポーティング説明サイトキボン。





それも日本語サイト
>>817を日本語に翻訳してくれるサイトキボン






それも日本語サイト
wxWidgets
820wxで行くべし:04/07/02 14:05
イベントハンドリングに関する質問です

現在付箋ソフト開発中で、付箋ウィンドウを作ってます。
付箋ウィンドウはwxTextCtrl on wxPanel on wxFrame(wxRESIZE_BORDER)で作りました。
ここで問題です。
このウィンドウのクライアント領域をドラッグして移動できるようにしたいのですが、
wxTextCtrlへのイベントを横取りしてwxFrameで取得するにはどうすればいいでしょうか?

試したのは
1)wxTextCtrl派生クラス作ってOnMouseEvent()でイベント受け取る。
受け取れるけど、イベントをwxFrameに横流しするにはどうすれば?
2)wxEvtHandler派生クラス作ってwxTextCtrlにSetEvtHandler()する。
wxEvtHandlerのProcessEvent()をオーバーライドしたら一見うまくいった様に見えたが、
ウィンドウを閉じると「不正な処理」でエラー

こんな具合ですが、正統な方法があったら情報きぼんぬ

>>820
wxTextCtrlのイベントハンドラから、
wxFrameのインスタンスにはアクセスできない造り?
wxのイベントモデルから言えば2じゃないかな。
ウィンドウを閉じると「不正な処理」というのは回避できそうな気がする。
>>820
wxMouseEvent : public wxEventだから親へ伝播しないわな。
>>821の言う通りなんだったら自分で伝播させんとな。

src/common/event.cpp:884〜の
bool wxEvtHandler::ProcessEvent(wxEvent& event)
は参考にならんかい?

ちなみに2.5だったらこっち
wxEvtHandler::ProcessEventIfMatches(const wxEventTableEntryBase& entry, wxEvtHandler *handler, wxEvent& event);
wxWidget用のRADとかないの?
Eclipseでそういうのあったら最強くさいんだが
820です。

>>821-823
レスさんきゅう。
現在1)の方法を試してます。
wxTextCtrl派生クラスのOnMouseEvent()で
GetParent()->GetParent()->AddPendingEvent(event)
ってやったら問題解消。いまのところはこの方法でいこうかね。

>>824
RADとまで言えるかわからないけど、wxDesignerとかDialogBlocksという、
商用のダイアログエディタならあるよ。

wxDesigner
http://www.roebling.de/

DialogBlocks
http://www.anthemion.co.uk/dialogblocks/
826wxでいきませう:04/07/03 15:32
またまた820です。今度は別の問題へるぷみー

付箋ウィンドウ(wxFrame派生クラス)のスタイルをwxRESIZE_BORDERにすると、
wxTextCtrlが描画されない問題あり。
描画されたウィンドウをマウスでリサイズすれば描画されます。
でも表示直後に描画されないのです。

※スタイルをwxDEFAULT_FRAME_STYLEにすれば最初から描画されます。

子ウィンドウのwxTextCtrlに対してRefreshとかEnableとかSetSizeとか
やってみましたが、解決に至らず。
どうしよう?
827wxでいきませう:04/07/03 16:04
820です。

自解しました。
付箋ウィンドウ(wxFrame派生クラス)のShow()をオーバーライドして
その中でSendSizeEvent()してやったら描画されました。

なんか、質問すると解決する。そんなもんですかね。

P.S.
wxWidgetsって使いやすい。サンプルも豊富でドキュメントもしっかりしてて。
MFCよりずっといいね。って今は.NETの時代?

>>827
wxMSWだとpublic wxWindowなオブジェクトのSizeEventは
最初に表示(Show)された時ではなく、生成された時(Create)に発生する。
だからMyApp::OnInit()でnew,Showする順番が重要。
> なんか、質問すると解決する。そんなもんですかね。

そんなもん。というより
1.質問を書く
2.どういう返事になるか想定する(○○はどうなってる?)
3.出す前に調べる
4.さらなる突っ込みを想定しつつ1or2へ戻る。
というプロセスを繰り返すと大抵の質問は出す前に解決してしまうよね。
>> 809
私は FreeBSD-5.2.1 ユーザですが,misc2.cpp の JoyStick::GetProductName() の
デフォルト値 「(const char) ""」を wxString にキャストできないのが
原因で ambiguous うんたらエラーになっていました,該当部分を
wxString("", strlen(""))に置き換えてコンパイルしたら通りました.
試してみてください.
831名無しさん@そうだ選挙に行こう:04/07/11 14:22
UNIX の雑誌に wxWidgets の記事が載っていました。
立ち読みだったので、誌名は、覚えていません。
その記事に、wxWidgets のコードを自動作成してくれる
RAD のような、ソフトウェアの紹介があります。
>>831
SoftBankのUNIXUser。記事の良し悪しわ分からないけど・・・
書いてる人はNamazuのひとだねー。
zphotoのWindows版を作る時に使ったみたい。
マイナーバージョンが一個増えてるけど翻訳サイトはそのままか
翻訳サイトは3ヶ月くらい進んでないんじゃないの
836:04/07/13 01:43
>834,835
スマヌ、死んでます。別のプログラム(Wiki)で四苦八苦しているのよ。
#うまくいけば翻訳サイトに使うつもりなんだけど……

他のメンバーも忙しいみたいだし。
>>836 乙。

Wikiはツリー構造を実装したメニューがあればリファレンス向きだよね。
JavaのAPIリファレンスのような感じなら。
838デフォルトの名無しさん:04/07/13 02:20
ところでwxPenってWindowsで言うところのジオメトリックペンしか無いですよね
コスメチックペンとか使いたいんですけどwxでは基本的にサポートしていませんか?
839:04/07/15 06:26
おはようございます。
死者2号どす。
840デフォルトの名無しさん:04/07/15 12:08
wxWidgets の Gtk 版を使っていて、
環境変数 LANG が ja_JP のときに、
[No font for displaying text in encoding 'Extended Unix
Codepage for Japanese (EUC-JP)' found.
Would you like to select a font to be used for this encoding
(otherwise the text in this encoding will not be shown correctly?)]
というダイアログがいつもでて困ってるんだけどどうしたらいいかなあ。

FAQ かもしれんけど佐賀市型が悪いのか google ってもわからないので
教えてくださいませ.
841840:04/07/15 18:04
http://www.h3.dion.ne.jp/~k5_n/wxwin/memo/ver0_2.html
に理由が載ってたよ、しょぼーん。
wxGladeというのは使えるものなのですか?
雛形を生成してくれるようですが
sampleの中のファイルが所定の位置からずらすとコンパイルできない。何故だろう・・・
includeもlibも設定してるはずなんだけど
>>842
使えるけど使いにくい・・・
質問です。

以下のようにframeとscrwinを仮定します。
wxFrame frame;
wxScrolledWindow scrwin;

この状態で、
frame->Reparent(scrwin);
scrwin->SetBackgroundColour(何らかのwxColour);
scrwin->Refresh();
とすると、scrwinの背景は所望の色になるけどframeの再描画が中途半端になります。
中途半端とは、frameの枠は描画されるけど、中身は描画されない。

何とかなりませんかねぇ。
845です。
問題はけっきょく未解決ですが、とりあえずは別のアプローチでしのいでいます。
ですが、情報頂けるとありがたいです。

さて、別の問題が発生しました。
wxTreeCtrlのアイテムについて、日本語表示に問題ありです。
日本語を表示させようとすると、アルファベットに変わって表示されます。
まだ、詳しく調べていませんが、情報あったらくださいな。

>>843
コンパイルオプションとか、エラーの内容とか詳しく書かないと無視されるよ
>>846
むしろ君もです。プラットフォームくらい教えてくれよ。
ところでどうしてframeをscrolledwindowの上に貼り付けたいの?
>>847
>プラットフォームくらい教えてくれよ。
失礼しました。
プラットフォームはWindowsXP Proです。

>ところでどうしてframeをscrolledwindowの上に貼り付けたいの?
それは秘密。そういうアプリを作りたいから。

ということで、よろしくお願いします。
845です。
846で言ったwxTreeCtrlの日本語に関する話ですが、wxTreeCtrl自体に問題はありませんでした。
直にwxTreeCtrl::SetItemText()やったらうまく表示されました。
問題はwxTextCtrlの方にあるようです。
wxTextCtrl::GetLineText()で取得されるテキストに問題があるようです。
他のメソッド、例えばGetRange()とかGetValue()で取得するテキストには問題ありませんでした。
これはwxWidgetの問題なのか、回避できるものなのか、どうなんでしょう?
ちなみに文字コードはSJISです。
「問題はありませんでした」「問題があるようです」
その文章読んでもどこに問題があるのかさっぱり分からんが。
×どこに問題があるのか
○何が問題なのか
>>848
何をしたいのかを聞きたいんじゃなくて、
Frameの上にScrolledWindowじゃなくてその逆なのはなんで?ってこと。
MDIぽくしたいのならwxMDIClient/ParentWindowがあるでしょ。
いずれにせよ、説明が情報不足過ぎて再現テストコードすら書けないよ。
wxTextCtrlの問題も同じ。例えば「TextCtrlに入力した文字列をGetLineText
で取得して、TreeCtrl上でSetItemTextして表示しようとしたら文字化けした」
とか、やりたいことを秘密にしたままでも書きようはあるでしょ。
今のところ「よーわからん。Unicode版使ったら?」とか、
ttp://www.geocities.co.jp/SiliconValley-Cupertino/8526/wxWindows/japanese.html
にあるようにロケールの設定をしましたか?」くらいしかコメントしようが
ないよ。
>>852
親切だな漏前。世話好き?
>>853 違うよ。

  説 教 好 き 。
845です。

■Frameの上にScrolledWindowを乗せるのはなぜか?
もともとFrame(Frame Aと呼ぶことにする)としてデスクトップに生成されたウィンドウを、
別のFrame(Frame B)中のScrollWindowに取り込み、その後、もう一度デスクトップ上にFrame Aを戻す、
という動作を実現したい。「MDIぽくしたい」というわけではない。
(もちろん、Frame B 中のScrollWindowに Frame A が取り込まれている状態はMDIのような
状態になる。)

■wxTextCtrlについて
例えば「あいうえお」という文字列をwxTextCtrl中に書く(ウィンドウとして生成されたwxTextCtrlに
キーボードから文字入力を行う)。その文字列をwxTextCtrl::GetLineTextを使用して取り出し、
wxLogMessage()で出力すると「BDFHJ」(半角)と表示される。
wxTextCtrl::GetValueあるいはwxTextCtrl::GetRangeで取得した場合、wxLogMessageの出力結果は
「あいうえお」と正しく表示される。

※wxLocaleについて
wxLocaleオブジェクトを
http://www.geocities.co.jp/SiliconValley-Cupertino/8526/wxWindows/japanese.html
にしたがって生成した。
 static wxLocale theLocaleObj(wxLANGUAGE_DEFAULT);
しかし、上記の「wxTextCtrlについて」で述べた文字化けは起きる。

------------
以上です。
UNIX USERの記事に日本語翻訳プロジェクトとして紹介されていたよ。
794ではないのですが、私もライセンスについてよくわかりません。
商用でスタティックリンクしたい場合、具体的には何をすればいいのでしょう?

>>795にあるライセンスを読むと、商用ですのでもちろんソースコードは公開できません。
よってwxWindows Library Licenceということになるかと思いますが、

1.まずFree Software Foundation, Inc.にメールをだして許可をもらう。
2.そしたら自由にバイナリを販売可能

ということでしょうか?
許可をもらう方法っていうのがまたよくわからないのだけど。
こんなところで聞くような奴は使うなよ。
あれを読んで理解できない奴が判断すること自体、商売としてはリスク大きいだろ。
それともここでどこの馬の骨とも知れない相手にOKと言われたら安心するのか?

マジレスすると
FSF相手にそういうイシューがメールでOKと思っているというレベルでアウト。
米国法に詳しい弁護士を代理人として頼んでFSFに行き、英文で契約書を作成す
る必要がある。
FSFにメール出す必要なんて無いんでないの?

wxWidgetsのライセンスは、LGPLとほぼ同じ。
で、LGPLのライブラリを使った場合の主な注意点は、
・リバースエンジニアリングを禁止できない
・ユーザーがライブラリを入れ替えられるような手段を用意しなければならない
だと思ってるのだけど。
スタティックリンクした場合は、後者の理由により、ソースコードの開示は必要
ないが、オブジェクトの開示が必要になる。
ってことでOK?自信無いが。
ネタニマジレスカコワルイ
861857:04/07/23 03:48
例外2の意味を好意的に解釈すれば、バイナリにしたものであれば、自分の好きな条件で
販売だろうとなんだろうとすることができる、ということでいいのかな。

wxWidgetsのHPをみると、商用ソフトも結構あるみたいだし。
これで多くのWindows用ソフトがマックに移植されたら、マックユーザーにとっては朗報ですね。
言葉の使い方間違ってるぞ。
そういうのは「好意的に解釈」でなく「都合良く解釈」するという。
>>857
混乱の元は
>>795
> LGPLに従うなら、成果物を再配布するときにソースコードも一緒に再配布する必要がある。
だね。明らかに間違ってる。LGPLの場合、こんなことする必要はない。

もっとも、GPLの場合でさえ、成果物の再配布時にソースを添付する必要は無い。
ソースにアクセスする手段を提供しさえすれば問題無い(ソースを置いてあるFTPサイトの
リンクをドキュメントに書いておくなり、ソース請求用はがきを添付するとか)。
>>863
> もっとも、GPLの場合でさえ、成果物の再配布時にソースを添付する必要は無い。
> ソースにアクセスする手段を提供しさえすれば問題無い(ソースを置いてあるFTPサイトの
リンクをドキュメントに書いておくなり、ソース請求用はがきを添付するとか)。

GPLとLGPLではちょっと異なっているので、まずGPL(ver.2)から。

ソース請求用はがきはSec.3のb)を指しているのだと思いますが、
a written offer, valid for at least three years, to give any third
party, (以下略) なので、
ソース請求用はがきなら購入から最低3年はソース提供を保証しないといけないし、
だれにでも(to any third party)出す必要があります。
そのはがきしかダメとか登録ユーザしかダメとかは言えません。

ftpサイトのURLを提示、はb) を指す場合(自サイトで公開)と c)を指す場合
(自分では手を加えないものの本家開発元URLを提示など)が考えられますが、
前者とすればソース請求用はがき同様の縛りがあります。
後者は非商用製品限定、しかもソース提供方式にb)項を利用して自分自身がバイ
ナリ提供を受けた場合限定です。
具体的には、オープンソースソフトでGPL/LGPLなライブラリを使用し、
しかもそれらを自分でビルドしたのではなく他所で用意されたバイナリパッケー
ジを利用した場合、に限定されます。

なおバイナリ配布がオンラインの場合、それと同じ場所で同様にソースを配布す
ることで要求を満たすと見做すことが可能です。
86565:04/07/23 14:13
(続き)

次に LGPL ですが、
LGPL(v2, v2.1とも)では、ライブラリそのものの派生物については明確にソース
同梱を要求されます。

ただしそのバイナリ配布がオンラインの場合に、それと同じ場所で同様のアクセ
スによりソース配布することで要求を満たすと見做せることはGPLと同じです。


LGPLなライブラリをリンクするプログラムの場合、次のどれかが要求されます。

a) 静的リンクの場合、ライブラリの全ソースコード、プログラム側のオブジェ
  クトファイルかソースコードを提供して再リンクできるようにする
b) 動的リンクする (動的リンクしたライブラリ自体には前述の項目によって
  ソース同梱が要求される)
c) GPLのSec.2 b)と似た、最低3年以上のa)で指定されたものの提供オファー。
  ただしGPLと異なり、"give the same user the materials"と書いてあるので
  ユーザ以外に提供しなくても許されます。
d) a)で指定されたものをバイナリ配布と同じ場所・同じ方法で配布
e) a)で指定されたものをユーザが既に持っていることが確実 (なんだそりゃ)

また、プログラムに著作権表示させる際に、ライブラリの著作権表示とLGPLへの
リンクを同時に明示することも要求されています。
86665:04/07/23 14:24
(さらに続き)

wxWidgetsのライセンスは、LGPLを元に、例外としてこれらのバイナリ配布に対
する要求を免除したものと思えばいいです。


他にも条文はありますので、GPL/LGPLでは何が要求されているか、
自分で一度きっちり読んだ方がよいと思います。

なお、一点訂正しておきます。
>>864
×具体的には、オープンソースソフトでGPL/LGPLなライブラリを使用し、
○具体的には、オープンソースソフトでGPLなライブラリを使用し、
867857:04/07/23 18:02
ありがとうございます。
GPL/LGPLについては大体わかるのですが、wxWidgetsライセンスがどういうふうに適用されるのかが
なかなかわからなくて。
特に例外という部分が。

試しにwxWidgetsのHPにリンクしてあった商用ソフトのMojoWorldというソフトのデモをインストールしてみました。
まず、wxWidgetsで作ったという記述は見つかりませんでした。
もちろんソースも添付されていません。
インストールされたフォルダをみると、独自拡張らしきwxmojo.dllというファイルがありました。

つまり、独自拡張したバイナリを添付し、ソースも添付せず、ライセンス表示すらしなくてもOKということになるのかな?
ほかのも見てみます。
86865:04/07/24 02:51
好きな条件で、っていうのはそういうことです。
バイナリ配布のときの要求がのきなみ免除されるので、
ソースをつけなくていいしライセンス表示もことさら出す必要もありません。

と私は判断しますが、商用に使うならここで聞いたことを根拠にしたり、ほかが
そうしているからそれでOKというタコツボ的判断は駄目でしょう。
自信がなければwx-usersに入ってメールで聞いてみるべきではないですか。
作者本人が答えてくれるでしょう。
86965:04/07/24 05:52
メールを漁るとwx-usersにほとんど同じような質問のメールとVZ自身の返答がありました。
ここに貼ろうかと思いましたがちょっと長いのと、ついでに先のポストを整理してwebページにのっけてあります。
http://www.geocities.co.jp/SiliconValley-Cupertino/8526/wxWindows/license.html
をごらんください。
>>869
GJ!一番痒いところに触れてくれましたって感じだね。
871857:04/07/24 06:28
>>869
ありがとうございます!
これで安心して作業に入れます。
でもQtとかのライセンスは平行して使われるわけだよね?
WinやMacはwxWidgetsのライセンスでソース非公開が可能でも
wxWidgets/Qtが商用でもQtのライセンス購買の義務がなくなるとは思えないのだが。
87365:04/07/24 08:16
それは当然です。あくまでwxWidgets部分だけ。
UNIX用にはwxGTKを使って、GTK部分はLGPLなライブラリとして添付するしかないでしょうね、お金持ちでなければ。
>>845
■Frameの上にScrolledWindow
FrameA の上に貼っておいた内容を、MDIParent の上に作った MDIChildFrame
の上に Reparent して、FrameA を消せば同じような操作感を得られませんか?
■wxTextCtrlについて
Unicode版を使っているかぎり再現できませんでした。GetValue/GetRangeは
Win32 API の EM_GETRANGE メッセージを、GetLineText は EM_GETLINE を
使うので、違いがでるのはそのせいかも。
wxGTKそのもののソースが公開されてるなら
wxGTKのsoにリンクする分には何の障害もないってことかな
>>717
失礼。ソース公開(Gtk+)かライセンス費用(Qt)が必要。
wxWidgetsがGtk+を完全に動的リンクでラップしてる場合なら自由が効くかも。
誤爆った。失礼。
gtk+もGPLだったっけ?
誤爆か・・・orz
いやLGPLだが、ライブラリのソース公開と、リンク場所のソースかオブジェクトは見せんといかんでしょ。
wxWidgetsが完全にラップしてくれてるなら、そっちを見せれば後は自由なのか
それともそのコードにアクセスしてる全てのソースorオブジェクトを公開しなきゃいけないのかが知りたかった。

前者ならGtk+を動的リンクしてる限りは何の制限も受けんでいいなと。
>>874
アドバイスありがとうございます

>frame->Reparent(scrwin);
>scrwin->SetBackgroundColour(何らかのwxColour);
>scrwin->Refresh();
>とすると、scrwinの背景は所望の色になるけどframeの再描画が中途半端になります。
これについては、この問題そのものは解決できていませんが、ウィンドウの別の部分の
色を変化させることで対処しました。
>■wxTextCtrlについて
Unicode版ならば大丈夫なのですね。Unicode版にするとWin95を見捨てることに
なりますが、今時そんな問題はなさそうですね。

どうもありがとうございました。
メーリングリストがウィルスばっかで参った参った。
883デフォルトの名無しさん:04/08/02 14:15
キタ━━━━━━(゚∀゚)━━━━━━ !!
http://www.borland.com/products/downloads/download_cbuilderx.html
>>883
うわっ、マジですごいかも。
ボーランドも最後の力を振り絞ったな。

ってVCLがあるのに・・w
これって去年の11月のものを今頃うpしたってことですか?
正直xyzzy+mingwでお腹いっぱい
>>883
・・・だいぶ前からあったぞ・・・
MFCをラップするwxMFCみたいのを書いてます。
でもMFCを書き換えたものなので配布できないよなぁ。
他にやったことある人いますか?
>>888
MFCを書き換えたんなら配布はムリだろうが、MFCをラップしたんなら
配布できるだろ。
WXDEBUG_NEWってwxObject派生クラスしか使えないの?
gettextっぽいのがついてるけど、これって独自実装だよね?
そうじゃなかったらGPLになってるか…。
GNU gettextのうちlibintlはLGPLだと思ったが、それはそれとして、
自前で実装してるよ。
>>892
サンクス。

ところでwxWidgetsの話ではないんだけど、
gettextのpoでShiftJIS使うとき、「表\示」とかエスケープしたら怒られるようになった。
なんでだろうと思いつつ「表示」としてみると普通にmoができて、
それを食わせたプログラムでもちゃんと文字化けしないででてきたわ。
これでいちいち気にしなくて済むかのぉ。
894デフォルトの名無しさん:04/08/20 03:24
そろそろ、インスコ方法とかまとめない?
では叩き台をどうぞ。
  _, ._
( ゚ Д゚) ・・・

  _, ._
( ´ Д⊂ ゴシゴシ

  _, ._
( ゚ Д゚) ・・・
スレッドのサンプルがthreadの実行中にアプリケーションを終了すると
ハングするんで調べてみたら、
Delete()メソッドってスレッドが終了するまで制御を返さないんですね。
いちいちwxConditionとか使ってシグナルを待機する必要なかったのか。。

898デフォルトの名無しさん:04/08/21 20:05
やってみたいけど、エラーインストールの方法がよく分からないんです。
どうすれば、いいんですか?
VC .NET2003 でつ。
エラーインストールって何かよく分からないんです。
それは、何ですか?
エラーをインストールするんですけど?知らないんですか?
はつみみです。
自分で調べて試行錯誤したほうがためになります
2.6.0 Stable 1/9/2004 -
WX_2_6_0 This will be a stable release, hopefully with full XTI (extended RTTI) coverage.

あと1週間〜♪
904デフォルトの名無しさん:04/08/26 16:30
ほしゅのひょーん
stock buttonsの議論がなかなか収まんなくて。
ようやく結論めいたものが出てきたが。

んで次に出るのは2.5.3で、2.6は十月までお預けだとか言ってるような。
Windows用に作ったアプリケーション(wxWidgets2.4.2)を、
Linux上(wxWidgets2.5.2 Gtk2 Unicode)でコンパイルしようとしています。
コンパイル自体は通るのですが、
例えば、以下のようなコードを含んでいると、

wxMessageBox(
wxString::Format(_("hogehoge %s"), _("hoge")),
_("Test"),
wxOK
NULL);

下のような警告がでて、

警告: cannot pass objects of non-POD type `class wxString'
through `...'; call will abort at runtime

実行してみると、このダイアログを表示するところでsegmatation faultを起こします。

wxMessageBox(
_("hogehoge hoge"),
_("Test"),
wxOK,
NULL);
のように直接リテラルを渡した場合は、警告もでず、問題無く動作するのですが。。。

いったいなにが問題なのでしょうか?
ポインタだけでも示していただけるとうれしいのですが。。

環境はg++3.3 wxWidgets2.5.2で、--enable-gtk2 --enable-unicodeにてコンパイルしてあります。
%sにはwxStringじゃなくてwxChar*を渡す
>>907
ありがとうございます。

おれってすごいバカなのでは。。これで2時間も考えこんでました(;´Д`)
帰ったらさっそく試してみます。

wxWidgets Discussion Forum
http://www.solidsteel.nl/users/wxwidgets/
910デフォルトの名無しさん:04/09/13 21:04:02
wxWidgets と wchar
ttp://diary.imou.to/~AoiMoe/2004.09/middle.html#2004.09.13_s02

>>892
libintlがLGPLになったのは0.10.40から。割と最近の話だな。

>>893
0.10.36からUCS normalization化されて、Shift_JISとかBig 5なども
普通に取り扱えるようになってる。「\」を入れたpoを使う場合には
環境変数OLD_PO_FILE_INPUTを設定する(これはまともに文書化されて
なかったような)。ただ最近のGNU gettextでも有効かどうかは知らん。

ところでwxWindows日本語プロジェクトって放置プレイ状態?
Webは更新されてないし、MLアーカイブにはspamが入っているし。
911:04/09/13 22:38:40
>910
ごめん、放置プレイ。

C++離れてRubyでWiki作ってまつ。なかなか完成しません。
wxRubyでも翻訳しようかな……
912デフォルトの名無しさん:04/09/14 09:51:53
お兄ちゃん、日記に愚痴書いてるだけじゃなくてパッチ投げてよ……。
913デフォルトの名無しさん:04/09/16 22:30:19
wxRubyで任意のメモリ上のイメージを表示するにはどうしたらいい?
Image、Bitmapのオブジェクト(wxだとヴィジェット?)は作れるんだけど表示のさせ方がわからない…○| ̄|_
914デフォルトの名無しさん:04/09/17 01:30:22
wxRubyなど使ってないから知らん。
素のwxWidgetsの知識でよければ、wxBitmapはそのまま貼れたはず。
915デフォルトの名無しさん:04/09/17 13:40:16
画像と同じサイズの wxEmptyImage を作成して,
SetData() でrgb のデータ列を突っ込んでみたらどうかな.
916913:04/09/18 11:44:06
遅レスすまん
>>914,915
レスthx
表示する方は試行錯誤繰り返していたら何とかなってきました。
メモリ上のイメージの表示はset_data()でできました。
917デフォルトの名無しさん:04/09/19 11:43:54
ステータスバーにプログレスバーを表示させるってどうやったらできる?
918デフォルトの名無しさん:04/09/19 22:57:33
Rubyスレから誘導されて来ました

wxRubyなんですが、イベントをトリガーにして画像を書き換えて表示したいのですが画面が書き換わってくれません
現在はおおざっぱにこんな手順になっています。
1) イベントを捕まえる
2) 書き換えたいオブジェクトのDCを生成 (PaintDC)
3) 書き換えるBitmapオブジェクトのDCを生成
4) 3で用意したDCをblitで2で生成したDCにCOPY
5) 2で生成したDCを解放
コードを実行した最初のMyFrameの初期化時には画像は表示されるのですが、ボタンとかツールバーのイベントから
上記の手順を実行しても画面に反映されません。
いったんウィンドウを他のウインドウで覆ってから再度アクティブにしてPAINTイベントを発生させると画面に反映されます。
何か肝心な手順が足らないと思うのですが何が足らないのでしょうか?

wxWidgetsを使うのは初めてだったりするので使い方が間違っている用語とかあったらゴメン
919デフォルトの名無しさん:04/09/20 00:29:45
イベントが任意のイベントだとするとwxPaintDCを使うのは間違い。
920デフォルトの名無しさん:04/09/20 12:04:18
>>918
wxWindow::Refresh

ttp://wxwindowsjp.sourceforge.jp/docs/html/wx/wx411.htm#wxwindowrefresh

を呼べばいいのでは。
921918:04/09/20 13:49:06
レスありがとうございます。
wxWindow::Refreshで画面を書き換えられました。
922デフォルトの名無しさん:04/09/20 19:04:48
ListEventが発生していないときにListCtrlの現在選択されている項目の場所を取得するにはどうしたらいい?
923デフォルトの名無しさん:04/09/20 20:05:06
wxListCtrlは複数選択を許す
C++では多値を返す枠組がない
のでそのものずばりのメソッドはない。
状態を持つようにするか、ループで一つ一つ調べれ。
924デフォルトの名無しさん:04/09/20 23:55:54
>>923
thx
状態を持つようにしました。
925デフォルトの名無しさん:04/09/21 00:09:30
FileDialogって、最後に開いたディレクトリを覚えているようなんだがどこに記憶しているんだろう?
それともwxRubyのみの挙動なのか?
926デフォルトの名無しさん:04/09/21 00:43:47
wxConfig
927デフォルトの名無しさん:04/09/23 02:06:44
ロードマップが修正されたよ
http://www.wxwindows.org/roadmap.htm
2.5.3 Development 17/10/2004 - WX_2_5_3 This will hopefully be the last unstable release before 2.6.
2.6.0 Stable 1/12/2004 - WX_2_6_0 This will be a stable release.
928デフォルトの名無しさん:04/09/23 02:43:39
本当にちゃんと出るんだろうか。意地でもクリスマスには間に合わせそうな気も
するが、現状wxgtkとか結構ダメだしなあ。
929デフォルトの名無しさん:04/10/01 15:25:55
wxRubyで日本語を表示させるときに使用する文字コードって
プラットフォームによって変化したりする?それとも共通?
とりあえずWin2000Pro上ではSJISじゃないとダメなようだが…
930デフォルトの名無しさん:04/10/02 00:11:31
>>929
LinuxだとEUCみたいですね
wxPerlでしか確認してませんが
931292:04/10/02 00:46:47
>>930
thx
げふっ…ソースコードの使い回しをするのはかなり大変そうだな…○| ̄|_
932デフォルトの名無しさん:04/10/02 00:47:41
言語リソース分離したらいけない?
933デフォルトの名無しさん:04/10/02 01:45:28
ユーザが使うlocaleの設定によって違う。
UNIXだと多くの人はEUCだけど今はUTF-8の人も少しいて、
そのうちそういう人が増えるかも知れないし、
UNIXでもSJISを使ってる人や環境もあることはある。
従って特定の文字コードでソースに埋め込むということ自体があまり正しくない。

C++のソースコードと同じように _T() という関数で全リテラルを括るようにし
て、_T()ではuconvでも使ってスクリプトファイルの文字コードからlocaleに合
わせた文字コードに変換する、とするのがいいんじゃないか。

一番いいのは>>932のいうように分離する方法だけどね。
Rubyにもgettextあるんだし。Rubyのgettextはどうか知らないが、wxWidgets
が自前で持つgettextはメッセージカタログが違う文字コードで書いてあっても
自動で変換してくれるから、C++の場合は言語で分けさえすれば後はあまり考え
なくてよかった。

一番手抜きなのはユーザが適宜自分のロケールに応じた文字コードへ変換して
それをインストールしてくださいというもの。ただしインストールするソフトを
マルチユーザが共有することを考えてない糞方針でもある。
934デフォルトの名無しさん:04/10/02 08:47:14
wsWindowsというよりは、Rubyの仕様の問題だよな。
実行環境とスクリプトのlocaleを一致させなければならないんだろ。
935929=931:04/10/02 11:48:57
931の名前欄間違えた…○| ̄|_

>>932-933
レスthx
言語リソースを切り離す方法と前リテラルを関数で変換する方法を検討してみます。

>>934
そんなことはないと思うけど…
mswinなインタプリタでも日本語がUTF-8なスクリプトでもちゃんと走るし
出力時にSJISに変換すればコンソールへも正常に表示できるけど…
936デフォルトの名無しさん:04/10/03 00:39:35
>>933
wxWidgetsはlibintlに相当する部分を自前で持ってるみたいだから、
細かいことは気にしなくてよさそうだけど。
937デフォルトの名無しさん:04/10/03 01:23:39
ごめん。>>936は忘れてくれ。吊ってくる。
938デフォルトの名無しさん:04/10/03 06:34:57
Unicode板使って,Ruby側で文字コードの違いを吸収したらどう?
939デフォルトの名無しさん:04/10/03 13:45:58
Ruby側というのがいまひとつ不明瞭だけど、wxWidgetsのunicode版を使うには
ワイド文字列にして渡さないといけない。
Rubyから渡された全文字列についてwxRubyがMB2WXやってくれているならそれでOKだが、
今の実装がそうなってるかどうかはwxRuby使いでない俺は知らない。
940デフォルトの名無しさん:04/10/03 23:14:29
やべえ。bin/lifeがはまる。
941デフォルトの名無しさん:04/10/04 00:04:17
wxRubyのImageってバグ持ちか…?

イマイチ発症条件が絞り込めていないのだが
頻繁に書き換えてあるImageオブジェクトをしばらくさわらず
別の場所でガンガン処理をしたあとに利用(Image#copy)しようとすると
wxRubyがクラッシュするような…

しょうがないので原始的な方法だがクラッシュしそうな箇所の
手前でImageオブジェクトを再生成している
942デフォルトの名無しさん:04/10/04 01:26:35
バックトレースきぼん
943941:04/10/04 21:06:03
>>942
Winのプログラミング経験もほとんど無い俺にはムリ…
944デフォルトの名無しさん:04/10/06 22:31:35
>>941
チミんとこの環境は?
945941:04/10/06 22:53:08
>>944
Win2000Pro(SMP)、Ruby 1.81、wxRuby 0.5.0
WinXP Pro、Ruby 1.81、wxRuby 0.5.0
どっちでも症状が出ます
946デフォルトの名無しさん:04/10/08 13:49:32
wxWidgets でクロスプラットフォーム GUIアプリを作ろう
http://namazu.org/~satoru/pub/uu-2004-08/
947デフォルトの名無しさん:04/10/08 14:13:14
サイザーって片仮名で書かれるとかなり間抜けだな。
948デフォルトの名無しさん:04/10/08 15:19:02
> wxWidgets には次のような制約があるからである。
>
> * ボタンやラベルなどのほとんどの部品はサイザーの上にしか乗らない。
949デフォルトの名無しさん:04/10/08 15:33:53
聖帝
950デフォルトの名無しさん:04/10/08 16:39:20
この記事より既にwebにあるページの方がよっぽどましだねえ。
こうして適当な事書き飛ばして評価を下げていくんだな、と思った。
951デフォルトの名無しさん:04/10/08 16:46:26
これが横着プログラマの限界か。
952デフォルトの名無しさん:04/10/08 17:37:28
ひとまず次スレ案

【GUI】wxWidget(旧wxWindows) その2【ツールキット】
953デフォルトの名無しさん:04/10/08 18:23:51
前が「のひょーん」だったから次は「はにゃーん」きぼんぬ。
954デフォルトの名無しさん:04/10/08 18:31:55
テンプレ案その1

クロスプラットフォームGUIライブラリのwxWidgets(旧wxWindows)について語りましょう。

本家
 http://www.wxwidgets.org/
wxWindows日本語プロジェクト
 http://wxwindowsjp.sourceforge.jp/
dW : Linux : wxWindowsの概要
 http://www-6.ibm.com/jp/developerworks/linux/010413/j_l-wxwin.html
SunWorld Online:wxWindows――無名だが成熟したGUIツールキット
 http://www.idg.co.jp/sw/back/200102/20010219_01_report.html
メルマガ
 http://www.mag2.com/m/0000108320.htm
955デフォルトの名無しさん:04/10/08 18:34:23
956デフォルトの名無しさん:04/10/08 20:00:06
>>947
漫画かなんかの雑魚敵みたいだな
957デフォルトの名無しさん:04/10/08 20:06:39
聖帝を愚弄するな
958デフォルトの名無しさん:04/10/08 21:08:01
【GUIライブラリ】wxWidgetsではにゃーん 2
959デフォルトの名無しさん:04/10/08 22:25:45
愛を!もっと愛を!
960デフォルトの名無しさん:04/10/09 00:42:58
>>956
それはジャギ
961デフォルトの名無しさん:04/10/09 17:50:33
>>952 に一票
962デフォルトの名無しさん:04/10/09 18:06:39
よく考えたらwxWidgetsなんだよな
             ~
952のには"s"が足りない
963デフォルトの名無しさん:04/10/09 19:54:00
【聖帝】GUIライブラリwxWidgets その2【サイザー】
964デフォルトの名無しさん:04/10/09 21:10:49
サイザーってどっかの雑誌みたいだな
965デフォルトの名無しさん:04/10/10 01:01:59
聖帝はサイザーではなくサウザーですよ
966デフォルトの名無しさん:04/10/10 01:51:54
>>965
ネタニ(ry
967デフォルトの名無しさん:04/10/10 03:57:09
サイザーは大鎌持った金髪美女のほうだ
968デフォルトの名無しさん:04/10/10 05:12:16
notus が、なかなか使えるようにならないね〜。
boost とかに毒されてきて、もう wxWidgets が気持ち悪くてたまらん。
969デフォルトの名無しさん:04/10/10 11:29:37
モダンなC++のスタイルで書きたいってのはある
オフィシャルでそういうラッパーみたなのあっても
いいんじゃないかな?

で、ゆくゆくはレガシーなスタイルなほうがラッパー経由
になるみたいな
970デフォルトの名無しさん:04/10/10 11:54:04
>>969
portability的にどうかな?
971デフォルトの名無しさん:04/10/10 13:15:25
>>964
なんかそういうロゴどっかで見たなーと思ったらこれだった
ttp://www.kyz.uklinux.net/cabextract.php
972デフォルトの名無しさん:04/10/10 14:16:37
wxRubyのMyFrame内部でraiseがArgumentErrorになってしまうんだが仕様か?
973デフォルトの名無しさん:04/10/10 15:21:17
【月刊】GUIライブラリwxWidgets その2【サイザー】
974デフォルトの名無しさん:04/10/11 15:58:35
>>969
モダンなスタイルであればVCFはどうでしょう?
Visual Component Framework (VCF)

ttp://vcf.sourceforge.net/
975デフォルトの名無しさん:04/10/11 16:01:33
スレタイにwxWindowsも入れないと過疎化しちゃうぞ
976デフォルトの名無しさん:04/10/11 17:22:56
wxWindows の検索結果のうち 日本語のページ 約 1,790 件
wxWidgets の検索結果のうち 日本語のページ 約 900 件

微妙なところだな…
977デフォルトの名無しさん:04/10/11 19:49:17
【悲しき】GUIライブラリwxWidgets/wxWindows その2【聖帝】
978デフォルトの名無しさん:04/10/11 20:20:43
【GUI】wxWidgets(旧wxWindows) その2【ツールキット】

でいいじゃん
「ツールキット」で検索する人もいるかもしれないし
GUIライブラリには違いないけどね
979デフォルトの名無しさん:04/10/11 20:25:00
Google的にマルチプラットフォームも入れたいが、ちょと長くなってしまうな。
980デフォルトの名無しさん:04/10/11 21:08:45
サイザーは是非とも入れてほしい。
981デフォルトの名無しさん:04/10/11 22:55:32
Fedora Core 2のC++で使っている人いませんか?
wxWindowsのインストールをどうやったのか、教えてください。
982デフォルトの名無しさん:04/10/11 23:32:01
apt
983デフォルトの名無しさん:04/10/11 23:42:01
>>981
Fedora Extrasに入ってるじゃん。
984デフォルトの名無しさん:04/10/11 23:45:06
>>981
この程度のことすらできんやつがプログラムなんかできるのか?本気で疑問だ。
985デフォルトの名無しさん:04/10/12 00:54:16
まぁ誰もが最初は初心者だ
986デフォルトの名無しさん:04/10/12 02:21:45
>>974
適当にながめて見たけど、モダンって言うよりか、
なんとなく90年代っぽいな〜、なんて思ってみたり。
987デフォルトの名無しさん:04/10/12 05:02:41
988しりとり:04/10/12 09:56:55
フェミニーナ軟膏 → 【う】
989デフォルトの名無しさん:04/10/12 10:31:38
うめ
990デフォルトの名無しさん:04/10/12 11:32:18
めかぶ
991デフォルトの名無しさん:04/10/12 13:25:53
992デフォルトの名無しさん:04/10/12 15:20:28
>>990
ブサイク
993デフォルトの名無しさん:04/10/12 16:29:45
生め
994デフォルトの名無しさん:04/10/12 17:20:20
>>992
クマー
995デフォルトの名無しさん:04/10/12 18:34:44
>>994
ま○こ
996デフォルトの名無しさん:04/10/12 18:37:35
うめ
997デフォルトの名無しさん:04/10/12 19:48:15
>>995
睾丸
998デフォルトの名無しさん:04/10/12 19:49:03
あ、終わってもうた
999デフォルトの名無しさん:04/10/12 19:50:45
先着一名様に1000ゲットの権利↓
ほ、ほーっ、ホアアーッ!! ホアーッ!!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。