51
ScriptBasic Blog / Re: ScriptBasic 3.0
« Last post by John on April 21, 2024, 08:15:11 PM »Here is an older IUP demo I converted to ScriptBasic. This shows some of the other controls and using code to create bitmap images for buttons.
Code: ScriptBasic
- ' IUP sample.sb
- IMPORT iup.bas
- GLOBAL CONST IUP_CENTER = 0xFFFF
- GLOBAL CONST IUP_TITLE = "TITLE"
- GLOBAL CONST IUP_VALUE = "VALUE"
- GLOBAL CONST IUP_SIZE = "SIZE"
- GLOBAL CONST IUP_EXPAND = "EXPAND"
- GLOBAL CONST IUP_DROPDOWN = "DROPDOWN"
- GLOBAL CONST IUP_POSX = "POSX"
- GLOBAL CONST IUP_POSY = "POSY"
- GLOBAL CONST IUP_BGCOLOR = "BGCOLOR"
- GLOBAL CONST IUP_MARGIN = "MARGIN"
- GLOBAL CONST IUP_ALIGNMENT = "ALIGNMENT"
- GLOBAL CONST IUP_GAP = "GAP"
- GLOBAL CONST IUP_MENU = "MENU"
- img_bits1 = """
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1
- ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1
- ,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1
- ,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
- ,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1
- ,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1
- ,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1
- ,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1
- ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
- ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
- ,2,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
- ,2,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
- ,2,2,2,0,2,0,2,0,2,2,0,2,2,2,0,0,0,2,2,2,0,0,2,0,2,2,0,0,0,2,2,2
- ,2,2,2,0,2,0,0,2,0,0,2,0,2,0,2,2,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2
- ,2,2,2,0,2,0,2,2,0,2,2,0,2,2,2,2,2,0,2,0,2,2,2,0,2,0,2,2,2,0,2,2
- ,2,2,2,0,2,0,2,2,0,2,2,0,2,2,0,0,0,0,2,0,2,2,2,0,2,0,0,0,0,0,2,2
- ,2,2,2,0,2,0,2,2,0,2,2,0,2,0,2,2,2,0,2,0,2,2,2,0,2,0,2,2,2,2,2,2
- ,2,2,2,0,2,0,2,2,0,2,2,0,2,0,2,2,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2
- ,2,2,2,0,2,0,2,2,0,2,2,0,2,2,0,0,0,0,2,2,0,0,2,0,2,2,0,0,0,2,2,2
- ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,2
- ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2,2,0,2,2,2,2,2,2,2,2
- ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,2,2,2,2,2,2,2,2,2
- ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
- ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
- ,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1
- ,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1
- ,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1
- ,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- ,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- ,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- ,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- """
- img_bits2 = """
- 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2
- ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2
- ,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2
- ,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2
- ,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2
- ,2,2,2,2,2,2,2,2,2,2,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2
- ,2,2,2,2,2,2,2,2,2,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2
- ,2,2,2,2,2,2,2,2,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2
- ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
- ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
- ,3,3,3,0,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
- ,3,3,3,0,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
- ,3,3,3,0,3,0,3,0,3,3,0,3,3,3,1,1,0,3,3,3,0,0,3,0,3,3,0,0,0,3,3,3
- ,3,3,3,0,3,0,0,3,0,0,3,0,3,0,1,1,3,0,3,0,3,3,0,0,3,0,3,3,3,0,3,3
- ,3,3,3,0,3,0,3,3,0,3,3,0,3,3,1,1,3,0,3,0,3,3,3,0,3,0,3,3,3,0,3,3
- ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- ,3,3,3,0,3,0,3,3,0,3,3,0,3,0,1,1,3,0,3,0,3,3,0,0,3,0,3,3,3,0,3,3
- ,3,3,3,0,3,0,3,3,0,3,3,0,3,3,1,1,0,0,3,3,0,0,3,0,3,3,0,0,0,3,3,3
- ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3
- ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,0,3,3,3,0,3,3,3,3,3,3,3,3
- ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,0,0,0,3,3,3,3,3,3,3,3,3
- ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
- ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
- ,2,2,2,2,2,2,2,3,3,3,3,3,3,3,1,1,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2
- ,2,2,2,2,2,2,3,3,3,3,3,3,3,3,1,1,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2
- ,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2
- ,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2
- ,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
- ,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
- ,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
- ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
- """
- SUB init_dialog
- img = Iup::Image(32,32, Iup::CreateImg(img_bits1))
- Iup::SetHandle ("img1", img)
- Iup::SetAttribute (img, "0", "0 0 0")
- Iup::SetAttribute (img, "1", "BGCOLOR")
- Iup::SetAttribute (img, "2", "255 0 0")
- img = Iup::Image(32,32, Iup::CreateImg(img_bits2))
- Iup::SetHandle ("img2", img)
- Iup::SetAttribute (img, "0", "0 0 0")
- Iup::SetAttribute (img, "1", "0 255 0")
- Iup::SetAttribute (img, "2", "BGCOLOR")
- Iup::SetAttribute (img, "3", "255 0 0")
- mnu = Iup::Menu( _
- Iup::Submenu("IupSubmenu 1",Iup::Menu( _
- Iup::SetAttributes(Iup::Item("IupItem 1 Checked"), "VALUE=ON"), _
- Iup::Separator(), _
- Iup::SetAttributes(Iup::Item("IupItem 2 Disabled"), "ACTIVE=NO"))), _
- Iup::Item("IupItem 3"), _
- Iup::Item("IupItem 4"))
- Iup::SetHandle("mnu",mnu)
- _frm_1 = Iup::Frame( _
- Iup::Vbox( _
- Iup::Button("Button Text"), _
- Iup::SetAttributes(Iup::Button(), "IMAGE=img1"), _
- Iup::SetAttributes(Iup::Button(), "IMAGE=img1,IMPRESS=img2")))
- Iup::SetAttribute(_frm_1,IUP_TITLE,"IupButton")
- _frm_2 = Iup::Frame( _
- Iup::Vbox( _
- Iup::Label("Label Text"), _
- Iup::SetAttributes(Iup::Label(""), "SEPARATOR=HORIZONTAL"), _
- Iup::SetAttributes(Iup::Label(""), "IMAGE=img1")))
- Iup::SetAttribute(_frm_2,IUP_TITLE,"IupLabel")
- _frm_3 = Iup::Frame( _
- Iup::Vbox( _
- Iup::SetAttributes(Iup::Toggle("Toggle Text"), "VALUE=ON"), _
- Iup::SetAttributes(Iup::Toggle(""), "IMAGE=img1,IMPRESS=img2"), _
- Iup::SetAttributes(Iup::Frame(Iup::Radio(Iup::Vbox( _
- Iup::Toggle("Toggle Text"), _
- Iup::Toggle("Toggle Text")))), "TITLE=IupRadio")))
- Iup::SetAttribute(_frm_3,IUP_TITLE,"IupToggle")
- _text_1 = Iup::Text()
- Iup::SetAttribute(_text_1,IUP_VALUE,"IupText Text")
- Iup::SetAttribute(_text_1,IUP_SIZE,"80x")
- _ml_1 = Iup::MultiLine()
- Iup::SetAttribute(_ml_1,IUP_VALUE,"IupMultiline Text\nSecond Line\nThird Line")
- Iup::SetAttribute(_ml_1,IUP_EXPAND,"YES")
- Iup::SetAttribute(_ml_1,IUP_SIZE,"80x60")
- _frm_4 = Iup::Frame(Iup::Vbox( _
- _text_1, _
- _ml_1))
- Iup::SetAttribute(_frm_4,IUP_TITLE,"IupText/IupMultiline")
- _list_1 = Iup::List()
- Iup::SetAttribute(_list_1,IUP_EXPAND,"YES")
- Iup::SetAttribute(_list_1,IUP_VALUE,"1")
- Iup::SetAttribute(_list_1,"1","Item 1 Text")
- Iup::SetAttribute(_list_1,"2","Item 2 Text")
- Iup::SetAttribute(_list_1,"3","Item 3 Text")
- _list_2 = Iup::List()
- Iup::SetAttribute(_list_2,IUP_DROPDOWN,"YES")
- Iup::SetAttribute(_list_2,IUP_EXPAND,"YES")
- Iup::SetAttribute(_list_2,IUP_VALUE,"2")
- Iup::SetAttribute(_list_2,"1","Item 1 Text")
- Iup::SetAttribute(_list_2,"2","Item 2 Text")
- Iup::SetAttribute(_list_2,"3","Item 3 Text")
- _list_3 = Iup::List()
- Iup::SetAttribute(_list_3,"EDITBOX","YES")
- Iup::SetAttribute(_list_3,IUP_EXPAND,"YES")
- Iup::SetAttribute(_list_3,IUP_VALUE,"3")
- Iup::SetAttribute(_list_3,"1","Item 1 Text")
- Iup::SetAttribute(_list_3,"2","Item 2 Text")
- Iup::SetAttribute(_list_3,"3","Item 3 Text")
- _frm_5 = Iup::Frame(Iup::Vbox( _
- _list_1, _
- _list_2, _
- _list_3))
- Iup::SetAttribute(_frm_5,IUP_TITLE,"IupList")
- _hbox_1 = Iup::Hbox( _
- _frm_1, _
- _frm_2, _
- _frm_3, _
- _frm_4, _
- _frm_5)
- _cnv_1 = Iup::Canvas()
- Iup::SetAttribute(_cnv_1,IUP_POSX,"0.0")
- Iup::SetAttribute(_cnv_1,IUP_POSY,"0.0")
- Iup::SetAttribute(_cnv_1,IUP_BGCOLOR,"128 255 0")
- _vbox_1 = Iup::Vbox( _
- _hbox_1, _
- _cnv_1)
- Iup::SetAttribute(_vbox_1,IUP_MARGIN,"5x5")
- Iup::SetAttribute(_vbox_1,IUP_ALIGNMENT,"ARIGHT")
- Iup::SetAttribute(_vbox_1,IUP_GAP,"5")
- dlg = Iup::Dialog(_vbox_1)
- Iup::SetHandle("dlg",dlg)
- Iup::SetAttribute(dlg,IUP_MENU,"mnu")
- Iup::SetAttribute(dlg,IUP_TITLE,"IupDialog Title")
- END SUB
- ' MAIN
- Iup::Open()
- init_dialog()
- Iup::Show(Iup::GetHandle("dlg"))
- Iup::MainLoop()
- Iup::Close()