BBjControl::setAttribute

Description

In BBj 15.0 and higher, this method sets a control attribute on the BBjControl.

Syntax

Return Value

Method

void

setAttribute(string attribute, string value)

Parameters

Variable

Description

attribute

Specifies an attribute to be set for the control.

value

Specifies the value of that attribute.

Return Value

None.

Remarks

This functionality is primarily intended for setting low-level BUI element attributes or DWC component properties. When running in GUI, the attributes do not affect the control itself, but may be used by the developer.

Example

Copy

BBjControl::setAttribute Example

sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
window! = sysgui!.addWindow(50,50,300,550,"Window",$00090003$)
window!.setCallback(window!.ON_CLOSE,"eoj")
status! = window!.addStatusBar(100)
data "text","color","date","datetime-local","email","month"
data "number","range","search","tel","time","url","week"
i = 101, x = 100, y = 25, w = 175, h = 25
tbutton! = window!.addToolButton(1,x,y,w,h,"getText",$$)
tbutton!.setCallback(tbutton!.ON_TOOL_BUTTON_PUSH,"getText")
while 1
 dread type$,err=*break
 y = y + h + 10
 window!.addStaticText(i+100,0,y+5,90,h,type$,$8000$)
 editbox! = window!.addEditBox(i,x,y,w,h,"",$$,type$)
 if type$ = "text" then
    editbox!.setText("The quick brown fox jumps over the lazy dog.")
 endif
 if type$="color" then
    color$ = "#" + hta(chr(rnd(255))) + hta(chr(rnd(255))) + hta(chr(rnd(255)))
    editbox!.setText(color$)
 endif
 if type$="date" then
    mask$ = "%Yl-%Mz-%Dz"
    editbox!.setText(date(0:mask$))
    print "min=",editbox!.getAttribute("min"),",max=",editbox!.getAttribute("max")
    editbox!.setAttribute("min",date(jul(0,0,0)-365:mask$))
    editbox!.setAttribute("max",date(jul(0,0,0)+365:mask$))
    print "min=",editbox!.getAttribute("min"),",max=",editbox!.getAttribute("max")
 endif
 if type$="datetime-local" then
    mask$="%Yl-%Mz-%DzT%Hz:%mz"
    editbox!.setText(date(0:mask$))
    print "min=",editbox!.getAttribute("min"),",max=",editbox!.getAttribute("max")
    editbox!.setAttribute("min",date(jul(0,0,0)-365:mask$))
    editbox!.setAttribute("max",date(jul(0,0,0)+365:mask$))
    print "min=",editbox!.getAttribute("min"),",max=",editbox!.getAttribute("max")
 endif
 if type$="month" then
    mask$="%Yl-%Mz"
    editbox!.setText(date(0:mask$))
    print "min=",editbox!.getAttribute("min"),",max=",editbox!.getAttribute("max")
    editbox!.setAttribute("min",date(jul(0,0,0)-365:mask$))
    editbox!.setAttribute("max",date(jul(0,0,0)+365:mask$))
    print "min=",editbox!.getAttribute("min"),",max=",editbox!.getAttribute("max")
 endif
 if type$="number" then
    editbox!.setText(str(50))
    editbox!.setAlignment(editbox!.ALIGN_RIGHT)
    print "min=",editbox!.getAttribute("min"),",max=",editbox!.getAttribute("max")
    editbox!.setAttribute("min","-100")
    editbox!.setAttribute("max","100")
    editbox!.setAttribute("step","any")
    print "min=",editbox!.getAttribute("min"),",max=",editbox!.getAttribute("max")
 endif
 if type$="range" then
    editbox!.setText(str(50))
    print "min=",editbox!.getAttribute("min"),",max=",editbox!.getAttribute("max")
    editbox!.setAttribute("min","-100")
    editbox!.setAttribute("max","100")
    print "min=",editbox!.getAttribute("min"),",max=",editbox!.getAttribute("max")
 endif
 if type$="time" then
    mask$="%Hz:%mz"
    editbox!.setText(date(0:mask$))
 endif
 if type$="week" then
    mask$="%Yl-W%Wz"
    editbox!.setText(date(0:mask$))
 endif
 editbox!.setName(type$)
 editbox!.setAttribute("placeholder","placeholder text goes here")
 editbox!.setToolTipText(editbox!.getEditType())
 editbox!.setCallback(editbox!.ON_EDIT_MODIFY,"modify")
 i = i + 1
wend
process_events
eoj:
 release
getText:
 control! = window!.getFocusedControl()
 i = msgbox(control!.getText(err=*next),0,control!.getName(err=*next))
return
modify:
 event! = sysgui!.getLastEvent()
 editbox! = event!.getControl()
 event$ = editbox!.getName()+" = '"+event!.getText()+"'"
 status!.setText(event$)
 print event$
return

See Also

BBjAPI

BBjSysGui

BBjWindow

See the BBj Object Diagram for an illustration of the relationship between BBj Objects.