Cocoaはさっぱり!!! v ..
357:名称未設定
09/02/14 08:29:01 GpKiar830
現実
URLリンク(www.atmarkit.co.jp)
358:名称未設定
09/02/14 08:57:30 E27FFzgQ0
ていうか理想は何なんだ?
359:名称未設定
09/02/14 10:28:04 kiPUxtDD0
AとBの2種類のWindowControllerがあってそれぞれが複数のウィンドを開いているとして
その中からAのWindowControllerで現在一番上にあるものを判定するにはどうしたらいいで
しょうか?[NSApp windows]だとすべてのウィンドの配列が得られますが作られた順番は
わかるものの現在の重なっている順番はわからないみたいです
360:名称未設定
09/02/14 10:46:31 kiPUxtDD0
自己解決しました
[NSApp windows]じゃなくて[NSApp orderedWindows]を呼べばいいみたいですね
361:名称未設定
09/02/14 10:55:01 BKRyyfk/0
並び順は NSWindowList で取得できると思う
362:名称未設定
09/02/15 10:22:04 F45b1+V/0
自作のUIViewクラスの位置を変えたいと思い
[myview setOrigin:CGPointMake(100.0f, 100.0f)];
とやっています。一応、正しく動作するのですがXcodeが
warning: MyView may not respond to '-setOrigin:'
というwarningを出してきます。ヘルプでもUIViewにはoriginというプロパティはないのですが、位置を変えるときはsetOrigin:を使ってよいのでしょうか?
363:名称未設定
09/02/15 10:25:56 F45b1+V/0
すみません、自己解決しました。
UIViewの拡張仕様らしく
@interface UIView (Extended)
- (void)setOrigin:(CGPoint)aPoint;
@end
を追加したらWarningは消えました。
364:名称未設定
09/02/15 11:59:57 +QMCuHp60
カテゴリでメソッドの宣言を追加したら、
メソッドの実体が無くても警告はでなくなるよ。
だから、それやって警告がでなくなったというのは
使っていいかどうかの印ではないです。
動くということは Apple がメソッドを実装してるってことですが、
レファレンスにのってないってことは公開されてないわけで、
iPhone OS のバージョンがあがると突然うごかなくなるかもしれません。
だから、そういうやばいことをしていることをキチンと理解して、
次のバージョンがでたら思い出してチェックしないといけないと覚えておく。
でもそういうヤバいことはすごい有用な機能をつかうときだけにしておいて、
origin に関してはそのかわりに公開されてる
frame.origin か center をつかっておけばいいんじゃないかと思いますが。
そんなところで危ない橋をわたることはないです
365:名称未設定
09/02/15 15:39:09 dj1QUhiw0
インストールされてるアプリのリストを得ようとしたら
やっぱりSpotlightしかない?
366:名称未設定
09/02/15 15:48:27 BvllGNq50
システムプロファイラ
367:名称未設定
09/02/15 16:15:36 +QMCuHp60
>>365
ほんとに無差別に全部の app がほしいんでしょうか、
特定のファイルを開けるソフトを探したいとかいう場合は
LaunchServices をつかったほうがいいです。
URLリンク(developer.apple.com)
URLリンク(developer.apple.com)
368:名称未設定
09/02/15 16:49:10 Sph+Cv+80
無差別に他のアプリを見つけてremoveとか。
369:名称未設定
09/02/16 22:22:33 u+2CJCuL0
Core Graphicsに指定したピクセルのRGB値を抽出するような関数はないでしょうか?
370:名称未設定
09/02/16 23:14:36 Dlu6/AHb0
NSBitmapImageRepにはあるけど、どうにかNSBitmapImageRepに変換してそれをうまく使えないですかねぇ
自分も最近CoreGraphics興味あるんですけど、参考になるサイトとかありませんか?Apple以外で
371:名称未設定
09/02/16 23:16:25 Dlu6/AHb0
あ、どうやらNSBitmapImageRepはCGImageRefから生成できるようですよ
372:名称未設定
09/02/16 23:17:09 ftiiYlkU0
CGBitmapContextGetData
373:名称未設定
09/02/16 23:23:10 0MWDdaGv0
>>369
CoreGraphicsはpixelに直結している訳じゃないし、ColorSpaceに
よってもpixel値は変わるから、けちけち1x1サイズのBitmapContext
作って実際に描画して調べるのが定石
この例のDoTheHitTest()が参考になる。
URLリンク(developer.apple.com)
374:名称未設定
09/02/17 00:01:08 jGB3J9J50
CGImageSourceRef imageSrc = CGImageSourceCreateWithURL((CFURLRef)[NSURL fileURLWithPath:filePath],NULL);
CGImageRef image = CGImageSourceCreateImageAtIndex(imageSrc,0,NULL);
CFRelease(imageSrc);
CGDataProviderRef dataP = CGImageGetDataProvider(image);
CFDataRef bitmapData = CGDataProviderCopyData(dataP);
unsigned char *bitmap = (unsigned char*) CFDataGetBytePtr(bitmapData); // ビットマップ配列: RGBARGBA...
int ch = 4; // アルファチャンネルが無ければ3
int dataSize = CFDataGetLength(bitmapData); // width*height*ch になる
int i;
for (i=0; i<dataSize; i+=ch)
{
int r = bitmap[i+0]; // 0-255
int g = bitmap[i+1]; // 0-255
int b = bitmap[i+2]; // 0-255
int a = bitmap[i+3]; // 0-255
}
CFRelease(bitmapData);
こんな感じでビットマップ配列取得して
ループ内で各ピクセルのチャンネルごとの値を調べられる。
375:名称未設定
09/02/17 01:26:52 huwz60HN0
IBOutletでつないだIB上のWevViewに
[webView setMainFrameURL:@"URLリンク(www.yahoo.co.jp)"];
をすると
Debugger() was called!
The Debugger has exited due to signal 2 (SIGINT).The Debugger has exited due to signal 2 (SIGINT).
と表示されて強制終了します。なぜデバッガが呼ばれるのだろうと思ってビルドしたしたアプリを直接開いてみたら、
Debugger() was called! とコンソールに出る物のアプリは落ちませんでした。
ちなみにgoogleだとこの現象は起こりませんでした。
一体何が起こっているのでしょう?開けるページと開けないページの違いとは?
376:名称未設定
09/02/17 01:31:49 96tRpUJJ0
プロジェクトうp
377:名称未設定
09/02/17 01:52:30 huwz60HN0
ロダあればプロジェクトうpっても良いですが、個人情報を消さなければならないので時間をください。
文面で説明しますとやったことと言えば
プロジェクトにWebKitフレームワークを追加
AppControllerクラスを作成、以下
AppController.m
#import <Cocoa/Cocoa.h>
#import <WebKit/WebKit.h>
@interface AppController : NSObject {
IBOutlet WebView *webView;
}
- (IBAction)openYahoo:(id)sender;
- (IBAction)openGoogle:(id)sender;
@end
AppController.h
#import "AppController.h"
@implementation AppController
- (IBAction)openYahoo:(id)sender {
[webView setMainFrameURL:@"URLリンク(www.yahoo.co.jp)"];
}
- (IBAction)openGoogle:(id)sender {
[webView setMainFrameURL:@"URLリンク(www.google.co.jp)"];
}
@end
IBでアウトレットとアクションを接続
これだけです。
ちなみに
[[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"URLリンク(www.yahoo.co.jp)"]]];
に置き換えてもダメでした。
378:名称未設定
09/02/17 02:05:51 huwz60HN0
試しにIB上のインスペクタでPlug-insをオフにしたらYahoo!開けました。
今日はもう遅いので後日Flashのバージョンとか入れ替えて試してみます。が、詳しい方いましたら是非とも教えてください。
379:名称未設定
09/02/17 02:36:14 96tRpUJJ0
あ、ほんとだ。
デバッグモードで起動したアプリ内のWebViewがFlashを含むページを読み込んだだけで終了する。
Flashプラグインのせいなのかな?
380:名称未設定
09/02/17 03:44:28 eBKgwb/Q0
うちはPlug-insオンでも全然問題ないぞ
381:名称未設定
09/02/17 07:49:54 a/gWfwad0
URLリンク(www.stinkbot.com)
とかにもありますが、なんか Flash 10 plugin を出荷するさいに
Adobe がデバッガ立ちあげコードを消すのを忘れたらしいです。
だから、デバッガが繋がってない状況だと大丈夫ですが、
XCode などでデバッガが繋がってるとデバッガがよばれてしまうらしいです。
382:名称未設定
09/02/17 09:57:42 huwz60HN0
おはようございます、情報サンクスです
383:名称未設定
09/02/17 13:49:15 KlMBN10B0
>>381
さすがアドベ
やってくれるなw
384:名称未設定
09/02/17 14:20:04 a/gWfwad0
まあ Adobe はむちゃくちゃだから...
URLリンク(www.betalogue.com)
とかみると笑える。まあ Apple もそんなにかわらんかも知らんが。
まあこの betalogue の主は毎日文句をこんなに書き連ねて
よく飽きないなと思いますが。スレ違いすいません。
385:名称未設定
09/02/17 15:22:35 nDyJwcW00
Xcodeの実行メニューのDebugger()/DebugStr()で停止をオフにすれば?
386:名称未設定
09/02/17 15:33:28 a/gWfwad0
なるほど。旧 mac のころはプログラムをしてなかったので
Debugger(), DebugStr() を知りませんでした。
これってレファレンスにのってなくありません?
CoreServices.framework の中の CarbonCore.framework のなかに
MacTypes.h で定義されてますが...
387:名称未設定
09/02/17 18:59:32 huwz60HN0
>>386
帰宅しました
ADC Home > Reference Library > Reference > Darwin > Kernel Framework Reference
にある
void Debugger(const char * reason);
じゃないですかね
388:名称未設定
09/02/17 21:39:27 xoCyoJOy0
返事が遅くなりましたが、上の方でピクセル値取得に答えてくださった方ありがとうございます。そのキーワードを参考に調べてみます。
389:名称未設定
09/02/18 14:27:00 4adWTljt0
Cocoaプログラミングを始めたばかりなのですが、↓をCocoaでやる方法はありますか?
FSRef dirRef;
FSFindFolder(kLocalDomain, kPreferencesFolderType, kDontCreateFolder, &dirRef);
390:名称未設定
09/02/18 14:29:07 TOS+xHXH0
NSSearchPathForDirectoriesInDomains
391:名称未設定
09/02/18 14:51:11 4adWTljt0
>>390
ありがとうございます。
NSSearchPathForDirectoriesInDomainsを調べてみました。
LocalDomainのPreferencesフォルダは直に取得できないようですね。
LocalDomainのPreferencesフォルダを参照するには、LocalDomainのLibraryフォルダを取得した後、
パスにPreferencesをアペンドする感じになるのでしょうか?
392:名称未設定
09/02/18 15:15:26 MJb3Ggc80
>>389
別に FSFindFolder を Cocoa で呼んでもいいと思うけど。
もちろん結果の FSRef は CFURLRef や path に変換する必要があるだろうけど。
393:名称未設定
09/02/18 15:19:20 LxpICSxd0
Cocoaだけでやるんならそれしかあるまい。Carbonとハイブリッドさせるなら
FSFindFolder()で得られたdirRefからファイルパスを取り出す。
394:名称未設定
09/02/18 15:32:35 4adWTljt0
>>392
>>393
レスありがとうございます。
Cocoaだけで作らなければいけないため、NSSearchPathForDirectoriesInDomainsを使う事にします。
395:名称未設定
09/02/18 17:07:10 Q6jBN/tT0
Interface Builder 3について。
Interface Builder 2のときはフォントパネルを表示させると、
System Font/Bold System Font/Small System Font/Fixed Pitch Font
などが選べるようになってましたが、IB3で同じような設定はどこでやればいいのでしょう?
396:名称未設定
09/02/18 20:38:40 ztNxZmzz0
>>394
64bitですか?
397:名称未設定
09/02/18 23:40:46 hVtp5F3g0
>>394
というか Cocoa では ~/Library/Preferences を自前で開く必要はないはずだが。
NSUserDefaults をつかうと、
設定ファイルを開いて設定を読み書きするところまで全部背後でやってくれます。
398:名称未設定
09/02/18 23:51:23 Ik84VQ3T0
任意ファイル名のPreferences ファイルにしたかったら Core Foundation に
それ用の関数があるし、データを保存するならば Application Support フォルダに
いれるべきだしね
399:名称未設定
09/02/19 00:42:38 a/3Rvlm00
>>394
64 bit で Cocoa だけでやらないといけないと思ってるんだったら、
Carbon 全部が使えないわけでないことを知っといたほうがいいよ。
64 bit で使えなくなったのは Carbon の GUI まわりだけだから、
FSFindFolder は使えると思います。
URLリンク(developer.apple.com)
とかみると 64 bit で使えないとは書いてないでしょ。
HIほげほげとかのドキュメントをみると
64 bit では使えないとあからさまに書いてます。
URLリンク(developer.apple.com)
とかも参照。
400:394
09/02/19 10:07:55 daDL34zI0
レスどうもです。
>>397
外部ツールが/Library/Preferences/・・・に吐き出したファイルを開くアプリを作成しています。
外部ツールの仕様は変更できないため、/Library/Preferencesを自前で開くしかない状況です。
>>399
CarbonGUI周りだけが64bitで使えないのは知っていました。
SnowLeopardでCarbonが廃止されるという噂があるので、Cocoa Onlyで作成したいと思った次第です。
401:名称未設定
09/02/19 11:09:53 a/3Rvlm00
10.5 で動いてたソフトが 10.6 で動かなくなるというのは
さすがにないと思います。根拠のない噂でしょう。
まあ Cocoa からできる機能は Cocoa から
呼んでおいたほうがいいかもしれませんが、
Cocoa API がなくて C の API しかないのは山のようにありますよ。
プロパティリストを開くのは NSPropertyListSerialization とかつかってください。
ってなんか他のスレでも同じような話をしたな...
402:394
09/02/19 11:22:35 daDL34zI0
>>401
確かに、10.5で動いてたソフトが10.6で動かなくなってしまったら大変な事になりますよね。。。
とりあえずGUI周りだけはCocoa Onlyで実装するようにしておいて、他の部分が10.6で動かなくなったらその時に考える事にします。
ありがとうございました。
403:名称未設定
09/02/19 11:42:30 E6aTnY+e0
64bit bainary持ってなければ、32bitで上がるだけ。
PlugIn系は親が64bitになるから、絶対対応が必要、と。
404:名称未設定
09/02/19 11:53:09 Xb83Jjel0
deprecatedに指定されていなければ、いきなり廃止されることはないと
思うけど。そんなことになったら大騒ぎになるよ。
PICTも廃止されたら代わりになるものがない。PDFじゃ編集出来るソフトは
Illustratorくらいだし。
405:名称未設定
09/02/19 12:39:24 BqoQTulc0
NSなんたら以外は使わないようにしてる
406:名称未設定
09/02/19 12:47:13 a/3Rvlm00
PDF を編集出来るようがんばってるシェアウェアもあります
URLリンク(purgatorydesign.com)
PICT は残念ながらいずれ死亡でしょう。
ほとんど関連APIが deprecacted で、CoreGraphics のコンテキストに
直接描ける QDPictほげほげ系の API も 64bit ではつかえないし。
/usr/sbin/pictd ってのをつかえば 64bit Cocoa からも pict が
描けるんだと勝手におもってますが...
407:名称未設定
09/02/19 13:04:22 FXkl7wUg0
PICTって今じゃ使う機会がなくない?
408:名称未設定
09/02/19 13:13:15 a/3Rvlm00
Keynote '09 が MathType とやりとりしてるデータは PICT だよ。
409:名称未設定
09/02/19 13:23:29 gZR/wLEh0
UIViewのピクセル処理で(100,100)の点に赤い点を打つというプログラムを書いたのですが、赤くなりません。どこが間違っているかアドバイスいただけないでしょうか。
- (void)drawRect:(CGRect)rect {
NSLog(@"drawRect:");
// ビューのサイズ
int width = 320;
int height = 460;
// ビューのサイズを持つビットマップコンテキストを作成
unsigned char *data = malloc(width*height*4);
CGContextRef bitmapContext =
CGBitmapContextCreate(data, width, height, 8, width*4,
CGColorSpaceCreateDeviceRGB(),
kCGImageAlphaPremultipliedLast);
// ビットマップコンテキストを黒で塗りつぶす
CGContextSetRGBFillColor(bitmapContext, 0.0f, 0.0f, 0.0f, 1.0f);
CGContextFillRect(bitmapContext, CGRectMake(0.0f, 0.0f, width, height));
// ビットマップコンテキストからビットマップ配列を取得
unsigned char *bitmap = CGBitmapContextGetData(bitmapContext);
410:名称未設定
09/02/19 13:24:20 gZR/wLEh0
つづき
// (10,10)の位置のRGBA値を取得
// 黒で塗りつぶしたなので (255,255,255,255)
int px = 100, py = 100;
int startByte = ((py * width) + px) * 4;
NSLog(@"RGBA = (%d,%d,%d,%d)",
(unsigned char)bitmap[startByte], // R
(unsigned char)bitmap[startByte+1], // G
(unsigned char)bitmap[startByte+2], // B
(unsigned char)bitmap[startByte+3]); // A
// (100,100)の位置のビットマップの値を赤に更新
bitmap[startByte] = 255;
bitmap[startByte+1] = 0;
bitmap[startByte+2] = 0;
NSLog(@"RGBA = (%d,%d,%d,%d)",
(unsigned char)bitmap[startByte], // R
(unsigned char)bitmap[startByte+1], // G
(unsigned char)bitmap[startByte+2], // B
(unsigned char)bitmap[startByte+3]); // A
411:名称未設定
09/02/19 13:25:03 gZR/wLEh0
つづき
// ビットマップ配列からイメージ(CGImageRef)を再構築
CGDataProviderRef dataProviderRef;
dataProviderRef = CGDataProviderCreateWithData(NULL, bitmap, width*height*4, NULL);
CGImageRef image = CGImageCreate(width, height, 8, 32, width * 4,
CGColorSpaceCreateDeviceRGB(), kCGImageAlphaLast, dataProviderRef,
NULL, 0, kCGRenderingIntentDefault);
// ビューに再構築したイメージを描画
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextDrawImage(context, rect, image);
// データ構造を解放
free(data);
CGDataProviderRelease(dataProviderRef);
}
412:名称未設定
09/02/19 13:36:47 xsNjWzM+0
結果どうなるかと NSLog の結果も書けば?
413:名称未設定
09/02/19 13:56:06 gZR/wLEh0
すみません、忘れてました。
最初のRGBAを表示するNSLogでは (255,255,255,255)になります。
黒で塗りつぶして (100,100)のピクセル値を取得しているので。
次に(100,100)のピクセル値を赤に更新した後にNSLogすると
(255,0,0,255)になり、bitmap上では赤色になっています。
しかし、このbitmapからCGImageRefを作ってこれをViewに
表示すると画面は真っ黒なままです。
本当は(100,100)だけ赤い点を期待していました。
CGContextSetRGBFillColor(bitmapContext, 0.0f, 0.0f, 0.0f, 1.0f);
を黒ではなく他の色に変えるとその色になるので
塗りつぶしは成功しているようです。
bitmapの値を直接書き換えたのが描画内容に反映されていない原因が
思い当たりません・・・
414:名称未設定
09/02/19 14:03:31 Xb83Jjel0
>>407
俺はまだ使ってるよ。CarbonからCocoaに何年もかけて移行してるけど
最後に残ったのがPICT。他に使えるフォーマットがないんだよね。
どうせtext, line, rect, ovalしか使ってないからrtfにしてしまう手もあるけど。
今のとこ自前でドローソフトを作って専用フォーマットにしようかと思ってる。
PICTのようなドロー系の汎用フォーマットがないのが困る。
>>406
残念。intaglioはPDFを一つのオブジェクトにしてしまうみたい。
PDFオブジェクトのグループ解除やPDF自体の編集は出来ないみたいだ。
415:名称未設定
09/02/19 14:12:44 l8yw9n5/0
>>400
Carbonが無くなったらCocoaも動かないし、OSも動かない。
Process ManagerやAppleEventもCarbonだからprocessすら起こせない。
>>406
ImageIOも64bitだとPICTが扱えない。
メーリングリストでのAppleの弁は「そこだけ32bit process起こして
IPCでもらえ」w
416:名称未設定
09/02/19 14:15:14 Xb83Jjel0
>>414
と思ったら、Preferenceで設定すればPDFを編集できるんだな。
思ってたよりも良く出来てる。
417:名称未設定
09/02/19 14:26:24 xsNjWzM+0
>>411
>CGImageCreate の alpha 設定あたりが怪しいんじゃないかな
418:名称未設定
09/02/19 14:33:59 xsNjWzM+0
>>413
>(255,255,255,255)
黒で塗りつぶしたのなら 0,0,0,255 じゃないの?
419:名称未設定
09/02/19 14:36:38 a/3Rvlm00
>>415
>メーリングリストでのAppleの弁は「そこだけ32bit process起こして IPCでもらえ」w
/usr/bin/pictd がまさに Apple がそのためにつかってるぽいです。
launchd の on demand の 32bit デーモンで、やることは単に ipc でうけとった
PICT データを render してかえすだけのようです。
API が公開されてないですが、class-dump した感じでは普通に
Distributed Objects で NSMachBootstrapServer で com.apple.pictd をよべば
使えるっぽいです。やったことないけど。
420:名称未設定
09/02/19 14:45:14 gZR/wLEh0
>>417
引数を調べてみます。
>>418
その通りでしたorzその前に白でやってたので間違えました。
421:名称未設定
09/02/19 14:49:01 gZR/wLEh0
すみませんorz
もう一度よく目をこしらえたら赤い点がありました
左上が原点だと思って左上ばかり見てましたが、
左下が原点らしく左下の方にありました。
お騒がせしました。
422:名称未設定
09/02/19 15:00:24 a/3Rvlm00
>>415,419
ちょっと調べてみたら、なんと NSPICTImageRep は64bit でもつかえますね。
ドキュメントのどこを呼んでも deprecated だと書いてない。
実際に単に image well を表示するだけの Cocoa app を 64 bit only で
コンパイルして、そこに pict ファイルをドロップしたら無事表示されました。
その際裏側で /usr/sbin/pictd が立ち上がってるのも確認できた。
しかしコンソールに大量に警告メッセージが出て大変なことになってます。
う〜む...
>>421
なんで直接ちっさな点を context に描画しないんでしょう ???
423:名称未設定
09/02/19 17:27:59 gZR/wLEh0
>>422
ピクセル単位でRGBの読み込み、画像処理、書き込みしたかったからです。
とりあえずテストで1ピクセルだけ書き込めるかテストしてました。
1ピクセルでなくて線を引けばすぐ気づいたのにorz
424:名称未設定
09/02/19 17:32:58 IupgEOPD0
タブブラウザを作りたいんですけどWebKitにはタブ化の機能はないみたいですが
これを自前でやるのは結構大変でしょうか?
425:名称未設定
09/02/19 17:56:43 cdmrNj430
難しそうだね
しいらを参考にするとか?
426:名称未設定
09/02/19 18:14:07 IupgEOPD0
NSSegmentedControlを使う方法だと無理があるでしょうか?
開きたいタブの数に応じてセグメントの数を動的に変更して
それぞれのセグメントのViewに動的に作ったWebViewを割りあてる
というような感じだとどうでしょうか?
427:名称未設定
09/02/19 18:19:06 Qczx1P3r0
つ PSMTabBarControl
428:名称未設定
09/02/19 18:21:36 ZJRPFUT00
>>426
私は最初はそれで作りましたので出来ないことではないです。
自分でViewを入れ替える代わりに、NSTabViewをタブ非表示にして使う手もあります。
後者の場合はPSMTabBarControlを使えば、Safari風に出来てクローズや並び替えも出来るのでオススメです。
URLリンク(www.positivespinmedia.com)
429:名称未設定
09/02/19 18:34:14 IupgEOPD0
PSMTabBarControlを教えてくれてありがとうございました
これを使うのが一番良さそうですね
430:名称未設定
09/02/19 18:44:00 ZJRPFUT00
ただし私が使ったときにPSMTabBarControlはちょっとバグっぽいところがいくつかありました。
・Enumeration中に対象のNSMutableArrayからオブジェクトを削除する
・KVOを解除せずに対象オブジェクトをreleaseする
コードは適宜修正した方がいいかもしれません。
431:名称未設定
09/02/19 18:46:06 Qczx1P3r0
僕は直接いじるのが面倒だったのでカテゴリで無理やり上書きしましたw
432:名称未設定
09/02/19 19:49:11 TRDvRyIy0
パネルの枠だけを非表示にするメソッドが分かりません。
NSWindow を調べてみましたが、ウィンドウ上の内容もろとも
透明になってしまいました。
枠だけを消すにはどのようにしたら良いでしょうか?お願いします。
433:名称未設定
09/02/19 19:57:39 ZtyLyBTC0
>>432
枠って何よ
434:名称未設定
09/02/19 21:07:01 TRDvRyIy0
>>433
枠というか、背景ということです。
ウィンドウに乗っかってる内容だけを表示して、ウィンドウそのものを
消すという意味です。
そもそもオリジナルのマウスカーソルを表示させたり、オリジナルの
ツールチップを出す場合はこういう手法で良いですか?
435:名称未設定
09/02/19 21:27:50 ZJRPFUT00
>>434
カーソルならNSCursorでいいと思いますし、ツールチップはNSViewサブクラスならIBから設定したりsetToolTipすればいいと思います。
436:名称未設定
09/02/19 22:00:56 xsNjWzM+0
homepage.mac.com/ryanstevens/.Public/TooltipWindowDemo.zip
437:名称未設定
09/02/19 22:47:52 TRDvRyIy0
説明不足ですいません。
マウスカーソルは NSCursor だと大きい画像が設定できないと
ドキュメントにありました。
ツールチップはOSが標準で提供しているものなら setToolTip で
いいと思いますが、
URLリンク(www.panic.com)
このようなオリジナルのツールチップを出す手法が知りたいのです。
つたない説明で申し訳ないです。
438:名称未設定
09/02/19 23:05:30 ZtyLyBTC0
>>437
ウインドウ内ならCALayer使えばいいんじゃね?
439:名称未設定
09/02/19 23:19:02 a/3Rvlm00
>>437
ふつうに枠なし window を表示すればいいとおもいます。
URLリンク(developer.apple.com)
とか参照。
440:名称未設定
09/02/19 23:59:52 ObnIMvo/0
UIToolbarみたいにwindowの上部でなくて下部に設置できるNSToolbarってないんですかね
IBでは提供されていないのにiTunesとかその他Appleソフトでは普通に使われてますよね
441:名称未設定
09/02/20 00:13:30 NNWa+kQMi
>>440
あれはウインドウの下にボタンを配置してるだけでは?nibは見てないけど。
toolbarみたいにカスタマイズできるようにするのは大変かもしれないけどただのボタン群ならそれで十分でしょ。
442:名称未設定
09/02/20 00:14:18 gTSMnnNF0
普通に配置してるだけ
443:名称未設定
09/02/20 00:29:02 6fzrNojY0
>>440
Apple Human Interface Guidelinesの
Bottom Bars
URLリンク(developer.apple.com)
Rectangular-Style Toolbar Controls
URLリンク(developer.apple.com)
を読みましょう
444:名称未設定
09/02/20 01:09:17 thVrN14b0
>>441, 442
えー説明が悪かったです。
iTunes、Finderなんかと見比べてください。
IBでWindowのTextureをオンにしたものと明らかに色が違うのです。且つこいつらは同じBottomToolbarを使っているように見えます。
で、自分も同じ物を使いたいなと思ったのです。
TextureをオンにしたWindowのBottomにボタンを配置してもイマイチ色合いがダサく感じてしまいます、、
IBだとノーマル、Textureオン、HUDの3種類しかないですよね?Privateな何かあるのでしょうか?
とりあえず今>>443を読んでいますが詳しい方いたら教えてください。
445:名称未設定
09/02/20 02:05:01 thVrN14b0
いくつかのアプリケーションについて調べたところ、標準のアプリも専用のBottomToolbarというのは使用しておらず
Windowの下部にボタンを配置してそれらしく見せているだけでした。
しかしいくつかのアプリケーションのBottomToolbarの色がIB標準のTextureの色と違う点については
iCalのCalenderWindow.nibの場合は独自のクラスCALWindowを使用していたり
iChatのMyProfile.nibの場合は独自クラスを使っていなかったり(おそらくカテゴリかな)
まぁアプリによっていろいろ実装方法が違えど工夫があるみたいですね。
とりあえずIB標準のものが気に入らなければ自分で実装するしかないみたいです。
分けの分からん質問ですいませんでした。
446:名称未設定
09/02/20 07:39:47 6fzrNojY0
>>445
443だけど、それはtextured windowではなくて、NSWindowの
setContentBorderThicknessを使うのです。
SourceView
URLリンク(developer.apple.com)
のコードを見ましょう
447:名称未設定
09/02/20 10:16:03 thVrN14b0
>>446
おおお完璧です!ありがとうございました!
作ったサブクラスは即捨てます。
448:名称未設定
09/02/20 18:37:19 D53ExNTJ0
NSTabViewのタブってIB上だとドラッグして順番変えられるけど
アプリにして起動するとドラッグできないんですけどこういうもん
なんでしょうか?
V2Cっていう2chブラウザだとドラッグできるけどこれはJavaだから?
449:名称未設定
09/02/20 19:02:36 BBYdLV+c0
>>448
そういうもんです。
並び替え出来るタブは>>427-428を使えば良いかと。見た目が変わっちゃいますが。
450:名称未設定
09/02/20 20:38:22 maxZ/9TX0
最近はどのアプリもパーツは凝ってて
純正だとショボくて見劣りするんだよなあ。
作る方はマンドクセでやってらんないし。
451:名称未設定
09/02/20 23:15:56 gTSMnnNF0
>>448
DnDは自分で実装する
452:名称未設定
09/02/25 12:51:07 GTgWYfeH0
Safari 4でだいぶタブが変わっちゃったね
SnowではWindowのTitleBarにもうちょいアクセスできるようになるのだろうか
453:名称未設定
09/02/25 12:54:44 lH7VFHaH0
ダウンロードしてないけど、自前の描画でしょ。自前でやるなら何だって出来る。
454:名称未設定
09/02/25 14:11:56 ObXDktwm0
タブコントロールが標準で搭載するという夢をみた。
というか IB で NSWindow のインスペクタでチェックボックスを
クリックするだけで OK、とかそんな感じだったらいいな...
455:名称未設定
09/02/25 14:40:57 DSwcYgaS0
タイトルバー侵略しちゃったらドラッグとかしにくいだろ。
456:名称未設定
09/02/25 15:13:11 GTgWYfeH0
>>455
Safariがしちゃったけどね
>>夢を見た
Snowあるからインスコしてみればいいんだけどね
新しいXcodeとかAPIのドキュメントとか入ってんのかな
変更するかも知れないものだし積極的に触ってない…
>>453
後で3と4のnibでも見比べてみるわ
457:名称未設定
09/02/25 18:44:08 fYlgQHqq0
まったく、safari4でタイトルバータブなんて変態UIをやってくれたもんだ。
ウインドウシェードできないじゃん。
458:名称未設定
09/02/25 23:28:50 JqmefXPg0
今日Flashのアップデートが出てたので入れてみましたが
嘆かわしいことにDebugger() was called!問題は修正されていませんでした。
以上報告まで。
459:名称未設定
09/02/26 11:05:49 yg2R2lH40
>>458
んでパフォーマンスはうpしたの?
460:名称未設定
09/02/26 11:08:28 94ZoWN0W0
すみません、お願いします。
NSURL* theURL;
theURL=[NSURL URLWithString:@"URLリンク(www.yahoo.co.jp)"];
if ([[NSWorkspace sharedWorkspace]openURL:theURL])
{
}
のようにすると、指定したURLをデフォルトのブラウザで開くことができると思うのですが、
なぜかブラウザが落ちてしまいます。SafariでもFirefoxでも同じです。
設定するURLによってはちゃんと開くのですが、ページ内のリンクをクリックして、
表示されるページが遷移すると落ちる場合もあります。
これは何が原因で、どうすると回避できるのでしょうか。
461:名称未設定
09/02/26 11:26:31 8t+pRt+l0
うちでは問題ないよ。OS X のバージョンは?
あと、Safari のクラッシュログをはってみてください。
462:名称未設定
09/02/26 16:54:35 94ZoWN0W0
ありがとうございます。すみません、いま出先なので、クラッシュログは後ではりますね。明日になるかもしれません。
OSは10.5.6、Intel Macです。
そのページのURLを手入力で直接表示すると何ともなくて、
先に書いたコードからページを開いたときにトラブルが発生するので、
どこかどうにかなっているんだと思います。
463:名称未設定
09/02/26 19:03:44 bjUky8mz0
OmniObjectMeterがフリーになったんだねぇ。
つーかOmniにはいろいろとお世話になってまつ。
464:名称未設定
09/02/26 21:05:39 tomYC/Na0
Mac OS 10.5.6 (intel) / Xcode 3.1環境にて、WebKitを使ったソフトを作成しています。
[webView setMainFrameURL:@"URLリンク(www.google.com)<)"];
[webView setMainFrameURL:@"URLリンク(www.youtube.com)<)"];
[webView setMainFrameURL:@"URLリンク(www.nicovideo.jp)"];
等を実行すると、WebCore::KURL::parse(?)のエラーで落ちてしまいます。
Flash等の問題も疑い、Plug-inをOFFにしてみましたが、効果はありませんでした。
また、画像等のリソースが問題なのかもしれないとも疑ったのですが、
- (NSURLRequest *)webView:(WebView *)sender resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse fromDataSource:(WebDataSource *)dataSource
が呼び出される前に落ちてしまっているようでした。
特定のページ(ニコニコの一部のページ)を表示できない原因はなんなのでしょうか。
465:名称未設定
09/02/26 21:26:00 tomYC/Na0
すみません、google等でも問題が発生してしまったので再検証してみます。
466:名称未設定
09/02/26 21:45:36 Fel0Nrhg0
>>459
ついでにSafari4にしたのでなんとも言えんです
467:460
09/02/27 07:45:54 sbSJ+Izy0
昨日の者です。ログレポートをお見せする前に、一つ分かったことを報告しますと、
この問題は、Xcodeから「ビルドして進行」を選択すると発生しますが、
ビルドしたアプリケーションをダブルクリックして実行すると、発生しないようです。
クラッシュする際、Safariだと、以下のレポートが吐き出されます。
Feb 27 07:24:48 Macintosh [0x0-0x3a03a].com.apple.Safari[395]: Debugger() was called!
Feb 27 07:24:48 Macintosh com.apple.launchd[108] ([0x0-0x3a03a].com.apple.Safari[395]): Exited abnormally: Interrupt
Firefoxも同じです。
Feb 27 07:31:37 Macintosh [0x0-0x43043].org.mozilla.firefox[420]: Debugger() was called!
Feb 27 07:31:37 Macintosh com.apple.launchd[108] ([0x0-0x43043].org.mozilla.firefox[420]): Exited abnormally: Interrupt
と、書きながら、他の方がこのスレッドで同様の報告をされているのを発見しました。
>>381
これが原因かもしれません。
468:名称未設定
09/02/27 08:13:38 Owu4WLfr0
2つのMenuItemがあってこれをトグルのように動作させたいんですが
動作についてはそれぞれにIBActionを結びつけてうまくいきました
あとは両者の選択状態をチェックマークで表したいんですけど
片方のMenuItemが呼ばれたときに他方のMenuItemのチェックマークを
はずすためにはどうしたらいいんでしょうか?
それぞれにIBOutletを結びつければいいのかと思ったんですが、RadioGroup
のように自動化する機構みたいなのはないんでしょうか?
469:名称未設定
09/02/27 11:24:59 yZ+TJ9P/0
- (void)item1Act:(id)sender
{
[item2 setState:[sender state]];
[sender setState:![item2 state]];
}
- (void)item2Act:(id)sender
{
[item1 setState:[sender state]];
[sender setState:![item1 state]];
}
NSOnState がチェックあり、NSOffState がチェック無し状態です。
470:名称未設定
09/02/27 16:06:15 Owu4WLfr0
>>469
ありがとうございます
やっぱり自分で実装するんですね
471:名称未設定
09/02/27 18:19:51 FgFwabPe0
別のやり方なら、
enum { item1, item2, item3};
- (BOOL)isOnState:(int)item { .... }
- (int)item1State
{
return [self isOnState:item1] ? NSOnState : NSOffState;
}
- (int)item2State { .... }
....
とかして、 Cocoa Bindings で。
なぜかNSMenuItemのvalueにバインドするとstateの値として使われるので、valueにBindする。
472:名称未設定
09/02/27 19:27:32 7k3/xzqN0
2つしかないならBindしてやって片方に逆変換してやってもいいかも
乱暴だけどコードが短いのならこんなのとか
- (IBAction)action:(id)sender {
for (NSMenuItem *item in [[sender menu] itemArray]) {
[item setState:(item == sender) ? NSOnState : NSOffState];
}
}
ラジオボタンの場合NSMatrixが現在選択されているものを覚えているだろうから
現在選択されているMenuItemのindexかobjectかを覚えて置いて
MenuからのAction内で
[currentMenuItem setState:NSOffState];
currentMenuItem = sender;
みたいなんでもいいと思う
473:名称未設定
09/02/27 19:32:53 7k3/xzqN0
1行ぬけてたごめん
[currentMenuItem setState:NSOffState];
currentMenuItem = sender;
[currentMenuItem setState:NSOnState];
474:名称未設定
09/02/27 19:39:35 q0/my/Dt0
別のやり方なら、
enum { item1, item2, item3};
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem
{
SEL menuAcion = [menuItem action];
if(menuAcion == @selector(item1Act:))
{
[menuItem setState:self.state == item1 ? NSOnState : NSOffState];
}
else if(menuAcion == @selector(item2Act:))
{
[menuItem setState:self.state == item2 ? NSOnState : NSOffState];
}
return YES;
}
あとは、stateプロパティを設定するだけ
475:名称未設定
09/02/27 22:26:13 FirvgHyF0
>>464
こちらのコードを試してみてはいかかでしょうか?
webViewのサブクラスで
NSURL *url = [NSURL URLWithString:@"URLリンク(www.hoge.com)"];
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];
[[self mainFrame] loadRequest:req];
476:名称未設定
09/02/27 22:47:34 wlMPknXO0
>>475
[webView setMainFrameURL:]
と
[[webView mainFrame] loadRequest:]
は同じ
477:名称未設定
09/02/28 10:06:48 6LJrsjQH0
URLリンク(www.objective-basic.com)
てのをみつけた。β版のダウンロードすら出来んが...
478:名称未設定
09/02/28 10:44:36 cDuyCEKF0
35ドルか
479:名称未設定
09/02/28 10:50:57 XR/39gz50
2008年第4四半期の売り上げで、前年同期比965%増という大躍進を遂げているのはObjective-C
Mac OS XやiPhoneでの開発に注目が集まったこと以外に、この成長の理由は考えつかないとしている。
URLリンク(www.atmarkit.co.jp)
480:名称未設定
09/02/28 13:53:15 6LJrsjQH0
ところで、64bit + GC mode で PDFKit をつかうと failed integrity check とかいってよく GC thread が落ちるんだけど僕だけ?
481:名称未設定
09/02/28 18:52:29 +2oNMzSz0
すいません助けて下さい
萩原剛志さんの「詳解Objective-C」という本で勉強してるのですが
233、234ページに載ってるプログラムが動いてくれません
引数が多すぎる時に出る「too many arguments to function」というエラーが出るのですが
原因がさっぱり分かりません
- (NSString *)stringByAppendingPathComponents:(NSString *)str, ...
{
va_list varglist;
NSString *work, *comp;
if (str == nil)
return self;
work = [self stringByAppendingPathComponents:str];
va_start(varglist, str);
while ((comp = va_arg(varglist, NSString *)) != nil)
work = [work stringByAppendingPathComponents:comp];
va_end(varglist);
return work;
}
低レベルな質問ですいません
482:名称未設定
09/02/28 18:59:47 eY0ZEIjm0
そもそも動かない気がするんだが。
写し間違い?
483:名称未設定
09/02/28 19:27:08 +2oNMzSz0
>>482
一字一句間違えてないです
引数が一つだと動くのですが
二つ以上だと「too many arguments to function」が出てしまうんだす
可変引数って「...」で合ってますよね?
484:名称未設定
09/02/28 20:18:40 vm9zXEnV0
その本読んでないけど、メソッド内のstringByAppendingPathComponent「s」は本当はstringByAppendingPathComponentな気がする
485:名称未設定
09/02/28 21:09:04 7RcuzfIS0
>>483
無限再帰呼び出しになってるんだけど。
スタックオーバーフローが出るよ。たぶん。
じゃなくて、単にメモリ不足で落ちるのかな?今は。
>>484
これっぽいけど、エラーの原因はよくわからんね。
警告出てても無視してるんなら、宣言が間違ってる可能性がある。
486:名称未設定
09/02/28 21:14:19 RtPTalEM0
あてずっぽだが
option+[;]で入る、三連ピリオドを入力しているとか。
487:名称未設定
09/02/28 21:24:58 +7yc1jv1i
>>481
写間違えてるな
whileの下のstringByAppendingPathComponent
だな
sがいらない
Xcodeの補間機能使ってるとよくある
488:名称未設定
09/02/28 21:45:20 +2oNMzSz0
皆様レスありがとうございます
指摘された箇所とmain関数の方では逆に「s」を付け忘れてました
プログラム云々の前に、落ち着いて再度見直すべきでした
カスみたいな質問に回答してくださってありがとうございました
489:名称未設定
09/02/28 21:55:32 vm9zXEnV0
不覚にも吹いたw
490:名称未設定
09/02/28 22:33:32 95WSMilk0
ちょっとほのぼのしたw
491:名称未設定
09/03/01 01:27:11 VJx+qHpp0
あの補完機能は罠だよな
便利だけど
492:名称未設定
09/03/01 08:15:24 EiWEylNr0
>>481
ところで作者さんの名前は「荻原(おぎはら)」さんね。萩原(はぎわら)はなくて。
...と思うんだけど「萩原 Objective-C」でもかなりヒットするのでちょっと不安になったw
まあ全国の萩原さん&荻原さんに共通した悩みかもしれんがw
493:名称未設定
09/03/01 09:29:22 ngCPRk3q0
ずっとハギワラって読んでたわ
494:名称未設定
09/03/01 10:38:11 OZuV8YBg0
Cocoa本で儲けてるね
495:名称未設定
09/03/01 10:51:51 iuVtn2zf0
ことえり@leopardだと、おぎわらで変換すると荻原も萩原も両方でるね。
なんだよコレ!
496:名称未設定
09/03/01 12:03:10 EiWEylNr0
>>495
たしか萩原で「おぎわら」と読ませる名字もあるんだと思った。
なお作者さんのお名前は「おぎわら」でなく「おぎはら」とお読みする模様。奥が深い。
497:名称未設定
09/03/01 19:58:33 nSlqd6vqi
漢字が違うことすら今初めて知った俺は負け組。。。
498:名称未設定
09/03/01 20:04:42 bE6+K5TB0
大丈夫、個々にもう一人居るorz
499:名称未設定
09/03/01 20:14:12 OZuV8YBg0
URLリンク(www.youtube.com)
500:名称未設定
09/03/01 20:40:37 ikYIOl0J0
あるオブジェクトAからオブジェクトBを取りだし、
取りだしたオブジェクトBに元のオブジェクトAを入れると
世界が終わりますか?
501:名称未設定
09/03/01 20:46:01 wxn7spBQ0
終わりません。
別の新しい世界が始まります。
502:名称未設定
09/03/01 21:16:50 kyCkI9Cc0
オブジェクトBにAを入れるとtype mismatchでコンパイルも通らない
と空気を読まずに適当にほざいてみる
503:名称未設定
09/03/01 21:23:00 nhsz2S6p0
>>499
それよりこっちの方が凄くねか
URLリンク(www.youtube.com)
504:名称未設定
09/03/01 22:14:21 gsG7+5zG0
全スレ>>981
存在は知ってるけどきちんと調べないと出てこないくらいの機能で
しかもベータで、8/31までに限定されている機能を偉そうに言われても。
505:名称未設定
09/03/01 22:14:44 gsG7+5zG0
誤爆しました。
506:名称未設定
09/03/01 22:23:00 nD9JQ2Z80
>>504
偉そうな誤爆・・・
507:名称未設定
09/03/01 22:23:21 Swn1B2EX0
>>499,503
ところで、このキャラクターは何?
508:名称未設定
09/03/01 23:34:43 Lpr4cl+S0
オリジナルのキャラじゃないでしょうか
509:名称未設定
09/03/02 19:42:31 zFsp46jM0
KVO についてなんですが、みなさん context: って何に使ってますか?
何か有効に使えるような例ってありますかね?
addObserver: forKeyPath: options: context:
510:名称未設定
09/03/02 20:19:50 3ZPdt5AI0
>>509
通知される項目の識別に使ったりします。
バインドを自前で実装するときに、bind:toObject:withKeyPath:options:をオーバーライドして、内部でaddObserver: forKeyPath: options: context: を呼びますが、
ここでバインド項目を渡すのにcontext:を利用します。
そうしないと、observeValueForKeyPath:ofObject:change:context:で通知を受け取ったときに、どのバインド項目に対する通知なのか判断できません。
URLリンク(developer.apple.com)
511:名称未設定
09/03/02 20:48:30 zFsp46jM0
>>510
あ、すみません。聞き方が悪かったです。んーと、 observeValueForKeyPath:
ofObject: change: context: で使うのは分かっているのですが、バインド数が
少ない事もあり、addObserver:forKeyPath:options:context: の第4引数を
NULL で渡して、keyPath と object で識別しています。
ただ、もっとうまく使う方法はないかなぁ、と思いまして聞いた次第です。
何かこういう使い方すると〜、ってのがあればお願いします。
512:名称未設定
09/03/02 20:55:57 +eP5TcnG0
>>511
良く嫁。
読んでも分からんならそれが君のレベル。
513:名称未設定
09/03/02 21:09:36 3ZPdt5AI0
>>511
結局、何が知りたいのかが良く分かりません。
contextをnullにして問題がないなら、それでいいんじゃないの?
514:名称未設定
09/03/02 21:43:05 zFsp46jM0
んー、どうやら今ひとつ分かってないみたいです。出直してきます。
ありがとうございました。
515:名称未設定
09/03/02 22:49:33 ITECLOA50
質問です。
Finderで下部にファイルパスがアイコン付きで出ているのは、何を使ってるのでしょうか?
こんなやつ↓
URLリンク(mrox.net)
最初、NSBrowserかと思ったのですが、リサイズの動きを見てると1行のNSTableview?
っぽい気がしますが。NSViewでマトリックス的に描いてる気もします。
516:名称未設定
09/03/02 22:55:04 WNc4tkl70
NSPathControl
10.5
517:名称未設定
09/03/02 22:56:07 WNc4tkl70
てかまずIBを見ようよ…
518:名称未設定
09/03/03 00:07:24 xPw77iU/0
>>516-517
ああ、すみません・・10.4・・
10.5からあるんですか。わかりました。
10.4でも検索した時は下に出るんですよね。研究します。
519:名称未設定
09/03/03 00:28:08 0wdKrcR60
>>518
10.4でもあるならまだAPIが公開されてないだけ。
ちなみに>>515の写真がモロ10.5だったから10.4の話しとは思いもしなかったよ
520:名称未設定
09/03/03 07:11:12 2r7A6olG0
>>518
NSPathControl ほどではないがこういうのもある。
10.3 くらいでも使えるようだ。↓
URLリンク(zathras.de)
521:名称未設定
09/03/03 15:13:52 7S0UavSNi
NSWindowのサブクラスのinitWithContentRect~をオーバーライドして
NSBorderlessWindowMaskを指定しTextFieldを配置したビューを表示させると、
そのTextFieldはFirstResponderにはなれないみたいなんですが
FirstRsponderにして編集できるようにするにはどうしたらよいのでしょうか。
522:名称未設定
09/03/03 15:17:45 A3m2MNkE0
>>521
NSBorderlessWindowMaskのNSWindowはkeyWindowになれません。
ので、
- (BOOL)canBecomeKeyWindow { return YES; }
を実装。
523:名称未設定
09/03/03 15:23:40 7S0UavSNi
>>522
あ、なるほど。
ありがとうございます。
524:名称未設定
09/03/04 14:10:49 8OFab0YV0
すみません、教えて下さい。Finder や Safari の「進む」「戻る」ボタンと
同じ様なものを作りたいのです。具体的には、NSArrayController の
canSelectNext, canSelectPrevious にそれぞれバインドして enable/disable
させたいんです。
聞きたい事は、(1)このボタンって NSSegmentedControll, SegmentedCell
なのか? (2)もしそうならどうやってバインドしているのか?
です。NSSegmentedCell の中身をとってくるメソッドが無く、直接バインド
することができません。なので、そもそもNSSegmentedCellじゃないのかと
思った次第です。よろしくお願いします。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5011日前に更新/246 KB
担当:undef