rem ' gridcss.txt
sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
o$=opts,o$(8,1)=ior(o$(8,1),$10$); setopts o$; rem ' Visual PRO/5 compatible
grid = 101, colhdr = 102, rowhdr = 103
rows = 4
cols = 4
title$ = cvs(sys,3)+" "+cvs(rev,3)
if pos(" 6 "=sys) then title$=title$+" "+info(1,4)
window! = sysgui!.addWindow(25,25,500,500,title$,$00090003$,$$)
window!.setCallback(window!.ON_CLOSE,"eoj")
grid! = window!.addGrid(grid,rowhdr,colhdr,10,10,480,180,$81ce$,rows,cols)
grid!.setRowHeight(30)
grid!.setFitToGrid(1)
grid!.setAllColumnsUserSortable(1)
grid!.setSortByMultipleColumns(0)
grid!.setEditable(1)
for row = 0 to rows-1
for col = 0 to cols-1
text$ = "xyzzy " + str(row)+","+str(col)
grid!.setCellText(row,col,text$)
next col
next row
mode$ = "Cell"
getStyles! = window!.addButton(1,10,200,150,25,"getStyles",$$)
getStyles!.setCallback(getStyles!.ON_BUTTON_PUSH,"getStyles")
clearStyles! = window!.addButton(2,170,200,150,25,"clearStyls",$$)
clearStyles!.setCallback(clearStyles!.ON_BUTTON_PUSH,"clearStyles")
resetStyles! = window!.addButton(3,330,200,160,25,"Clear All Styles",$$)
resetStyles!.setCallback(resetStyles!.ON_BUTTON_PUSH,"resetStyles")
cellMode! = window!.addRadioButton(4,10,250,150,25,"Cell Mode",$0024$)
cellMode!.setCallback(cellMode!.ON_CHECK_ON,"cellMode")
columnMode! = window!.addRadioButton(5,170,250,150,25,"Column Mode",$0020$)
columnMode!.setCallback(columnMode!.ON_CHECK_ON,"columnMode")
rowMode! = window!.addRadioButton(6,330,250,160,25,"Row Mode",$0020$)
rowMode!.setCallback(rowMode!.ON_CHECK_ON,"rowMode")
buttons! = bbjapi().makeVector()
buttons!.add(cellMode!)
buttons!.add(columnMode!)
buttons!.add(rowMode!)
radiogroup! = window!.addRadioGroup(buttons!)
backgroundStyle! = window!.addButton(201,10,300,180,25,"backgroundStyle",$$)
backgroundStyle!.setCallback(backgroundStyle!.ON_BUTTON_PUSH,"toggleStyle")
fontStyle! = window!.addButton(202,10,350,180,25,"fontStyle",$$)
fontStyle!.setCallback(fontStyle!.ON_BUTTON_PUSH,"toggleStyle")
italicStyle! = window!.addButton(203,10,400,180,25,"italicStyle",$$)
italicStyle!.setCallback(italicStyle!.ON_BUTTON_PUSH,"toggleStyle")
boldStyle! = window!.addButton(204,10,450,180,25,"boldStyle",$$)
boldStyle!.setCallback(boldStyle!.ON_BUTTON_PUSH,"toggleStyle")
gosub setMode
process_events
eoj:
release
cellMode:
mode$ = "Cell"
gosub setMode
return
columnMode:
mode$ = "Column"
gosub setMode
return
rowMode:
mode$ = "Row"
gosub setMode
return
setMode:
getStyles!.setText("get" + mode$ + "StyleNames")
clearStyles!.setText("clear" + mode$ + "StyleNames")
backgroundStyle!.setToolTipText("Toggle " + mode$ + " " + backgroundStyle!.getText())
fontStyle!.setToolTipText("Toggle " + mode$ + " " + fontStyle!.getText())
italicStyle!.setToolTipText("Toggle " + mode$ + " " + italicStyle!.getText())
boldStyle!.setToolTipText("Toggle " + mode$ + " " + boldStyle!.getText())
return
getStyles:
if mode$ = "Cell"
row = grid!.getSelectedRow()
col = grid!.getSelectedColumn()
if row >= 0 and col >= 0 then
i = msgbox(grid!.getCellStyleNames(row,col).toString(),0,"getCellStyleNames(" + str(row)+"," + str(col) + ")")
endif
endif
if mode$ = "Column"
col = grid!.getSelectedColumn()
if col >= 0 then
i = msgbox(grid!.getColumnStyleNames(col).toString(),0,"getColumnStyleNames(" + str(col)+")")
endif
endif
if mode$ = "Row"
row = grid!.getSelectedRow()
if row >= 0 then
i = msgbox(grid!.getRowStyleNames(row).toString(),0,"getRowStyleNames(" + str(row) + ")")
endif
endif
return
clearStyles:
if mode$ = "Cell"
row = grid!.getSelectedRow()
col = grid!.getSelectedColumn()
if row >= 0 and col >= 0 then
grid!.clearCellStyleNames(row,col)
endif
endif
if mode$ = "Column"
col = grid!.getSelectedColumn()
if col >= 0 then
grid!.clearColumnStyleNames(col)
endif
endif
if mode$ = "Row"
row = grid!.getSelectedRow()
if row >= 0 then
grid!.clearRowStyleNames(row)
endif
endif
return
resetStyles:
for row = 0 to rows-1
grid!.clearRowStyleNames(row)
next row
for col = 0 to cols-1
grid!.clearColumnStyleNames(col)
next col
for row = 0 to rows-1
for col = 0 to cols-1
grid!.clearCellStyleNames(row,col)
next col
next row
return
toggleStyle:
event! = sysgui!.getLastEvent()
control! = event!.getControl()
style$ = control!.getText()
if mode$ = "Cell"
row = grid!.getSelectedRow()
col = grid!.getSelectedColumn()
if row >= 0 and col >= 0 then
if grid!.getCellStyleNames(row,col).contains(style$) then
grid!.removeCellStyleName(row,col,style$)
else
grid!.addCellStyleName(row,col,style$)
endif
endif
endif
if mode$ = "Column"
col = grid!.getSelectedColumn()
if col >= 0 then
if grid!.getColumnStyleNames(col).contains(style$) then
grid!.removeColumnStyleName(col,style$)
else
grid!.addColumnStyleName(col,style$)
endif
endif
endif
if mode$ = "Row"
row = grid!.getSelectedRow()
if row >= 0 then
if grid!.getRowStyleNames(row).contains(style$) then
grid!.removeRowStyleName(row,style$)
else
grid!.addRowStyleName(row,style$)
endif
endif
endif
return
|