BBjSysGui::setRepaintEnabled

Description

In BBj 7.0 and higher, this BBjSysGui method controls whether program action (such as adding controls or setting attributes of controls) will cause a repaint on the client display.

Syntax

Return Value

Method

void

setRepaintEnabled(Boolean enabled)

Parameters

Variable

Description

enabled

Specifies whether repaints should be enabled.

Return Value

None.

Remarks

After setRepaintEnabled(0) has been called, adding controls or modifying controls will not cause the client display to be repainted. Calling setRepaintEnabled(1) will cause the client display to be repainted and all modifications to the display that have been made since calling setRepaintEnabled(0) will appear on the client display.

Certain major structural changes to the window always force an immediate repaint.

Example

begin
open(1)"X0"
sg! = BBjAPI().getSysGui()
win! = BBjAPI().getSysGui().addWindow(50,50,500,400,"")
grid! = win!.addGrid(100,101,102,5,5,490,350)
button! = win!.addButton(201,50,360,90,25,"RowHeader")
button!.setCallback(button!.ON_BUTTON_PUSH,"row_header2")
button2! = win!.addButton(301,150,360,120,25,"toggleRepaintEnabled")
button2!.setCallback(button!.ON_BUTTON_PUSH,"toggleRepaintEnabled")
grid!.setNumColumns(2)
grid!.setHasRowHeader(1)
grid!.setNumRows(50)
grid!.setHorizontalLinesVisible(1)
grid!.setVerticalLinesVisible(1)
grid!.setVerticalScrollable(1)
grid!.setColumnStyle(0,grid!.GRID_STYLE_INPUTN)
grid!.setColumnAlignment(0,grid!.GRID_ALIGN_RIGHT)
grid!.setColumnStyle(1,grid!.GRID_STYLE_INPUTE)
grid!.setColumnAlignment(1,grid!.GRID_ALIGN_LEFT)
font! = BBjAPI().getSysGui().makeFont("Courier",10,0)
grid!.setFont(font!)
grid!.setColumnMask(0,"### ##0B")
for row = 0 to 49
    tmp$ = str(rnd(99999))
    grid!.setCellText(row,0,tmp$)
    tmp$ = str(10 * row:"#########0")
    grid!.setCellText(row,1,tmp$)
next row
win!.setCallback(win!.ON_CLOSE,"do_ex")
process_events

do_ex:
release

row_header:
    rowHeader! = grid!.getRowHeader()
    v! = BBjAPI().makeVector()
    for row = 0 to 49
        v!.addItem("Row "+str(row))
    next row
    for row = 0 to 49
        rowHeader!.setCellText(row,v!.getItem(row))
    next row
return

row_header2:
    if doEscape
        escape
    endif
    if toggleRepaintEnabled
        sg!.setRepaintEnabled(0)
    endif
    rowHeader! = grid!.getRowHeader()
    if toggle
        toggle = 0
    else
        toggle = 1
    endif
    print "toggle: ", toggle
    for row = 0 to 49
        wait .02
        if toggle
            rowHeader!.setCellText(row,"Row "+str(row))
        else
            rowHeader!.setCellText(row, "")
        endif
    next row
    if doEscape
        escape
    endif
    if toggleRepaintEnabled
        sg!.setRepaintEnabled(1)
    endif
return

toggleRepaintEnabled:
    if toggleRepaintEnabled
        toggleRepaintEnabled = 0
    else
        toggleRepaintEnabled = 1
    endif
return

See Also

BBjAPI

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