86 lines
1.5 KiB
Lua

-- IupVal Example in IupLua
-- Creates two Valuator controls, exemplifying the two possible types.
-- When manipulating the Valuator, the label's value changes.
require( "iuplua" )
require( "iupluacontrols" )
if not string then
string = {}
string.format = format
end
function fbuttonpress(self)
if(self.orientation == "VERTICAL") then
lbl_v.fgcolor = "255 0 0"
else
lbl_h.fgcolor = "255 0 0"
end
return iup.DEFAULT
end
function fbuttonrelease(self)
if(self.orientation == "VERTICAL") then
lbl_v.fgcolor = "0 0 0"
else
lbl_h.fgcolor = "0 0 0"
end
return iup.DEFAULT
end
function fmousemove(self, val)
local buffer = "iup.VALUE="..string.format('%.2f', val)
if (self.orientation == "VERTICAL") then
lbl_v.title=buffer
else
lbl_h.title=buffer
end
return iup.DEFAULT
end
val_v = iup.val{"VERTICAL"; min=0, max=1, value="0.3",
mousemove_cb=fmousemove,
button_press_cb=fbuttonpress,
button_release_cb=fbuttonrelease
}
lbl_v = iup.label{title="VALUE= ", size=70}
val_h = iup.val{"HORIZONTAL"; min=0, max=1, value=0,
mousemove_cb=fmousemove,
button_press_cb=fbuttonpress,
button_release_cb=fbuttonrelease
}
lbl_h = iup.label{title="VALUE= ", size=70}
dlg_val = iup.dialog
{
iup.hbox
{
iup.frame
{
iup.vbox
{
val_v,
lbl_v
}
},
iup.frame
{
iup.vbox
{
val_h,
lbl_h
}
}
};
title="Valuator Test"
}
dlg_val:show()
if (iup.MainLoopLevel()==0) then
iup.MainLoop()
end