[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/27 01:06 / Filesize : 255 KB / Number-of Response : 921
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

GTK プログラミング!!



1 名前:login:Penguin [2001/07/22(日) 22:31]
俺の様な厨房プログラマーをある程度使えるようにまで育成して、和製糞ソフトを
大量量産するのが目的のスレッドです。
とりあえずGNOMEプログラミング(小学館)を買ってきました。
これから読んでみます。

375 名前:login:Penguin mailto:sage [04/02/05 00:11 ID:6Frv3+5B]
>>357
>ウィンドウからはみ出すような大きな画像をドラッグしてスクロールするように
自分も同じようなものを作ろうと思っていたので
まだこのスレを見ていてもしよければソースを見せてもらえないでしょうか?

376 名前:login:Penguin mailto:sage [04/02/05 00:22 ID:gRe+faI+]
>>375
gqview のソースでも見てみたら?
ちょうどそんな感じの操作方法だと思う。

377 名前:login:Penguin [04/02/05 13:06 ID:SoJ3gS8K]
>>374
style "text"
{
base[NORMAL] = "#000000"
base[ACTIVE] = "#151519"
base[INSENSITIVE] = "#181818"
base[PRELIGHT] = "#151618"
base[SELECTED] = "#252629"
}
class "GtkText" style "text"

378 名前:pao [04/02/05 20:15 ID:I9Rb8I9P]
お陰様で余白の色が設定できました。
ありがとうございました。

379 名前:login:Penguin [04/02/05 21:52 ID:IbsAdnep]
gtk_entry_new_with_max_lengthと
gtk_entry_select_region
を使っているのですが、
GDK-Error X server lost
というエラーがしばしば出るですが、
何かご存知の方、いらっしゃいますか。
RedHat7.2を使用しています。

380 名前:login:Penguin mailto:sage [04/02/06 15:35 ID:sPzuahHm]
風博士作者によるGTK+に関するメモ
kazehakase.sourceforge.jp/cgi-bin/hiki/hiki.cgi?GTK%2B%A4%CB%B4%D8%A4%B9%A4%EB%A5%E1%A5%E2

381 名前:login:Penguin mailto:sage [04/02/06 22:15 ID:zjBuw81z]
pangoのcvs版、modules/indic/myanmar-xが消えとるじゃん。
なんでじゃ(゚д゚)ポルァ

382 名前:login:Penguin mailto:sage [04/02/06 22:25 ID:nS4IRly3]
そら中国に消されたんでしょ

383 名前:login:Penguin mailto:sage [04/02/07 09:06 ID:0FnXzrqf]
>>381

ビルマ(綴り知らね)になってたり?




384 名前:login:Penguin mailto:sage [04/02/07 09:21 ID:LRRhMtVA]
>>383
つづりは Burmese なんだけどやっぱりサポートされて無さげ。(`皿´)キシャー

385 名前:login:Penguin mailto:sage [04/02/07 15:47 ID:/BrXzTXu]
>>381
ChangeLogには目を通した?

386 名前:login:Penguin mailto:sage [04/02/07 17:20 ID:LRRhMtVA]
modules/Attic の中のログだけ見てた。removed/deprecated とそっけなく書かれてた。
ChangeLog 見てみたけど myanmar-x モジュールのことは書いてなかった。
このモジュールが呼び出す主要な関数である pango_x_apply_ligatures() についても
さりげなくあぼーんされてた。(´・ω・`)ショボン

Sat Aug 2 14:10:31 2003 Owen Taylor <otaylor at redhat.com>

* pango/pangox.c (pango_x_apply_ligatures): Make a noop,
remove associated code.

387 名前:login:Penguin mailto:sage [04/02/10 15:04 ID:Ei2GCPJI]
>>386
ああ、思い出した。pangox backend消すって話があったわ。
freetype2+fontconfigを使うように書き直して突っ込めばいいんじゃない?

ttp://mail.gnome.org/archives/gtk-i18n-list/2003-April/msg00020.html

388 名前:login:Penguin [04/02/11 09:40 ID:d5X1Hh57]
age

389 名前:login:Penguin mailto:sage [04/02/16 14:10 ID:qOO4+Jst]
GTK+やる奴はgtkmmから始めときな. OOPはOOPLでやるのが一番.
gtkmmやる奴はRuby/gtkから始めときな.よけいなこと気にしなくていい動的言語が一番.

390 名前:login:Penguin mailto:sage [04/02/16 17:05 ID:iudeGd8p]
>>389
さんせ〜。Redhatだかどこかの誰かが、「Cはライブラリ作るための言語」って言い切ってたっけ。
これからGTK始める人は、どんどん(Cじゃない)高級言語でGTKアプリ作ってって欲しい。

ところで「『よけいなこと気にしなくていい』動的言語」って、変数型のお話?

391 名前:login:Penguin mailto:sage [04/02/16 18:47 ID:juVw0kFu]
>>389 >>390
勉強のつもりでボタン一個だけ貼り付けたウインドウを作った。
シグナルやイベントもなんとなく解った。
v1.2 チュートリアルを見たらウィジェットのボックスやテーブルは書いてあるけど
ボタンを任意の位置に複数貼り付けるのはどうすればよいの?
javaのようにパネルを貼り付けてそのパネルにボタンを配置すればよいの?
gtkmmはGTKのウイジットをクラスとしてラッパーしたものらしいけど、何処にあるの?
rpm -qa | grep gtkでも出てこない
おいらはgtkmmを使いたい
gtkmmの使い方を説明したものはないの?
gtk-tutorial.20021027.tar.gを見るしかないの?

あぁーー   謎だらけ


392 名前:login:Penguin mailto:sage [04/02/16 19:05 ID:oCxJzKi5]
>>391
- 今から始めるなら1.xじゃなくて2.xを使ったほうがいいよ
- 任意の位置への貼り付けはGtkFixedとかGtkLayoutとかそれらの入れ子とか
- あとはgoogle先生に

393 名前:login:Penguin mailto:sage [04/02/16 19:52 ID:juVw0kFu]
google先生はなんて優しいんだ
gtkmm2というrpmみっけ
2.x使って遊んでみる



394 名前:login:Penguin mailto:sage [04/02/16 21:18 ID:juVw0kFu]
インストールしょうとしたら
libsigc-1.2.so.5
libsigc++-devel
が必要といわれ、google先生は教えてくれません
誰か愛の手を差し伸べてください


395 名前:login:Penguin [04/02/16 21:34 ID:juVw0kFu]
解決しました。

396 名前:login:Penguin mailto:sage [04/02/16 22:21 ID:+Ig7jOcp]
>>390
それOwenのセリフ。
その割にはOwenアプリは(KanjiPadとかMemprofとか)Cで書かれて
いるものばっかりだけど(w

まあアプリに関しては自分の好きな言語を使えばいいんじゃない。


397 名前:login:Penguin [04/02/17 11:30 ID:r1qIPww0]
Gtkの button widget の relief 部分の幅を削る方法は
ありませんか?

gtk_container_set_border_width()というのを見つけたのですが
これだと buttonの外側の余白しか変わりません。


398 名前:login:Penguin mailto:sage [04/02/17 21:39 ID:LrLm6Jz+]
使ったことないけど、プロパティにあるreliefって、関係なし?

399 名前:login:Penguin mailto:sage [04/02/17 21:53 ID:1y8cj++7]
(・∀・)relief!!

400 名前:login:Penguin mailto:sage [04/02/17 23:24 ID:ki2m0kcc]
はっとく
www10.plala.or.jp/always/develop/

401 名前:login:Penguin mailto:sage [04/02/17 23:39 ID:YPxA1wly]
>>397
gtk_button_set_relief()は試しました?

402 名前:397 [04/02/18 08:46 ID:0LoZKQD9]
gtk_button_set_relief()は、reliefの形を変えるもので
幅を削ることはできません。
(NORMALでもHALFでもNONEでも relief が同じ幅を占有します)

やっぱこれはできないぽいですねぇ。う〜む。



403 名前:login:Penguin mailto:sage [04/02/18 10:50 ID:p31sw5gF]
GtkButtonのdefault_borderプロパティがREADオンリーなので無理でしょう。
やるならGtkImageかなんかをボタンにするとか。





404 名前:login:Penguin [04/02/21 01:02 ID:iveKWUuZ]
GtkPixmap()で生成したウィジェットをgtk_widget_show()で画像を表示。
その画像の上にgdk_draw_rectangle()で描画した矩形を表示させたいのですが、
どうしても、Pixmapの配下に矩形が表示されてしまいます。
すいません、教えて下さい。

405 名前:login:Penguin [04/02/23 21:50 ID:lo6TfN7B]
どうゆうこと?
もちっと詳しく
できればソースつけて


406 名前:login:Penguin [04/02/23 22:06 ID:wKxG00oc]
スミマセン
藍よりも青し のダンレボゲーム知りませんか?


407 名前:login:Penguin mailto:sage [04/03/01 22:12 ID:w44UF/9x]
どこか、gdk_window_set_back_pixmapをparent_relativeをTRUEで使用した場合の
いいサンプルってありませんでしょうか。
サンプルを書いて使ってみているものの、対象のGdkWindowをclearすると、
真っ黒にしかならなくて困っています。
#一応、parent_relativeがFALSEの時は、あらかじめ作ったGdkPixmapでGdkWindowの
#背景にpixmapを描画してくれるのですが...

#リファレンスを読む限りでは、parent_relativeがTRUEでgdk_window_set_back_pixmapを
#使うと、Etermみたいな(疑似)透過ウィンドウができるって思ったんだけど、違うのかな?


408 名前:login:Penguin mailto:sage [04/03/05 21:04 ID:+LD8Xma7]
チュートリアルに書いてあったプログラムをコンパイルしても、
実行ファイルのサイズは、せいぜい数十kbにしかなりません。
しかし、glade でウィンドウにメニューとテキストだけ貼ったものを、
autogen.sh でコンパイルすると、それぞれの .c に対し 200kb
以上の .o ができて実行ファイルも 500 kb を越えてしまいます。

automake/autoconf がらみでコンパイルオプションが長々としているのが
原因だと思うのですが、このリンクの無駄を省く方法をご存知ないでしょうか?

409 名前:login:Penguin mailto:sage [04/03/05 21:59 ID:3OhPvv7U]
>>408
デバッグオプション外してみたら?
またはstrip -g してみるとか。

ちなみに、チュートリアルのプログラムに-g(デバッグ)オプション付けて
コンパイルするとどれぐらいの大きさになります?
既に付けてたら無視してね。

410 名前:login:Penguin mailto:sage [04/03/05 23:52 ID:+LD8Xma7]
>>409
strip -g で小さくなりました!早速デバッグオプションまわりについて調べてみたいと
思います。

ちなみにチュートリアルの helloworld に -g オプションを付けてみたところ
14533 -> 164785 となりました。


411 名前:login:Penguin mailto:sage [04/03/06 08:47 ID:T+WnXI9F]
>>410
それならmakeはそのままで、インストールするときは
make install-stripでインストールすれば、多分stripされるよ。


412 名前:質問 [04/03/07 00:54 ID:3z3kajPi]
gtkとopneglを併用したアプリを作ろうと思い、gtkglareaに
手を出してみたのですが、ドキュメントがなくて困っています。

gtkglareaはgtkと共存できるglutの代替ライブラリだと思うのですが、
glutとgtkglareaの各関数の対応表みたいなものはどこかのサイトに
あるのでしょうか。

特にすぐ知りたいのはglutTimerFuncです。

413 名前:412 [04/03/07 04:10 ID:3z3kajPi]
一通り.hを読んでみましたが、基本的に初期化についての関数しか用意されていない
みたいですね。




414 名前:login:Penguin mailto:sage [04/03/07 16:22 ID:qODY7BL6]
>>412
Gtk+ 1.2か?Gtk+2以降はGtkGLExtを使うべし。


415 名前:412 [04/03/10 06:04 ID:XpgJ0nF/]
>>414
情報ありがとうございます。

Gtk+2なのでGtkGLExtを使ってみることにします。

gtkglareaでglutTimerFuncの代わりにg_timeout_addを使い
簡単なアニメーションを作るまでやってみたのですが...



416 名前:login:Penguin [04/03/16 21:55 ID:IRXVaMIp]
絵が書いてある GdkPixmap の一部に、別の絵を張り付けようとしてます。
その時、もとの絵が透けて見えるようにしたいのですが、どのようにすれば
いいんでしょう?

gdk_pixbuf_render_to_drawable_alpha なんかが使えるのかと思ったら
alpha_mode : Ignored とか obsolete とか書いてあり、違うようですし・・。

417 名前:login:Penguin [04/03/17 23:13 ID:+5aLOVRA]
gtk+2.4揚げ

418 名前:login:Penguin [04/03/18 10:09 ID:XRV/eX8E]
label1 = gtk_label_new("111111\n22222222\n33333333");
gtk_misc_set_padding(GTK_MISC(label1), 20, 0);
とかすると

111111
22222222
33333333

になるんだけど

11111
2222222
3333333

のように1行目のみpaddingする方法無いですか?
できれば1.2で…


419 名前:login:Penguin mailto:sage [04/03/18 20:39 ID:Jr1qezom]
1つのラベルに複数行書くのはどうかと思うのだが…

420 名前:login:Penguin mailto:sage [04/03/19 09:40 ID:keCgvMYR]
え、まじですか。そういう事だったんですか。しょぼーん。


421 名前:login:Penguin mailto:sage [04/03/19 16:57 ID:iSGoHu86]
>>418

gtk_label_set_justify(GTK_LABEL(label1), GTK_JUSTIFY_RIGHT);

ということ?

422 名前:login:Penguin mailto:sage [04/03/21 08:38 ID:YeGS8vgU]
gtkmm(gtkmmに無ければgtk2, gtk)でデータベースに接続するにはどうすればよいのでしょうか
ドキュメントを見てもそのような物は無さげです。
よろしくです。

423 名前:login:Penguin mailto:sage [04/03/21 09:44 ID:EQKLTR4/]
>>422
データベースへの接続とgtkとは関係ない。



424 名前:login:Penguin mailto:sage [04/03/21 10:06 ID:YeGS8vgU]
考えてみればそうですね
データベース側で提供されているライブラリを使うのですね
PHP見たいな感覚で、もしかしたら用意されているのかなぁ
と思ってしまいました


425 名前:login:Penguin mailto:sage [04/03/21 13:41 ID:jZhqbKqZ]
>>424
スレ違い気味だけど、GNOME-DB Projectでlibgdaというライブラリを
メンテナンスしてるので、それ使うといいかも。ただC++ bindingsは
良さげなものがなさそう。libgdammは古いのしか見当たらないし、
Intiにはまだ入っていないし。

426 名前:login:Penguin mailto:sage [04/03/21 13:53 ID:jZhqbKqZ]
そういえば、IntiのViewCVS見てみたけど、Inti-sourceviewと
Inti-GLが見当たらない(汗


427 名前:login:Penguin mailto:sage [04/03/21 18:08 ID:YeGS8vgU]
>>425
ありがとうございます。
libgda見たけど英語の壁が(T_T)、使い方もわからねぇ
データベース側で提供されているAPI使ってみます。

428 名前:416 mailto:sage [04/03/22 23:36 ID:t6oDHj5H]
自己解決した。
pixbuf はアルファチャンネル持てました。

429 名前:login:Penguin mailto:sage [04/03/25 21:50 ID:JRhACcYQ]
このスレみてる神さま、GTK2のぶあつい本をかいてください。おながいします。

というか、誰か執筆してるの?

430 名前:login:Penguin mailto:sage [04/03/27 01:01 ID:/QE+KWFL]
このスレみてる神さま、Gtkmm2の本もかいてください。おながいします。

431 名前:login:Penguin mailto:sage [04/03/27 11:39 ID:8IBM4CMs]
>>429,430
GGADで十分じゃん?

432 名前:login:Penguin mailto:sage [04/03/27 23:05 ID:ikpVq0kX]
>>431
GGADて何ですかいのぅ
検索かけても、よう解らん

433 名前:login:Penguin mailto:sage [04/03/28 00:37 ID:ItaNUZEo]
>>432
developer.gnome.org/doc/GGAD/ggad.html




434 名前:login:Penguin mailto:sage [04/03/28 01:44 ID:OsOSJi7C]
ありがとう
でも、C++が好きなので・・・
gtkmmは思いっきりC++してる。
英語のチュートリアルと格闘中、少しずつ解って来た

435 名前:login:Penguin mailto:sage [04/03/28 01:58 ID:2rXU3IHl]
GGADはGNOMEが1.0だったか1.2の頃のものなので内容が古すぎなのが難点。


436 名前:ヽ(´ー`)ノ ◆.ogCuANUcE mailto:sage [04/03/28 18:21 ID:p248nSiU]
C++ 好きなら Qt の方が……(ゴホンゴホン


437 名前:login:Penguin mailto:sage [04/03/28 19:39 ID:JRuDttB9]
>>436
前もどっかで書いたんだが、gtkmmに対するQtの有利な点て何?
独自のプリプロセッサ使ってる分汎用性低いし、STLとの相性も
gtkmmの方が良さそうな気が。

具体的にはオフィシャルFAQの
www.gtkmm.org/gtkmm2/docs/FAQ/html/index.html#id2432168
www.gtkmm.org/gtkmm2/docs/FAQ/html/index.html#id2432591
に対する反論が聞きたいです。

# 前に書いたときは、両方に通じてる人が少ないのか、反応なしだったなぁ。

438 名前:login:Penguin mailto:sage [04/03/28 20:09 ID:fUDrTxoN]
>>437
Qt好き(というかgtkmmは触ったことない)なだけで別に有利と思って使ってるわけではない。
あくまで個人的な意見だけど。例えば
>so that Qt classes can not be used easily with non-Qt classes.
については他のライブラリと組み合わせたとしても、Qtで組むのはMVCな構造ならViewの部分だから
View(Qt)がModelの(C++な)クラスを使うことはあっても逆はないから特に気にならない。

>In Qt, Containers and Layouts are separate classes, and child widgets must be added to both.
というのもレイアウトにはQtDesigner使えるしあまり関係ない気がする。

逆にgtk+なアプリでgtkmm使ってる例の方が少ないと思うんだけどどうしてなんだろう。
ライセンス的にもGPL至上主義者以外にとっては有利なはずなんだけど。

とか言いつつちょっとgtkmm使ってみようかとは思ってるんだけど。
(素のgtk+はやる気が起きない...)


439 名前:login:Penguin mailto:sage [04/03/28 21:27 ID:JRuDttB9]
>>438
なるほど、参考になったっす。

GTK使ってて直にC使う人が多いのは、まー惰性というか、文化ってやつじゃないでしょうか。UNIX環境では一番メジャーな言語でしょうから。

自分も、gtkmm使ってC++でやった方が効率的にできるんではないかと推測するんですが…
# C++自体に下手に深入りしなければ :-p
gtkmmを使ってる比較的メジャーなプロジェクトってないですかね。自分は寡聞にして存じません。

これも前どっかで書いたけど、Owenが以前言った(らしい)とおり、C以外の言語で開発したメジャーなGTKアプリがどんどん出てきて欲しいです。

440 名前:login:Penguin mailto:sage [04/03/28 22:31 ID:2rXU3IHl]
gtkmmがgtk+ほど使われない理由の一つは単純に入れるものが増えて
マンドラケってことじゃないかな。それはGARNOME使えや、ゴルァ!
とか言いたくもなるけど。

しかしながら、GNOMEでもオフィスものになるとC++で書かれる傾向
が強くなってるような気がする。AbiWordのように素のgtk+を使って
いるものもあるけど

Inkscape
www.inkscape.org/
Gestalter
www.linotux.ch/gestalter/
Passpartout
www.stacken.kth.se/project/pptout/

はgtkmmを使っている。


441 名前:login:Penguin mailto:sage [04/03/29 10:07 ID:VUEcUgl7]
C MAGAZINEの2002年11月にQtの記事が出ていたので
Qtを覚えてみようかと思ったけれど
プログラムやライセンスなどに制約がありそうなのでgtkmm2にした

gtkmm2はあまり使われていないのですね
日本語で解説したホームページが一件だけで悲しい。
ウイジットの大まかな解説だけでもあればだいぶ違うのに
英語のチュートリアルはなかなか大変

442 名前:login:Penguin mailto:sage [04/04/05 19:15 ID:y/kEmNyL]
おたずねします。
Glib::ustringをstd::stringやchar*に変換するにはどうしたらいいのでしょうか
教えてください。


443 名前:login:Penguin [04/04/05 22:28 ID:y/kEmNyL]
age



444 名前:login:Penguin [04/04/06 00:03 ID:GZxyDVkQ]
自己解決しました
const char* Glib::ustring::c_str ( ) const
というのを見逃してました。

445 名前:login:Penguin mailto:sage [04/04/06 21:32 ID:gcfhfboL]
GTK#って日本語通る?

446 名前:login:Penguin mailto:sage [04/04/06 22:08 ID:qtjhbKpC]
ここ見にきてる人ってどんなアプリ作ってるの?

google で検索してみても gtk でアプリ作ってるっていう日本語のサイト
はあまりない気がするし・・。古いの多いし・・。

447 名前:login:Penguin [04/04/07 01:30 ID:fxxNRgLA]
>>446
今、新しいgtkmm2で作ってる

448 名前:login:Penguin [04/04/09 09:22 ID:E9wQ2At3]
www10.plala.or.jp/always/develop/


449 名前:login:Penguin mailto:sage [04/04/09 10:32 ID:Y4el8t2X]
>448

ネタ的に古かったので削除していたのだが、一応、復活させときました。

450 名前:login:Penguin mailto:sage [04/04/09 12:34 ID:MWyF42lQ]
>>440
> gtkmmがgtk+ほど使われない理由の一つは単純に入れるものが増えて
> マンドラケってことじゃないかな。それはGARNOME使えや、ゴルァ!
> とか言いたくもなるけど。
GARNOMEっつーか、distroでパッケージ用意してもらうほうが先な気がする。
まぁGNOME Platform Bindingsに少し期待。

> Inkscape
> www.inkscape.org/

> はgtkmmを使っている。

ダウト。

451 名前:login:Penguin mailto:sage [04/04/09 13:53 ID:lHXUAkbr]
最初に手を出したのは、ファイルマネージャだった。
結局たいしたものにならず、音楽ファイル選択アプリと化してる・・。

>>448
gtk2化。期待してます。

452 名前:login:Penguin mailto:sage [04/04/09 14:30 ID:Y4el8t2X]
>>451

CxplorerのGtk2化が終わったら、それを題材にやろうかと思っています。

453 名前:login:Penguin mailto:sage [04/04/11 01:42 ID:F5VYGb6q]
GtkTreeViewについてはまった点を書いておきます。

cxplorer.sourceforge.jp/pukiwiki/index?%5B%5BPorting%2FGtkTreeView%2F%C3%ED%B0%D5%BB%F6%B9%E0%5D%5D

gImageViewのソースに助けられました。



454 名前:login:Penguin mailto:sage [04/04/13 00:48 ID:Fj29gwyS]
gtk_file_selection_new で出てくるセレクタに g_locale_to_utf8 って噛ませられるの?
日本語ファイル名が使えないのをなんとかしたいんだけど。

455 名前:login:Penguin mailto:sage [04/04/13 08:08 ID:l2SC64Ga]
fedra (UTF8環境)で、何もしなくても表示・選択できてます

456 名前:login:Penguin mailto:sage [04/04/13 21:03 ID:Fj29gwyS]
>>455
それはシステム自体でファイル名にも UTF-8 使ってるからだと思います。
従来の EUC-JP な環境用になんとかしたいんですが、やはりアプリ側では
なんともならないのでしょうか?

457 名前:login:Penguin mailto:sage [04/04/13 21:35 ID:BLXcmJM7]
>>454

エラーメッセージに出てるように、環境変数 $G_BROKEN_FILENAMES を指定すると
日本語の表示はできてるようだけど、他への影響あるのかな?

やってみた?

458 名前:login:Penguin mailto:sage [04/04/13 22:18 ID:Fj29gwyS]
>>457
できますた!アリガトン

459 名前:login:Penguin mailto:sage [04/04/16 16:40 ID:ZlX2qNUE]
外部アプリケーションからGTKアプリケーションに対して
あるトリガを与えてやり、それを受けたGTKアプリが
自分の表示内容を変更ということをしたいのですが
どうすれば良いでしょうか?

具体的には、あるデバイスの状態を監視する常駐アプリがあって
デバイス状態が変化したら、そのアプリが複数のGTKアプリに作用し
内容を変更させたいです。
また、複数のGTKアプリ達に同期をとらせるという意味もあります。

linuxのシグナルを使っても良いかと思ったのですが
GTKアプリの処理中に割り込まれて、内部状態を更新してしまったら
めちゃくちゃになりそうで躊躇しています。

どなたかお知恵をお貸し下さい。
よろしくお願いします。

460 名前:login:Penguin mailto:sage [04/04/18 13:25 ID:V2Ifc6oG]
>>435
"NO STARCH PRESS RELEASES THE OFFICIAL GNOME 2 DEVELOPER'S GUIDE"
www.gnomedesktop.org/article.php?sid=1753

訳出キボンヌ。

461 名前:login:Penguin mailto:sage [04/04/18 19:03 ID:sSYSAFlA]
>>460
GNOME2 がそろそろ広まってきたので、GNOME foundation でデベロッパー向けの
本を作るわ。という話。まずは英語版で、GLib や GTK、および GNOME の API
にるいてのものになるらしい。 ヽ(´ー`)ノワーイ

462 名前:login:Penguin mailto:sage [04/04/18 20:21 ID:hFjMsHHm]
www.nostarch.com/gnome_toc.htm
によると

Chapter 1: GLib
Chapter 2: GObject
Chapter 3: GTK+
Chapter 4: The GNOME Libraries
Chapter 5: Glade and libglade
Chapter 6: Additional Software Development Tools
Chapter 7: GConf
Chapter 8: GnomeVFS
Chapter 9: Where to Go from Here
Appendix A

らしい。Bonoboが独立した章がないのがちと気になるが、GNOME Platform
に関しては一通り網羅しているのではないかと思われる。

463 名前:login:Penguin [04/04/29 00:23 ID:zLrJuv9t]
(*^.^*)



464 名前:login:Penguin [04/04/29 13:25 ID:AQIokWzV]
Linux上でWindowsバイナリをコンパイル出来ませんか?

465 名前:login:Penguin mailto:sage [04/05/03 21:07 ID:M0W8aY3U]
関数 g_strdup_printf などは「必要なくなりしだい解放してください」と
指示されているのですが、自作関数中で その値を return で返したいときは
どのようにしたらよいのでしょうか?

466 名前:login:Penguin mailto:sage [04/05/03 22:08 ID:8XBp00PD]
>>465

returnをもらった側で処置するべし。

467 名前:465 mailto:sage [04/05/04 07:40 ID:gonpR3ix]
>>466
ありがとうございます。さっそく、組み込んでみようと思い、以下のように
してみましたが、これで大丈夫でしょうか?
よろしければ添削お願いします。m(_ _)m


/* g_strdup_printf の返り値を返す関数(失敗時は NULL を返す) */
gchar *use_g_strdup_inside(void);

void hoge_callback(StructData *struct)
{
if (struct->filename != NULL)
g_free(struct->filename);
struct->filename = use_g_strdup_inside();
}

gint main_process(foo bar)
{
StructData *struct = g_malloc(sizeof(StructData));
(略:struct の参照渡し)
gtk_main();

g_free(struct); /* これで struct->filename も一括解放? */
return 0;
}


468 名前:login:Penguin mailto:sage [04/05/04 07:42 ID:gonpR3ix]
        ああ、全角スペース使うんだったorz

469 名前:login:Penguin mailto:sage [04/05/04 10:11 ID:3Qvo40ij]
>>467
いわゆるC FAQの7.23と7.24を読んだら?
(ちなみにglibのソースをみたらg_freeは標準のfreeをよんでるだけですた)

ついでに 1.30も読んだ方がいいかも


470 名前:login:Penguin mailto:sage [04/05/04 10:47 ID:g8hk2YfL]
>>467
g_free(struct)でstruct->filenameのポインタは解放されるが、そのポインタの指し示す先までは解放してくれない。なので

g_free(struct->filename);
g_free(struct)
という手順を踏む必要がある。

471 名前:467 mailto:sage [04/05/04 11:57 ID:gonpR3ix]
>>469-470
ご回答ありがとうございます。

C FAQ 勉強になりました。さっそく struct の宣言の次で
  struct->filename = NULL;
と初期化するようにしておきます。

472 名前:login:Penguin mailto:sage [04/05/04 13:36 ID:A/bfn0Zs]
どうせならglibのソースも読んでみるといいかも。

473 名前:login:Penguin mailto:sage [04/05/05 13:19 ID:LzNkuX/q]
GtkItemFactory を使って
www.kitanet.ne.jp/~asler/linux/gtk/ja/gtk_tut_ja-13.html#ss13.4
に例示される方法でメニューを作成したのですが、
以下のようなメニューのコールバック関数

callback_example(gpointer data, guint action, GtkWidget *widget)

を作り、その中で gtk_widget_get_toplevel(widget) をしても、
メニューを含包しているトップレベル・ウィンドウを返してくれません。
また、gtk_widget_class_path(widget, NULL, &path, NULL) でつながりを調べると、
例の中にある menubar では、GtkWindow.GtkVBox.GtkMenuBar となりますが、
上記コールバック関数では、GtkWindow.GtkMenu.GtkImageMenuItem となり
思ったとおりに継承(?)していないようであることがわかりました。

そこで、これら2つのウィジェットを
GtkWindow.GtkVBox.GtkMenuBar.GtkMenu.GtkImageMenuItem
のような感じに接続することはできないでしょうか?よろしくお願いします。



474 名前:login:Penguin mailto:sage [04/05/05 14:13 ID:AJVBY2RD]
>>473
クリックした時に出てくるメニュー部分って、メニューバーやその親とは
直接関係のない独立したウィンドウになるので、無理と思われ。

なので、callbackには別の方法で情報を与えることになるでしょう。
例えば、gtk_item_factory_create_items()の最後の引数として与えた
ポインタが(例ではNULLになっている)、callback関数の最初の引数
dataとして得られます。使ったはことないけれど、
gtk_item_factory_create_items()の代わりに、メニューのアイテムの
数だけgtk_item_factory_create_item()を使えば、メニューアイテム
ごとにcallback引数を変えられるかもしれない。

が、一番の問題は、GtkItemFactoryがGTK+-2.4ではdeprecateされ
てしまっていることかもなー。

475 名前:login:Penguin mailto:sage [04/05/05 17:48 ID:LzNkuX/q]
>>474
根本的に無理なわけですか・・・。
deprecate の件もイタいですが、当面の互換性を優先して
細々と工夫して使っていきたいと思います。
ご回答ありがとうございました。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<255KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef