DECLARE BBjAPI myAPI!
DECLARE BBjSysGui mySysGui!
DECLARE BBjTopLevelWindow myWindow!
DECLARE BBjStaticText myLabel!
DECLARE BBjFont font!
DECLARE BBjEditBox myEditBox!
DECLARE BBjToolButton myToolButton!
DECLARE BBjControl myControl!
DECLARE EventHandler myEventHandler!
sysgui = UNT
OPEN(sysgui)"X0"
myAPI! = BBJAPI()
mySysGui! = myAPI!.getSysGui()
myWindow! = mySysGui!.addWindow(100, 100, 250, 350, "Highlight On Focus", $00010002$)
myLabel! = myWindow!.addStaticText(101, 10, 10, 120, 30, "KEY/MOUSE/FOCUS")
font! = myLabel!.getFont()
font! = mySysGui!.makeFont(font!.getName(), font!.getSize() + 1, mySysGui!.BOLD)
myLabel!.setFont(font!)
myEditBox! = myWindow!.addEditBox(100, 140, 10, 100, 25, $$)
myEventHandler! = new EventHandler(myWindow!, myEditBox!)
myWindow!.addStaticText(102, 10, 45, 40, 25, "&1. 0/0/0")
myWindow!.addStaticText(104, 10, 80, 40, 25, "&2. 0/0/1")
myWindow!.addStaticText(106, 10, 115, 40, 25, "&3. 0/1/0")
myWindow!.addStaticText(108, 10, 150, 40, 25, "&4. 0/1/1")
myWindow!.addStaticText(110, 10, 185, 40, 25, "&5. 1/0/0")
myWindow!.addStaticText(112, 10, 220, 40, 25, "&6. 1/0/1")
myWindow!.addStaticText(114, 10, 255, 40, 25, "&7. 1/1/0")
myWindow!.addStaticText(116, 10, 290, 40, 25, "&8. 1/1/1")
myEditBox! = myWindow!.addEditBox(103, 60, 45, 100, 25, "None")
myEditBox!.setHighlightOnFocus(TextControl.HIGHLIGHT_NONE)
myEditBox!.setCallback(myEditBox!.ON_GAINED_FOCUS, myEventHandler!, "editFocusGained")
myEditBox! = myWindow!.addEditBox(105, 60, 80, 100, 25, "Focus")
myEditBox!.setHighlightOnFocus(TextControl.HIGHLIGHT_FOCUS)
myEditBox!.setCallback(myEditBox!.ON_GAINED_FOCUS, myEventHandler!, "editFocusGained")
myEditBox! = myWindow!.addEditBox(107, 60, 115, 100, 25, "Mouse")
myEditBox!.setHighlightOnFocus(TextControl.HIGHLIGHT_MOUSE)
myEditBox!.setCallback(myEditBox!.ON_GAINED_FOCUS, myEventHandler!, "editFocusGained")
myEditBox! = myWindow!.addEditBox(109, 60, 150, 100, 25, "Mouse/Focus")
myEditBox!.setHighlightOnFocus(TextControl.HIGHLIGHT_MOUSE + TextControl.HIGHLIGHT_FOCUS)
myEditBox!.setCallback(myEditBox!.ON_GAINED_FOCUS, myEventHandler!, "editFocusGained")
myEditBox! = myWindow!.addEditBox(111, 60, 185, 100, 25, "Key")
myEditBox!.setHighlightOnFocus(TextControl.HIGHLIGHT_KEY)
myEditBox!.setCallback(myEditBox!.ON_GAINED_FOCUS, myEventHandler!, "editFocusGained")
myEditBox! = myWindow!.addEditBox(113, 60, 220, 100, 25, "Key/Focus")
myEditBox!.setHighlightOnFocus(TextControl.HIGHLIGHT_KEY + TextControl.HIGHLIGHT_FOCUS)
myEditBox!.setCallback(myEditBox!.ON_GAINED_FOCUS, myEventHandler!, "editFocusGained")
myEditBox! = myWindow!.addEditBox(115, 60, 255, 100, 25, "Key/Mouse")
myEditBox!.setHighlightOnFocus(TextControl.HIGHLIGHT_KEY + TextControl.HIGHLIGHT_MOUSE)
myEditBox!.setCallback(myEditBox!.ON_GAINED_FOCUS, myEventHandler!, "editFocusGained")
myEditBox! = myWindow!.addEditBox(117, 60, 290, 100, 25, "Key/Mouse/Focus")
myEditBox!.setHighlightOnFocus(TextControl.HIGHLIGHT_KEY + TextControl.HIGHLIGHT_MOUSE + TextControl.HIGHLIGHT_FOCUS)
myEditBox!.setCallback(myEditBox!.ON_GAINED_FOCUS, myEventHandler!, "editFocusGained")
myToolButton! = myWindow!.addToolButton(203, 170, 45, 40, 25, "Focus")
myToolButton!.setCallback(myToolButton!.ON_TOOL_BUTTON_PUSH, myEventHandler!, "toolButtonPushed")
myToolButton! = myWindow!.addToolButton(205, 170, 85, 40, 25, "Focus")
myToolButton!.setCallback(myToolButton!.ON_TOOL_BUTTON_PUSH, myEventHandler!, "toolButtonPushed")
myToolButton! = myWindow!.addToolButton(207, 170, 115, 40, 25, "Focus")
myToolButton!.setCallback(myToolButton!.ON_TOOL_BUTTON_PUSH, myEventHandler!, "toolButtonPushed")
myToolButton! = myWindow!.addToolButton(209, 170, 150, 40, 25, "Focus")
myToolButton!.setCallback(myToolButton!.ON_TOOL_BUTTON_PUSH, myEventHandler!, "toolButtonPushed")
myToolButton! = myWindow!.addToolButton(211, 170, 185, 40, 25, "Focus")
myToolButton!.setCallback(myToolButton!.ON_TOOL_BUTTON_PUSH, myEventHandler!, "toolButtonPushed")
myToolButton! = myWindow!.addToolButton(213, 170, 220, 40, 25, "Focus")
myToolButton!.setCallback(myToolButton!.ON_TOOL_BUTTON_PUSH, myEventHandler!, "toolButtonPushed")
myToolButton! = myWindow!.addToolButton(215, 170, 255, 40, 25, "Focus")
myToolButton!.setCallback(myToolButton!.ON_TOOL_BUTTON_PUSH, myEventHandler!, "toolButtonPushed")
myToolButton! = myWindow!.addToolButton(217, 170, 290, 40, 25, "Focus")
myToolButton!.setCallback(myToolButton!.ON_TOOL_BUTTON_PUSH, myEventHandler!, "toolButtonPushed")
myWindow!.setCallback(myWindow!.ON_CLOSE, myEventHandler!, "windowClose")
PROCESS_EVENTS
CLASS PUBLIC EventHandler
FIELD PUBLIC BBjTopLevelWindow Window!
FIELD PUBLIC BBjEditBox Status!
METHOD PUBLIC EventHandler(BBjTopLevelWindow p_window!, BBjEditBox p_status!)
#Window! = p_window!
#Status! = p_status!
METHODEND
METHOD PUBLIC VOID windowClose(BBjCloseEvent p_ev!)
RELEASE
METHODEND
METHOD PUBLIC VOID editFocusGained(BBjGainedFocusEvent p_ev!)
DECLARE BBjEditBox myEditBox!
DECLARE BBjString text$
DECLARE BBjString hofString$
myEditBox! = p_ev!.getEditBox()
hofString$ = BIN(myEditBox!.getHighlightOnFocus(), 1)
text$ = $$
IF DEC(AND(BIN(TextControl.HIGHLIGHT_KEY, 1), hofString$))
text$ = "Key"
ENDIF
IF DEC(AND(BIN(TextControl.HIGHLIGHT_MOUSE, 1), hofString$))
IF LEN(text$) <> 0
text$ = text$ + "/"
ENDIF
text$ = text$ + "Mouse"
ENDIF
IF DEC(AND(BIN(TextControl.HIGHLIGHT_FOCUS, 1), hofString$))
IF LEN(text$) <> 0
text$ = text$ + "/"
ENDIF
text$ = text$ + "Focus"
ENDIF
IF (LEN(text$) = 0)
text$ = "(None)"
ENDIF
#Status!.setText(text$)
METHODEND
METHOD PUBLIC VOID toolButtonPushed(BBjToolButtonPushEvent p_ev!)
DECLARE BBjControl myControl!
myControl! = p_ev!.getControl()
#Window!.getControl(myControl!.getID() - 100).focus()
METHODEND
CLASSEND
|