IUP で GUI アプリ:コード改訂

2017-02-12 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
以前(2016-04-28)の記事「GSL Shell 学習:“IUP.lua”モジュール自作」では、
この自作した“IUP.lua”モジュールを使って、
その前(2016-04-26)の記事「GSL Shell 学習:IUP で GUI アプリ」のコードを書き直した。

それでも、
IupVbox や、IupHbox の順序を入れ替えたい場合、
コードの変更量が些か多いと感じる。

何とか、そこを簡単に出来ないかと考えた。

関数の引数はネストさせれたので、
無駄な定義を端折ることが出来た。

と云うことで、
以前のコードを改訂した。

local Iup = require'IUP'
Iup.Open( 0 ) ---------- これ必須!!!
NULL=voidA(0)
--------------- BUTTON の 'ACTION' コールバック関数
Bcb = ffi.cast( 'Icallback', function( z )
tt1 = ffi.string( Iup.GetAttribute( txt1, 'VALUE') )
tt2 = ffi.string( Iup.GetAttribute( txt2, 'VALUE') )
print( 'Button Clicked' )
print( tt1 )
print( tt2 )
return -2
end )
---------------------------------------
s7=' '; s14=s7..s7 -- 7文字、14文字空白

txt1 = Iup.Text('')
txt2 = Iup.Text('')
btn1 = Iup.Button(' Go ', '')

dlg = Iup.Dialog( Iup.Vbox(
Iup.Hbox( Iup.Label(s7), NULL ),
Iup.Hbox( Iup.Label(s7), Iup.Label('TEXT1 : '), txt1, NULL ),
Iup.Hbox( Iup.Label(s7), Iup.Label('TEXT2 : '), txt2, NULL ),
Iup.Hbox( Iup.Label(s7), NULL ),
Iup.Hbox( Iup.Label(s14), btn1, NULL ), NULL )
)
Iup.SetAttribute( dlg, 'SIZE', '100x90' )
Iup.SetAttribute( dlg, 'TITLE', 'test' ) -- 窓のタイトル
Iup.SetCallback( btn1, 'ACTION', Bcb )

Iup.Popup( dlg, 350, 250 ) -- 窓表示左上隅
Iup.Close() -- <===右上[X]で終了。
---------------------------------------
print( tt1 )
print( tt2 )
_ = io.read(1) -- [Enter]キー入力待ち。
これで、
それなりにスッキリ?した。


今後は、これを雛形にしよう。


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170118,26
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク