「Guiserver.lsp」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
49行目: 49行目:
==GUIとグラフィックスのための関数==
==GUIとグラフィックスのための関数==
<div class="mcol3">
<div class="mcol3">
初期化とアプリケーションのセットアップ
* [[init]]
* [[listen]]
* [[check-event]]
コンテナ
* [[dialog]]
* [[frame]]
* [[menu-bar]]
* [[panel]]
* [[scroll-pane]]
* [[split-pane]]
* [[tabbed-pane]]
* [[tool-bar]]
* [[canvas]]
* [[window]]
ラベル
* [[label]]
* [[image-label]]
コントロールウィジェット
* [[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-list-item]]
* [[add-separator]]
* [[add-separator]]
* [[add-track]]
* [[add-to]]
* [[add-to]]
* [[append-text]]
* [[append-text]]
* [[button]]
* [[canvas]]
* [[channel-bend]]
* [[check-box]]
* [[check-event]]
* [[check-event]]
* [[clear-list]]
* [[clear-list]]
63行目: 99行目:
* [[copy-text]]
* [[copy-text]]
* [[cut-text]]
* [[cut-text]]
* [[color-dialog]]
* [[color-tag]]
* [[combo-box]]
* [[confirm-dialog]]
* [[delete-tag]]
* [[destroy-shell]]
* [[destroy-shell]]
* [[dialog_(newlisp)|dialog]]
* [[disable]]
* [[disable]]
* [[dispose]]
* [[dispose]]
* [[dispose-splash]]
* [[dispose-splash]]
* [[draw-arc]]
* [[draw-circle]]
* [[draw-ellipse]]
* [[draw-image]]
* [[draw-line]]
* [[draw-path]]
* [[draw-polygon]]
* [[draw-rect]]
* [[draw-round-rect]]
* [[draw-text]]
* [[enable]]
* [[enable]]
* [[eval-shell]]
* [[eval-shell]]
* [[export]]
* [[fill-arc]]
* [[fill-circle]]
* [[fill-ellipse]]
* [[fill-polygon]]
* [[fill-rect]]
* [[fill-round-rect]]
* [[find-text]]
* [[find-text]]
* [[frame]]
* [[frame-closed]]
* [[get-fonts]]
* [[get-bounds]]
* [[get-bounds]]
* [[get-fonts]]
* [[get-font-metrics]]
* [[get-font-metrics]]
* [[get-instruments]]
* [[get-screen]]
* [[get-screen]]
* [[get-selected-text]]
* [[get-selected-text]]
104行目: 116行目:
* [[get-version]]
* [[get-version]]
* [[goto-text]]
* [[goto-text]]
* [[hide-tag]]
* [[image-button]]
* [[image-label]]
* [[init]]
* [[insert-list-item]]
* [[insert-list-item]]
* [[insert-tab]]
* [[insert-tab]]
* [[insert-text]]
* [[insert-text]]
* [[key-event]]
* [[label_(newlisp)|label]]
* [[layout]]
* [[layout]]
* [[load-text]]
* [[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]]
* [[no-action]]
* [[open-file-dialog]]
* [[panel]]
* [[paste-text]]
* [[paste-text]]
* [[play-note]]
* [[play-sequence]]
* [[play-sound]]
* [[progress-bar]]
* [[radio-button]]
* [[redo-text]]
* [[redo-text]]
* [[remove-from]]
* [[remove-from]]
150行目: 128行目:
* [[remove-tab]]
* [[remove-tab]]
* [[request-focus]]
* [[request-focus]]
* [[reorder-tags]]
* [[rotate-tag]]
* [[run-shell]]
* [[run-shell]]
* [[save-file-dialog]]
* [[save-sequence]]
* [[save-text]]
* [[scale-tag]]
* [[select-list-item]]
* [[select-list-item]]
* [[select-text]]
* [[select-text]]
* [[scroll-pane]]
* [[set-accelerator]]
* [[set-accelerator]]
* [[set-anti-aliasing]]
* [[set-background]]
* [[set-background]]
* [[set-bevel-border]]
* [[set-bevel-border]]
* [[set-border-layout]]
* [[set-border-layout]]
* [[set-canvas]]
* [[set-caret]]
* [[set-caret]]
* [[set-caret-color]]
* [[set-caret-color]]
178行目: 147行目:
* [[set-icon]]
* [[set-icon]]
* [[set-look-and-feel]]
* [[set-look-and-feel]]
* [[set-paint]]
* [[set-resizable]]
* [[set-pressed-icon]]
* [[set-pressed-icon]]
* [[set-resizable]]
* [[set-rotation]]
* [[set-scale]]
* [[set-selected]]
* [[set-selected]]
* [[set-size]]
* [[set-selection-color]]
* [[set-selection-color]]
* [[set-size]]
* [[set-stroke]]
* [[set-syntax]]
* [[set-syntax]]
* [[set-syntax-colors]]
* [[set-syntax-colors]]
194行目: 159行目:
* [[set-tool-tip]]
* [[set-tool-tip]]
* [[set-trace]]
* [[set-trace]]
* [[set-translation]]
* [[set-utf8]]
* [[set-utf8]]
* [[set-value]]
* [[set-value]]
* [[set-visible]]
* [[set-visible]]
* [[shear-tag]]
* [[undo-text]]
* [[show-popup]]
* [[undo-enable]]
* [[show-tag]]
 
* [[slider_(newlisp)|slider]]
テーブル UI
* [[split-pane]]
* [[stop-sequence]]
* [[tabbed-pane]]
* [[table]]
* [[table]]
* [[table-add-column]]
* [[table-add-column]]
214行目: 175行目:
* [[table-set-column]]
* [[table-set-column]]
* [[table-set-row-number]]
* [[table-set-row-number]]
* [[text-area]]
 
* [[text-field]]
スペシャルダイアログ
* [[text-pane]]
* [[color-dialog]]
* [[toggle-button]]
* [[message-dialog]]
* [[tool-bar]]
* [[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]]
* [[translate-tag]]
* [[undo-text]]
* [[undo-enable]]
* [[update]]
* [[update]]
* [[window]]
 
イベント
* [[key-event]]
* [[mouse-clicked]]
* [[mouse-dragged]]
* [[mouse-event]]
* [[mouse-moved]]
* [[mouse-pressed]]
* [[mouse-released]]
* [[mouse-wheel]]
* [[window-closed]]
* [[window-closed]]
* [[window-moved]]
* [[window-resized]]
* [[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]]
ビルトインアイコンとイメージ
* 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
</div>
</div>


[[Category:newLISP]]
[[Category:newLISP]]

2011年6月30日 (木) 22:48時点における版

guiserver.lsp は newLISP で GUI 生成する guiserver.jar にインターフェス接続するためのモジュール。 ようするに newLISP で GUI アプリ作る場合はこれを使うので、使い方を覚えましょうという個人的なメモ。

以下適当に翻訳。

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とグラフィックスのための関数

初期化とアプリケーションのセットアップ

コンテナ

ラベル

コントロールウィジェット

コンテナ内のコンポーネントの配置

コマンドの要約

テーブル UI

スペシャルダイアログ

2D グラフィック関数

イベント

サウンドと MIDI API

定義済みの色 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