03/05/06 11:04
クロスプラットフォームGUIライブラリのwxWindowsについて語りましょう。
本家
URLリンク(www.wxwindows.org)
dW : Linux : wxWindowsの概要
URLリンク(www-6.ibm.com)
SunWorld Online:wxWindows―無名だが成熟したGUIツールキット
URLリンク(www.idg.co.jp)
メルマガ
URLリンク(www.mag2.com)
1はこれからインストールします
2:デフォルトの名無しさん
03/05/06 11:15
でのひょーん?
3:デフォルトの名無しさん
03/05/06 11:16
のひょーんスレの予感
4:デフォルトの名無しさん
03/05/06 11:36
以降、このスレは「のひょーん」で1000目指すスレになったとさ。
5:デフォルトの名無しさん
03/05/06 11:38
のむひょん
6:デフォルトの名無しさん
03/05/06 12:23
サンプルのコンパイルできました!
ドキュメントを四苦八苦しながら読むと、ライブラリのコンパイルとか書いてあるので、
コンパイルしなきゃ使えないのかな、と思ったらそんななかったようです。
VCのincludeファイル参照に
<ライブラリを解凍したdir>\include
<ライブラリを解凍したdir>\contrib\include
libファイル参照に
<ライブラリを解凍したdir>\lib
<ライブラリを解凍したdir>\contrib\lib
を追加するだけでオッケーでした。
7:デフォルトの名無しさん
03/05/06 13:07
ゲームとか作れるの?
8:デフォルトの名無しさん
03/05/06 13:21
>>1
おまえ、
URLリンク(slashdot.jp)
見て立ててみただけちゃうんか
9:デフォルトの名無しさん
03/05/06 13:28
>>7
ゲームは関係無い。
10:デフォルトの名無しさん
03/05/06 13:28
公式サイトのtranslateで訳してみたが、
天然UIとでた段階で読む気なくした。
11:デフォルトの名無しさん
03/05/06 16:26
俺もこのメルマガ読んで始めようとおもったけど
MinGWでうまくコンパイルできなかった。
12:デフォルトの名無しさん
03/05/06 18:12
>UNIX/Win32および (若干の制限はありますが) BeOSのもとでは、
>非GUIクラスだけを含むwxBaseライブラリーも構築可能です。
>また、wxWindowsをDLLとしてコンパイルしていない場合にも、
>でき上がる実行可能ファイルは非常に小さくなります。 たとえば、
>最小のサンプル・アプリケーションをWindowsプラットフォーム用の
>Microsoft Visual C++ でコンパイルすると、 400 Kバイト未満になります。
最小のサンプルアプリでも400kb近くあんの?
13:デフォルトの名無しさん
03/05/06 18:25
>>12
DelphiとかMFCスタティックリンクに比べれば大したことないと思うけど。
14:デフォルトの名無しさん
03/05/06 19:19
要する労力を考慮すれば商用コンパイラ使ったほうが安上がりだ。
15:デフォルトの名無しさん
03/05/06 21:53
>>14
つーかここコンパイラのスレじゃないでしょ。
16:デフォルトの名無しさん
03/05/06 21:55
とりあえずGtkやQtに比べてドキュメントが少ないから手出すの躊躇してたんだよねぇ。
とりあえずメルマガに期待か?
17:デフォルトの名無しさん
03/05/06 22:05
GUIがネイティブに近いのは気に入った。
18:デフォルトの名無しさん
03/05/06 22:29
どのぐらいまでクロスプラットフォームで使えるのかな。
コンパイルし直せば、Windows、Linuxで使えるレベルまでいくのだろうか。
19:デフォルトの名無しさん
03/05/06 22:57
>>14 買えば?
URLリンク(www.wxwindows.org)
20:デフォルトの名無しさん
03/05/07 03:21
FOXとどっちがいいの?
21:デフォルトの名無しさん
03/05/07 11:30
>>16
俺もメルマガ登録したけど、こういうのってすぐ配信が止まっちゃうんだよね。
モチベーションが続かないんだろうけど。
22:デフォルトの名無しさん
03/05/10 13:07
URLリンク(slashdot.jp)
今度はグラフィック、ゲーム用フレームワークだって。
現時点では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でのインストール記書いたので、
上の環境の方は参考にしてくれ
URLリンク(www.debilotte.net)
GPLプログラム作るためのモノなんで、DLL不要のプログラムを作る
環境になっています。
だれか、Debian(sid)+Anjuta+wxWindowsでまともにプロジェクト
作れるヒトいる?
25:デフォルトの名無しさん
03/05/10 14:20
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出たばかりだわ。
URLリンク(www.fox-toolkit.org)
29:bloom
03/05/10 15:13
URLリンク(homepage.mac.com)
30:の
03/05/10 15:26
FOXのWebページ見てみたけど、主な違いは
・対応プラットフォーム
-wxWindowsはMacに対応
・Linux上で必要になるライブラリ
-wxWindowsはGTK+/Motifが必要
・ライセンス
-wxWindowsはスタティックリンクしたバイナリをソース無しで配付可能
・ライブラリの対応範囲
・プログラムスタイル
-wxWindowsはクラスを継承してプログラムするスタイル。
main関数すら隠蔽しているし。
-wxWindowsはマクロをバリバリ使ってます。
かな?間違えていたらごめん。
wxPythonとかはあえてシカトしています。興味ないし。
31:デフォルトの名無しさん
03/05/10 15:30
ひょーんで脱力。でも笑った。
32:デフォルトの名無しさん
03/05/11 10:55
日本語オッケー?
33:の
03/05/11 18:47
>32
UTF-8に対応しているので、多分8bitクリーンでしょう。
wxWindowsでこんなアプリ作ったけれど、文字化け等の問題は今のところ無し。
URLリンク(www.debilotte.net)
ただ、(上でも書いたけど)EUC-JP/SJIS対応は甘いので、ICUとかと
併用したほうが無難かも。
(FAQでも解るけど)この程度の認識だしね。
URLリンク(www.wxwindows.org)
34:デフォルトの名無しさん
03/05/15 10:46
メルマガ、早速配信延期かよ!
35:デフォルトの名無しさん
03/05/15 18:12
もうだめぽ
36:の
03/05/17 23:51
Classes by category
URLリンク(www.wxwindows.org)
間違いあったら指摘ヨロ
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って
ドラッグ&ドロップと日本語入出力をサポートしていますか?
47:bloom
03/05/18 07:11
URLリンク(homepage.mac.com)
48:の
03/05/18 13:08
>45
サンキュー。確かにvaridatorの説明を読むとそんな感じですな。
#ValidatorはGoFのMediatorパターンを実装したものみたいですし。
Validatorはユーザーからの入力をフィルターするのを想定しているので、
「イベント~」に見えるのかも。
>46
してます。
URLリンク(www.wxwindows.org)
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
のって、ダサイね。
53:デフォルトの名無しさん
03/05/18 16:15
最近使い始めたよ。
ダサいけど実用的で良いね>wxWindows
ScintillaとかOGLとか、使えそうな追加ライブラリがあるのもいい感じ。
54:デフォルトの名無しさん
03/05/18 18:59
○ 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とかかしら。
55:デフォルトの名無しさん
03/05/19 16:43
ライセンスの読み方がよくわからないんだが
ドキュメントに関するライセンス事項(URLリンク(www.wxwindows.org))
これって
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
『翻訳した文もこのライセンスに縛られるけど、自由に配付していいよ』
つうことを言っているのかと……
※『このライセンス文を修正したものは除く(配付してはいけない)』
※つう例外はあるけど。
57:デフォルトの名無しさん
03/05/20 02:06
>>56
サンクスコ。がっつり翻訳してみます。
wxWindows 普及促進サイト作りました。
URLリンク(dot-gray.s33.xrea.com)
58:デフォルトの名無しさん
03/05/20 02:26
>>57
おお、すばらしい!
あげ!
59:デフォルトの名無しさん
03/05/20 08:14
>>57
神降臨
キタ━(゚∀゚)━( ゚∀)━( ゚)━( )━(゚ )━(∀゚ )━(゚∀゚)━!!!!
60:動画直リン
03/05/20 09:11
URLリンク(homepage.mac.com)
61:デフォルトの名無しさん
03/05/20 16:16
標準C++(STL)とwxWindowsとSDLを組み合わせればかなり応用範囲の広い
マルチプラットフォームプログラミングが出来るような気がしてきた
62:の
03/05/21 01:19
>56
おつかれ。
やっぱり、こういう風にまとまっているといいよね。
あと、細かい所だけど、
> Line 5-7 : #pragma hbrstop
#pragma hdrstop
だと思う……プリコンパイルに関連するpragmaですな。
63:デフォルトの名無しさん
03/05/21 10:06
>>62
うほ
お恥ずかすぃ。
64:デフォルトの名無しさん
03/05/21 21:18
おい、お前等。
やっとこさ、”wxWindows を使用したマルチ・プラットフォーム開発” の
URLリンク(dot-gray.s33.xrea.com)
半ばまで訳せましたよ。
お陰さまで私、精も根も尽き果てましたので
”プログラミング戦略”以下の 4 ファイル
URLリンク(dot-gray.s33.xrea.com)
URLリンク(dot-gray.s33.xrea.com)
URLリンク(dot-gray.s33.xrea.com)
URLリンク(dot-gray.s33.xrea.com)
誰か訳してください。
お願いします。
で、訳後ファイルを↓にうpって下さい。
URLリンク(dot-gray.s33.xrea.com)
本当にお願いします。
僕はもう駄目です。無理です。
65:デフォルトの名無しさん
03/05/21 21:35
乙。
> 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の影響を受けている……。
66:65
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
乙です。
翻訳アリガトー。
私、知らない環境の話になると、
英語力が足りなすぎて
ニッチもサッチも行かなくてとてもお困りでしたの。
サソーク直してきま
68:65
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.
ウィンドウをスタックに作るなゴルァ。削除の遅延が出来なくなるじゃねーか。
69:65
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 氏
72:デフォルトの名無しさん
03/05/21 23:50
おまいら神!漏れも勉強してみよっかなっと。
73:デフォルトの名無しさん
03/05/21 23:57
URLリンク(life.fam.cx)
74:デフォルトの名無しさん
03/05/22 00:12
>>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 は指定でいい思いまつ。
仕様にするとそれはそれで変になると思う。
なんか、話がとっ散らかっててしてスマソ。
76:デフォルトの名無しさん
03/05/22 01:27
形になってきたら sourceforge.jp に翻訳プロジェクトとして申請してみれ。
77:の
03/05/22 02:30
おお、盛況ですな。
>75
案1)の方がC++としては自然ですな。
C++では、ポインタの指しているオブジェクトが配列かそうでないかを
識別することができないんだよね。
#詳しくはARMの5.3.4あたりを参照
オブジェクト配列を割り当てたのにdeleteを使用してしまった場合の挙動は
未定義(だいたいの場合はメモリリーク)になるから、『自分で始末しろ』て
いってんじゃない?
……delete[]した後にdeleteするのもなんかマズい気もするけど……
ポインタを0クリアする必要ないのかなぁ?wxObjectのdelete演算子で
0クリアするように実装しているのかな?
78:54 = tofu ◆fS6u1o5e6Q
03/05/22 06:35
早起きしたので wx25.htm 適当訳を
URLリンク(dot-gray.s33.xrea.com) にうpりました。
誤訳の責任が他にいくと申し訳ないのでコテ。
79:65
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
スレリンク(accuse板)l50
81:65
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は、
プログラムにさほどのオーバーヘッドを与えない。オーバーヘッドも、
文字列操作がより簡便となったこと(つまりより少ないコードで済む
ということだ)によってチャラになる。
他のデータ型についても同様である。可能な限りクラスを使え。
82:65
03/05/22 07:35
移植性の戦略
相対位置指定やSizerを使え
[訳注: Constraints positioningは既にobsoleteである。そのため、sizer
に置き換えて文章を構成した。容赦願いたい。]
出来うれば、パネルの要素の絶対位置指定はやめよ。GUIが異なればパネルの
要素の大きさも随分と違うのである。多少はプログラムの手間が増えるかも知れ
ないが、Sizerの使用を検討せよ。
別解として、プラットフォーム毎に、それぞれ少しずつ数値の違う別々の.
wrc(wxWindowsリソースファイル)を用意する方法もある。もしくは、問題を避け
るためにパネル要素の間を十分に空けよ。
wxWindowsリソースファイルを使え
可能な限り .wrc (wxWindowsリソースファイル)を使え。これは、ソースコー
ドとは独立に簡単に編集できる。ビットマップリソースはプラットフォームに
よって異なるビットマップをロードするようにも設定できる(リソースファイ
ルの項を見よ)。
~ ~ ~
たぶん、Windowsでもパネル要素の大きさは大きいフォントと小さいフォントで
違うのではないかと思います。
83:72
03/05/22 10:54
>>69関係について、新参ですが、こーゆー事を言ってるんじゃないでしょうかねぇ。
何かのクラスのメンバーに例えば wxBitmap *pBitmap = new wxBitmap[N];
とかってやった場合はキチンと自前で delete [] pBitmap; ってやれ、って
事じゃぁないでしょうか。
wxWindows勉強まだ始めてないんで、かなり推測なんですが、wxWindows では
動的にアロケートされたwxWindows用のオブジェクトを終了時に勝手に delete
してくれるようになってるんじゃないですかね。で、その自動化機構によって
配列に delete かけるとマズいから、配列を動的に確保した場合はキチンと
delete [] を明示的にユーザー側でやってちょ。と。
全然違ったらスマソ
84:デフォルトの名無しさん
03/05/22 12:39
Mingw(+MSYS)でコンパイルしたいのですが。
MingwのインクルードファイルとwxWindowsのインクルードファイル間で
構造体の宣言が衝突してエラーになります。
どなたか回避方法とかわかる方いらっしゃいますか?
85:84
03/05/22 12:59
ググったら、なんかそれっぽいのがあったです。
とりあえず下記を参考にインクルードファイルを修正してコンパイル中。
URLリンク(lists.wxwindows.org)
コンパイル通ったらまた来ます。
86:灰
03/05/22 13:31
おー、なんかすげー勢いになってる。
取り急ぎいろいろと。長文、乱文、アンカーミスあったらスマソ。
>>78 早起き過ぎ。
文責関係は私も気にしなきゃいけない気がしてたので
文書として明文化しておきました。
URLリンク(dot-gray.s33.xrea.com)
あー、なんか俺必死っぽい(藁
>>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期待してまつ。
87:65
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++試して。
88:84
03/05/22 18:29
出来たので報告。
環境はMingw2.0.0+MSYS1.0.8。
install-msw-2.4.0.txtに書いてある手順だけではうまくいかなかったので、
追加で必要だった作業を書いておきます。
★MingwのWindows APIパッケージは最新の2.3にしておく
★URLリンク(lists.wxwindows.org)
上の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のドキュメントの翻訳、乙です。
日本語のドキュメントなどが揃えば、新たな利用者も増えて、
スレ活性化で、情報増えて(゚Д゚)ウマー
漏れは英語苦手なんでアレですが、がんがってください!
89:デフォルトの名無しさん
03/05/22 20:48
とりあえずコンパイルで苦労したくない人に対しては
DevPakとDev-C++を薦めたほうがよさげだね
URLリンク(citymap.slyip.com)
90:灰
03/05/22 23:01
>>88
キタ━━━(゚∀゚)━━━ !!!!!
> 漏れは英語苦手なんでアレですが、がんがってください!
ぶちゃけ、みんな苦手だと思うYO!
漏れ工房んとき、馬鹿すぎて英語教師に黒板けし投げつけられたことあるYO!
しかも当たったョ・・・、黒板けし。・・・糞、・・・氏ね、英語教師。
>>76
遅レスだがソースフォージか・・・、cvs 使えるのがえらい魅力的っぽいんだけど
そこまですんのも・・・。
週末に擬似 cvs ちっくな cgi いれよかな。
メールでパス発行して、期間限定(一週間ぐらい?)のチェックアウト。
コミットした文書はいったんトランク(?)に突っ込んで、
コミッター3人以上の認証が得られれば本コミットみたいな・・・。
面倒くさいか。
あと、皆様。
文責・著作権関係を以下に纏めてみたんだけど、
これでいいのかな?
こういうの書くのって初めてなのでよくわからないです。つっこみキボン。
URLリンク(dot-gray.s33.xrea.com)
んじゃ、ちょっくらマージしてきまふ。
91:65
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の説明) を読まなきゃいけない。
漏れはそこ読みたいけどその前に訳をまとめときたいのでいまはむりぽー。
93:84
03/05/23 00:27
>>灰氏へ
普及促進サイトの
URLリンク(dot-gray.s33.xrea.com)
のページ中で(以下翻訳不能って所を訳してみました。
一部推測と意訳混じってますが、もし良かったら使ってください。
以下訳。
wxWindowsを制御するメイクファイルは、各Windowsコンパイラー用の物がMS-Windowsディレクトリ(src/msw)に入っているし、
Unix版を使っているならビルドディレクトリの中に入っている。このビルドディレクトリはユーザーが選ぶことが出来ます。
configureスクリプトを実行する時のカレントディレクトリがビルドディレクトリとなります。
このディレクトリは、標準的な基本ディレクトリ(そうするには./configureコマンドを実行すればよい)でも良いし、
他のどんなディレクトリ(例えば、先に基本ディレクトリの上階層にビルドディレクトリを作っておいて
そこで../configureコマンド実行するとか)でも良いです。
94:84
03/05/23 01:33
調子に乗って第二弾♪(w
以下のページを訳しました。
URLリンク(dot-gray.s33.xrea.com)
おかしかったら、指摘してください。
以下訳。
アーキテクチャ依存
マルチプラットフォーム対応なプログラムを書いていると時々、
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件
URLリンク(www.google.co.jp)
configureコマンド 約17,900件
URLリンク(www.google.co.jp)
96:灰
03/05/23 02:02
>>32-33
亀レス。
MBCS系のお話。
下によるとにゃんかこんばーたまで用意されてるみたいね。
タイトルだけでぜんっぜん読んでないでけど
>> の氏 いかがでしょこのあたり。
Unicode support in wxWindows
URLリンク(dot-gray.s33.xrea.com)
wxMBConv classes overview
URLリンク(dot-gray.s33.xrea.com)
あとね、マジでまるちぷらっとふぉーむでごりごり行きたい人は
これをみとくと良いかもよ。
Supported classes by port
URLリンク(www.wxwindows.org)
一応スレへのふぃーどばっく(?)つーことで。
97:84
03/05/23 02:11
>>95
自分で書いておいてあれですが、漏れもスクリプトだと思います。(w
シェルスクリプトのひとつですよね?なんでコマンドって書いたんだろ?
漏れ的にはスクリプトはテキスト、コマンドはバイナリってイメージです。
ところで、もういっちょ訳しました。URLは↓です。よろしくお願いします。長文スマソ。
URLリンク(dot-gray.s33.xrea.com)
以下訳。
条件コンパイル
wxWindowsの目的の一つは、乱雑で理解するのを混乱させ得るソースコード中の条件コンパイルの必要性を減らすことにある。
しかし時々、プラットフォーム固有の機能(MS-Windowsにおけるメタファイルの使用など)を組み込む必要が出てくることがある。
もしかするとsymbols.txtに載っているシンボルは、ユーザーが用意(定義)したシンボルと一緒に、この目的のために使用されるかもしれない。
98:灰
03/05/23 02:33
長文スマソ。
>>97
禿同。
テキストベースはスクリプト、
バイナリベース単機能型はコマンド、
同多機能型はアプリケーション、
って思ってたけどどうやら違うらっすいね。
んで、翻訳乙です!
明日(っつかもう今日か) >>97 はマージします。
>>94 はマージしました。
また、両文併記だけど、もう今日は限界。
ねむりまふ。
もう、ほんとヘナチョコですまん。
あー、最後に
翻訳者の方々へ。
URLリンク(dot-gray.s33.xrea.com)
上にあるとおり翻訳者名をすでうめこんでまふ。
今のところ”数字”で名乗ってる方々は数字のまんまつっこんでるんですが
ちゃんとしたハンドルで埋め込まれてー方はご一報くだされ。
99:の
03/05/23 03:04
>91
wxBitmap::~wxBitmap()の説明なんかを勘案して、こんな感じかと……
「もしもあンたがwxWindowsがクリンナップ(処理)を行うオブジェクトの
C++配列を割り当てることにしたンなら、(プログラム?関数?)終了(処理)時
みたいにwxWindowsが配列を削除する機会を得る前にてめぇできっちり
やっときなよ。配列メンバのdelete呼び出しはメモリ問題を招きやがるからな」
やっぱり(C++)配列だと思う。
でも、なんでメモリ問題をおこすのかな?オブジェクト配列の各要素が
デフォルトコンストラクタで作成されるから、それによって扱いが特殊になる、
つうこと?
教えて!!詳しいひと!
>96
いいですな。
ただ、確かEUC-JP/SJISはサポートしていない罠。
週末チャレンジしてみますか。
100:デフォルトの名無しさん
03/05/23 04:00
>>99
詳しくはないけど"C++ Array"が通常のC++配列(new wxBitmap[N];で確保した配列)
のことだとした場合に考えられる問題は>>83にも書いてある通り
delete[]で削除すべきオブジェクトをdeleteで削除してしまう問題が発生するのでは
101:デフォルトの名無しさん
03/05/23 07:15
wxBitmapから辿ってソースを眺めてみたところ
wxObjectRefDataクラスが参照カウンタをもっていて
wxObjectのm_refDataメンバにwxObjectRefDataの派生クラスのオブジェクトを指すことで
wxObjectのRef(),UnRef()メンバを使ってwxObjectRefDataの派生クラスのオブジェクトを
管理することができるようになっているみたいです
これがwxWindowsが自動的に削除するオブジェクトの仕組みだとすると、
参照カウンタが0になって削除されるのはwxObjectRefDataの派生クラスのオブジェクトのほうで
>>83も>>87も問題なさそうな気がするのでもしかしたら的外れかもしれない・・・
102:65
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 は中途半端に和訳しております。
何かの参考になるやも・・・。
URLリンク(dot-gray.s33.xrea.com)
(すでについて行けなくて他人事気分。うへ。)
(´-`).。oO(なんか、神の多いスレだなぁ・・・)
104:101
03/05/23 20:18
>>102
wxObjectはすべてのクラスの基本クラスで参照カウントオブジェクトがいらないクラスもあるので
UnRefはm_refDataがNULLかそうでないかを見てm_refDataを触るかどうか判断しているみたい
で、UnRefするとm_refDataをNULLにしてRefや代入で新しくm_refDataに参照カウントオブジェクトを指すまで
UnRefはm_refDataには触らないようになっているので、メモリ問題と参照カウントオブジェクトは関係ないかもしれない
話をややこしくしたみたいでスマソ
105:65
03/05/23 22:08
>>104
102は101を見てから書いたわけではないので。単にだぶっただけです。
RefDataが破壊されても他に残ったwxObject(あれば)のm_refDataはNULLになった
りはしないので、cleanupで強引に破壊されるとしたら(これが怪しいんですが:<)
可能性はあるんじゃないかと思いますが。
CleanUp()からも辿ってみたけどwxBitmapを片してるところが見つからず。
106:デフォルトの名無しさん
03/05/23 22:55
あー、やっとメルマガのサンプルをコンパイルできたー
107:デフォルトの名無しさん
03/05/23 23:50
俺もやってみるかな。
108:灰
03/05/24 00:24
これちぇっくついでに訳しますた。よろしぅ。(まだうpってないけど
URLリンク(dot-gray.s33.xrea.com)
>>81 の1個目の訳
>さくさく使うのは良い習慣だ。ASSERTは、成立すべき、ないしせざるべき
どーでもいいがさくさくでワロタ。
仕事モード直後だったんでツボにはまりますた。
>>106
おお、おめー。
やっとってことは何か問題発生?
>>107
コレ結構おもろいですお。
メルマガのバックナンバーってココで読めるのね、知らなかった・・・。
URLリンク(backno.mag2.com)
109:デフォルトの名無しさん
03/05/24 00:37
wxStringの冒頭部分を機械+手で訳してみました。
wxString wxStringは文字列を表すクラスです。
これに関する詳しい情報に関してwxString概観を見てください。
そこで説明されるように、wxStringはstd::stringのメソッドの約90%を実行します。
(iteratorはサポートしていないので、それを使用するすべてのメソッドも未サポート)。
これらの標準関数がこのマニュアルに記述されないので、STLドキュメンテーションを見てください。
これらのすべての機能のふるまいはそこで説明されたふるまいと同じです。
引き出します。
親クラス
なし
インクルードファイル
<wx/string.h>
事前に定義されたオブジェクト
オブジェクト: wxEmptyString
参照
概観
ファンクショングループ
110:106=109
03/05/24 00:40
あ、「引き出します。」はなしで。
>>108
いえ、こっちがちゃんとドキュメントを読んでないから、いろいろ躓きました(w
111:灰
03/05/24 01:41
>>109
またキタ━━━(゚∀゚)━━━ !!!!!
これまた、地味かつディープなところで、・・・凄くナイスです。
早速取り込みますです。
>>110
やっちまったんですな。
何はともあれ乙でした。
112:灰
03/05/24 01:51
あ、あの。
クラス、関数のどきめんとは某翻訳プロジェクトを真似て、
(URLリンク(www.shibu.jp))
見出しは訳さない方向でいこかとおもーてまふ。
見出しの訳語を統一する手間も省けるし
そのままの方が馴れでわかりやすいと私もおもーてますので。
なので、以後それ系ドキ、見出し徹底放置で。
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は軽く触っただけなので、間違えていたら指摘ヨロ
115:デフォルトの名無しさん
03/05/24 02:46
wxWindowはフリーでマルチプラットフォームなMFC
widestudioはフリーでマルチプラットフォームなBCBのサブセット
116:65
03/05/24 04:05
>>112
個人的には見出しは訳した方がいいと思うけどね。
どういう情報がどこにあるか探すのにわかりやすい方が楽でしょ。
あるときに読む必要のある文章というのは全然多くないのだから、
なまじ本文をだらだら訳すよりもそういう箇所をすぐに見つけられるように
する方が同じ時間をかけるなら役に立つんじゃないかと思ったりしてるぐらい。
117:65
03/05/24 05:22
あ、>>116の後半は一般論です。翻訳プロジェクトとか日本ユーザ会とかには
木を見て森を見ずというが多いように思うので。水をかけるようでスマソ。
118:デフォルトの名無しさん
03/05/24 10:31
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 エキサイト :英和辞書 URLリンク(eiwa.excite.co.jp)
goo (国語辞書) URLリンク(www.goo.ne.jp)
専門語辞書参照サービス URLリンク(www.nova.co.jp)
接頭辞(prefix) URLリンク(www1.ttv.ne.jp) yano/prefix.htm
接尾辞(Suffix)(abcde) URLリンク(www1.ttv.ne.jp) yano/suffixabcde.htm
接尾辞(Suffix)(fghi) URLリンク(www1.ttv.ne.jp) yano/suffixfghi.htm
接尾辞(Suffix)(klmno) URLリンク(www1.ttv.ne.jp) yano/suffixklmno.htm
接尾辞(Suffix)(pqrstuvwxy) URLリンク(www1.ttv.ne.jp) yano/suffixpqrstuvwxy.htm
google(オーディエンス用) URLリンク(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
スマソ。
123:65
03/05/24 14:26
>>gray氏
乙です。精力的ですな。
wxWindowsでの日本語について少し書いてみました。指摘よろ。
URLリンク(www.geocities.co.jp)
日本語リテラル埋め込みで使う分には知らなくても使えちゃう部分もありますが。
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ページを見て思ったんだけど、
原文と対訳を併記するのはどうですかね?
誤訳の修正を期待するなら、こっちのほうがいいと思う……
サンプル
URLリンク(www.debilotte.net)
#そういや、ドキュメントパックはURLリンク(www.wxwindows.org)
#からダウンロード可能ですな。docbookが無いのは寂しいですが……
126:の
03/05/24 15:55
そういや、前にもあったけど、 sourceforge.jp に登録してみる?
みんながCVS使えるようだとsourceforgeも便利なんだけどね。
127:65
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"とはこのことを指している
のかな?
#それ以上はトレース出来無かったけど。
129:65
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とかだったら、まだわかりやすいんだけど……
取りあえずは、『オブジェクト配列は使うな』つうことですかねぇ
131:デフォルトの名無しさん
03/05/24 18:57
ところでpython使っている人、wxpython入れると、(windowsだと)toolフォルダに
XRCedっていうGUIビルダがついているのはご存知で?
他はwxDesigner,標準でついてくるらしいwxrceditかなぁ。
wxpythonではboa
URLリンク(boa-constructor.sourceforge.net)
っていうのがあるみたい。
スクリーンショット
URLリンク(boa-constructor.sourceforge.net)
見るとよさげなのでこれから遊んでみます。
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 案のサンプルこさえてみますた。
URLリンク(dot-gray.s33.xrea.com) // サンプル
デザインはアレとして、結構いける気がしまつ。
いかがでしょ?
134:灰 ◆v/.u/aNe9w
03/05/25 03:58
>>126
> そういや、前にもあったけど、 sourceforge.jp に登録してみる?
そんな気軽に利用でけるの?詳しくないのでわからんです。
プロジェクト(?)の具体的な目標、成果物を決めてからのほうがいいと思ってみたり。
個人的な目標では、wxWindows の概要・思想・方向性についての
文書の和訳の完成(not 全ドキメント)が目標だったりします。
(具体的な部分(クラスの仕様等)は、今後どんどん変わってく可能性が高いので・・・)
>>128-130
メモリリーク関係のwikiDocs。
URLリンク(wiki.wxwindows.org)
マニュアルの件については同じ内容しか書いてないけど、
それ系の内容がまとまってるんで参考になるやも。
あと、ここ検索すっといいのが掘れそうな気がするんだけど
うまい事掘り出せないっす。
埋まってないのかな?既に耕されてまふか?皆様。
URLリンク(lists.wxwindows.org)
>>131
蛇使いなんで興味アリでつ。
漏れも(・∀・)ダウソスルー!
連続長文スマソ。
135:灰 ◆v/.u/aNe9w
03/05/25 04:01
>>132
訂正
> んで、そうなると訳のチェックはみんなで出来るようになるから
↓
> んで、そうなると訳のチェックは読者に任せられるから
あ、朝日が・・・。
136:65
03/05/25 06:16
>>133
ハマってますなー。
> ここ何日かの作業の感想からいうと、
> 文書の品質チェック(偉そうでスマソ)は脱糞するほどきついことがわかりますた。
> 一人でやるのはむりぽ。
>
> やるのであればコミッター制度(>>90)の導入が必要不可欠だと感じておりまふ。
> それか別案があれば提出プリーズ!
とりあえずここに貼るのはどうでしょう。
> あと、原文リンクが必要なのは同意なので、
> >>125 案+>>127 案のサンプルこさえてみますた。
> URLリンク(dot-gray.s33.xrea.com) // サンプル
>
> デザインはアレとして、結構いける気がしまつ。
> いかがでしょ?
おお、いいじゃないですか。見出しの原題はちょっと工夫欲しいかも。
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: ")";
}
とか?
137:65
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と直接関わらないものはスルーしてました。
138:tofu
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 は長いのでアプロダに。URLリンク(dot-gray.s33.xrea.com)
原文併記にしてありますが、どういう状態がマージする時に楽なんですかね。
139:tofu
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(.*)$/, 'URLリンク(www.wxwindows.org)')
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
なお、変換後のサンプルは
URLリンク(debilotte.net)
から参照してください。
#そのうち削除するけどね
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 でみた夢を追いかけて旅立ってみようかとおもってみたり。
150:65
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ります。
さんくすこー! > かす氏
154:デフォルトの名無しさん
03/05/27 02:48
win98seだとコンパイルできん
155:デフォルトの名無しさん
03/05/27 08:41
コンパイラとそのバージョンは?
156:デフォルトの名無しさん
03/05/27 11:03
Win98でコンパイル・・・
157:デフォルトの名無しさん
03/05/27 23:52
あげよう
158:灰 ◆v/.u/aNe9w
03/05/28 00:19
某氏より、メールにてwxSizerの和訳頂戴いたしますた。
URLリンク(dot-gray.s33.xrea.com)
乙でふ!>某氏
本家をあさってたらおもろいもの見つけますた。
URLリンク(etpmod.phys.tue.nl)
URLリンク(etpmod.phys.tue.nl) (gettext Japanese translation sample)
ヤン氏いかしすぎ。
あと、ロードマップ・・・。Σ(゚д゚ )ペース早!
URLリンク(www.wxwindows.org)
159:山崎渉
03/05/28 12:32
∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎―◎ 山崎渉
160:tofu
03/05/28 20:11
wxURLクラスの説明 wx405.htm を訳しました。
例によって灰さんのアップローダをお借りしてます。
URLリンク(dot-gray.s33.xrea.com)
>>灰さん
前回訳したwxFTP wx165.htm なんですが、
wxFTP::GetInputStream の部分、以下の訂正をお願いできませんか。
wxStreamのseek機能のほとんどを利用できる。Seekはすべてのストリームで利用可能なわけではない。例えば、httpまたはftpのストリームはそれに対処しない。
↓
あなたは、seek機能を除いて、wxStreamのほとんどの機能を利用できる。seekは全てのストリームで利用可能なのではない。例えば、httpやftpのストリームはそれを処理しない。
ご面倒おかけしますがお願いします。
161:デフォルトの名無しさん
03/05/29 02:17
wxWindowsでスプライトは使えないんですか?
162:デフォルトの名無しさん
03/05/29 03:31
7upだけ
163:デフォルトの名無しさん
03/05/29 04:13
>>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をサポートしているブラウザはあまり無いようですな。
ここ参照
URLリンク(www.zspc.com)
166:の
03/06/01 15:11
SourceForgeのプロジェクトページを作りました。
URLリンク(sourceforge.jp)
URLリンク(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ページに自動的に反映されるように設定してみます。
169:デフォルトの名無しさん
03/06/02 00:33
Mac OS X 版の screenshot がちゃんと AQUA で表示されていて感動した。
日本語入力も出来るなら、これを機に C++ 勉強してみようかな。
170:の
03/06/02 02:04
SourceForge.jpのCVSに、灰さんのヘッダ情報を織り込んだマニュアルソースを
置きました。
興味のあるかたはCVSでゲッツしてください。
#自動化は面倒くさそう……取りあえずはWeekly位を目安に手動でアップすかね……
>169
C++は、その生い立ちと目的がとんがっているから、言語的にかなり狂った
仕様になっているけど、やっぱり使っていて面白いよ。
お手軽なのはRubyかPythonにまかせるつもりでC++と付き合うといいと思う。
171:デフォルトの名無しさん
03/06/02 11:03
メルマガの作者ってココ見てるのかな?
アンケート答えてあげたい気はあるんだけど、なんか身元がバレるのが
嫌なので勘弁してくれ、ってのは結構あるんですよね。
仕事場からしかインターネットに繋げられない身としては特に…
172:灰 ◆v/.u/aNe9w
03/06/02 12:54
>> の氏
す、、、すまないっす。
和訳ファイル上がっているのに気が付きませんでした・・・。
あと、権限を頂いておきながら申し訳ないのですが、
SFの翻訳プロジェクト来週から参戦します。
>>169
win版は問題なく入力できますね。
mac版はどうなんだろう?
173:tofu
03/06/02 16:49
>>のさん
手続きありがとうございました。
早速チェックアウトしてみました。
で、
コミットするファイルは、
URLリンク(wxwindowsjp.sourceforge.jp)
みたいにしたほうが良いんですかね?
174:169
03/06/02 20:52
どうもです。普通に build しただけではダメでした。IM は起動した物の、フォント
が豆腐になってしまいました。Font の指定が必要なのかな。
試してみたのは samples の text です。
175:デフォルトの名無しさん
03/06/02 21:51
じゃ、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以外ダメですね……
URLリンク(sourceforge.jp)
euc-jpに変更します……トホホィ
178:の
03/06/03 03:15
>177
自己フォロー続き。
up終わりました。これでまともに読めるはず……
179:灰 ◆v/.u/aNe9w
03/06/03 22:25
乙です。
>>176
原文へのリンクに使うアイコンを作ってみますた。
えれーシンプルな一品でふ。
URLリンク(dot-gray.s33.xrea.com)
>>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
せっかくなんで前作ったサンプルに原文アイコン適用してみますた。
URLリンク(dot-gray.s33.xrea.com)
182:デフォルトの名無しさん
03/06/03 23:35
ぶっちゃけ、MFCイヤーンな人の逃げ場になりますか?
183:デフォルトの名無しさん
03/06/04 00:43
こんなのはいかが?
・<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>
184:デフォルトの名無しさん
03/06/04 00:53
う・・・ブロックレベル要素かどうかってどうやって調べるんだろ。
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はちょっと抵抗あるなぁ。
いいとは思うけど……
186:デフォルトの名無しさん
03/06/04 10:25
>>182
どういうところがイヤーンなのかによると思うけど
187:tofu
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を訳シマシタ。
URLリンク(wxwindowsjp.sourceforge.jp)
190:の
03/06/07 02:32
wxSizerをマージしました。
URLリンク(wxwindowsjp.sourceforge.jp)
191:デフォルトの名無しさん
03/06/07 09:22
ガン(・∀・)ガレ!!
192:_
03/06/07 09:32
URLリンク(homepage.mac.com)
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 の和訳をしてくださった神が現れますた。
URLリンク(dot-gray.s33.xrea.com)
ありがたやありがたや。
取り急ぎ私のローカルに保存しておきました。
これは、私がSFに参戦した時に責任を持ってcvsに持ち込みます。
参戦者で漏れが取り込んでやるぜなかたがいればやってもらっちゃっても良いです。
その際はご一報くだされ。んでは。
197:の
03/06/09 00:42
>196
CVSとWebの両方にマージしました。
この文の翻訳者のymasuda [y.masuda@acm.org]さんは新しく
SourceForgeに参加された方です。
wxPythonがメインとのことですが、ドキュメント翻訳は取りあえず
一緒に行うことになっています。
よろしくお願いします。>ymasudaさん
#といってもこっちは見ていないかな?
198:灰 ◆v/.u/aNe9w
03/06/09 23:30
>>197
ありがとう。
199:の
03/06/11 01:10
カテゴリ別クラス一覧上ったナリよ。
長かった……
URLリンク(wxwindowsjp.sourceforge.jp)
200:デフォルトの名無しさん
03/06/11 05:04
|u^=)・・・
201:の
03/06/12 02:33
増田さんからcommitがありましたのでwebページの方に反映しておきました。
ありがとうございます>増田さん
URLリンク(wxwindowsjp.sourceforge.jp)
URLリンク(wxwindowsjp.sourceforge.jp)
URLリンク(wxwindowsjp.sourceforge.jp)
URLリンク(wxwindowsjp.sourceforge.jp)
あと、寝るまえに関数の目次を訳しました。
訳す必要が無いような気も少ししますが……
URLリンク(wxwindowsjp.sourceforge.jp)
202:ymasuda
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でビジュアルが著しく違う?
URLリンク(wxwindowsjp.sourceforge.jp)
たった今、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機能付き共同翻訳作業用のイメージを作ってみた。
まだ、ファイルの更新は出来ないんですがそれいがはほろほろと動きます。
いらねーかなー。
URLリンク(dot-gray.s33.xrea.com)
URLリンク(dot-gray.s33.xrea.com)
207:灰 ◆v/.u/aNe9w
03/06/13 17:35
so-su
URLリンク(dot-gray.s33.xrea.com)
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を翻訳しました。
URLリンク(wxwindowsjp.sourceforge.jp)
>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てた・・・。鬱だ・・・。
213:デフォルトの名無しさん
03/06/14 21:04
2.4.1リリース
214:65
03/06/14 22:09
ぼちぼちとメッセージカタログの翻訳やってます。
ようやく一通り済んだのでよければ突っ込む前に見てやってください。
URLリンク(www.geocities.co.jp)
旅行に行ってて遅れたので知らない間に2.4.1が出ちゃってたのが残念。
215:デフォルトの名無しさん
03/06/14 23:39
細かいセンテンスごとにWikiみたいに翻訳に参加出来るのはいいアイデアだね。
216:の
03/06/15 00:55
>214
見れぬぅ~
リンクをミスっているみたいですな
217:65
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)
とか設定しています。
221:デフォルトの名無しさん
03/06/15 14:31
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用に作りますた。
URLリンク(dot-gray.s33.xrea.com)