「Guiserver.lsp」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
 
(同じ利用者による、間の4版が非表示)
42行目: 42行目:
ボタン・デモ
ボタン・デモ
<pre class="brush:autolisp;">
<pre class="brush:autolisp;">
    #!/usr/bin/newlisp
#!/usr/bin/newlisp
    ; button-demo.lsp - demonstrate the button control
; button-demo.lsp - demonstrate the button control
     
    ; initialization(初期化)
    (load (append (env "NEWLISPDIR") "/guiserver.lsp"))


    (gs:init)  
; initialization(初期化)
(set-locale "C")
(load (append (env "NEWLISPDIR") "/guiserver.lsp"))
(gs:init)  
        
        
    ; describe the GUI(wigetの構築)
; describe the GUI(wigetの構築)
    (gs:frame 'ButtonDemo 100 100 400 300 "Button demo")
(gs:frame 'ButtonDemo 100 100 400 300 "Button demo")
    (gs:set-resizable 'ButtonDemo nil)
(gs:set-resizable 'ButtonDemo nil)
    (gs:panel 'ColorPanel 360 200)
(gs:panel 'ColorPanel 360 200)
    (gs:set-color 'ColorPanel (random) (random) (random))
(gs:set-color 'ColorPanel (random) (random) (random))
    (gs:button 'aButton 'abutton-action "color")
(gs:button 'aButton 'abutton-action "color")
    (gs:set-flow-layout 'ButtonDemo "center" 2 15)
(gs:set-flow-layout 'ButtonDemo "center" 2 15)
    (gs:add-to 'ButtonDemo 'ColorPanel 'aButton)
(gs:add-to 'ButtonDemo 'ColorPanel 'aButton)
    (gs:set-visible 'ButtonDemo true)
(gs:set-visible 'ButtonDemo true)
        
        
    ; define actions(アクションの定義)
; define actions(アクションの定義)
    (define (abutton-action id)
(define (abutton-action id)
        (gs:set-color 'ColorPanel (random) (random) (random)))
  (gs:set-color 'ColorPanel (random) (random) (random)))
        
        
    ; listen for incoming action requests and dispatch(リスニング開始)
; listen for incoming action requests and dispatch(リスニング開始)
    (gs:listen)
(gs:listen)
     
; eof  
    ; eof  
</pre>
</pre>
[[File:Newlisp-button demo.png|200px|thumb|center|実行イメージ]]


==GUIとグラフィックスのための関数==
==GUIとグラフィックスのための関数==
78行目: 78行目:


コンテナ
コンテナ
* [[dialog]]
* [[dialog (newlisp)|dialog]]
* [[frame]]
* [[frame]]
* [[menu-bar]]
* [[menu-bar]]
94行目: 94行目:


コントロールウィジェット
コントロールウィジェット
* [[button]]
* [[button (newlisp)|button]]
* [[check-box]]
* [[check-box]]
* [[combo-box]]
* [[combo-box]]
288行目: 288行目:
* [[white]]
* [[white]]
* [[yellow]]
* [[yellow]]
</div>


ビルトインアイコンとイメージ
==ビルトインアイコンとイメージ==
* Usage: /local/newLISP128.png
* Usage: /local/newLISP128.png
* clear-down32.png
* clear-down32.png
339行目: 340行目:
* stop-down32.png
* stop-down32.png
* stop32.png
* stop32.png
</div>
 


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

2012年8月7日 (火) 16:49時点における最新版

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