D言語からObjective-CとCocoaAPIを使いたい
D言語で Mac の GUI を使用する手段として、Gtkd等がありますが、 なんとか直接 Cocoa API を使用する方法はないものかと、探していましたら、 extern(Objective-C) なるものが D言語に拡張されていました。
新しい機能のため、サンプルコードが少なく、書籍にはほとんど記載がありません。 このため、インターネット上の参考となるサイトを集めてみました。
参考となる Web Site
- Interfacing to C
- Interfacing to Objective-C
- Objective-C とのインターフェイス(和訳)
- selector, optional の仕様
- 仕様の要望
- Dlang Attributes リンケージ属性
- 改定記録 2021-01-01
- 改定記録 2020-07-07
- Objective-C from D (2019-02-25)
Cocoa の資料
- Cocoa Drawing Guide (PDF 和訳 MOSA) 2006-03-08
- Cocoa Drawing Guide (Apple Doc) 2012-09-19
- View Programming Guide (Apple Doc) 2013-08-08
Objective-C の資料
- The Objective-C Programming Language (PDF) 2003-02
- Programming with Objective-C (Apple Doc) 2014-09-17
D言語 の資料
Sample Code
CUI App
string_out...
NSString・C言語文字列・D言語文字列の出力selector.....
NSObject performSelector を使いたいimg_types....
NSArray 配列の要素 NSString をD言語文字列に変換したいarrayjson....
JSONをD言語文字配列とNSStringのNSArrayに変換したいdicjson......
JSONをNSDictionaryのNSArrayに変換したいnumber.......
NSMutableArray 配列の NSNumber 要素を表示したい
Cocoa API
cocoa.strings.......
NSString, NSArray, NSDictionary 等cocoa.window........
Cocoa の Window, View 等cocoa.control.......
NSButton を含む NSControl関連等cocoa.menu..........
Menu 等cocoa.menus.........
小型・最小のmenu 等cocoa.tables........
NSTableView 関連等cocoa.splits........
NSSplitView 関連等cocoa.images........
NSImageView 関連等cocoa.datetime......
日付・時間 関連等
Cocoa App
alert........
Mac の Native GUI で NSAlert を表示したいswin.........
簡単なWindowの表示star.........
直線の作図を表示したいflag.........
曲線(円)を表示したいline.........
直線の太さの変化と簡単な文字を表示したいuflag........
ColorCMYK を表示したいball.........
NSGradient を表示したいdashline.....
破線・鎖線を表示したいattrstr......
属性付文字列を表示したいiview........
画像を表示したいbutton.......
NSButton・NSAttributedString を表示したいcolor........
NSColorWell を表示したいradbtn.......
NSButton の Radio Button を使いましたzoom.........
図形の拡大・縮小を表示しますrotate.......
図形の回転を表示しますradiobtn.....
Apple Documentation Archive の BezierPathLabcombobox.....
NSComboBox delegate を使いましたtable........
delegateとdataSourceを使いTableを表示しますlissajous....
NSSlider を使いリサージュ曲線を表示しますulamspiral...
Uram Spiral(ウラムの螺旋)を表示しますflower.......
BezierPath 図形を表示しますcurve........
マウスでBezier曲線を変形したいstar2........star
の改版ですfern.........
バーンズリーのシダですsplit........
NSSplitView を使ってみましたswin2........swin
の改版ですquartzview...
Quartz View のテストプログラムですtimer........
簡易タイマーです
Log
- 2025-05-26 timer を追加
- 2025-03-24 quartzview を追加
- 2024-08-20 swin2 を追加
- 2024-07-25 split, split_views を追加
- 2024-07-09 fern を追加
- 2024-07-02 star2 を追加
- 2024-06-08 *APIをcocoa/*に移行
- 2024-03-25 curve を追加
- 2024-01-25 flower を追加
- 2024-01-20 radiobtn を追加
- 2024-01-20 rotate を追加
- 2024-01-15 zoom を追加
- 2023-11-03 table, TableAPI を追加
- 2023-10-20 dicjson を追加
- 2023-10-07 arrayjson を追加
- 2023-09-22 combobox を追加
- 2023-09-06 ulamspiral を追加
- 2023-06-09 radbtn を追加
- 2023-05-16 ControlAPI を追加
- 2023-04-04 simpleWin を swin に更新
- 2023-03-20 ButtonAPI, lissajous を追加
- 2023-03-03 mMenuAPI を追加
- 2023-02-06 imageTypes を追加
- 2023-01-20 MenuAPI を追加
- 2023-01-14 CocoaAPI, Line, lineDash, color を修正
- 2023-01-04 selector 追加
- 2022-12-27 Flag Line uFlag Ball iView の修正
- 2022-12-23 attrStr lineDash Button の修正
- 2022-12-22 color Star の修正
- 2022-12-21 CocoaAPI修正版、simpleWinの追加
- 2022-11-30 color の追加
- 2022-11-18 Button の変更
- 2022-11-10 Button の追加
- 2022-07-30 iView の追加
- 2022-07-23 attrStr の追加
- 2022-06-24 lineDash の追加
- 2022-03-03 uFlag の追加
- 2022-01-01 upload