「Guiserver.lsp」の版間の差分
(ページの作成: guiserver.lsp は newlisp で GUI 生成する guiserver.jar にインターフェス接続するためのモジュール。 ようするに newlisp で GUI アプリ作る場...) |
|||
(同じ利用者による、間の17版が非表示) | |||
1行目: | 1行目: | ||
guiserver.lsp は | {{NewLISP}} | ||
ようするに | 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回のファンクションコールのみ必要。 | |||
例 : | |||
<pre class="brush:autolisp;"> | |||
#!/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 | |||
</pre> | |||
ボタン・デモ | |||
<pre class="brush:autolisp;"> | |||
#!/usr/bin/newlisp | |||
; button-demo.lsp - demonstrate the button control | |||
; initialization(初期化) | |||
(set-locale "C") | |||
(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> | |||
[[File:Newlisp-button demo.png|200px|thumb|center|実行イメージ]] | |||
==GUIとグラフィックスのための関数== | |||
<div class="mcol3"> | |||
初期化とアプリケーションのセットアップ | |||
* [[init]] | |||
* [[listen]] | |||
* [[check-event]] | |||
コンテナ | |||
* [[dialog (newlisp)|dialog]] | |||
* [[frame]] | |||
* [[menu-bar]] | |||
* [[panel]] | |||
* [[scroll-pane]] | |||
* [[split-pane]] | |||
* [[tabbed-pane]] | |||
* [[tool-bar]] | |||
* [[canvas]] | |||
* [[window]] | |||
ラベル | |||
* [[label]] | |||
* [[image-label]] | |||
コントロールウィジェット | |||
* [[button (newlisp)|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-to]] | |||
コマンドの要約 | |||
* [[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]] | |||
スペシャルダイアログ | |||
* [[color-dialog]] | |||
* [[message-dialog]] | |||
* [[confirm-dialog]] | |||
* [[open-file-dialog]] | |||
* [[save-file-dialog]] | |||
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コンポーネントのリスト | |||
* [[black]] | |||
* [[blue]] | |||
* [[cyan]] | |||
* [[darkGray]] | |||
* [[gray]] | |||
* [[green]] | |||
* [[lightGray]] | |||
* [[magenta]] | |||
* [[orange]] | |||
* [[pink]] | |||
* [[red]] | |||
* [[white]] | |||
* [[yellow]] | |||
</div> | |||
==ビルトインアイコンとイメージ== | |||
* 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 | |||
[[Category:newLISP]] | [[Category:newLISP]] |
2012年8月7日 (火) 16:49時点における最新版
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(初期化) (set-locale "C") (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