Приложение 4. Картотека банков

4.1. Основной экран

gml [ w 800 h 600 color "lightgray" pixmap { return( PMAPS.."purple_marble.png")}
    maximizable "true"
    menubar [
	start {
	    HTTP = "http://luagml.ucoz.ru/"
	    GML = HTTP.."gml/"
	    DEMO = HTTP.."doc/clang/examples/bank/"
	    PMAPS = GML.."pixmaps/"
	    ICONS = GML.."icons/"

	    ENV = {}

	    function Data( uniq)
		return( ENV[ uniq].base[ ENV[ uniq].base.select])
	    end
	}
	menu [ str "Картотеки" icon { return( ICONS.."penguin.png")}
	    item [ str "Картотека банков"
		src { return( DEMO.."onl_ban.gml")}
		arg [ name "uniq"
		    value { return( luajava.bindClass( "org.ussr.luagml.GMLview"):getUniq()) }
		]
	    ]
	]
	menu [ str "Выход" icon { return( ICONS.."exit.png")}
	]
    ]
]

4.2. Картотека банков

gml [ fill "none" color "lightgray" pixmap { return( PMAPS.."purple_marble.png") }
    start {
	ENV [$uniq] = {}
    }
    frame [ name "onl_ban_$uniq" maximizable "true" iconifiable "true"
	title "Картотека банков" modal "false"
	menubar [
	    menu [ str "Выход" icon { return( ICONS.."exit.png") }
		item [ str "Выход"
		    include [
			str { onl_ban_$uniq:close() }
		    ]
		]
	    ]
	]
	font [ font-name "Serif" font-size 16
	    include [
		src { return( DEMO.."bank.gml") }
		arg [ name "uniq" value "$uniq" ]
	    ]
	    box [ type "col"
		list [ name "l_ban_$uniq" rows 20
		    selected [
			include [
			    str {
			        ENV[ $uniq].base.select = l_ban_$uniq:getSelectedIndex() + 1

				adr_$uniq:refresh()
			    }
			]
		    ]
		    key [ name "ESCAPE"
			include [
			    str { onl_ban_$uniq:close() }
			]
		    ]
		    head [
			field [ len 6 align "right" str "N п/п" ]
			field [ len 9 align "right" str "БИК" ]
			field [ len 30 str "Наименование банка" ]
		    ]
		    repeat [ name "J" from 1 step 1 until { return( ENV[ $uniq].base.count) }
			item [
			    field [ align "right" str { return( ENV[ $uniq].base [J:getValue()].recno) } ]
			    field [ align "right" str { return( ENV[ $uniq].base [J:getValue()].mfo) } ]
			    field [ str { return( ENV[ $uniq].base [J:getValue()].nai) } ]
			]
		    ]
		    count { return( ENV[ $uniq].base.count) }
		    select { return( ENV[ $uniq].base.select - 1) }
		]
		box [ type "row"
		    label [ color "blue" str "Адрес:" ]
		    space [ type "rigid" w 10 ]
		    label [ name "adr_$uniq" len 40 border "boxsunken"
			str { return( Data( $uniq).adr) }
		    ]
		    space [ type "glue" ]
		]
	    ]
	]
    ]
]

4.3. Данные к картотеке банков

