Guiserver.lsp

提供: GizmoLabs
移動先: 案内検索

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
; ウィンドウ表示するだけの最小サンプル

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

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

コンテナ

ラベル

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

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

コマンドの要約

テーブル 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