BBjGrid::isEnhancedSelectionModelEnabled
Description
In BBj 15.0 and higher, this method returns a boolean value that indicates which selection model is currently being used in the grid; the Enhanced or Legacy Selection Model.
Syntax
Return Value |
Method |
boolean |
isEnhancedSelectionModelEnabled() |
Parameters
None.
Return Value
Returns a boolean that indicates which selection model is currently active in the grid.
1 = Enhanced Selection Model is enabled;
0 = Enhanced Selection Model is disabled (Legacy Selection Model is enabled by default).
Example
REM Set the multiple selection option on for a BBjGrid object REM Obtain the instance of the BBjAPI object LET myAPI!=BBjAPI() REM Open the SysGui device SYSGUI=UNT OPEN (SYSGUI) "X0" REM Obtain the instance of the BBjSysGui object LET mySysGui!=myAPI!.getSysGui() REM Create the main window and control objects GOSUB CreateCalendar REM Display the initial data GOSUB DisplayMonth REM Set the multiple selection option on for the calendar Calendar!.setEnhancedSelectionModelEnabled(1) ?"isEnhancedSelectionModelEnabled() = " ?Calendar!.isEnhancedSelectionModelEnabled() Calendar!.setMultipleSelection(mySysGui!.TRUE) REM Display the main window MainWindow!.setVisible(mySysGui!.TRUE) REM Register the CALLBACK routines CALLBACK(ON_CLOSE,DoAppClose,CalendarContext) REM Process Events PROCESS_EVENTS REM Callback routine called when the user closes the application window DoAppClose: REM RELEASE RETURN REM Subroutine called to display the days in the current selected month/year DisplayMonth: LET DayNum=0 LET FirstDayOfMonth=DayTable!.get(DATE(JUL(CurrentYear,CurrentMonth,1):"%Ds")) LET DaysInMonth=FNDaysInMonth(CurrentYear,CurrentMonth) MonthVector!.clear() IF CurrentDay>DaysInMonth+1 THEN CurrentDay=DaysInMonth+1 FI LET CurrentJul=JUL(CurrentYear,CurrentMonth,CurrentDay) REM Week 0 FOR DayOfWeek=0 TO 6 IF FirstDayOfMonth>DayOfWeek THEN LET Item$=STR(0:DayMask$) ELSE LET Item$=STR(DayNum+1:DayMask$) LET DayNum=DayNum+1 FI MonthVector!.addItem(Item$) NEXT DayOfWeek REM Week 1-3 FOR Week=1 TO 3 FOR DayOfWeek=0 TO 6 LET Item$=STR(DayNum+1:DayMask$) LET DayNum=DayNum+1 MonthVector!.addItem(Item$) NEXT DayOfWeek NEXT Week REM Week 4-5 FOR week=4 TO 5 FOR DayOfWeek=0 TO 6 IF DayNum>DaysInMonth THEN LET Item$=STR(0:DayMask$) ELSE LET Item$=STR(DayNum+1:DayMask$) LET DayNum=DayNum+1 FI MonthVector!.addItem(Item$) NEXT DayOfWeek NEXT week REM Set the current information Calendar!.setCellText(MonthVector!) LET CurrRow=INT((FirstDayOfMonth+CurrentDay-1)/7) LET CurrCol=MOD(FirstDayOfMonth+CurrentDay-1,7) Calendar!.setSelectedCell(CurrRow,CurrCol) LET CurrentMonthYear$=DATE(CurrentJul:"%Ml %Y") CurrDate!.setText(CurrentMonthYear$) Calendar!.setCellText(5,5," To") Calendar!.setCellText(5,6,"day ") Calendar!.setSelectedCell(5,6) Calendar!.moveToNextCell() print Calendar!.getSelectedRow() print Calendar!.getSelectedColumn() RETURN REM Function called to return the number of days in the passed year and month DEF FNDaysInMonth(fYear,fMonth) REM calculate the number of days in a month - zero based LET DaysInMonth=30 IF fMonth<>12 THEN LET DaysInMonth=NUM(DATE(JUL(fYear,fMonth+1,1)-1:"%D"))-1 FI RETURN DaysInMonth FNEND REM Subroutine called to create the calendar CreateCalendar: REM Create the vector to hold month info LET MonthVector!=mySysGui!.makeVector() REM Create a java hash table to hold day names LET DayTable!=new java.util.Hashtable() REM Get standard date info from the STRING table DIM DateInfo$:"Mask:C(32*=0),SM[12]:C(3*=0),M[12]:C(32*=0),SD[7]:C(3*=0),D[7]:C(32*=0)" LET DateInfo$=STBL("!DATE") REM Build the masks for the dates LET dateMask$=DateInfo.Mask$ LET M=POS("%M"=dateMask$),dateMask$=dateMask$(1,M+1)+"l"+dateMask$(M+3) LET M=POS("%Y"=dateMask$),dateMask$=dateMask$(1,M+1)+dateMask$(M+3) WHILE POS("/"=dateMask$) LET M=POS("/"=dateMask$),dateMask$(M,1)=" " WEND REM Build the day table FOR X=0 TO 6 LET Item$=DateInfo.SD$[x+1] DayTable!.put(Item$,x) NEXT X REM Get current date info LET CurrentDate$=DATE(CurrentJul:dateMask$) LET CurrentMonthYear$=DATE(CurrentJul:"%Ml %Y") LET CurrentDay=NUM(DATE(CurrentJul:"%Dz")) LET CurrentMonth=NUM(DATE(CurrentJul:"%Mz")) LET CurrentYear=NUM(DATE(CurrentJul:"%Y")) REM Misc LET TITLE$="BBjGrid" LET DayMask$="##B" LET CurrentJul=0,CalX=400,CalY=400 REM Get the next available context LET CalendarContext=mySysGui!.getAvailableContext() mySysGui!.setContext(CalendarContext) REM Create the main window LET MainWindow! = mySysGui!.addWindow(100,100,202,160,TITLE$,$00010013$) REM Add the calendar (grid) to the main window LET Calendar! = MainWindow!.addGrid(100,3,26,198,121) REM Set the attributes of the grid Calendar!.setGridEditable(1) blueColor! = mySysGui!.makeColor(mySysGui!.BLUE) Calendar!.setColumnHeaderForeColor(blueColor!) Calendar!.setNumRows(6) Calendar!.setRowHeight(20) Calendar!.setNumColumns(7) Calendar!.setMaxColumns(255) Calendar!.setHasColumnHeader(mySysGui!.TRUE) Calendar!.setVerticalLinesVisible(mySysGui!.TRUE) Calendar!.setHorizontalLinesVisible(mySysGui!.TRUE) Calendar!.setClientEdge(mySysGui!.TRUE) Calendar!.setSelectionMode(Calendar!.GRID_SELECT_CELL) REM Set the attributes for the grid's columns FOR COL = 0 TO 6 Calendar!.setColumnWidth(COL, 25) Calendar!.setColumnAlignment(COL, Calendar!.GRID_ALIGN_RIGHT) Calendar!.setColumnForeColor(COL, blueColor!) NEXT COL Calendar!.setColumnHeaderStyle(Calendar!.GRID_STYLE_BUTTON_UP) REM Set the attributes for the grid's column headers myVector! = mySysGui!.makeVector() myVector!.addItem("S") myVector!.addItem("M") myVector!.addItem("T") myVector!.addItem("W") myVector!.addItem("T") myVector!.addItem("F") myVector!.addItem("S") Calendar!.setColumnHeaderText(myVector!) Calendar!.setColumnHeaderForeColor(blueColor!) REM Set the attributes for the current date (static text control) LET CurrDate! = MainWindow!.addStaticText(101,45,3,90,20,"") CurrDate!.setClientEdge(mySysGui!.TRUE) CurrDate!.setForeColor(blueColor!)
|
See Also
BBjGrid::setEnhancedSelectionModelEnabled
See the BBj Object Diagram for an illustration of the relationship between BBj Objects.