include [
    str {
	ENV[ $uniq].base = {
		{ recno="     1",
		  adr=[[Г.ФЕОДОСИЯ, УЛ.СЕВАСТОПОЛЬСКАЯ 20]],
		  mfo=" 40007002",
		  nai=[[ПУ ЦБ РФ НИЗОВСКОЕ]]
		},
		{ recno="     2",
		  adr=[[Г.СЕВАСТОПОЛЬ, УЛ.АРТЕМА 28]],
		  mfo=" 40009002",
		  nai=[[ПУ ЦБ РФ СТРЕЛЕЦКОЕ]]
		},
		{ recno="     3",
		  adr=[[Г.ЭМБА, УЛ.АМБАРНАЯ 5]],
		  mfo=" 40010002",
		  nai=[[ПУ ЦБ РФ СТЕПНОЕ]]
		},
		{ recno="     4",
		  adr=[[Г.ПРИОЗЕРСК, УЛ.ФЕДЕРАЦИИ 4]],
		  mfo=" 40012002",
		  nai=[[ПУ ЦБ РФ СОВЕТСКОЕ]]
		},
		{ recno="     5",
		  adr=[[Г.ЛЕНИНСК, УЛ.ПУСКОВАЯ 7]],
		  mfo=" 40014002",
		  nai=[[ПУ ЦБ РФ ПРОЛЕТАРСКОЕ]]
		},
		{ recno="     6",
		  adr=[[Г.ЛЕНИНСК, УЛ.РАЗИНА 8]],
		  mfo=" 40015002",
		  nai=[[ПУ ЦБ РФ СЕВЕРНОЕ]]
		},
		{ recno="     7",
		  adr=[[Г.ДЕРЖАВИНСК, УЛ.КОМСОМОЛЬСКАЯ 1]],
		  mfo=" 40019002",
		  nai=[[ПУ ЦБ РФ СВЕРДЛОВСКОЕ]]
		},
		{ recno="     8",
		  adr=[[Г.УЛЬЯНОВСК, УЛ.БЕБЕЛЯ 32]],
		  mfo=" 40020002",
		  nai=[[ПУ ЦБ РФ ЮЖНОЕ]]
		},
		{ recno="     9",
		  adr=[[Г.ДУШАНБЕ, УЛ.ПРИДОРОЖНАЯ 45]],
		  mfo=" 40021002",
		  nai=[[ПУ ЦБ РФ КОММЕРЦИЯ]]
		},
		{ recno="    10",
		  adr=[[Г.СКРУНДА, УЛ.ЗАВОДСКАЯ 1]],
		  mfo=" 40030002",
		  nai=[[ПУ ЦБ РФ ЛУГОВСКОЕ]]
		},
		{ recno="    11",
		  adr=[[Г.ДИМИТРОВГРАД, УЛ.ЦЕНТРАЛЬНАЯ 23]],
		  mfo=" 40031002",
		  nai=[[ПУ ЦБ РФ НАГОРНОЕ]]
		},
		{ recno="    12",
		  adr=[[Г.ТАЛЛИНН, УЛ.ПИВНАЯ 91]],
		  mfo=" 40032002",
		  nai=[[ПУ ЦБ РФ ПРИБРЕЖНОЕ]]
		},
		{ recno="    13",
		  adr=[[Г.ЛЕНИНСК, УЛ.ВОЛОШИНА 10]],
		  mfo=" 40035002",
		  nai=[[ПУ ЦБ РФ ОКТЯБРЬСКОЕ]]
		},
		{ recno="    14",
		  adr=[[Г.ЛЕНИНОГОРСК, УЛ.БЕГУНОВА 3]],
		  mfo=" 40037002",
		  nai=[[ПУ ЦБ РФ ВОСТОЧНОЕ]]
		},
		{ recno="    15",
		  adr=[[Г.АРХАНГЕЛЬСК, УЛ.ВИНОГРАДОВА 54]],
		  mfo=" 40038002",
		  nai=[[ПУ ЦБ РФ АБУЛЬСКОЕ]]
		},
		{ recno="    16",
		  adr=[[Г.СЕМИПАЛАТИНСК, УЛ.ПОЛИГОННАЯ 21]],
		  mfo=" 40040002",
		  nai=[[ПУ ЦБ РФ ОКТЯБРЬСКОЕ]]
		},
		{ recno="    17",
		  adr=[[Г.БИШКЕК, УЛ.ФЛОТСКАЯ 105]],
		  mfo=" 40041002",
		  nai=[[ПУ ЦБ РФ ФЛОТСКОЕ]]
		},
		{ recno="    18",
		  adr=[[Г.ВОЛОГДА, УЛ.СЕВЕРНАЯ 55]],
		  mfo=" 40045002",
		  nai=[[ПУ ЦБ РФ ПРИМОРСКОЕ]]
		},
		{ recno="    19",
		  adr=[[Г.ТИРАСПОЛЬ, УЛ.МАРКСА 17]],
		  mfo=" 40047002",
		  nai=[[ПУ ЦБ РФ ДНЕСТРОВСКОЕ]]
		},
		{ recno="    20",
		  adr=[[Г.ПАНКРУШИХА, УЛ.СОВЕТСКАЯ 21]],
		  mfo=" 40113000",
		  nai=[[РКЦ ПАНКРУШИХА]]
		},
		{ recno="    21",
		  adr=[[Г.ПЕТРОДВОРЕЦ, УЛ.СЕМЕНОВСКАЯ 44]],
		  mfo=" 40113601",
		  nai=[[ОТД СБ РФ N 5958]]
		},
		{ recno="    22",
		  adr=[[Г.ПАНКРУШИХА, УЛ.ТЕРЕХОВА 19]],
		  mfo=" 40113701",
		  nai=[[ОТД "АГРОПРОМБАНКА"]]
		},
		{ recno="    23",
		  adr=[[Г.РЕБРИХА, УЛ.ФЕДОСКИНА 78]],
		  mfo=" 40115000",
		  nai=[[РКЦ РЕБРИХА]]
		},
		{ recno="    24",
		  adr=[[Г.ПЕТРОЗАВОДСК, УЛ.РЕБРОВА 54]],
		  mfo=" 40115601",
		  nai=[[ОТД СБ РФ N 2308]]
		},
		{ recno="    25",
		  adr=[[Г.ЯРОСЛАВЛЬ, УЛ.АРКТИЧЕСКАЯ 98]],
		  mfo=" 40115701",
		  nai=[[ОТД "СТРОЙПРОМБАНКА"]]
		},
		maxrows=25, count=25, select=1
	}
    }
]