2008-08-01から1ヶ月間の記事一覧

Objective-C ( というより C ) を書くのが面倒すぎる

例えば、今コーディングしている状況はですね、次のような user defaults があって Root: PaletteWindows: - PaletteNames: - Inspector - Navigator パレットウィンドウがいくつかあって、そのウィンドウの中にまたいくつかパレットが入っている、photoshop…

NSTableView 内の NSTextFieldCell が勝手に toolTip を出して困っています

OS X 10.5.4 cell のサブクラスを作って expansionFrameWithFrame:inView: で NSZeroRect を返せ

NSTableView 内の NSButtonCell を押しても row が選択されないようにする

OS X 10.5.4 NSTableView のリファレンスを見るとそのものずばりの事が書いてある tableView:shouldTrackCell:forTableColumn:row: For example, this allows you to have an NSButtonCell in a table which does not change the selection, but can still b…

custom view の binding を Interface Builder から設定するには Interface Builder Plug-in を書かないといけないらしい

OS X 10.5.4 http://developer.apple.com/documentation/DeveloperTools/Conceptual/IBPlugInGuide/Introduction/chapter_1_section_1.html そんなばかな

フローティングパレット(2)

OS X 10.5.4 パレット内にtextfieldを置くなどしてキーイベントをとりたいときは、windowのcanBecomeKeyWindowでYESを返し、パレット内のサブビューでacceptsFirstMouse:がYESを返すようにする。ボタンなど組み込みのUIは最初からacceptsFirstMouse:がYESの…

Binding ようやく理解してきた

OS X 10.5.4 たとえば次のようによぶと [view bind:@"value" toObject:model withKeyPath:@"name" options:nil]; 陰でNSBinderなどが働いて、model の name に変化がないか監視しはじめる。model の setName: などが呼ばれると、監視している人は view の va…

生の画像データを表示する

OS X 10.5.4 方法(1) CGBitmapContextCreate() で作った CGContext から CGImage を作って表示 CGContextRef bitmapContext = CGBitmapContextCreate(buffer, ... ); CGContextRef context = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPor…

isFlipped が YES の時の CGContextDrawImage が上下反転

OS X 10.5.4 かわりに HIViewDrawCGImage を使う。 #include <Carbon/Carbon.h> して Carbon.framework をプロジェクトに追加すると使える。よくわからないけど。</carbon/carbon.h>

それで結局Bindingを実装するにはどうするのがいいの

OS X 10.5.4 http://www.stripe-net.jp/cocoa/program/blog20080208.html?page=comments コメントも参照。これでインスタンス変数を追加したりしなくても双方向に通知がいく、と思われる

フローティングパレットを作る

OS X 10.5.4 Interface Builder 3.1 NSPanelのサブクラスを作って以下のメソッドを上書き。 - (BOOL)canBecomeKeyWindow { return NO; } - (BOOL)canBecomeMainWindow { return NO; } Interface Builder で Panel を作って、今作ったクラスにして、Utility …

flagsChanged: で keyup か keydown か調べる

OS X 10.5.4 keyCode > modifierFlag の変換テーブルを用意して [event modifierFlags] をチェックする、よりスマートな方法があればいいんだけど - (void)flagsChanged:(NSEvent *)event { unsigned short keyCode = [event keyCode]; if ([event modifierF…

URL末尾のスラッシュ / でアクションを変える

Rails 1.2.5 /hello で HelloController#index、/hello/ で HellController#slash を呼びたいが、routes.rb に ActionController::Routing::Routes.draw do |map| map.connect 'hello/', :controller => 'hello', :action => 'slash' map.connect 'hello', :…