「Guiserver.lsp」の版間の差分
(ページの作成: guiserver.lsp は newlisp で GUI 生成する guiserver.jar にインターフェス接続するためのモジュール。 ようするに newlisp で GUI アプリ作る場...) |
編集の要約なし |
||
2行目: | 2行目: | ||
ようするに newlisp で GUI アプリ作る場合はこれを使うので、使い方を覚えましょうという個人的なメモ。 | ようするに 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つのファンクションコールだけがこのステップに必要。 | |||
例 : | |||
<pre class="brush:autolisp;"> | |||
#!/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 | |||
</pre> | |||
==GUIとグラフィックスのための関数== | |||
<div class="mcol3"> | |||
* [[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]] | |||
</div> | |||
[[Category:newLISP]] | [[Category:newLISP]] |
2011年6月12日 (日) 11:09時点における版
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