「Guiserver.lsp」の版間の差分
78行目: | 78行目: | ||
コンテナ | コンテナ | ||
* [[dialog]] | * [[dialog (newlisp)|dialog]] | ||
* [[frame]] | * [[frame]] | ||
* [[menu-bar]] | * [[menu-bar]] |
2011年7月6日 (水) 13:06時点における版
guiserver.lsp は newLISP で GUI 生成する guiserver.jar にインターフェス接続するためのモジュール。 ようするに newLISP で GUI アプリ作る場合はこれを使うので、使い方を覚えましょうという個人的なメモ。
- GUIServer.lsp の説明は↓に書いてある。
- http://www.newlisp.org/guiserver/
- http://www.newlisp.org/guiserver/guiserver.lsp.html
以下適当に翻訳。
newLISP GUI アプリケーションのアーキテクチャ
newLISPのGUIアプリケーションは4つの部分から構成されている。
- 初期化 - newLISP-GS guiserver.jar との通信を初期化するのに1回のファンクションコールが必要。
- ウィジェットの構築 - このステップでは、ウインドウ、ボタン、テキストフィールド、その他、全ての GUIの外観が記述されること。newLISP newLISP-GS は、広範囲にわたる異なるコントロールウィジェットを提供する。
- イベント・アクションの定義 - このステップでは、ボタン・プッシュ、キーストローク、マウス-移動、その他の結果としてGUIから返されるイベントに反応するためにの機能を定める.. 情報をユーザー、ポップアップ対話その他と交換するために、これらのイベント・アクションは、多くの命令をGUIに送り返す。
- イベントのリスニング - newLISPプログラムが、定義されたイベントのアクションをループしながら待っている。このステップは1回のファンクションコールのみ必要。
例 :
#!/usr/bin/newlisp ; ウィンドウ表示するだけの最小サンプル ;;;; initialization (set-locale "C") (load (append (env "NEWLISPDIR") "/guiserver.lsp")) (gs:init) ;;;; GUIのセット (gs:frame 'window 0 0 400 400 "ウィンドウ" true) ; ウィンドウのサイズと位置 ;;;; アクションのセット ;;; リスニング開始 (gs:listen) ;; eof
ボタン・デモ
#!/usr/bin/newlisp ; button-demo.lsp - demonstrate the button control ; initialization(初期化) (load (append (env "NEWLISPDIR") "/guiserver.lsp")) (gs:init) ; describe the GUI(wigetの構築) (gs:frame 'ButtonDemo 100 100 400 300 "Button demo") (gs:set-resizable 'ButtonDemo nil) (gs:panel 'ColorPanel 360 200) (gs:set-color 'ColorPanel (random) (random) (random)) (gs:button 'aButton 'abutton-action "color") (gs:set-flow-layout 'ButtonDemo "center" 2 15) (gs:add-to 'ButtonDemo 'ColorPanel 'aButton) (gs:set-visible 'ButtonDemo true) ; define actions(アクションの定義) (define (abutton-action id) (gs:set-color 'ColorPanel (random) (random) (random))) ; listen for incoming action requests and dispatch(リスニング開始) (gs:listen) ; eof
GUIとグラフィックスのための関数
初期化とアプリケーションのセットアップ
コンテナ
ラベル
コントロールウィジェット
- button
- check-box
- combo-box
- image-button
- list-box
- menu
- menu-popup
- menu-item
- menu-item-check
- progress-bar
- slider
- text-area
- text-field
- text-pane
コンテナ内のコンポーネントの配置
コマンドの要約
- add-list-item
- add-separator
- add-to
- append-text
- check-event
- clear-list
- clear-text
- copy-text
- cut-text
- destroy-shell
- disable
- dispose
- dispose-splash
- enable
- eval-shell
- find-text
- frame-closed
- get-fonts
- get-bounds
- get-font-metrics
- get-screen
- get-selected-text
- get-text
- get-text-position
- get-version
- goto-text
- insert-list-item
- insert-tab
- insert-text
- layout
- load-text
- no-action
- paste-text
- redo-text
- remove-from
- remove-list-item
- remove-tab
- request-focus
- run-shell
- select-list-item
- select-text
- set-accelerator
- set-background
- set-bevel-border
- set-border-layout
- set-caret
- set-caret-color
- set-color
- set-cursor
- set-echo-char
- set-editable
- set-flow-layout
- set-font
- set-foreground
- set-grid-layout
- set-icon
- set-look-and-feel
- set-resizable
- set-pressed-icon
- set-selected
- set-size
- set-selection-color
- set-syntax
- set-syntax-colors
- set-tab-size
- set-text
- set-titled-border
- set-tool-tip
- set-trace
- set-utf8
- set-value
- set-visible
- undo-text
- undo-enable
テーブル UI
- table
- table-add-column
- table-add-row
- table-get
- table-get-cell
- table-get-size
- table-set-cell
- table-set-column
- table-set-row-number
スペシャルダイアログ
2D グラフィック関数
- color-tag
- delete-tag
- draw-arc
- draw-circle
- draw-ellipse
- draw-image
- draw-line
- draw-path
- draw-polygon
- draw-rect
- draw-round-rect
- draw-text
- export
- fill-arc
- fill-circle
- fill-ellipse
- fill-polygon
- fill-rect
- fill-round-rect
- hide-tag
- move-tag
- reorder-tags
- rotate-tag
- save-text
- scale-tag
- shear-tag
- show-popup
- show-tag
- set-canvas
- set-paint
- set-rotation
- set-scale
- set-stroke
- set-translation
- set-anti-aliasing
- translate-tag
- update
イベント
- key-event
- mouse-clicked
- mouse-dragged
- mouse-event
- mouse-moved
- mouse-pressed
- mouse-released
- mouse-wheel
- window-closed
- window-resized
サウンドと MIDI API
- add-track
- channel-bend
- get-instruments
- instruments
- midi-bpm
- midi-close
- midi-init
- midi-patch
- mute-track
- play-note
- play-sequence
- save-sequence
- stop-sequence
- play-sound
定義済みの色 RGBコンポーネントのリスト
ビルトインアイコンとイメージ
- Usage: /local/newLISP128.png
- clear-down32.png
- clear32.png
- copy-down32.png
- copy32.png
- cut-down32.png
- cut32.png
- dotgray16.png
- dotgray32.png
- dotgreen16.png
- dotgreen32.png
- dotred16.png
- dotred32.png
- dotyellow16.png
- dotyellow32.png
- edit-down32.png
- edit32.png
- folder-closed-down32.png
- folder-closed32.png
- folder-opened-down32.png
- folder-opened32.png
- font-book-down32.png
- font-book32.png
- green10.png
- info-down32.png
- info32.png
- new-down32.png
- new32.png
- newLISP-down32.png
- newLISP128.png
- newLISP16.png
- newLISP20.png
- newLISP32.png
- newLISP64.png
- newLISPsplashWin.png
- paste-down32.png
- paste32.png
- pressedbutton32.png
- red10.png
- restart-down32.png
- restart32.png
- run-down32.png
- run32.png
- save-down32.png
- save32.png
- search-down32.png
- search32.png
- stop-down32.png
- stop32.png