1read 100read
2012年07月プログラム194: 【C++】マイナーGUIツールキット (670) TOP カテ一覧 スレ一覧 2ch元 削除依頼
<XML総合 part="3"/> (757)
【Intel】OpenCV総合スレ 4画素目【画像処理】 (329)
文字コードの種類は何故複数あるのでしょうか? (342)
NetBeans Part6 (869)
C、C++の最適化について語るスレ 3 (761)
動的言語で大規模開発 (284)

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


1 :03/10/09 〜 最終レス :2012/11/01
とにかく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のフリー版にもついてくる。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
【License】ライセンス総合【利用許諾】 (444)
Ruby>>>>>Java (640)
小学生プログラマだけど質問ある (236)
UNIXプログラミング質問すれ Part10 (536)
Google App Engine for java (266)
D言語は多分コケると思っている人の数→ (377)
--log9.info------------------
キャプテン★レインボー攻略スレ (729)
新世紀エヴァンゲリオンPS2総合 (310)
PS2 ゴッドファーザーの攻略スレ (542)
■ 移転ですー (266)
川のぬし釣りワンダフルジャーニー 3投目 (538)
シムピープル攻略スレ (840)
【酒屋に】三国志]攻略スレパート2【仕える】 (928)
プリンセスメーカー4 攻略スレ (841)
トワイライトプリンセス ミニゲーム攻略 (360)
【サーバー】Pop'n対戦ぱずるだま【がら空き】 (353)
J.LEAGUE サカつく5 攻略 4年目春 (656)
【ファイプロ】マッチメイク【リターンズ】 (374)
天誅弐の隠し部屋って・・ (556)
[wii]スゴロクロニクル (224)
バーンアウト2 ポイントオブ インパクト (371)
モンスターファーム5 攻略スレ (802)
--log55.com------------------
ラーメン二郎 めじろ台店★2台目
【埼玉】上尾桶川北本伊奈 21杯目
ラーメン二郎 会津若松駅前店 8
喜多方ラーメン坂内・小法師 Part.4
【社会的に】麺屋鳳10【抹Rる】
【東千葉】濃麺 海月【臨休】 ★3
@@@船橋のラーメン屋ってどうよ?56@@@
【新町】蓮爾 その34【店主】