Sha256: 0e498ce904607723d4c6ac0260c42352c2f99fa0886d6823de33081d96aa269b
Contents?: true
Size: 1.09 KB
Versions: 92
Compression:
Stored size: 1.09 KB
Contents
require 'glimmer-dsl-libui' class Login include Glimmer attr_accessor :username, :password, :logged_in def launch window('Login') { margined true vertical_box { form { entry { label 'Username:' text <=> [self, :username] enabled <= [self, :logged_in, on_read: :!] # `on_read: :!` negates read value } password_entry { label 'Password:' text <=> [self, :password] enabled <= [self, :logged_in, on_read: :!] } } horizontal_box { button('Login') { enabled <= [self, :logged_in, on_read: :!] on_clicked do self.logged_in = true end } button('Logout') { enabled <= [self, :logged_in] on_clicked do self.logged_in = false self.username = '' self.password = '' end } } } }.show end end Login.new.launch
Version data entries
92 entries across 92 versions & 1 rubygems