【C++】マイナーGUIツールキット (686) TOP カテ一覧 スレ一覧 2ch元 削除依頼
Lisp Scheme Part37 (268)
【C++】高速化手法【SSE】 (884)
C/C++の宿題片付けます 166代目 (138)
画像処理 その14 (120)
画像処理 その14 (120)
MSX-BASICの奥義を伝授するスレ (782)

【C++】マイナーGUIツールキット


1 :03/10/09 〜 最終レス :2013/10/02
とにかくdat落ち必死なこの話題をどうかひとつ。
関連スレ:
【GUIライブラリ】wxWindowsでのひょーん
http://pc2.2ch.net/test/read.cgi/tech/1052186697/

2 :
Fox
http://www.fox-toolkit.org/
SOL++
http://home.att.ne.jp/green/atlan/index.html
たけのこ
http://www5.plala.or.jp/antun/bamboo/shoot/index.html

3 :
GUI Toolkit Framework Page
http://www.geocities.com/SiliconValley/Vista/7184/guitool.html

4 :
OpenAmulet
http://www.openip.org/
Fltk
http://www.fltk.org/
V
http://www.objectcentral.com/vgui/vgui.htm

5 :
An embedded Linux application environment. Chosen by IBM and Sharp.
http://www.trolltech.com/products/qtopia/
組み込み用Qt

6 :
人が来なくたってsage保守し続けるからな!
ネタがないときは俺がサンプルコード書きまくるからな!

7 :
【Qtopia関連】
SLライブラリドキュメント
http://more.sbc.co.jp/sl_j/doc/reference.htm
Qtopia (パームトップ環境)
ttp://www.trolltech.com/developer/download/qtopia.html
Qt/Embedded (GUIツールキット)
ttp://www.trolltech.com/developer/download/qt-embedded.html
Qt Reference Documentation
ttp://doc.trolltech.com/2.3/
Qt リファレンス翻訳
ttp://www.kde.gr.jp/~ichi/qtdoc-ja.html
【開発環境整備】
ZaurusZone Howtos
ttp://www.zauruszone.com/howtos/
Unofficial Zaurus FAQ
ttp://www.newbreedsoftware.com/zaurus-faq/
Zaurus Development Version of DemoLinux bootable CDROM (人柱募集中)
ttp://www.pellicosystems.com/devolinux/zdevolinux/

8 :
【開発プロジェクト】
Zaurus-ja (日本語環境整備)
http://zaurus-ja.sourceforge.jp/
Zaurus Open Source Development
http://sourceforge.net/projects/zaurus/
OpenZaurus
http://openzaurus.sourceforge.net/
Open Palmtop Integrated Environment (Opie)
ttp://opie.handhelds.org/
GPE: The GPE Palmtop Environment
ttp://gpe.handhelds.org/
Debian Zaurus
ttp://people.debian.org/~mdz/zaurus/
【ソフトウェア】
IpkgFind (バイナリパッケージ検索)
ttp://ipkgfind.handhelds.org/
Zaurus Software Index
ttp://killefiz.de/zaurus/
Konqueror/Embedded (Webブラウザ)
ttp://www.konqueror.org/embedded.html
布目 for Qtopia 1.0 (日本語手書き入力)
ttp://www.sikigami.com/nunome-Qtopia-1.0/
【その他】
Zaurus.LovesLinux.com (ニュース)
ttp://zaurus.loveslinux.com/
Linux Links (リンク集)
ttp://www.linuxlinks.com/PDA/Zaurus/

9 :
知らんのもいくつかあるな。
是非続けてくれ。

10 :
NTK
http://ntk.yi.org/

11 :
GUI Toolkits for The X Window System
http://freshmeat.net/articles/view/928
X Development Tools
http://cbbrowne.com/info/xlibs.html
WindowMaker の GUI widget セット WINGs
http://members.ozemail.com.au/~crn/wm/wings.html
C++ じゃなくてスマソ。WINGs 単体で使えないかな。

12 :
期待age
Non-GUI の、フレームワーク系ライブラリって混ぜちゃダメ?
MUSCLE: Multi User Server Client Linkage Environment
http://www.lcscanada.com/muscle/

13 :
皆様情報サンクストン
非C++、Non-GUIもщ(・д・)щバッチコイ!!

14 :
JLIB - A C++ porting of java.awt.*
http://codeproject.com/library/jlib.asp

15 :
winBe: The BeOS API on Win32
http://homepage.ntlworld.com/nathaniel.cross/

16 :
>>1
そろそろネタ切れだろ
そろそろ話題振ってくれよ

17 :
>>16
まぁ基本的に>>1は脇役だからな!
コード例とか追加情報が欲しいライブラリをリクエストしてくれると助かるな!
そしたら>>1が勝手に色々知らべてくるからな!
更に>>16が理想のGUIライブラリなんかについて
語ってくれたりすると嬉しいかもな!

18 :
ちなみに>>1はboostのようなモダン設計のGUIライブラリを
探しているのだが、中々見付からないんだよな!

19 :
>>18
MLで話題にはなっているみたい。
詳しくは見てないので、どなたか結論教えて〜。
[boost] GUI/GDI template library
http://lists.boost.org/MailArchives/boost/msg49854.php

