(rontolisp) docs
← 関数

appkit パッケージの関数

appkit パッケージは objc の上に rontolisp で書かれた Cocoa ウィジェット層で、linalg と同様に初回使用時に読み込まれます。macOS のディスプレイが必要で、インタプリタと .class / .jar にコンパイルしたプログラムで動作します (.wasm は不可)。Common Lisp の一部ではありません。関数は appkit: 修飾子付きで参照します。macOS GUI ガイドを参照してください。

関数例結果
appkit:window(appkit:window "title" :width 480 :height 300)表示済み・中央配置の NSWindow
appkit:label(appkit:label win "text" :x 20 :y 120 :width 380)矩形内で文字列を中央寄せした NSTextField ラベル
appkit:button(appkit:button win "Click" :x 20 :y 40 :on-click (lambda () ...))アクションでクロージャを実行する NSButton
appkit:panel(appkit:panel win :x 20 :y 20 :width 34 :height 34 :fill c :radius 7)ウィンドウ内の塗りつぶした角丸 NSBox
appkit:color(appkit:color 90 200 250)0-255 の成分から作った NSColor
appkit:font(appkit:font 19 :bold t)そのサイズのシステム NSFont
appkit:set-text(appkit:set-text label "new text")表示されたテキスト
appkit:set-color(appkit:set-color tile (appkit:color 214 69 65))色。パネルなら塗りつぶし色、それ以外なら文字色
appkit:text(appkit:text label)コントロールのテキスト (文字列)
appkit:on-click(appkit:on-click tile (lambda (button) ...))ビュー。クリック時にクロージャが走る (1 が左、3 が右)
appkit:click(appkit:click button)nil。クリックと同じようにアクションが実行される
appkit:timer(appkit:timer 0.12 (lambda () ...))繰り返す NSTimer。nil を返すと止まる
appkit:menu(appkit:menu (list (list "Quit" #'appkit:quit "q")))項目が Lisp のクロージャである NSMenu。:separator は区切り線
appkit:status-item(appkit:status-item "λ" :menu m :dock nil)システムのメニューバーの NSStatusItem。:dock nil は Dock アイコンを消す
appkit:quit(appkit:quit)返らない。Cmd-Q と同じようにアプリケーションが終了する
appkit:close(appkit:close win)nil。ウィンドウは閉じられる (隠される)
appkit:visible-p(appkit:visible-p win)ウィンドウが画面上にあるかどうか
appkit:wait(appkit:wait win)ウィンドウが閉じられた後に nil。ウィンドウを渡さなければアプリケーション終了までブロック