「Guiserver.lsp」の版間の差分
109行目: | 109行目: | ||
* [[insert-text]] | * [[insert-text]] | ||
* [[key-event]] | * [[key-event]] | ||
* [[label]] | * [[label_(newlisp)|label]] | ||
* [[layout]] | * [[layout]] | ||
* [[load-text]] | * [[load-text]] |
2011年6月13日 (月) 13:05時点における版
guiserver.lsp は newLISP で GUI 生成する guiserver.jar にインターフェス接続するためのモジュール。 ようするに newLISP で GUI アプリ作る場合はこれを使うので、使い方を覚えましょうという個人的なメモ。
- GUIServer.lsp の説明は 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 ; 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とグラフィックスのための関数
- add-list-item
- add-separator
- add-track
- add-to
- append-text
- button
- canvas
- channel-bend
- check-box
- check-event
- clear-list
- clear-text
- copy-text
- cut-text
- color-dialog
- color-tag
- combo-box
- confirm-dialog
- delete-tag
- destroy-shell
- dialog
- disable
- dispose
- dispose-splash
- draw-arc
- draw-circle
- draw-ellipse
- draw-image
- draw-line
- draw-path
- draw-polygon
- draw-rect
- draw-round-rect
- draw-text
- enable
- eval-shell
- export
- fill-arc
- fill-circle
- fill-ellipse
- fill-polygon
- fill-rect
- fill-round-rect
- find-text
- frame
- get-bounds
- get-fonts
- get-font-metrics
- get-instruments
- get-screen
- get-selected-text
- get-text
- get-text-position
- get-version
- goto-text
- hide-tag
- image-button
- image-label
- init
- insert-list-item
- insert-tab
- insert-text
- key-event
- label
- layout
- load-text
- listen
- list-box
- message-dialog
- menu
- menu-popup
- menu-bar
- menu-item
- menu-item-check
- midi-bpm
- midi-close
- midi-init
- midi-patch
- mouse-clicked
- mouse-dragged
- mouse-event
- mouse-moved
- mouse-pressed
- mouse-released
- mouse-wheel
- move-tag
- mute-track
- no-action
- open-file-dialog
- panel
- paste-text
- play-note
- play-sequence
- play-sound
- progress-bar
- radio-button
- redo-text
- remove-from
- remove-list-item
- remove-tab
- request-focus
- reorder-tags
- rotate-tag
- run-shell
- save-file-dialog
- save-sequence
- save-text
- scale-tag
- select-list-item
- select-text
- scroll-pane
- set-accelerator
- set-anti-aliasing
- set-background
- set-bevel-border
- set-border-layout
- set-canvas
- 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-paint
- set-pressed-icon
- set-resizable
- set-rotation
- set-scale
- set-selected
- set-selection-color
- set-size
- set-stroke
- set-syntax
- set-syntax-colors
- set-tab-size
- set-text
- set-titled-border
- set-tool-tip
- set-trace
- set-translation
- set-utf8
- set-value
- set-visible
- shear-tag
- show-popup
- show-tag
- slider
- split-pane
- stop-sequence
- tabbed-pane
- 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
- text-area
- text-field
- text-pane
- toggle-button
- tool-bar
- translate-tag
- undo-text
- undo-enable
- update
- window
- window-closed
- window-moved
- window-resized