20 :
>>19
Boost infoにも載ってたな!
http://user.ecc.u-tokyo.ac.jp/~s31552/wp/boost/memo/
その後E. Gladyshevはサンプルコードを書いて、
(http://lists.boost.org/MailArchives/boost/msg50043.php)
さらにそいつを↓のプロジェクトに発展させた模様だ!
Notus
http://sourceforge.net/projects/notus/
>Modern GUI/GDI template library.
>Notus is an attempt to build a portable GUI framework
>using design concepts of modern C++ libraries such as STL and boost.
policyは今のところWin32とwxWindowsが用意されてるみたいだな!
まだまだ発展途上だが、wxのモダンなラッパーとしても期待できるかもな!
こいつは要チェックや!サンプルコードはしばし待て!

21 :
GUI ツールキットのイベントループの実装を説明している資料って無いでしょうか。
コールバックの登録とか、イベントの通知とか。
fltk と fox のソースを試しに眺めてみましたが、select とか poll してるなぁー
って感じで、いまいちよく分からなかった。。。
唯一見つけたのがこれです。
ttp://www.asahi-net.or.jp/~cv8t-hdk/fox/fox-doc.ja/faq.ja.html#CALLBACKS

22 :
>>21 と絡むのかな?絡まないのかな?
GUIからのイベントを捕まえるのに、大きく分けて
・リスナインタフェース登録型
・コールバック関数登録型
・IDディスパッチ型
・派生してオーバーライド型
があると思う。
C++的には、どれが適しているんだろう?
GCがないからハンドラの寿命を管理する必要があるんだが、
循環参照が生じやすいため、参照カウント法との相性が悪いのが気になっている。
イベントの送受信構成が動的に変わらないんだったら、
それほど問題にはならないかもしれないけど。

23 :
>>22
 ATL/WTL の「インタフェイス登録式+デフォルト実装提供式」は「使う側」にとっては
結構便利ですよ。なぜテンプレートベースかというと、標準実装においてインタフェイスに
出さない内部的な処理( 以下の例だと IUIAdonerImplWindowless::CreateFont ) を仮想関数
無しで置き換えられるのと、標準実装においては定義していないメンバ変数、メンバ関数も
利用して実装が書けるから( 同 IUIAdonerImplWindoid::GetWindow )。
以下は単純化した例。
class IUIAdoner {
public:
 virtual font get_textFont(void) = 0;
};
template class<T>
class IUIAdonerImplWindowless {
protected:
font m_font;
 void CreateFont(font& f) { f = SysCreateFont(); };
public:
 IUIAdonerImpl() { T::CreateFont(m_font); }
 virtual font get_textFont(void) { return m_font; }
};
template class<T>
class IUIAdonerImplWindoid {
public:
 IUIAdonerImplWindoid() {}
 virtual font get_textFont(void) { return SysGetWindowFont(T::GetWindow()); }
};

24 :
>>23
テンプレートうんぬんの部分は、
abstruct class と本質的に変わらないんじゃ?
class IUIAdonerImplWindowless : public IUIAdoner {
protected:
 virtual void CreateFont(font& f) { f = SysCreateFont(); }
...
};
効率性とか、コンストラクタで呼べるとかは抜きにして。
ATL/WTLの自己言及的テンプレートって、結局はvtableケチってるだけでしょ?

25 :
>>24
vtbl だけじゃなくて abstruct class の個数が増えるのも嫌ってるんじゃない?
IUIAdonerImplWindoid の方を abstruct class でやろうとすると、IWindow なんてのを使って、
T::GetWindow() のところで (dynamic_cast<IWindow*>(this))->GetWindow() とすることになる。
効率性とか記述性とか抜きにして本質を比べたら、UIイベントを特定のスレッドにシリアライズ
するかしないか、くらいしか手法の違いって無くなっちゃうような。。。

26 :
>>25
確かに記述性はいいね。
継承リストに、付け加えるだけで、オーバーライドの効果があるわけだし。
ただ、WTLの方法って、やっぱり最上位のラッパーなんだよな。
WTLの場合はWindowsコモンコントロールにあたる、
きちんとした下層ライブラリがあってこそ生きてくる。

27 :
Chain of Responsibility.
ttp://homepage.mac.com/mkino2/oop/chainOfResp/index.html
ttp://www.kmonos.net/wlog/sub/cpp_cor.php

28 :
>>21
私も探してみましたが、やはりまとまった資料は見当たらないですね…
各種ツールキットの実装に関する資料を一つ一つ巡るしかないかもです。

29 :
FLTK っていつの間に UTF-8 サポートしたの?
http://www.fltk.org/poll.php?r16

30 :
サポートしてないから投票してるんじゃ?

31 :
なる。excite about って言うくらいだからもう実装したのかと思ったよ。
今しばらく Xlib 直叩きが続きそう・・・。

32 :
ていうかUnicodeサポートしてるGUIツールキットって何があるの?けっこうあるの?

33 :
有名どころでは Gtk+, Qt, Tcl/Tk がそう。FOX は次のメジャーアップデートでサポート
予定。FLTK も 2.0 からは UTF-8 にしたい

34 :
ありゃ、途中で送信しちゃった。
FLTK も 2.0 からは UTF-8 にしたいという話は何度も出ている。アンオフィシャルで
UTF-8 パッチもあるよ。

35 :
wxWindows もだべ。

36 :
Unicode サポートは要らないからマルチバイトサポートくらいはして欲しい。
下層ライブラリでせっかく用意されているのに、、、

37 :
GUI部品図鑑
ttp://white.sakura.ne.jp/~rryu/gui-book/
他にもGUI部品の解説サイトってありませんか?

38 :

http://white.sakura.ne.jp/~rryu/gui-book/

39 :
いいのないかねえ

40 :
Windows ルックアンドフィールで、モダンなGUITKがあると、助かるが、
いろいろやろうと思ったときは、結局ATL/WTLに行き着いたりして。

41 :
>>40
細かいことをやろうとすると、やっぱり生のWin32を使いたくなることも多いよな。
LinuxでQt/GTKなんかでGUIプログラミングしているひとは、生のXlibを叩きたくなることはあるんだろうか?

42 :
>>41
Athena/Motifでは日常茶飯事だけど
Qt/GTK+ではプロトコル拡張とかしない限りほぼない

43 :
widestudioってどうですか?

44 :
widestudioが一番簡単かも。VBやDelphiより簡単。
MLのメンバーにも初心者が多い。
ただしもっさりしていて、
メインウインドウの出ないソフトは起動できない。

45 :
widestudioか。
個人的にちょっとした道具を作りたいという人には便利かもしれないが、
そのプログラムを不特定多数に使ってもらう、という段階で無理が生じる気がする。
結局、ランタイムが・・・。

46 :
Windowsネイティヴで、
フリーで、
肥大してないコンパクトな大きさで、
いざとなればWin32API叩きもできて、
Windowsのユニコード版APIに対応してる
やつってないかなあ。

47 :
>>46
> いざとなればWin32API叩きもできて、
が、ウィンドウ関連のAPIだったら、
それこそ MFC/WTL くらいになってしまうと思うが…。
マルチプラットホームのツールキットって、ネイティブハンドルを公開しないものが多いし。

48 :
というか、Win32APIはXのToolkitレベルの処理も含むんだよな。

49 :
>>46
Windowsの直API叩きたいならWideStudio。
SetWindowLong/GetWindowLongでthisを渡してるシンプルな実装。
独自のウインドウ出しててもWINMAINマクロいじって
メッセージポンプカスタマイズしてれば大丈夫。

50 :
WideStudioおとしてみたけどUIがWinネイティヴじゃない感ありありなので萎え。
WTLのフリー版みたいなのがあればいいのになあ

51 :
>>50
nmでシンボルを抽出すると、
「WinMain」は「プロジェクト名.o」の中にある。
ソースファイル名「プロジェクト名.cpp」の先頭の辺りに
WinMainを実行するマクロがある。

#ifdef MSW
WS_WINMAIN
#endif
このマクロの中身は、WIN32APIの入門書のサンプルにある
メッセージポンプそのもの。イベントが起きたらGetWindowsLong
でthisをとって、メッセージパッシング。
ネイティブ感ありあり。

52 :
よくわかんない

53 :
>>50
WTLってフリーじゃん? …と思ったけど、ATLがVC++にしか付いてこないのか。
それこそ >>49 の方法で簡易版CWindowImplつくって、その上でWTL使うとか。

54 :
SWT なら、頑張れば C++に移植できそうな気がする。
SWTのソースを見るとネイティブのAPI叩きまくっているし。

55 :
>>54
gcjでコンパイルしたSWTはg++(のC++)から操作できるよ。
Managed C++みたいな感じって言えばいいかな。

56 :
>>33
Unicodeに対応してもIMEやXIMに対応しなきゃあんまり意味がない。。。

57 :
>>56
対応してるよ。

58 :
>>55
ほえー。興味有り。情報 Thanks。

59 :
>>58
gcjについては、
Cygwinでの/usr/include/java以下を見てみるといいよ
きっと萌えるから(w
これはCNIっていうJNIの独自版みたいなやつで
JavaをC++に自動でマップしてるヘッダ
CNIとかgcjでのSWTとか詳しいことは以下を見てちょ
ttp://page.freett.com/gikob/gcj/

60 :
http://page.freett.com/gikob/gcj/

61 :
SwingみたいなライトウエイトなGUIツールキットってないのかな。
まぁ需要なさげといえばそれまでなんだが。

62 :
>>61
Fltk?

63 :
>>61
Qt
FOX

64 :
あるのかtnx
今から調べてみるよ

65 :
全然ライトウエイトじゃなかったぞゴルァ

66 :
FLTK = The Fast Light Toolkit

67 :
いや、要するにSkinでLook&FeelをかえられるGUIツールキットがほしかったわけなんだが・・・

68 :
>>67
http://themes.freshmeat.net/

69 :
うーんさらにクロスプラットフォームという条件がつくんだが・・・ないかな

70 :
ライトウエイトって、ネイティブGUIを使ってないという意味で、
動作が軽いっていう意味ではなかったはず。

71 :
>>70
スタティックリンクしてもファイルサイズが小さい事が売りじゃなかった?
実際速いし。
スキンは次のバージョンかららしい。

72 :
ttp://www.fltk.org/news.php?V230
> The FLTK Team has begun the next phase in the evolution of FLTK.
> The 1.2 series will focus on adding UTF-8, print, basic style support,
> custom cursor support, true alpha-blending of images, Quartz support
> on OSX, and updating the menu widgets to the FLTK 2.0 implementation.
> The new series will also include new widgets such as Fl_Combobox,
> Fl_Dock, Fl_Image_Browser, Fl_Image_Display, Fl_Spinbox, Fl_Table,
> Fl_Toolbar_Window, and Fl_View.
XIM サポートしてくれたら嬉しいな。

73 :
FLTKのXIMパッチってまだ入手できるの?

74 :
http://www.fltk.org/news.php?V230

75 :
Dat落ち回避age

76 :
notusいいよね
ttp://sourceforge.net/projects/notus

77 :
>>76
たしかに notus のアプローチも面白いんだけど、
GUIの細かい構成は外部設定ファイルに追い出して、動的に構成するのが流行りっぽくね?

78 :
>>77
たとえばツールで見た目つくって
実行時にライブラリ側で画面構築してもらうみたいな?
それもお手軽でいいよね。
そういうアプローチのツールキットってなにかある?

79 :
GTKをはじめとしていろいろあるだろ。


80 :
gtkってgnome界隈で使う分にはいいけど
他のplatformに持っていくと浮いちゃうよね
なんだかなー

81 :
Windows 用のツールキットなら、CodeProject 。
jlib が最近のお気に入り。

82 :
codeprojectって中途半端じゃね?
漢ならstringray

83 :
さいきん話題ないな

84 :
>>79
GTKみたいに大掛かりなものじゃなくて、
レイアウトファイルから情報を読み込んで、
あとはプログラム側で好きなようにウィジェットを作成していくようなものはありますか?
XML とか YAML を使えばいいとは思うんだけど、
GUI を記述する標準スキーマみたいなものがあれば、それを使いたいのです。

85 :
>GUI を記述する標準スキーマ
そんなもん無い。
あえて上げるとすればhtml

86 :
いちおう、XULがあるのか?
Mozillaも漏れなく付いて来てしまうが。

87 :
GLUIはまだでてないかな。
私のまわりではちらほら見ます。

88 :
http://sourceforge.net/projects/notus

89 :
WTL ・・・ ステキ!!

90 :
Motif/UILだろやっぱ

91 :
An introduction to using Fluid
8.5Megs 16 Minutes Running Time
http://seriss.com/people/erco/fltk-videos/

92 :
>>73
↓のことを言ってるのか?
http://sourceforge.net/project/showfiles.php?group_id=36627
放置プレイになってる。

93 :
http://www.nigels.com/glt/glui/

94 :
GUIツールキットはLGPLのやつばっかりだな。BSD系ってTkくらいか。

95 :
>>94
Visual Basicでも使えたらよかったのにね

96 :
>>73 >>92
http://www.oksid.ch/fltk-utf/
ここのfltk-utf8ならXIM使えるっぽいけど

97 :
VBって特定のライセンスのライブラリ使えないの??

98 :
>>94
LGPL だけど、スタティックリンクに関して例外を設けている事が多いね。

99 :
>>53
遅レスだけどATLはC++BuilderXのフリー版にもついてくる。

100 :
fltk2.0リリースまで何をする気にもなれない
んで100get

101 :
fltk はイベント処理まわりがキモすぎる。

102 :
ttp://www.turn.co.za/david/gui/

103 :
Linux Windows Macのクロスプラットフォームなアプリを作りたいんだけど、
おすすめツールキットある? 当初はQtで考えてたんだがいつのまにか
Windows版のライセンスがややこしくなってて有料らしいので、ほかを探し
てます。とりあえず、wxWindows(wxWidgets)は上の3つに対応しているらしい
ことがわかったけど、ほかの選択肢はどんなもんでしょう。経験者いたら
経験談キボンヌ。

104 :
>>103
Fox tool kit これが一番洗練されていてクロスプラットフォームだ。
でなければ、Swingでも使うんだな。

105 :
>>104
サイトを見る限りではMacOSに対応してないようなんですが。
FreeBSDに対応しているのでX上では動かせるのでしょうか?

106 :
>>103
私見ですけども
Mac向けのものはwxを含めとにかくMacOSXでの日本語の扱いが
ダメダメつうか壊滅状態ですので、現状素直にCocoa/Carbonで
書き起こすのが最適かと思われます
Macを外せばwx,fltk,XPToolkit等等
一長一短な奴等で十分いけますが、
なかなかアクが強いのでおきおつけくだされ
ぶっちゃけネイティブものを各プラットフォームごとに書いたほうが
楽じゃねーかと思う昨今です

107 :
>>106
>ぶっちゃけネイティブものを各プラットフォームごとに書いたほうが
>楽じゃねーかと思
わない昨今です。
Windows|Linuxでやってたけど挫折しました。
今はwxWidgetsでそこそこ幸せに暮らしております。

108 :
>>106
じつはMacは持ってないもんで、ユーザにソース渡してコンパイルして
もらおうかと。Cocoaの開発はさすがにMacないとつらいっすよね・・。
まあツールキット使っててもどっちみち厳しいかもしれませんが。
やっぱそれぞれ癖ありますよね。とりあえずwxでやってみます。でも
Qtがわりとよさげなんで最悪ライセンス購入するのもありかと思って
きました。

109 :
Tkは?

110 :
>>108
>Qtがわりとよさげなんで最悪ライセンス購入するのもありかと思って
>きました。
あー漏れもそろそろ買うつもりでいます
一般的なアプリケーションを書くのならQtはかなり良い選択肢ですよね

111 :
>>108
以前触った感じでは、wx と Qt 以外は Mac では日本語の扱いは厳しいよ。
fltk とかは Mac Roman を前提にしているし。日本語の表示だけなら、wx,
Qt, fltk, Tcl/Tk は出来ます。入力もオケなのは wx と Qt だけ。ただし
ちょと不安定だよ。X11 前提で Gtk+ とか使うのが良いかも。Cocoa は
ObjC のライブラリだから、クロスプラットフォームは難しいと思う。
>>109
Tk も安定してなかった。もう少しな感じはしたけどね。
XUL とか SWT とかはどうかな。

112 :
Qtって買わないといけないものなの?

113 :
>>112
買わなきゃRないのは Win 版か商用開発したい場合のみ。

114 :
まぁ今はこんなのもあるわけだが。
ttp://kde-cygwin.sourceforge.net/qt3-win32/index.php

115 :
>>114
なにこれすげー。
早く言ってくれよー、頼むよー。
早速使ってみまつ。

116 :
>>114
使ってる?>Qt3-Win32
Cygwin/X11バックエンドのQt3はKDEが(使い物にはならないスピードで)動くところまできてるけど
Win32バックエンドのほうは開発も停滞してるし、まだ実用にはならないように見えるんだけど。
MLのログをあさってみても3.1ベースが9割がたくらい動いてるけど、みたいに書かれてるし。
使ってるんなら感想プリーズ。

117 :
>>113
いまトロールテックのサイトで見てきたけど、ライセンス結構高いんだね。
GPLで公開するアプリなら、Winライセンスだけ買えばいいのかな。

118 :
結局wxWindowsが一番か。ソースも公開しなくていいしな。
Tcl/Tkも好きなんだがな。

119 :
wxWindowsで作られた実用アプリって聞いたことないけどね。
Eclipse以外のSWTで作られた実用アプリもそうだが。

120 :
wxWindowsとSWTって言語は違うけど発想は似てるね。

121 :
最終的には、Swingか、AWTで書くしかないだろう。
最近のJVMは割とまともになってきたから、Javaアプリを作るのも
一つの手ではある。


122 :
>>119
Audacity
http://audacity.sourceforge.net/about.php?lang=ja

123 :
>>121
スレタイ嫁よ。これだからJava厨はいやだな。

124 :
AdobeのソフトやOpera等はどうやってクロスプラットフォームで
作っているのだろう…と言ってみる。

125 :
>>123
>13

126 :
>>116
正直使ってはいない。スマソ。でもなんか昔いじってみたら
「おー一応動くじゃねーか日本語入力出来ねーみてーだけど」
ぐらいの感想を持った…と記憶してるんだけど…
もちろん X11 無しで。
# もしかしたら qt2-win32 だったかもだけど…(^^A;

127 :
>>124
Windows版のOperaは知らないけど少なくともUnix版はQtを使ってる。
Adobeはメインストリームの製品は自前のライブラリをもってそうだがQtも使ってるようだ。
ttp://www.trolltech.com/newsroom/announcements/00000120.html
あと国内でAccessがブラウザのNetFrontでうまく階層化してQtでもgtk+でもWin32でも
使えるような仕掛けは用意してたはず。

128 :
>>127
へー
AdobeってPowerPlantじゃなかったんだ

129 :
>>128
Mac用とWindows用はPowerPlant。
UNIX用はMotif。
Qtを使ったのは実験的なやつ。

130 :
>>123
>>13

131 :
漢字talk7.5でも使えるクロスプラットフォームな
ライブラリ無い?

132 :
>>131
68k?

133 :
EZWindows
http://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=EZWindows&btnG=Google+Search

134 :
http://www.cs.virginia.edu/c++programdesign/software/

135 :
FOX のコーディングスタイル
キモー

136 :
>>135
ホシュ乙

137 :
SmartWin++
http://smartwin.sourceforge.net/
http://smartwin.sourceforge.net/codesamples.html

138 :
>>137
煽りだけ読んでると、gtkmm がゴミに見えてくるな。

139 :
notusなにげにバージョンあがってるな

140 :
>>139
Notusのアイコンがタケコプター帽子になってて微笑した
http://notus.sourceforge.net/index.html

141 :
FOX バージョンアップしたね。

142 :
May 18, 2004 - FOX STABLE 1.2.1

May 16, 2004 - FOX STABLE 1.2.0

143 :
「FOX ★」もさっさとバージョンアップしろよ、ぽんこつめ。

144 :
UTF-8は使えるの?

145 :
Cで使えてクロスプラットフォームな
おすすめのライブラリってどれ?

146 :
うーんと、スレタイ読め。

147 :
>>146
>>13

148 :
>>145
glibc

149 :
Swing-likeなGUIツールキット無いかな?言語はC++で。

150 :
>>148
glibcってGUIなの?

151 :
GNUです。

152 :
保守

153 :
FOXモリモリバージョンアップしてるね。

154 :
FLTK CVS Head で日本人の作った UTF-8 パッチがマージされているみたいなんだけど、
試した人いませんか?
うちでは日本語表示は出来たんだけど、入力がダメっぽい。。。

155 :
>>154
すみません。パッチ全部は取り込まれませんでした。
XFontSet を使ったパッチなんですが、オフィシャルでは
やりたくないようなので別のパッチを作成している所です。

156 :
これはどうなの?
FLTK UTF-8 http://www.oksid.ch/fltk-utf/

157 :
>>156
こちらにも、IME や XIM のパッチを送りましたが、実際に
マージはまだしてもらってません。
(マージは予定しておくという返事はもらいましたが...)
こちらは 1.x 系なので、今回 cvs2.0 用のパッチを作成
した次第です。

158 :
age

159 :
質問です。
ショボクテモ良いので、最も新たな環境に移植しやすいウィンドウシステムは何ですか?
新たな環境とは、T-EngineとかITRON(何も規定されてないですが)を想定しています。

160 :
そもそもTRONのGUIってどんなのかさっぱり想像もできん。
マウスとキーボードは使えるのか?

161 :
>>155
2ch ねらの方でしたか。乙!
FLTK で日本語使えたら最高だなと思いつつ、今まで傍観していたのでとてもありがたいです。

162 :
ITRONならMicrowindowsがねらい目かな?

163 :
OSIの通信スタックみたいに、
ウィンドウシステムのレイヤーを分類したものありまつか?

164 :
>>163
そんなんシステムによって違うし、普通はマニュアルに書いてある。

165 :


166 :
↓これってなんかよさげなんだが、まだこのスレで語られてない?
VCF
http://vcf.sourceforge.net/
ネーミングがVCLのパチモンっぽいが、Qt/Gtk+/wxWidgetのどれよりも
ゆるやかなBSDライセンスってところが惹かれる。

167 :
wxWidget のライセンスは十分にゆるいと思うけどな〜

168 :
s がなかたよ

169 :
>>166
かなりよさげでワクワクしたがLinuxで動かないようだ。

170 :
Linux上ではGTK+1.x or GTK+2.xを使って、
Windows上ではWIN32API使うツールキットって
wxWidgets以外に何かある?

171 :
目玉焼きには…醤油だろ。

172 :
>>170
確か、V もそうできたような。

173 :
保守

174 :
なんかこう、Windows で使えて IME にも対応してて
exception-safe なライブラリは無いものですか?

175 :
>>171
キッコーマソ?

176 :
ホッシュ

177 :
>>174
そこで.NETですよ

178 :
>>177
ポレの中ではgtk+と同じくらい配布が面倒という扱いだけども、実際のところはどうよ?

179 :
GUIのコンボボックスとかスライダーとかを独自のデザインでつくっている
アプリケーションがあるけど、あれってどうやるの?

180 :
MSDNよめばー?

181 :
ActiveXコントロールぐらいしかおもいつかにいんですが...

182 :
オーナードローで作れる範囲ならそうしてるだろうし、
そうじゃないなら自前で一から描画させてるんだろ。

183 :


184 :
結構無茶な条件なんだが…
・Rubyから使える
・Windows、X Window、MacOSXの各ネイティブ環境で動く
・日本語が使用できる
の条件に当てはまるGUIツールキットがあったら教えてください
wxRubyはMacOSXで日本語が通らないし(&メニューが使えない?)…orz
widestudioはMacOSXでX11入れろとか書いてあるし…orz

185 :
qqqqqqqqqqqqqqqqqっっっっっっっっっっっっっっっっっt

186 :
Macなんて窓から投げ捨てろ

187 :
>>184
「MacOSXのネイティブはCocoaである」という定義であれば絶望的。

188 :
http://swtfox.sourceforge.net/
保守上げ
こんなのあった。

189 :
GUIツールキットをつくりたいんだけど、いい書籍とかWEBページとかしらない?
洋書でもいいんだけど。

190 :
プラットフォームは?目的としては学習用途?

191 :
プラットフォームはWindowsとLinuxで。
目的は学習用途で。

192 :
>>189
「デザインパターン プログラミング」(改訂版)
W.プリー 著
佐藤啓太、金澤典子 訳

193 :
FOXいつの間にかxft対応になってんだ。Unicodeも本家で対応になってるけど
IM周りはどうなってるんだろう。。。教えてエロい人

194 :
>>193
使ってみたので報告...
win32 版は IME 起動すると、その後の動作がめちゃめちゃになって IME 切っても入力出来なくなったりする。
linux 版は XIM 起動すると Root タイプの入力エリアが表示されるが、何を入力しても受け付けない。
また、どちらにも言えるが、utf サポートしてそうなファイルはあるが、多バイト処理は出来てないみたい。
付属のエディタで確認したので、そのエディタの問題かもしれないが...

195 :
それは多分ADIEがFXWStringを使ってないからだと思う。
使ったからまともかと言えばそうでもないんだろうけど

196 :
fltk cvs head 試して見たけど、( ・∀・)イイ!ねぇ
IMもフォントも出来てるじゃん
あとは軽さを追い求めてくれれば...

197 :
ttp://engrm.com/svn/boost/trunk/gui/

198 :
これ、どうやって取得するの?

199 :
subversionクライアント落としてcheckout

200 :
fltk2をvc6でコンパイルしてみたけど、hello以外全部一瞬ウィンドウが出てクラッシュする。
checkersは右クリックすると落ちる……

201 :
>>200
mingw だとそこまで酷くなかったよ

202 :
>>201
WinME/mingwでそのままmakeしてもtest/以下の実行ファイルの状況は全く同じだったです。
本家フォーラムに同様の状況はないようだし、何かポカしてるのかなぁ。

203 :
疑うべきはフォント周りだと思うな。

204 :
フォント!!
なんでhelloだけうごくんだーと思って試してたら./hello stringで落ちた。
んでbox->labelfont(HELVETICA);とフォント指定したら落ちなくなった。
デフォルトのフォントがおかしいのかな?テーマ指定で回避できるのかな?
取りあえずSCREEN_FONT指定で日本語の表示/入力もちゃんとできますな。
LinuxでもVJEなんちゃらという帯が常時表示されて妙だけど表示入力共にできますな。

205 :
>>204
英語でバグ報告しといてね♥

206 :
>>204
詳細を教えて頂けませんでしょうか?
# 私が入れてしまったバグかもしれませんので...orz

207 :
パッチ作って下さっている方ですか!ご苦労様であります。
環境はwindows98(not SE)/me
コンパイラはvc6(sp5)/mingw(g++3.4.2)
の四通りです。
src/win32/fltk_theme.cxxの220、232、248行の
font = fltk::font(name,/*name=="MS UI Gothic"*/, //以下略...
がNULL返してスタイルのtextfont_,labelfont_全てがNULLになり、
それが原因でSEGVってるような気がします。
全てのウィジェットにlabelfont(),textfont()でフォント指定するか、
この3箇所を適当にfont = fltk::SCREEN_FONT;とかいい加減なことをすると、
今までクラッシュしていたのが全部すんなり動きました。
うちでEnumFontFamiliesExAが返すフォント名は
System, FixedSys, MS Serif, MS Sans Serif, Courier, Small Fonts, News Gothic MT, Lucida Handwriting
Lucida Sans, Lucida Sans Unicode, Book Antiqua, Century Gothic, OCR A Extended, Calisto MT, Abadi MT Condensed Light
Copperplate Gothic Bold, Copperplate Gothic Light, Matisse ITC, Tempus Sans ITC, Westminster, Arial, Courier New
Lucida Console, Tahoma, Times New Roman, Arial Black, Comic Sans MS, Impact, Verdana, Arial Narrow
Georgia, Lucida Blackletter, Lucida Bright
でMS UI Gothicないですね
Win32APIとか自分は詳しくないので……というかうちのシステムが悪いだけだったりしたら(…そんな予感が)ごめんなさい。

208 :
#include <fltk/Window.h>
#include <fltk/Widget.h>
#include <fltk/run.h>
using namespace fltk;
int main(int argc, char **argv) {
Window *window = new Window(300, 180);
window->begin();
Widget *box;
box = new Widget(20, 40, 260, 100, "Hello, World!");
//box->labelfont(HELVETICA);
window->end();
window->show();
return run();
}
Program received signal SIGSEGV, Segmentation fault.
0x00411298 in fltk::setfont(fltk::Font*, float) (font=0x0, psize=12)
at win32/Font.cxx:229
229 for (f = ((IFont*)font)->first; f; f = f->next)

209 :
ちょっと触ってみたがfltkいいな。

210 :
http://seriss.com/people/erco/fltk-videos/
ビデオチュートリアルってのがあるようだ。

211 :
(・3・) エェー ぼくパッチの書き方わからないYO
fltk\src\win32\list_fonts.cxx
152
- if (lplf->lfCharSet != ANSI_CHARSET) return 1;
+ //if (lplf->lfCharSet != ANSI_CHARSET) return 1;
172
- memset(&lf, 0, sizeof(lf));
+ memset(&lf, 0, sizeof(lf)); lf.lfCharSet = DEFAULT_CHARSET;

212 :
うむ。ok

213 :
でもそれでいいのかね?

214 :
FLTK2のテーマサポートってまだ未完成?

215 :
>>214
未完成です。現状は ~/.kderc を見てエミュレートしている状態です。

216 :
(・3・) エェー このページを参考にして訂正しますYO
SHIFTJIS_CHARSETだけがリストされるようになりましたYO
http://blogs.sqlpassj.org/akiraonishi/articles/4258.aspx
fltk\src\win32\list_fonts.cxx
152
- if (lplf->lfCharSet != ANSI_CHARSET) return 1;
+ //if (lplf->lfCharSet != ANSI_CHARSET) return 1;
172
- memset(&lf, 0, sizeof(lf));
+ memset(&lf, 0, sizeof(lf));lf.lfCharSet = GetTextCharset(dc);

217 :
>>216
パッチの作り方
ttp://www.kde.gr.jp/patch/patch.php

218 :
fltkとかfoxとか、この手のツールキットがwxより優れている点ってなに?
ないでしょ?

219 :
痛い質問者だなあ。

220 :
ないんですね?
やっぱり

221 :
では逆にwxがこれらより優れているところをトクトクと語ってくれたまえ。

222 :
fltk2ざっと見た感じシンプルで良いなと思ったけどレイアウトマネージャはないのかな?
全部決め打ち?

223 :
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> C++
wxWidgets>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>fltk>>>>>>>>>>>>>>>FOX>>>>>>>>>>>>>

224 :
糞ツールキット糞すぎだっせーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

225 :
もうこのスレお気に入りから削除しますねー

226 :
マイナーGUIツールキットに関するスレなのに一度も言及されていない
IBM Open Class Libraryのマイナーっぷりには頭が下がる。

227 :
ウィジェットの独自描画て評判悪いのか?

228 :
>>227 軽量コンポーネントの話?

229 :
Qt:
- most polished GUI of the bunch, great documentation, great portability, looks great.
- typesafe callbacks
- smallest learning curve - very easy to use.
- downside: price, MOC preprocessor, very long compiles.
- recommendation: if you have the money - go buy it.
FLTK:
- perhaps the fastest and has the smallest memory footprint of the bunch.
- small size comes with a price - the look and feel is noticably "off" and often you get non-standard widget behavior.
- void* based event callbacks
- fastest compiles
FOX:
- programs look quite professional
- non typesafe events void* pointers that are a royal pain in the butt to use, and are very poorly documented.
- lack of virtual functions for most GUI classes - must use table dispatch for each new class to override behavior.
- only supports UNIX (X11) and Windows
- only has Windows 2000 look on any platform, but looks quite good nonetheless with minimal flicker
- small user base
- no CVS access - maintained by one individual
WxWindows:
- supports the most platforms, has native look.
- large community of support
- many interpreted language bindings
- different behavior on different platforms
- widgets flicker like crazy
- not very stable in my experience

230 :
組み込みにすぐ移植できそうなGUIライブラリってありますか?
文字表示関数や、ラインやボックスフィル関数とかを与えてやるとすぐ使えそうなやつ。

231 :
>>230
Linux上だったら、Microwindows改めNano-XとFLNXの組み合わせが、わりとすんなり動いたよ。
この辺参照↓
http://www.nano-x.org/

232 :
fltkのフォーラム見にくいな。

233 :
FLTK2cvsをNetBSDでもmakeできるようにしてほしい・・・。

234 :
すいません、MAKE = gmake と指定したらできました。

235 :
FLTK2
IMEオンのままだと終了しない。どうすれば…?

236 :
FLNX のソースってどこにあるかどなたかご存知無い?

237 :
Qtはマイナーじゃないな。
マイナー扱いしてるのはただのトンチンカンだ。

238 :
静的リンクしたいんだけど一番サイズが小さいのどれ?

239 :
>>236
PIXILのサイトからは辿れなくなってるね。
Nano-Xのサイトからドゾー
ttp://www.nano-x.org/
→Downloads:Source Code
→flnx
直リン:
ftp://microwindows.censoft.com/pub/microwindows/flnx/

240 :
>>239
ありがd

241 :
ビルド報告
microwindows-0.90
flnx-0.18
CentOS 3.4
gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-49)
にて、
Fl_Animator.cxx:32: default argument given for parameter 8 of `
Fl_Animator::Fl_Animator(char* const*, int, int, int, int, int, int, const
char* = 0)'
../FL/Fl_Animator.H:49: after previous specification in `
Fl_Animator::Fl_Animator(char* const*, int, int, int, int, int, int, const
char* = 0)'
というエラーがでました。
定義部 Fl_Animator.cxx Fl_Animator::Fl_Animator() の最後の引数部分を
  const char* = 0 から
  const char*
に変更することでコンパイルは通りました。以上報告まで。

242 :
ビデオチュートリアルつうのは良いな。

243 :
しばらく前から FLTK のサイトデザインが変わったね。
snapshot が ftp でダウンロード出来る様になったのは嬉しいな。

244 :
>>237
Qtはマイナー扱いされてないよ。Qtopiaがマイナー扱いされてるだけ。

245 :
399 :デフォルトの名無しさん :2005/04/04(月) 13:51:27
  StyleというSWTのC++移植が出てる。
  果たしてwxWidgetsのライバルに成長するのかどうか。
  http://www.uiwithstyle.org/

246 :
>>245
Win32 版がないじゃん。

247 :
>>246
"Style currently targets OSX, Win32 and GTK."と書かれているから、
出す予定はあるんでしょ。今のところOSX版しか出てないけど。

248 :
>>247
>今のところOSX版しか出てないけど。
つまりWin32版がないってことじゃん。

249 :
OSX版しかなかったら、プログラマーの99%以上が使わないってことじゃないか。

250 :
まだ出たばかりだからそんなもんじゃね?

251 :
>>186
むしろRubyを。

252 :
Ruby厨最近おとなしくなったなw
ていうかアレは一人だったのだろうなぁ。

253 :
もう春休み終わったよ
たぶん明日から学校

254 :
Ruby厨ってMWのことじゃないの?

255 :
Notus
http://notus.sourceforge.net/

256 :
結局使い物にならなかったな

257 :
自作ゲームの中に簡単に組み込めるGUIライブラリってないかなぁ。
DxLib使ってるんだけど、ボタンとかリストボックスとか欲しい。

258 :
モチーフとか駄目なの?よく知らないけど。

259 :
なんでMotifが出てくるんだよ。よく知らないならすっこんでろ

260 :
http://opensource.adobe.com/
Adobe Opensource Widget Library

261 :
http://www.torjo.com/win32gui/
これ弄った事ある人居る?
名前からしてプラットフォーム限定だが。
俺、英語分かんなくてさ……。
STLと仲良しこよし、という辺りにちょっと興味が。

262 :
>>261
日本語環境だとうまく動かないのか、それとも私の環境が悪いのか、
ビルドして実行したときにエラー吐いて落ちたことがあった。
ちなみに、XPsp2 VC++7.1


263 :
C++でGUIプログラムを作るときって、やっぱり主流はMFCなんですか? 今でも。

264 :
VC++ならそうだろうな
その次がWTL

265 :
MFCなんてありえなーい
ていうか、MFCちょむかー

266 :
じゃあ KFC 行ってくるよ。

267 :
3DCGツール『LightWave』のようなカッコイイGUIを創りたいんですが、これって何処かのGUIツールキットとか使ってるんですかね?
http://www.dstorm.co.jp/products/lw8/feature/images/large/mdiimage1136_l.jpg
探してもそれらしいのは見つからなかったので、誰か知ってるひといたら教えてください。
まあ、自社ライブラリの可能性もありますが……

268 :
LightWaveはAmiga時代からオリジナルのGUIを引き継いでるんだぷ

269 :
カッコいいよね。
ライブラリは独自じゃないかな。マルチプラットフォームなアプリではままある話。
Blender とか。
http://www.blender3d.org/cms/showpic.php?file=uploads%2Fpics%2Frt_09.jpg&width=1024m&height=768m&bodyTag=%3Cbody%20bgcolor%3D%22black%22%3E&wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&md5=d4da49c32fb16794e25ba4b65a5c0867

270 :
なるほど、やはり独自ですか……あきらめるしかないですね。
Blenderもカッコイイですね。
まあ、スタイリッシュなGUIはであればLightWave風でなくてもいいので、なにか情報があればお願いします。(一応Windowsで)
最悪、自作コンポーネント画像を屈指して作れっていう感じですかね^^;
ちょっとGUIツールキットの話題からはずれてますな。すいません^^;

271 :
海外は、何故かGUI自作する文化があるよな。
スクロールバーがホイールとか対応してなくてたまにキレるけど

272 :
海外でなくともゲームではUIは自作するのが普通でしょ

273 :
確かにそうだな

274 :
>>270
BlenderはオープンソースだからGUI部分読んでみるといいよ。
ちなみにあれはぜんぶOpenGLで描画してる。だからOpenGLに
対応した環境には簡単に移植できる。

275 :
ゲームは、マウスとか使わないから比較的簡単に自作できる。

276 :
>>274
そうなのかー!
いいこと聞いた。
早速見てみることにスるす

277 :
GUI部だけ抜いてOpenGL使ったツールキット作ってくれたら神だな

278 :
要らぬお世話な気もするけど、Blender は GPL だからソースの流用には注意してね

279 :
>>278
まじかよ!
目コピするしかねーじゃねかw

280 :
>>279
そんなことないよ。ガンガンソース流用してくれ。
もちろんおまいもGPLで公開な。

281 :
eXene

282 :
Ultimate++は出てきてない?

283 :
C++のGUIツールキットってなんでみんな独自の文字列クラスがあるんだろ?
標準C++ライブラリじゃだめなん?

284 :
>283
漏れの場合は
 rope     いくつかの文字列クラスを寄せ集めた文字列クラス
 string    ヒープ上にメモリを確保した文字列クラス
 auto string スタック上に確保した、書き換え可能な文字列クラス
 literal    書き換え不能なメモリ(あるいはROM)に確保した文字列クラス
 substring  他の変数や文字列クラスが管理しているメモリのどこかを指す文字列クラス
 * string と auto string は editable string インタフェースを継承する
 * 全てのクラスは a string 抽象クラスを継承する
こんなのが欲しかったからなあ。
けっこう、パフォーマンス良くなるんよ。

285 :
とにかくコンパクトでコントロールは一通り揃ってるGUIツールキットキボンヌ。

286 :
俺の出番だな(´ー`)

287 :
std::stringって、いまいち使いにくいな。
JavaのStringくらい使いやすいのが欲しい。

288 :
できるだけ速度に重点を置いた高速GUIツールってどれですか?

289 :
マイナーじゃないかもしれないけどwin32guiって使ってみた人どう?
これから試してみるけど。

290 :
FLTKが実はハリウッドの特殊効果スタジオDigitalDomain製
だという事はご存知か
元々は社内用のtoolkitとして使うためにOpenGLとの親和性を
考慮して作られたらしい
この会社は自社製実写合成アプリのtoolkitとしてFLTKを使っている
http://www.d2software.com/nuke.php


291 :
test

292 :
FXAge* pFxAge = NULL;

293 :
new FXSage();

294 :
最近は wxWidgets が流行ってるみたいだけど、あの MFC 並に古い設計は
なんとかならんのか。かといって Win32, UNIX, Mac にまともに対応してる
Toolkit ってほとんどないし…。

295 :
Mac にはまともに対応してないけどね。

296 :
wxNGを作りたいって話はあるが、それだけの時間を誰が出すのかという話になる。

297 :
>>294
Qtは?

298 :
>>297
文句ばかり垂れてても前進しない、という意見は承知の上で。
・プリプロセッサによる C++ 拡張がなんか嫌。
・だから Array とか Map とか自前実装するなって!
後者は Qt に限った話ではないけど。複数のライブラリを組み合わせると
*Array が山ほどあったりな…。

299 :
でも消去法だとQtだよな。Macでもwxよりちゃんと動くし。完成度もそこそこ高い。
mocうざいけど。

300 :
>>298
> Array とか Map とか自前実装するなって
干渉しあわなければ問題ない

301 :
>>294
gtkmm

302 :
Qtはライセンスが・・・

303 :
>>302
GPLじゃまずいのですか?

304 :
>>300
んな馬鹿な。相互変換が面倒な上に非効率的。
>>301
GTKmm はモダンな設計で良いですな。 boost の再発明は…まぁしょうがないよな。
ただ、GTK の Win32, OS X 対応は微妙。

305 :
GPLは糞。

306 :
>>305
理由は?

307 :
俺もライブラリのくせに GPL なのはどうかと思う。

308 :
>>307
GPLが嫌だったら買えばいい。

309 :
>>308
他の選択肢もあるのに、買えばいいなんてのは全く現実的じゃない。

310 :
spComponent なんてのがあるんですが、どうなんでしょ?
ttp://www.sp.m.is.nagoya-u.ac.jp/people/banno/spLibs/index-j.html
Windows上でちょっと触ってみてわかったことは
・完全にC言語 (C++一切無し)
・マルチプラットフォーム(Windows、Linux(GTK or Motif)、MacOS)
・使い勝手は Xt ライク
・コピーレフトのゆるいライセンス(MITライセンス?)
・4年前から開発が止まってるみたい
といったとこです

311 :
cppkt

312 :
>>311
cpptk?

313 :
>310
sneg?

314 :
C:\Documents and Settings\[user]\Application Data\fltk.org\filechooser.prefs
こんなのがポツンとあったんですけど、これ何のファイルですか?
FLTKなんて入れた覚えないんですけど、その関連ですか?

315 :
以前にも名前出てたけど
Ultimate++
http://upp.sourceforge.net/
使ったやついる?

316 :
まだこれ出てないよね
EasyWin
http://suuri.ics.kagoshima-u.ac.jp/lectures/EasyWin/docs/index.html
とっつきやすいと思うよ

317 :
>>316
必要最低限の機能をミニマムにまとめた感じでよいね。
小さなもの作るのにいいかも。ゲームとか。

318 :
昨日FreeBSDにて、Gnomeのコンパイルに約1日かかりました。
WindowMakerとかの、軽量ウィンドウマネージャに最適の、見た目も良い
GUIフレームワークってありますか?
あと、GTK+アプリとかQTアプリって、WindowMakerとかで
動かせるもんなんですか?

319 :
GTKのライセンスってどんなのだっけ。
GTK+2って使いやすいのかな。

320 :
>>319
LGPL。Qtと違ってGPLではない。

321 :
え・・・QtってGPLだったのか・・・。
非商用なら自由に使えるように考えてたんだけど・・・。
ソース公開しないといけないとなると、いやだなぁ。

322 :
Qtはいろんなライセンスのがあるから自分でしらべたら?
Linuxに入っているのはGPL版。
Winだと2.xフリー版や3.x書籍配布のやつは独自フリーライセンス
(ソース公開義務なし)、4.xからはGPL。
他に各OS用の有償の商用版がある。

323 :
>>321
>>322の言う通り、
QtはGPLと商用ライセンスのデュアルライセンス。
昔はフリーじゃなかった。KDEで注目されて、
何でフリーじゃないライブラリ使ってんの? とか揉めてた。
互換ライブラリ作ろうとか色々あったが、
結局、独自オープンソースライセンスを経てGPLになり、
事態は収束した。

324 :
あんまり継承使わない感じのやつないかな

325 :
割烹つばめ
福岡屋台で
なぜか池田

326 :
FOXって日本語サイトだとLGPLとされてるけど、公式では静的リンクは動的リンクと同等だという附則を付けて
FOX自体を弄らなければ静的リンクでもソース公開しなくても良い(LGPLじゃなくていい)らしい。
英語が余りわからんが、大体そのような事が書いてある。
ttp://www.fox-toolkit.org/license.html

327 :
FOXのIME使えるパッチって誰か保守してくれないかなぁ。
みんながFOXを嫌う最大の理由がIMEが使えないってとこだと思うけど。
メールソフトとか作れねーし。

328 :
FOX★ に日本語が通じないのは仕様です

329 :
FOXのEditボックスとか改造して内部でCreateWindowでEditボックスを
を作ってFOXになりすます事って出来ないかな。

330 :
Juce使ってみるよ。
http://www.rawmaterialsoftware.com/juce/

331 :
GPL なのね。

332 :
>>330
これすごい。みんなデモ動かしてみるべし!

333 :
でもGPLだし。

334 :
テラタカスwwwwwww
Prices
* Commercial licence for a single product - £399 (+ VAT for countries in the European union).
* Commercial licence for any number of products - £699 (+ VAT for countries in the European union).

335 :
>330
Tracktionに使われてるGUIなんだな。日本語通る雰囲気がしないのが困る。

336 :
その上GPLだからなあ

337 :
>Juce使ってみるよ。
すごいねこれ。昔見たSwingのデモプログラムみたいだ。でもSwingより
速いしいいね。
ラッパーとかじゃなくて全部自前で描画してるみたいだけど、すげー大変そう
だなあ、これ作るの。外部WindowにドラッグできるWindowとかどういう実装
なんだろ?

338 :
SOL++
これ、なぜに英語なんだ?

339 :
ほしゅ

340 :
Foxのソースを久しぶりにのぞいてみたらIME関連のソースが追加されていたけどコメントアウトされてた。

341 :
>>334
Qtより安いな。

342 :
緊急浮上!!
で、ポータブルで書きやすいGUITkってなによ?Qt?

343 :
>Juce
とか
>Qt
って組み込みITRON系に使える?

344 :
君はあちこちで同じ事を聞いてるな

345 :
ヒント:答えが無い

346 :
ヒント:答えは無い

347 :
Windows XP, MinGW + MSYSでFLTK v1.1.7を使っています。
Fl_GroupでopenGLの画面を子(child)にしたComposite Widgetを作ると、
openGLの画面が全く描画されません。但し、
・Fl_Buttonなどは描画される
・Fl_Groupを使わないでやるとちゃんとopenGLの画面が表示される
どなかた試された方いらっしゃいませんか?

348 :
ttp://www.memecode.com/lgi.php

349 :
ツールキットの紹介↓
http://dmoz.org/Computers/Software/Operating_Systems/Graphic_Subsystems/Toolkits/
↑の LGI は VC++ 2005 EE でコンパイルすると大量にエラーが出てコンパイルできなかった

350 :
ZooLib
http://zoolib.sourceforge.net/

351 :
adobeのやつどうよ
ttp://opensource.adobe.com/group__widget__reference.html

352 :
adobeの面白そうだけど難しそうだよね
誰か試した人いないかなあ

353 :
面白そう?
何か普通のと違うのけ?

354 :
link集/GUI/C++
ttp://www.nbrains.net/php/pukiwiki/index.php?link%BD%B8%2FGUI%2FC%2B%2B

355 :
何で X の事を X Windows って間違えちゃうんだろうね。Windows XP を Window XP と
書いたらおかしいべ。何と言うか、作者のやる気の無さが伝わって来て食指が動かない。

356 :
触手うねうね

357 :
>>355
"windows"という語をウィンドウによるGUIの一般的な総称のように
認識しているのかも。または他の適切な呼称を思いつかずそれで代用している。
そういう概念に対してXは "window system" という呼称を当てている
けど、それがいまひとつ認知されていないせいもあるかと。長いし。
概念があまりに一般的になると、説明的な呼称は廃れていくのかもね。
> The X Window System is a network transparent window system which runs
> on a wide range of computing and graphics machines.

358 :
>>351
AEL つう GUI 記述言語を使うのは面白そうだね。JavaFX みたい。
プラットフォームは Mac OS X と W i n X P みたいだけど、X11 じゃ動かないの?

359 :
宣言的にユーザインターフェイスを定義出来るのは良いね。

360 :



361 :
FireFox の GUI toolkit を拝借すると良い感じになる様な気がする
XUL じゃなく純粋に C++ のウィジェットライブラリとして

362 :
>>361
C++や他の言語からもっと簡単に使えるようにして、
ウェブとデスクトップの境界を云々とはもう何年も前から言われてるけど、
mozillaにやる気がないっぽい。
もうだめぽ

363 :
>>362
いや、そうじゃなくて、Firefox のソースツリーの中の mozilla/widget 以下を
自分のアプリにコピって使うということ。もちろんライセンスはそこだけ MPL で。

364 :
>>362
最近GNOMEの連中がいろいろやってるな。スラドでは「ネットとデスクトップの融合なんて、
MSの二の舞になるつもりかよw」なんて煽られてたけど。
Clutterの話題なんてなかなか出てこないよね。

365 :
age

366 :
FoxToolkit-1.6のtests/glviewerをMacOSX(v10.4)でg++を使ってコンパイル
(OpenGLはネイティブのものを使用)すると、エラーおよびワーニングなしで
コンパイルできるんですけど、実行するとOpenGLの部分がうまく動作しません。
キャンバスを含む窓の中身が真っ白で何も描画されないのです。
二十回くらい実行すると一回くらいは巧くいくのですが、
どこが悪いのかよく解りません。なにか知ってる人はいませんか?

367 :
>>366
×ワーニング
○ウォーニング

368 :
俺も昔は、ウォーニングだよ^^、って毎回突っ込んでたけど、
cos をコウサインって書くのか? って言われてから黙ることにしてるw

369 :
それで本題にはノーコメントですか?

370 :
単にOpenGLの各種設定をちゃんと初期化してないだけでは。
忘れがちな設定についてはこの辺を見れ。
ttp://homepage2.nifty.com/tooshy/document/opengl.html

371 :
Linux系のOSで、MFCのCListViewのようなコントロールが付いているGUIライブラリで、なるたけサイズが小さいのってあるんでしょうか?

372 :
>>371
FLTK

373 :
>>372
ありがとうございます。ちょっと試してみます。
ttp://seriss.com/people/erco/fltk/Fl_Table/screenshots.html

374 :
まいなー、wxWidgetsだな

375 :
fltkとfltk2の違いってなんですか?
どちらも更新されているようなのですが、
やっぱり2を使った方がいいことありそうですか?

376 :
何をしたいかによるんじゃない。FLTK は小さいから、ソースコードを読んで
自分で手直ししながら使うものだと思う。

377 :
スタティックリンクにしてもEXEのサイズ小さくて
OSのルック&フィール(特にWindows)で
ってある?
wxWidgetsとかgtkmmとかはランタイムが巨大だしなー
マルチプラットフォームとか気にせずにWTLとかを素直に使った方が良いのかな?

378 :
誰かWTLとwxWidgetsを統合化して、超軽量のwxWidgetsを作ってくれないかなぁ。
ライセンス的にどうなるのか分かんないけど。

379 :
>>377
>マルチプラットフォームとか気にせずにWTLとかを素直に使った方が良いのかな?
Yes, that's right!!
But, 一番賢いのはサイズなんてもう気にしない事。

380 :
>>377
Java + SWTでがんばってください。
というのは冗談にしても、実行ファイルのサイズが数十kb以内なんてのはプログラム開発者の
グルーコード以外全部プラットフォームのAPIに丸投げしてなせる技だろうし、
少なくともマルチプラットフォームでってのはあきらめたほうがいいんじゃない?

381 :
> マルチプラットフォームとか気にせずにWTLとかを素直に使った方が良いのかな?
どうでもいいが、
一昔前って、
マルチプラットフォーム対応のUIライブラリで、ダサイのしかなかったよな・・・
なんで、Windowsに持ってくるとあんなにダサイんだ?というものしか。
今は、SWTなんかは、まだましだけど

382 :
Tkがダサいと申したか

383 :
Tkは普通じゃん?

384 :
>>378
つ wxForms
WTLは入ってないけど、ポトペタできてクロスコンパイルできるらしい。

385 :
Turbo C++ Explorerじゃ無理か。

386 :
保守したほうがいい?

387 :
頼んだ

388 :
お前らの連携のよさと言ったら!

389 :
めも
ttp://www.thefreecountry.com/sourcecode/gui.shtml

390 :
どなたかOMGUIのサイトの行方を知りませんか?
ttp://www.omgui.org/
(参考:ttp://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?BoostGUI)
昨年夏頃までは見れてたように思うのに、今はドメイン売り出し中って…。

391 :
>>390
ttp://cia.vc/stats/project/omgui

392 :
>>391
ありがとうございます。プロジェクトそのものは消えてないようで助かりました。

393 :
ttp://dclib.sourceforge.net/api.html#gui_widgets

394 :
こんな感じかあ
ttp://www.geocities.jp/mocchi_2003/soft_readme/dlib_patch/dlib_patch_sample1.png

395 :
マイナーじゃないけど
ttp://www.tcl.tk のtk見た目がだいぶましになったな
tclに依存してなければいいのに

396 :
スクリーンショットにたどり着きにくい
ttp://wiki.tcl.tk/13636
これか

397 :
FOX-Toolkitって使っている方いらっしゃいますか?

398 :
使ってますよ。OpenGLも使ってます。

399 :
このスレの住人なら知っていますね、あの糞開発ツールのことを
・自分のプログラムのバグなのかコンパイラのバグなのかわからない
・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している
・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている
・糞開発ツールを批判すると「性格が悪いから糞ツールを批判するんだ」と言われる
糞だけど、政治的な理由で無理やり使わされているんですよね。
もう、あんな厨の作った糞ツールを我慢して使うのはやめましょう。
・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。
 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。
・糞開発ツールを使わせる上司の下では働けません、と上司の上司に直訴しましょう。
・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。
 バグレポートなどしてはいけません。改善要求などもってのほかです。
 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。
・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」
 なんて話が出たら力強く机を叩き、会議室を出ましょう。
 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。
糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。

400 :
trixul
ttp://trixul.com/
使ったことはないけど、本屋で少し立ち読みしたら結構面白そうだったので。

401 :
>>400 書名キボンヌ

402 :
XUL と違うんだね

403 :
書名は「Cross-Platform Development in C++」
ttp://www.amazon.co.jp/Cross-Platform-Development-C%2B%2B-Building-Applications/dp/032124642X/ref=sr_1_1?ie=UTF8&s=english-books&qid=1210522918&sr=1-1
XULと.NETのWindowsForms(XAML?)の概念を組み合わせてJavaScript(SpiderMonkey)でイベントハンドリングできるようなことが書いてあったような気がする。
でもSourceForge(ttp://sourceforge.net/projects/trixul/)の方を見た感じではまだまだ発展途上なのかな。

404 :
Fox-ToolkitってIME制御ってできない?
コピペで漢字入力はできるんだけどね。

405 :
FoxToolkitの1.7の最新でIMEの制御もできて漢字入力もできるっぽい。

406 :
>>312
>C++/Tcl
http://cpptcl.sourceforge.net/
>A C++ library for interoperability between C++ and Tcl
>C++/Tk
http://cpptk.sourceforge.net/
>A complete C++ interface to the Tk GUI toolkit

407 :
GUIまったくわからないC++初心者が手を出しやすいGUIってありますか?

408 :
とにかく標準のGUIツールを使え
マイナーなものは糞だからマイナーなんだ

409 :
標準=Qt/wxWidgets?

410 :
>>409
そのOSの標準GUIからってことじゃない?

いきなりクロスプラットフォームなんて欲張りだと思う

411 :
MFCみたいなこれって何語っていうようなカスもあるお。

412 :
Windowsで初心者なら.NET一択じゃね
ウンコウンコ言われながらも、情報量が圧倒的過ぎる

413 :
情報量は圧倒だが、アウトプットのアプリは皆無。

414 :
>>413
俺もそれ不思議。
「delphiで作った有名ソフトって何があるの?」に対抗して
「.NETで作った有名ソフトって何がある?」スレないのかな?

415 :
.NET(C#,C♯,C#)で作られた有名なアプリって何?
http://pc11.2ch.net/test/read.cgi/tech/1213590713/
立てました

416 :
一番好きなプログラミング言語は?
http://itpro.nikkeibp.co.jp/article/OPINION/20080528/304478/
プログラマに対象を絞って聞いた「一番好きなプログラミング言語」は,「C/C++」(24%)が最も多く,
「Visual Basic(VB)」(20%),「COBOL」(13%)と続いた(図2)。企業の基幹システムに浸透しつつあるJavaや,
Webアプリケーション関連で使われることの多いスクリプト言語は,上位3位までに食い込むことができなかった。

C/C++  24%
VB6.0   20%
COBOL  13%
Java    9%
Perl/PHP 7%
C#     2%  ← m9(^Д^)プギャー

一番好きな言語と対比する格好で「最もよく使っているプログラミング言語」も聞いてみたが,
ここでは「C/C++」と「VB」の順位が逆転,「VB」が一位だった。

417 :
C#はいい言語だと思うんだがなぁ…
.NETじゃくネイティブコードコンパイラなければもっと使ってるのに…
COBOL(13%)ってのはITPro(というか日経)の読者層を反映しすぎてる気がする

418 :
ここにも貼っておく
ttp://torjo.com/egui/

419 :
VB6.0にCOBOLが2〜3位って、時代に取り残されたおっさん確定だろ
そんな奴らにC#の良さが分かるとは思えないw

420 :
>>419
4番目にJavaはともかく、5番目にPerl/PHPだもんなw

421 :
GC.AddMemoryPressureが追加されるまでのC#は実用にならないゴミだったから仕方が無い

422 :
>>417
海外だとC#で書いたものが多くなってますよね
日本じゃまだ目新しすぎてついて行けないだけじゃないかなぁ
C/C++が一番多いのは納得だけど、VB6が20%なのは厨房SE/PGが多い日本ならでわかと。

423 :
Delphiがその他のどのくらいの割合なのかが気になる上に
VB6.0て分けるぐらいならC/C++も分けるべきだったろに。

424 :
>>422
厨房がVB6なんて知ってるわけねえだろ。

425 :
>>424
はぁ?リアル池沼乙。

426 :
>>422の言葉が悪いな
厨房じゃなくてオッサンなだけなんだよ
>>416の調査のメインの対象が
>回答者の年齢構成は,40才代が最も多くて39.4%,続いて30才代が34.8%,
>50才以上が19.3%,20才代が6.2%だった
という年齢層分布で察しる

427 :
gtkmm

428 :
だれか、使いやすいのを作ってくれ

429 :
>>426
でも20代なんてカネ稼いでない層だろ。
仕事でも無いのにプログラムを書くような人間が多い時代でもないだろ。
今の20代が10年後に何を好むのかは気になるけどな。

430 :
>>429
> でも20代なんてカネ稼いでない層だろ。
え?
現役で「プログラマ」をやってるのは圧倒的に20〜30代が多い、でしょ?
少なくとも日本では。
業界にもよるが、基本的にプログラマは下っ端の兵隊で、高級なデベロッパが
ほとんど存在しないという文化だからね。

431 :
>>430
20代。
いわゆるプログラマではほとんどカネが稼げない現実もあるだろうなぁ。
稼げないと好きになんてならないだろうに。

432 :
脱しようと今起業しているがなかなかプログラムだと稼げないね
今年入った収入は1万8千円
受注仕事やるといいんだろうが、起業している意味ないしなあ

433 :
1万8千円って俺の月収より低いな

434 :
携帯ゲームあたりだろうか

435 :
WTL

436 :
自作してみたいんだが、どうすればいい?
環境は WindowsXP で VC2008EE

437 :
既存APIのラッパーを作ることから始めてはどうか

438 :
質問する段階なら、APIの薄いラップのみでいいんじゃない
物足りなくなったら、他のツールキットがどういうアーキテクチャになってるか
調べて取り入れるとか
あと、オレオレライブラリの類は、演習と割り切って作らないと前に進むのが遅くなるよ
結局、既存のツールキットを使ったほうが便利な場面も多いし
ってこのスレで言うことじゃないなw

439 :
ボタンもリストも基本はWindow。その辺はググれば出てくる。
多くの人間が通る道として、それらをC++でラップしたコントロールを作る。
そしてメソッドで対応するのが面倒になり、GetHwnd()とか作ってごまかして終了する。
VC2008EEで生産性を追及してGUIを自作したいなら、個人的には
ResEditとかフリーのリソース作成ツールが吐き出したソースを
サポートする形にするのが良いかと。

440 :
ふむ、アドバイスdクス
まず、ラッパからやってみるよ。
できたら晒しにくるよ。

441 :
ラッパやってみたけど、うまくいかない。。orz
アドバイスくれorz
http://www.geocities.jp/hoge12make/
置き場を↑にする

442 :
メンバ関数名にまでWindowは付けなくていい。
あとメッセージループもメンバ関数にしたらどうだろう。
エラーの原因はポインタの扱いだから、
その辺復習しながら作るといいよ。

443 :
久しぶりにネット繋いだらVC++6.0に怒濤のごとく更新入った

444 :
>>442
アドバイス有難う。
うまく表示できた。

さて、ウィンドウの表示はできた。
次は、
LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
の中でしているのをどうするかだ。。。
ここで、メッセージループをしているのをどうにかしたい。
じゃないと、ラッパを作る意味がないきがする。

445 :
>>444
WindowインスタンスごとにVirtualAllocで確保した領域に
ECXにthisを入れてメンバのWndProcに飛ぶコードを動的生成して
それをRegisterClassExでコールバックとして渡しておく。
そうすればWindowsが直接メンバ関数を呼んでくれるようになる。
あとはそれをOnXXXとかのvirtualなハンドラに飛ばして、
必要に応じて外部に委譲させておけばおk。

446 :
>>445
ググって、VirtualAllocこれが何かはわかった。
(呼び出し側プロセスの仮想アドレス空間に領域を確保)
が、そのほかの部分がわからない。
もうちょっと噛み砕いてお願いしたい。

447 :
とりあえず他でやって欲しい。

448 :
マイナーGUI(ラッパか・・・)作ってるからいいんじゃね?

449 :
>>446
君がどういうレベルかわからないと説明は難しい。
stdcallとcdeclは知っている?
clのABIはthiscallでECXにthisが入るのは知っている?

450 :
私のレベルは、簡単なものならAPIをガリガリでモノを作れる。
MFCは使ったことなし。
>stdcallとcdeclは知っている?
これは名前は知っている。
>clのABIはthiscallでECXにthisが入るのは知っている?
これは、知らない。
cl・・・コンパイラ?
ABI・・・アプリケーション・バイナリー・インターフェイス?
thiscall ≒ cdecl?
ECX・・・アセンブリは全く知らない
つまり、アセンブリを知らないとできないってこと?orz


451 :
>>450
アセンブリと言っても別に難しい知識は必要ない。
C言語が使えるんなら、レジスタとスタックの操作、
つまりmovとpushくらいは3分でわかるはず。
そして引数がスタックに積まれることが理解できれば良い。
そのスタックをどこで戻すかの違いがstdcallとcdecl。
インスタンスメソッドに対してはインスタンスが引数として扱われる。
それがcl(VC++のコンパイラ)ではECXで渡されるということ。
ちなみにgccだと第一引数としてスタックに積まれる。
こういう呼び出し規約のことをABIと呼ぶ。
なぜこんな知識が必要か?
それはインスタンスメソッドに対してコールバックさせるため。
実際にATLではこの方法が使われている。
ハッシュで済ませるんなら必要ないんだけど、
外部に委譲させるときに悩むことになる。

452 :
ふと疑問に思って昔作ったGUIクラスをひっぱりだして覗いてみたら
SetWindowLong( hWnd, GWL_USERDATA, (int)this );
みたいな感じのを使ってた。ハンドルと32bitデータを関連付けられるらしい。
で、Windowプロシージャで
GetWindowLong( hWnd, GWL_USERDATA );
を使って、ハンドルから対応クラスのポインタをひっぱってきて
Window別のイベントを処理してた。なつかすぃ。

453 :
>>452
その方法だとたとえばウィンドウ上でIMEの入力をしているときに
候補の上でホイール回したりしてIMEが作ったhWndが飛んでくると
不正なポインタに飛ばすことになって落ちるよ。
結局、登録されたhWndかどうかチェックするとハッシュになってしまう。

454 :
>>445
ウィンドウインスタンスごとにRegisterClassExって何か違うと思う。
ATLでやってるのは、StartWindowProcってのを登録しといて、
StartWindowProcの中でサンクつくって、次回以降はそれが呼ばれるようにする、っていう方法だったと思う。
>>453
俺はIME触ったこと無いから実際はどうなのか知らないんだけど、
そんなことがあったらそれIMEのバグじゃねーの?

455 :
同じくで、サンク作る方法は自分でも書いたことあったけども>>454の意味はちまちまわからんとこが。
ATLのソースか、エディタのGreenPadがそんな方法使ってたから見てみてもいいかも。
わかりにくい上に機械語直接埋め込むから試しに自分でラッパ書いてみる、って段階ではどうかと思うが、早いし。
ウィンドウハンドルとthisを関連づける方法はGWL_USERDATAの他にSetProp/GetPropAPIもある。
ttp://hp.vector.co.jp/authors/VA022575/c/msgmap.html
ttp://hilbert.elcom.nitech.ac.jp/~taki/program.html
一応この辺がその辺の話。

456 :
454だけど、実際にATLがどうやってるのかは>>455のリンク先が詳しいのでそっち見てね。
あと、WndProcからthisを手に入れる方法を適当にまとめてみた。他にも方法あるかも。
どこにHWND↔thisの対応を入れておくか
・Set/GetWindowLongPtrを使う(GWLP_USERDATAを使うのか、cbWndExtraで確保しとくのか)
・Set/GetPropを使う(キーは文字列かATOMか)
・ハッシュテーブルを使う(排他制御はどうすんのか)
・サンクを使う(CPUのアーキテクチャごとにry)
どのタイミングでHWND↔thisを関連づけるか
・WM_CREATEで(thisはCreateWindowの最後の引数か、グローバル変数から)
・最初にWndProcが呼ばれた段階で(thisはグローバル変数から)
・WH_CBTとかWH_CALLWNDPROCフックで(thisはグローバル変数から)
・そもそもWM_CREATEイラネ、CreateWindowを呼んだ後で
ただしグローバル変数にはTLSも含む

457 :
いくつか意見がでてるけど、個人的にはハッシュが一番楽じゃない?と思う。
std::map<HWND,[基底クラスのポインタ]> g_controlList;
LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
  基底クラス *p基底クラス = g_controlList[ hWnd ];
  // コントロール別イベント処理
  p基底クラス->OnEvent(msg, wParam, lParam);
}
最近C++書いてないんで色々間違ってそうだけど、キモはこんな感じかと。
ここは、より良い方法がでてきたら差し替えることにして
次へ進んだ方が本人の為になるし、スレ的にも面白いw

458 :
>>454
インスタンスごとにクラスを登録しているのはWindows Formsだね。

459 :
この流れを見てるとこのスレの住人はやっぱり結構自分ラッパを書いてしまっているんだなあと感じて親近感がw
しかし>>450は付いてきているのか。周りが凄い盛り上がってしまってるけど。

460 :
>>450は単語一個一個調べたり、根が真面目そうなんで、
今、大量の情報がドカドカ出てきたので知らん部分をググってる最中じゃない?
期待がプレッシャーにならない程度にマターリ待つのが良いかと。
俺もラッパ作ちゃった1人なんだが、結局デザイナーツールの作成が面倒で
活用には至らなかった。
その辺までしっかり作った人っているの?

461 :
なぁ、>445 の方法って、ネットで探しても情報ないのな。
ATLのソース読んでみようと思ったけど、どこから読んだらいいのかわかんねw
>450 は初心者っぽいしきつい気がするのは俺だけか?

そういや、昔、CマガでGUIライブラリを作るってのがあったが
あれは参考にならないか?
もう、手に入らないけど。

462 :
>>460
> その辺までしっかり作った人っているの?
WideStudioってきもいけど凄いよね

463 :
>>461
ATLについては>>455
>>445の言ってるのはATLじゃなくてWindows Formsのことらしい

464 :
『組み込みGUI(ウィンドウ・システム)環境の設計と実装』って本
読んだことある人います? おもしろい?

465 :
>>463
>455は手軽にthunk作るやり方。
ATLはCDynamicStdCallThunkが__AllocStdCallThunkの確保した領域に機械語つっこんでるぞ。

466 :
>>450
適当にサンクを実装してみた。良かったら参考にしてみて。
ttp://www.yourfilehost.com/media.php?cat=other&file=KYSDK20081110.zip
>>451
stdcallとthiscallの変換があるから単純にECXに代入するだけじゃダメだぞ?
まあそれでも動くけどさ、ちょっと気持ち悪いよね。

467 :
>>464
フレームバッファ直描きでウィンドウシステムを作る本だよ。
OSを作ったりとか、LinuxでXを使わないGUIを作ったりとか、
そういうことに興味がある人には面白いと思う。
Windowsアプリを作るのにはほとんど参考にならない。

468 :
一つずつ
>>451
>つまりmovとpushくらいは3分でわかるはず。
mov・・・ジスタやメモリに、データの転送を行う
push・・・スタックにデータを積む
>そのスタックをどこで戻すかの違いがstdcallとcdecl。
このことでいいのかな?
ttp://www.ne.jp/asahi/nagoya/ahomaro/builder/cpb-055.html
>ECX
レジストリと
こんな場所がある、程度でいいのかな?


469 :
>>452
>>453
>>454
調べたらこんな頁を発見
ttp://qwerty.s2.xrea.com/XC2CCCAB82FBBB2B9CDA4CBA4B7A4C6A4CFA4A4A4B1A4CAA4A4XWindowsSDKXA5ECA5B7A5D42FX2.xhtml
サンク(thunk)って、調べても情報がないな。

470 :
>>455
いま、ここまで
参照先のリンクの内容を理解するのに苦労している。
正直、難しい。

471 :
>>469
wikipediaにあったぞ
http://en.wikipedia.org/wiki/Thunk

472 :
WindowsXP SP2のDEPでATLのThunkが問題になってたような気がするんだけど、
あれは何でなんだろ?

473 :
>>472
ウィルス等がバッファオーバーフローでヒープに不正コードを埋め込むことの対策として
ヒープのコードを実行できなくしたのがDEP。
ATLではサンクをHeapAlloc領域でやっていたため引っ掛かることになった。
今のATLはVirtualAllocでPAGE_EXECUTE_READWRITEで確保するため問題ない。

474 :
>>473
なるほど、わかりやすい説明サンクスです。

475 :
おまえら!
言いたいのをガマンしてるなら、代わり俺が言ってやるよ!
あくまでもおまえらの代弁だからな!俺が言いたいワケじゃないんだからな!


なるほど、わかりやすい説明Thunkです。

476 :
さみぃw

477 :
こんな方法どうやって勉強しました?

478 :
>>477
Windows 3.1の頃(15年前)からプログラム作ってたら嫌でも身に付く

479 :
class window
{
public:
 static window *m_this;
 static LRESULT CALLBACK StartWindowProc(HWND, UINT, WPARAM, LPARAM); //スタートアップ
 static LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM); //本命
 HWND SetHandle(HWND hwnd);//ウインドウハンドルを設定する
 void Create();//ここでクリティカルセクションを設定してCreateWindowを呼ぶ
}
window *m_this;
LRESULT CALLBACK window::StartWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
 window *pThis = window::m_this;
 window::m_this = NULL;
 //ここでクリティカルセクションを取り除く
 ::SetProp(hwnd, _T("THISCLASS"), (HANDLE)pThis);
 pThis->SetHandle(hwnd);
 ::SetWindowLongPtr(hwnd, GWL_WNDPROC, (LONG)window::WindowProc);
 return window::WindowProc(hwnd, msg, wParam, lParam);
}
かなりふざけた方法だけど...
俺はこんな感じでやってる...

480 :
何となく、自分も昔作ったGUIを晒してみようとサンプル動かしてみたら、
リストビューを拡張して作ろうとしたらしいGridViewがいきなりバグってた。
出直してきます。orz

481 :
>>441はもうやめちゃったのかな?
こんなのあったよ
http://www.binzume.net/library/kwui/

482 :
保守あげ

483 :
ATLを使うと勝手に各アーキテクチャごとにthunk作ってくれる。
使い方は↓のようなかんじです。
class HogeWindow {
 ATL::CStdCallThunk thunk;
 HWND hWnd;
 static LRESULT CALLBACK redirect(T* object, UINT msg, WPARAM wParam, LPARAM lParam) {
  return object->WindowProcedure(msg, wParam, lParam);
 }
 LRESULT WindowProcedure(UINT m, WPARAM w, LPARAM l) {
  (処理)
 }
 HogeWindow() {
  (HWNDを作る)
  thunk.Init((DWORD_PTR)redirect, this);
  SetWindowLongPtr(hWnd, GWL_WNDPROC, (LONG_PTR)thunk.GetCodeAddress());
 }
};

484 :
SOL9をVC++2008SP1で試してみた。
>c:\usr\include\sol\window.h(68) : error C2664: 'GetClassNameW' : 2 番目の引数を 'char *' から 'LPWSTR' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
(面倒だから全部は乗せない)
こんなエラーが大量に出てきた。
これって、VC++2008SP1では使えないのか?


485 :
>>484
unicodeを使わない設定にしてみたら?

486 :
>>485
サンクス
コンパイルできた

487 :
SOL9って何?
Solaris9??

488 :
>>487
ttp://home.att.ne.jp/green/atlan/index.html

489 :
使いやすいのない?

490 :
ほしゅ

491 :
Qt LGPL版が出ました。

492 :
gtkmm一択

493 :
>>491
10 年前にその選択をしてればな…

494 :
マイナー用のこのスレで聞くのもどうかと思うけど、
OSSプロジェクトで一番使われているマルチプラットフォーム対応の
C++ GUIツールキットってどれでしょうか?
wxWidgetsとQtはどっちの方が使われてるのかな?

495 :
fltk

496 :
今からクロス開発するならQtのほうがよさげ。

497 :
>>496
できれば理由も聞きたい

498 :
Qtのほうが作りやすい。API綺麗だし開発ツールも充実してるから。この辺さすが商用は強い。
wxは古臭さ複雑さを隠し切れんな。元がMFCを参考にしているからな。もう限界だろ。
個人的にQPLか高い商用ライセンスがキライだっただけで
今QtをLGPLで使えるなら選択しない理由はあまりないな。
wxの強みはドマイナーなOS環境まで考慮されてることだけど、別にそこまで使わんしw

499 :
Qtは微妙な独自色がなければ最高なのに。qmakeとかLinguistとかWindowsのUIとか。

500 :
500

501 :
Lily C++ GUI Library
ttp://kengolab.net/lily/lily_download.html
windows専用らしい

502 :
>windows専用らしい
イミネーwww

503 :
仮にただのMFCラッパーだとしても、使い勝手がよければそこに意味はあるはずだ
あとこのスレって別にマルチプラットフォーム限定ってわけでもないっしょ?

504 :
ぺたぺた貼れるなら、使い勝手うんぬん言えるが、できないじゃんwwwww

505 :
ペロッ
この味は・・・PHPer!

506 :
Object Windows Library
Inprise/Borland
http://cc.codegear.com/partners/bcb5/exclusive/object_windows_library/index.html
This release of the Object Windows Library is based on the OWL 5.4
release and is denoted as OWL 5.5.
It has been ported to Borland C++Builder 5 by Yura Bidus, author of OWLNExt.
It includes source code and debug and release libraries of, OWL, BIDS and OCF.

507 :
>>506
~ OWLNext project home ~
http://owlnext.sourceforge.net/
~ About OWLNext ~
http://owlnext.sourceforge.net/about.html
Advantages of using OWLNext:
* OWLNext is an object-oriented framework, built on top of the Windows API without adding much overhead.
* OWLNext is pure C++ library, which does not use any vendor- or compiler- specific extensions.
* OWLNext fully supports developing Unicode applications.
* OLE, OCX and ActiveX support (server and consumer)
* OWLNext can be used with wide range of C++ compilers. Currently it is tested with
o CodeGear Developer Studio 2007 and 2009
o Borland Developer Studio 2006
o Borland C++ Builder 6.0
o Borland Free C++ Compiler 5.5
o Borland C++ 5.01/5.02
o Microsoft Visual C++ 2003, 2005, 2008
o Microsoft Visual C++ 6.0
Also in the past it has been working with Borland C++ Builder 1.0-5.0, Microsoft Visual C++ 5.0 and GCC and has been ported to Linux using WINE
* OWLNext offers easy upgrade path for porting legacy OWL applications to modern compilers and operating systems.
* OWLNext is open-source project, it's based on contributions and directions from it's community

508 :
何だ、クロスプラットフォームじゃないのか…

509 :
クロスプラットフォームとかいらんだろ

510 :
クロスプラットフォームじゃなかったら何の意味が?

511 :
WINEで動けば充分
> has been ported to Linux using WINE

512 :
>>508
Object Windows Library
http://en.wikipedia.org/wiki/Object_Windows_Library
In 1993 Borland launched Borland C++ 2.0 for OS/2 which included a version of OWL 2.0.
OWL 2.0 used BIDS, the newer template library for 'container' or 'class library'.
In January 1994 Borland launched Borland C++ 4.0 for Windows which also included OWL 2.0.
It added Doc/View support, VBX controls, OLE. Win16, Win32s and Win32 was supported
(Windows 95, the Win32 successor of Windows 3.x appeared in August 1995).
Late in 1994, Novell CEO Raymond Noorda resigned.
Novell expansion plans were reconsidered,
AppWare development was stopped and so was OWL for AppWare.
In 1995 a group of original team members bought AppBuilder.
In the same year, Software UNO (www.uno.com) offered a commercial port for OWL 2.0,
to several platforms:
AIX 3.2.5, DEC Alpha OSF/1, HP-UX 9.03, Linux 1.2, Solaris 2.x, Sun OS 4.1.x, and SVR4 fox x86,
it was called WM_MOTIF.

513 :
>>512
引用するなら翻訳しろカス

514 :
10年以上昔の話とか、WINEでポーティングされているとか…

515 :
>>514
【レビュー】
Linux版一太郎と新しいATOKを試す
http://journal.mycom.co.jp/articles/2005/02/03/justlin/002.html
Windows版そのままの「一太郎 for Linux」
一太郎 for Linuxは、Win32 APIと互換のバイナリ実行環境をLinux上に実現する「WINE」を利用して動作する。
LinuxネイティブのELFバイナリではなく、
Windows PEバイナリの形で提供されるWindows用アプリケーションだ。
付属のインストーラ(シェルスクリプト)では隠蔽されていたが、
wineコマンドから直接インストーラ(SETUP.EXE)を起動したところ、
そのまま「一太郎2004のセットアップ」と題されたウィザード形式のダイアログが表示された。

516 :
4年以上昔の話とか、WINEでポーティングされているとか…

517 :
>>515
それもどうかと思うけど、完成品とライブラリを一緒くたにするとか…

518 :
Win32++
http://sourceforge.net/projects/win32-framework/

519 :
Win32++について「GUIがむずかしすぎる」スレから引っ越してきたヨ
>66 名前: 60 Mail: sage 投稿日: 2009/10/21(水) 14:38:51
>Win32++の翻訳文書を公開した。
>
>・Win32++概要
> http://www.h6.dion.ne.jp/~machan/win32pp/overview.txt
>
>Windowsプログラミングは未経験なので、不適切だったり誤っている箇所があると思う。
>特に、リバーコントロール(Rebar Control)/メッセージの反射(Message Reflection)/
>CWndオブジェクト/WndProc関数に関連した部分は、無理矢理に訳した感がある。
>Win32 APIに詳しい住人さん達からのツッコミに期待。

520 :
>>519
なんか色々と乙。
wxばっか使っているのだけどちょっとこっちも使ってみようか…
ついでに保守あげ。

521 :
sage

522 :
GUI比較サイト
http://www.atai.org/guitool/
世の中にはたくさんのGUI Frameworkがあるね。

523 :
>>522
ちょっと情報が古い。
Qtとか、LGPLになったのにそうなっていない。

524 :
>>522
Last updated May 13, 2007

525 :
>>507
OWL/OWLNext
http://www.jahanshahi.ws/owl.htm

526 :
C++BuilderみたいにGUIでパーツを配置していけるライブラリって
何がありますか?

527 :
>>526
あなたが求めているのは,単なるGUIデザイナじゃなくて,IDEと一体になったいわゆるRADツールだよね?
(例えばフォームの上にボタンをGUIデザイナ上で配置しておいてダブルクリックすると,ボタンをクリックした
時のイベントルーチンのスケルトンが自動的に作成されて,後は中身を書けばいいってヤツ)
それだとWindows上のC++で俺の知ってる限りだと,QtとwxWidgets(両方ともマイナーじゃないけど)。
QtならQt CreatorというRADツールがあるし,wxWidgetsならCode::Blocks,DialogBlocks(有料),wxDev-C++,
VisualWxとRADツールはいろいろある。
WideStudioって日本製のもあるけど,デバッグがIDEのエディタ上ではできなくて(そもそもエディタは内蔵してなくて
外部エディタを使う),コマンドラインデバッガでやるってのが痛い。
あとUltimate++ってのもインストールしてみたけど,使い方がさっぱりわからなかった。
俺みたいな短気なアホには向いてないようだ。
どれがいいかは自分で評価するしかないと思うけど,俺はQt+Qt Creatorか,wxWidgets+Code::Blocksが
良いと思う。それぞれ別スレがあるので覗いてみたら?
俺もC++ Builderの将来に不安を抱いてて,いろいろ評価してるから気持ちはわかるなぁ。

528 :
GTK+のGladeは?

529 :
>>528
GTK+はまだ試してないんだけど、GladeってRADツールなの?
いろんなHPで見る限り、ただのGUIデザイナにしか見えないんだけど。
そりゃコードは吐くだろうけど、デバッガでデバッグする等の本格的なIDEの機能は持ってるのかな?
元のGUIのデザイン変更したら、以前に自分が書いたコードを壊さずにソースコードに反映してくれる?
それらができるんだったら、評価してみたいと思うんだけど。
それとC++じゃなくてCだと言う話なので、ちょっと尻込みしてる。
>>526は「C++ Builderみたいに」と言ってるわけだし....

530 :
>>527
詳しい情報ありがとうございます。
それぞれのスレを覗いてみます。

531 :
>>529
GTK+はC言語専用じゃないよ。
いろんな言語のバインディングがあって、C++用のもの(gtkmm)もある。
と言いつつ、GTK+とかGladeは興味があるだけでまだやってないから
GUIデザイナ/RADのことはわかんない。スマソ

532 :
>>529
wxWidgets (wxPython) + XRCed

533 :
>>532
wxPython+XRcedは面白そう。小さなアプリならいいかもね(何気にPython好きだったりする俺)。
出来上がったらpy2exeで実行ファイルにしてしまう手もありそうだし。
ただXRCedってXRCを出力するからC++にも使えるけど、C++ではRADツールにはなり
得ないんじゃないの? もう一つC::BみたいなIDEを組み合わせると似たようなことは出来るのかな...


534 :
>>533
CodeBlocks + wxWidgets + XRCed

535 :
>>534
だからそう書いたじゃん...できるってことねw

536 :
GTKの事情は知らんけど、フツーはRADの吐いたコードは手でいじらず、
継承するなりラップするなりで、実装とデザインを分離するのでわ。

537 :
そういうアプローチを取るツールもあるけど(Code::Blocks+wxFormBuilderとか),
一般的にRADツールといったら,実装とデザインを分離せず,マニュアルで書いたコード
を壊さずにGUIのデザインとコードの実装をシームレスにできるものを指すと思ってるんだが。
Visual Basic,C++ Builder/Delphi,VC++ .NET,wxDev-C++,CodeBlocks+wxSmith(内蔵),
Qt+Qt Creator...みんなそうだよ。
そうじゃないヤツはIDE+GUIデザイナだと思ってる。
なんか全然マイナーなGUIツールキットの話になってないな。
つーか,RADツールまで出来ると,メジャーになっていくんだろうな。

538 :
マイナーGUIツールキットって、Wikipediaにも載ってないようなものじゃないの?

539 :
eric4

540 :
マイナー杉るだろ……

541 :
むしろ未だにUIデザイナの吐いたコード直接弄るのタイプのはレガシーな感じがするんだが。
まあ一応GTK+系でもMonoDevelop + Stetic GUI Designerがその「RAD系」だった希ガス。

542 :
まぁ,どう思おうと勝手だが,歴史的にみるとそうじゃないな。
MicrosoftもVC++のMFCではできなかったものが,VC++ .NETやC#でできるようになったし,
QtなんかQt Designer(GUIデザイナ)しかなかったんだが,Qt Creatorが生まれたのは
今年のこと。
GUIデザイナの吐いたコードを直接弄ると,後でGUI変更したときにせっかく書いたコードが
上書きされると思ってるんじゃないの?

543 :
541じゃないけど
ボタンがあってそれのクリック時のコードを書いてたとき
そのボタンそのものを削除したらコードはどうなるの?

544 :
全部試したわけじゃないけど,少なくともC++ Builder,Qt Creator,Code::Blocks(wxSmith)だと
ボタンをクリックしたときのイベントハンドラの中味を記述した状態でボタンを削除しても,
コードはそのまま残るよ。ヘッダーファイル上では,ボタンのクラスのインスタンスポインタは
消えるけど,イベントハンドラ関数の宣言はそのまま残ってるし,.cppファイル上での
関数の実装もそのまま。
例えばボタンの種類を変えたいとき(文字だけのボタンからアイコンつきのボタンに代えた時)など
に配慮してるんだと思う。後で交換したボタンのクリックイベントルーチンとしてそのまま使える
ように。

545 :
>>525
OWL/OWLNext (Programming)
http://www.luigibianchi.com/owl.htm

546 :
ttp://www.assembla.com/wiki/show/cppgui/

547 :
Visual Studio 2005 で使えて、swing のような感じでお手軽にGUI を作成できるライブラリィってないでしょうか?

548 :
.NET Framework

549 :
>>547
俺はVC8でwxWidgets使ってるよ。サイザーとか手軽だよ

550 :
保守

551 :
最近のFLTKは1.3の更新ばっかりで2.0は停滞しているなぁ
大きな問題に直面してるわけではないが
成熟もしていないのが・・・

552 :
fltk2はフォーラムでも「過去のバージョン」扱いだな
trunkなのにbranchとはこれいかに
1.3に移行するか
それとも1.3の修正を2.0にバックポート(?)するか
あるいはもう別のツールキットに乗り換えるか

553 :
うがー
fltk1.3をubuntu9.10で使おうとしたら日本語が入力できん。
ファイルから読み込んで表示はできるが、
ibus-anthyから入力しようとすると文字化けする。
せっかくパッケージにある1.1じゃなくて1.3を入れたのに。。。。

554 :
>>553
ibusがXIMで動いてないんじゃないかなぁ?
ibus-daemon -rdx
やってみてもダメ?

555 :
>>554
xtermにもfirefoxにも入力できるから、ximは動いてると思ってた。
やってみたけど駄目だった。
日本語入力がonにできないんじゃなくて文字化けするってのが、
どういう状況なのかわからない。
XIMプロトコルでは文字コードどうなってるの?
ibusが悪いのかとscim入れてそっちを使ってみたけど駄目。
fltk2.0いれてみたらdemoアプリでは入力できた。
が、APIが全然違うので目的のコードを動かすには相当な変更が必要そうだ。
fltk2.0 と fltk1.3 で、どこが違うのか比較するかな。

556 :
printfしてみたら、そもそもXから来る文字コードがUTF-8じゃなさげ。
setlocale関係かなと思ったけど、差はないっぽいな。うーむ。

557 :
fltk2.0も環境によっては入力できないみたい。
あんまり時間をかけられないので、俺は諦めます。
誰か解決してくれるとうれしいなぁ。
Fox-toolkitは日本語が入力できるんだろうか?

558 :
ttps://svn.boost.org/svn/boost/sandbox/guigl/

559 :
質問です。
自作のプログラミング言語処理系に組み込むのに向いているGUIツールキットを探しています。
ただ、その言語処理系の制限上、コールバックをする事ができません。
つまり、[その言語]->[C or C++]->[その言語]という呼び出しは行えません。
この問題を回避できるツールキットをご存知の方はいらっしゃいませんか?

560 :
どういう使い方をしたいのかがさっぱり判らん

561 :
イベントループをその言語から呼んではいかんということだな。
その言語はイベントループ手前で一旦終了、
Cの方でイベントループを呼び出す。
コールバックは毎回君言語を実行する形。とするのかな。

562 :
一度終了して、後から呼ぶのも(不可能ではないですが)難しいです。
継続をサポートしているため、559の制限が発生していて、
一度終了し、イベント内で再開した場合も、同様に継続をサポートできません。
Windowsに話を絞ると、Windowsの標準メッセージループは次のようなのだと思います。
while (GetMessage(&msg,NULL,0,0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
この3つの関数呼び出しをまとめた、ProcessMessage関数を作り、
bool ProcessMessage(){
if(!GetMessage(&msg,NULL,0,0)) return false;
TranslateMessage(&msg); DispatchMessage(&msg); return true;
}
これを私の言語から、
while ProcessMessage() do
hogehoge()
end
のように使えば動くと思います。この場合、C側のイベントハンドラは発生したイベントをQueueに入れて、俺言語の中でそれを取り出して使う事になると思います。
Windows以外にも対応したいので、このような形を取れる、ツールキットはないでしょうか?

563 :
>>559
もし実装言語がCなら、標準ライブラリのsetjmp/longjmpを使って、
インタプリタ側とコールバック関数側をコルーチンの形式で
交互にジャンプさせることで、擬似的な並行処理を実現するんだろうね。
もちろんジャンプバッファ(jmp_buf)は2個必要になる。
Rubyのスレッド(平行処理)も、インタプリタ内部ではスレッド単位に
ジャンプバッファを持って、スレッドのコンテキストを管理してる。
以下は、RHG(Ruby Hacking Guide)の該当する章へのリンク。
・ttp://www.loveruby.net/ja//rhg/book/thread.html
もし仮想マシンで実行しているなら、(setjmp/longjmpに相当する)
実行コンテキストを保存/復帰させる命令を仮想マシンの仕様に追加する。
というか、開発中の言語処理系が「ホントウ」に継続(countinuation)を
サポートしているなら、継続で互いのコンテキストを切り替え続ければいいはずなんだが....

564 :
>>563
いやいやいや。継続をサポートしてるから駄目なんだよ。 てか、スレッドと継続を混ざってない?
[その言語part1]->[C or C++]->[その言語part2]
って呼び出しをしたとして、[その言語part2]から[その言語part1]に継続でジャンプすると、C 部分の関数は入って2度と出なくなる。
その時はデストラクタも呼ばれないし、それ以外もマズい事になる所がある。
で、今日、tcl/tkについて調べたら、Tk_MainLoop関数は、
void
Tk_MainLoop(void)
{
 while (Tk_GetNumMainWindows() > 0) {
  Tcl_DoOneEvent(0);
 }
}
ってなってた。
この関数を俺言語に移植して、イベントキューを作ればうまくいくかな?

565 :
中途半端な代物で「継続をサポートしてる」と名乗るあつかましさがそもそもの元凶では。

566 :
>>565
うぐう。
継続のサポート自体は中途半端じゃないよ。俺言語で書かれたプログラム内で閉じてればフルに継続が使えるから。
Javaはメモリ破壊に対して安全だけど、Cで書かれた拡張ライブラリにバグがあったらメモリは破壊される、みたいな物だと思いねぇ。
その言語用のライブラリをCで作るときの制限の大小の話はあるかもしれないけど、
Emacs lispだと、GCがある事を考慮に入れてプログラムを書かないといけないが、Rubyだといらないとか、
継続にしたって、Luaとかは俺言語と同じ制限がある、Rubyとかは努力して回避してる。
ただ、Rubyとかが使ってる方法は黒魔術なので、環境依存する。違うプロセッサで動くとは限らない。
もちろん、努力が足りないと言われればそれ以外ないけど。

567 :
うぐぅとか聞いたの10年ぶりぐらいだ

568 :
> 継続のサポート自体は中途半端じゃないよ。俺言語で書かれたプログラム内で閉じてればフルに継続が使えるから。
俺言語で閉じた利用だけを想定するならそういえるけど
しかし作者自身がその想定から外れた前提で質問した上で
そう言い張ってもなー
> Javaはメモリ破壊に対して安全だけど、Cで書かれた拡張ライブラリにバグがあったらメモリは破壊される、みたいな物だと思いねぇ。
それは違うだろ
たとえるならJNIでいうグローバル参照がないとかだな
> 継続にしたって、Luaとかは俺言語と同じ制限がある、Rubyとかは努力して回避してる。
LuaとRubyしか知らないの?
つか、この文を書けるなら当然LuaのGUIバインディングは調査済だと思うが
その結果はどうだったのさ

569 :
保守

570 :
FLTK 1.3.0年内リリースに向け追込み中の模様・・・
日本語入力関係で2.0.x使うようにしていたけど
もう一度1.3試してみようかな

571 :
ubuntu10.04
FLTK v1.3.x-r7893
でも>>553と状況変わらず

572 :
FLTK v1.3.x-r7996
で日本語入力対応したっぽいage

573 :
FLTK v1.3.x-r7996
OpenXIM() を使っているようす。
kinput2+Canna では入力出来た。
scim+anthy だと漢字変換を起動させることが出来なかった。

574 :
>>573 s/OpenXIM/XOpenIM/

575 :
fltk 2.0.xにいつの間にかalphaがついている
1.3.xが落ち着いて2.0.xに開発者が若干戻った感じ
しかし1.3.0はまだRC3のまま

576 :
OpenGL画面の上に数値入力コントロールを置きたいんだが
できるだけWin32のコントロールに近い挙動のGUIを作れるライブラリがあったら教えてくれ。
目的の対象プラットフォームはWin32のみ。

577 :
qt

578 :
qtはマイナーじゃないので別なのありませんか?

579 :
WTL
今となってはマイナーだと思う。

580 :
GLUI

581 :
nacl

582 :
FLTK 1.3.0 final version released!
……半月前だが

583 :
はいゴミR
ゴミって意味わかってんのかなこいつら

584 :
>>582
それは良い事を聞いた!

585 :
軽いGUIライブラリを探しています。
FLTK-2.0がベストなのですが、これって開発続けられていますか?
ホームページを見ると休眠中だけど再開したようなことも書いてあるし、
現状のステータスがよくわかりません。
Fl_というプレフィックスが見苦しい1.3ではなく2.0を使いたいのですが、
これ使って良いものでしょうか?
あるいは軽量ならFOXを使えとか...
どうするのがベストでしょうか。



586 :
勝手にFLTK2で行くことに決めました。
日本語化けます。対応してるはずです。助けて><

587 :
コールバックが好きでない俺はFOXのメッセージがいいなぁと思った。

588 :
ずっとクロスプラットフォームな GUI のライブラリで悩んでいたんだけど、
JavaScript を試してみたら結構サクサク動いたので、もう HTML5 で
行く事に決めたわ
Firefox だけで動けば良いから、クロスブラウザ問題も無いし

589 :
>>586
FreeType有効にしてる?

590 :
何それ美味しいの?

591 :
FLTKだけど使い物にならないな。
一回メインウィンドウを作って閉じたら終了、なアプリはいいんだけど、
DLL化して何回も呼び出して(メインウィンドウを作っては消す)を繰り返すと、
10回に1回ぐらい不定期に強制終了する。何が起きるかはランダム。
おそらくFLTKのリソース管理がまずいか、メモリを破壊している。
2.0, 1.3, 1.1系列で確認。
ちょっと使い物にならない。


592 :
>>591
そういうのは、ここで報告してあげると喜ぶと思うよ
http://www.fltk.org/newsgroups.php?gfltk.bugs+T
もう既に報告済みだったらスマソ

593 :
>>591
FLTKの作法は知らないけど、
ウィザード形式の紙芝居遷移をするなら、メインウィンドウの中でパネルを入れ替えたりするのが
王道のような。
それかメインウィンドウを1個どどんと置いて、そこを軸にサブ画面を表示ってスタイルとか。
(必ずメインウィンドウを最後に閉じる)

594 :
他人の作ったアプリのプラグイン(DLL)として動くので、
自分で寿命を管理できないんだわ。
アプリ自体はずっと存在して、DLLのみ何回もロード/アンロードが繰り返される。
1回目で落ちたことはない。落ちるなら2回目以降。
サンプルを見てもメインウィンドウのdeleteはおこなわずにアプリを終了してるので、
FLTK自体こういう使い方(new/deleteを繰り返す)は想定してないようだ。
これではちょっと使えないので、また振り出しに戻ってツールキット探すぜ。
FOXは何かキモイからgtkmmあたりを攻めて見る。Gtkだから物は確かだろう。




595 :
>>594
それはお前がいけないんだろ。
たとえばLIBで組み込んだら、GUI終了したらメモリ完全解放され、次の起動に影響を及ぼさない。
DLL化するときの初期化に失敗してるんだろ。

596 :
とは思えないなあ。DLLの初期化に関してはアプリがやってるので自分はノータッチ。
アプリ側が間違えている可能性はあるがクローズだからわかんね。
多分ほかの(FLTKを使わない)プラグインでそういうエラーは聞いたことがないので多分大丈夫だと思うよ。
そしてgtkmmデカすぎワロタ。いったいくつdllを同梱させる気だよ。
プラグイン単体で配布して、VisualStuidoの再配布可能パッケージと
gtkmmインストールしてね、というのもなあ...
どこかに理想のウィンドウツールキットはないものか。



597 :
GTKは糞
Qt4はイケメンだがデブ
wxWidgetsは不細工だがスマート

598 :
wxWidgetsもかなりメタボな気がするが
ところで>>585の文を読む限りWindowsだけの話に思えるんだが
このスレの範疇のツール使う意義って何なの?

599 :
あとDLLの場合に落ちるんなら
別プロセスで動かせばとりあえず動くんじゃね?
抜本的解決ではないが

600 :
Windows限定でならTkもいいな

601 :
ポトペタがあるとないのでは雲泥の差。
C++Builder、Qtあたりがよさそう。

602 :
ここが俺の日記帳だ!
gtkmmでGUIを作ってみたけど、やはり2回目以降にアクセス違反その他のエラーが出る。
詳細は違うがFLTK2, FLTK1.3, gtkmm-2.6のすべてで2回目以降にエラーが出るので、
これはもうツールキットの問題ではなく呼び出し元のアプリが悪いようだ。
他人のプラグインは恐らくWin32API直叩きだが、それはめんどいので無理。
出るとしたら2回目以降だからあきらめるしかないだろう。


603 :
どうせ君のプラグインは誰も使わないんだろうしね

604 :
この板の住民にとっては Qt4 とか wxWidgets とかはマイナーじゃないと思う

605 :
GUIはライブラリより開発環境のが重要

606 :
ポトペタ使わないで全部手書きでやってるよ

607 :
GUI の配置は XML で定義出来るのが一番良いなあ

608 :
FLTKの欠点はGroupの子ウィジットの座標指定がGroupの相対座標にならないことだな。
(なぜかその上のWindow相対になる)
すでに改善項目としてあがっているが。。。

609 :
最近全部HTMLで済ませてるわ・・・

610 :
GUIのデザインの話ね。

611 :
俺も同じく。
元々テキストエディタだけでも作成出来るほど手軽だし、
これだけ広く使われているだけあって、ツールも沢山揃っているし、
ベンダーやフレームワークに依存したお作法を強制される事もないし、
ドキュメントも沢山あって、自分以外の人間がメンテするのも容易だし、
動かすのも簡単だから、誰が相手でも気軽に配布出来るし、
今後遠い将来を考えても無くなる事はないし、規格の更新も活発だし、
周辺インフラの充実具合も半端無いし、大抵のサービスはお金も掛からないし、
色々考えると良い事しかなくて、便利に使ってるわ。

612 :
>>611
同意する点もあるが
それ以上にツッコミどころ満載なんだが……
皮肉?

613 :
例えば、どこら辺が突っ込みどころ?

614 :
>ベンダーやフレームワークに依存したお作法を強制される事もない
>自分以外の人間がメンテするのも容易
>誰が相手でも気軽に配布出来る
>今後遠い将来を考えても無くなる事はない
>規格の更新も活発
>大抵のサービスはお金も掛からない
この辺かなぁ
個人の感想と言えばそれまでだけど

615 :
それ、何か間違ってる?

616 :
意見を聞くと黙ってしまう

617 :
FoxToolKit日本語サイトもあって8時間ぐらい奮闘したが、
あまりの見た目のダサさに我慢できなくなってきた・・・

618 :
FLTKでモックを作ってみたんだけど、もしかしてダサい?
ツールキット変えたらかっこよくなるかな?
http://www.picamatic.com/show/2011/08/12/08/24/7772591_346x367.png

619 :
FLTKって日本語ちゃんと扱える?

620 :
上の画像のとおり何の問題もなく使えている。


621 :
入力も?

622 :
>>618
fltk俺も使ったことあるが見た目に我慢できなくて、
結局juce library使ってる
金払わないとgplなのがネックだが

623 :
ああ、入力は知らん(使わないから)

624 :
>>622
http://www.rawmaterialsoftware.com/portal.php
これかー。
7万円ってえらく高いけど、Qtとかに比べてもいいのかな。

625 :
juceってどんな感じ?
金払ったん?

626 :
>>625
かなりjavaライクというか、
Componentを継承して、Listenerを継承して、というカンジで使う
かなり分かりやすい、と思った。
GUI以外にもpngやjpeg、スレッド,ogg,zip,json,xmlとか色々いたりつくせりだった
LookAndFeelを設定しないと日本語がでないところ、
Tマクロがboostと競合したところがイラッとした。
ドキュメントやヘッダのコメントが本当に丁寧で色々助かる。英語だけど
ただ商用ライセンスは高いよなぁ gpl2がダメならあきらめるしかない。
てか見た目がイイ
qtは一回インストール失敗してから使ってないからわからないなぁ

627 :
おー、ありがとう。
やっぱり有料で使うのはちょっとって感じかぁ。

628 :
GPLで作って後から製品購入は
Qt同様ダメなんだろうか

629 :
>628
単に製品版でコンパイル仕直しゃいいんじゃないの?
GPL配布分はGPLのままだけど。

630 :
>>629
Qtはそれもだめってことになってるからさ

631 :
>>630
>金払わないとgplなのがネックだが
の事なら、Qt は LGPL だよ

632 :
>>631
「*GPLで作って後から製品購入したのでは、*GPLにしかできない」
ってところさ

633 :
もしソースコードの開示で悩んでいるなら、GPL と LGPL では話が大分違ってくるし、
サポートが欲しいなら LGPL 用のサポートメニューが用意されてるみたいよ

634 :
LGPLで作って製品は買わなきゃいい

635 :
wxWidgetsのライセンスって何なの(L-GPL)?
これ使って書いたプログラムってソースコード開示する必要あるの?
教えてエロい人!!

636 :
wxWidgetsってマイナーじゃないよ

637 :
過疎ってるからおいで。
【GUI】wxWidgets(旧wxWindows) その5【サイザー】
http://hibari.2ch.net/test/read.cgi/tech/1270793556/

638 :
open motifが枯れてて安心じゃね?

639 :
プログラマが発狂する可能性がある。安心できない。

640 :
clang + motifがあれば、フリーライドで仕事できな

641 :
IUPって、どうよ?MITライセンスだしタダ乗りできないかな

642 :
>>641
C++のラッパーもあるなぁと思ったら、そっちは2005年で止まってた
IUP自体は使い易いんだろうか? C++用に自分で書くしかないかぁ
かと思えば、go用のラッパーがあったり

643 :
GTK+って日本語入力まわりが貧弱だった印象があったんだけど
さすがに改善されたのかな

644 :
何度でも言う
GTKは糞

645 :
尿意

646 :
http://xforms-toolkit.org/ ってのもあるんだ。
xforms の *.fd 形式って、fltk の fluid でも読込みこませられるみたい。

647 :
.NETライクでpublic domainなGUIライブラリないですか?

648 :
.NETやmonoじゃだめなん?

649 :
だめなの?

650 :
だめ

651 :
だめだめだめだめだめよ

652 :
ネイティブバイナリをはけて、C、C++用のライブラリをそのまま使える言語がメジャーにならないかなあ

653 :
>>652
Objective-C

654 :
それだったらC++の方がいいな

655 :
>>654 さんの言う通り
一時期はDに期待してたけど
Python使い始めてから
Dっていらない子じゃん
って気付いた

656 :
こんなの見つけたんだが、お前ら的にはどう?
Nana C++ Library
alpha by jinhao
Win32 (MS Windows), X Window System (X11)
http://nanaproject.wordpress.com/
http://sourceforge.net/projects/stdex/
http://www.rhinocerus.net/forum/language-c-moderated/692330-nana-free-c-gui-library-v0-1-16-released.html

657 :
書き方はかなり好みだな。

658 :
>>656
サンプルのhelloworldをReleaseビルドで実行ファイルサイズは121kb。
環境はWinXP, VC10。
wxWidgetsやQtほどの規模じゃないけど、100kb程度で収まるのは評価したい。
ボタン等、各部品は全部自前で描画してるのでOS非標準なのが個人的には
好きじゃないけど、そんなにダサくは無い気はする。ボタンの縁が少し
まるまっていたり、テキストボックスにフォーカスが当たるとボーダーが
ぼんやり光ったり。
なお、予想通りテキストボックスに日本語入力しようとすると入力フォーカス
位置がウィンドウ下になる。確定すると正しくテキストボックス内に収まり
はするけども、現時点では日本人が使いやすいライブラリか、というと厳しい
気はする。あともうちょっとドキュメントは気合い入れて書けと。
QtやwxWidgetsに比べると非常にライブラリ作成も速くて手間がかからない
ので、暇があるなら試してみて損はないと思う。
個人的にはもうちょい使ってみようと思った。

659 :
軽いな

660 :
adobeのarchemyってマイナーになるのかな

661 :
adobeはメジャーかもしれんが、値段が高いからな
言語を使いこなせるまでやる奴はかなり少ないだろ
要するに、マイナーで良いかと

662 :
追加していいですか
ttp://sourceforge.jp/projects/azxclass/

663 :
あげ

664 :
スマホ対応だと、openFrameworksが有力?
wxWidgetsやQtの対応が遅くて不思議

665 :
GUI [goo-ee] Show IPA
noun, plural GUIs, GUI's.
graphical user interface.

goo-ey グーイー
toffee (菓子の)タフィー
definition: GUI, graphical user interfaces | Motive Web ...
Pronunciation. GUI is an acronym and is pronounced ‘goo-ey’ (as in toffee). A graphical user interface allows a user to interact with a computer without entering ...
http://www.motive.co.nz/glossary/gui.php -

666 :
OOoやlibre officeのunoはGUIライブラリに入りますか?

667 :
http://katahiromz.web.fc2.com/mzc/
http://code.google.com/p/mzc/

668 :
>>667
海外のハッカー連中のwebサイトで目が肥えてきたせいか、
この手の日本の中小企業っぽいダサいサイトデザインに対して憎しみを感じるようになってきた

669 :
一般的なFOSSのドキュメントと比較して、文体にエゴが入ってて見るに耐えない

670 :
fc2ってだけで見る気が失せる

671 :
おれネットショップをつくろうとして、ドメインを取得したことがある。
ネットショップは、できなかった。
夢をそのままにドメインだけは維持したかったけど…
もう期限がきれてしまった。カネないんだよ

672 :
オタクの人ってマイナーな武術を会得してたりして意外とケンカ強かったりするよね(´・ω・`)

673 :
詠春拳はオタクに必須のアイテム

674 :
Windows、VisualStudio2012Expressで動くGUIで何かいいのない?

675 :
wxWidgets

676 :
wxWidgetsはインストール難しくない?
簡単なのがいいんだけど

677 :
なんか必須機能があるなら選択肢は・・・

678 :
>>676
難しくはない
面倒なだけ

679 :
他の人も間単にビルドできるようにしたいから
面倒なのは避けたいな

680 :
ビルドも簡単だって
食わず嫌いはイクナイ

681 :
自分ひとりでやる分には面倒でも構わないんだけど
Qtとか半日かけてビルドしているくらいだから

682 :
wxは半日もかからない30分もあればOK

683 :
何か良いGUIエディタ無いかな?
適当なモックアップが作れて、xmlとかで吐いてくれると良いんだか…
それを適当に自分用ライブラリへ変換して使おうと思ってる

684 :
Visual Studio

685 :
ドッキングウインドウとかはできないのな

686 :2013/10/02
できるのか!!
TOP カテ一覧 スレ一覧 2ch元 削除依頼
【超高速】C/C++に代わる低級言語を開発したい 8 (117)
MSX-BASICの奥義を伝授するスレ (782)
MVVMについて語ろう (678)
Git 7 (190)
【Lisp】プログラミング言語 Clojure #3【JVM】 (100)
スレ立てるまでもない質問はここで 129匹目 (952)
--log9.info------------------
Third Eye Blind (675)
SONIC YOUTH/SY-13.tuning (441)
フォークロック/カントリーロック (194)
【M◎D】モッズのスレ【SWINGING LONDON】 (286)
洋楽と邦楽の差ってドラッグだけだよな? (128)
【ソニマニ】SONIC MANIA 2013 part1 (142)
ロック的行動 (273)
Florence + The Machine Vol.01 (331)
LOCAL NATIVES (204)
ロック厨はなぜ馬鹿にされるのか (412)
★☆ASH☆★Part.4 (735)
【結成】 The Used6 【10周年】 (176)
@@@ Dungen @@@ (373)
西海岸ロック総合スレ (165)
The Raincoats (139)
Sufjan Stevens Part4 (134)
--log55.com------------------
女が好きな洋楽
〜川村ゆきえのすれ〜
音楽聴いて激しくダンスしてる所を家族に見られる
フィッシュマンズよりいいバンドって世界にいるの?
何故HRの要素を持つ若手英バンドは少ないのか
Public Image Ltd/Metal Boxのスレッド
そろそろRZAの最高の一曲を決めようか
メガデスのギターがJPOPを絶賛