Rocket Terminal Emulator

 View Only

 Rapid left mouse click - expand the selected word to blank delimited line / field

Tom Ambros's profile image
Tom Ambros posted 09-28-2021 15:42
New customer, converting, user demonstrates the ability in another product to expand the word selection to the entire blank delimited field / line by rapidly repeating the mouse click.  Is there a way to replicate that behavior in Rocket TE desktop?   We can set the mouse action to Edit::Select Word but it remains on the word boundary.  Select All selects the entire screen.  Not finding a combination of definitions to make the word expand to the entire field or line.   Anybody done this and know how to configure it?  Thanks
Son Pham's profile image
ROCKETEER Son Pham
Hi Tom,
We have the ability to expand the mouse selection by "grabbing and dragging" a side of the selection rectangle, but we currently don't have a way to expand beyond the word to auto-select the field or line on subsequent double-click. For that, we would recommend that you submit a support case to request an enhancement to the product.

Thanks
Zhi Li's profile image
ROCKETEER Zhi Li
Hello Tom,

RTE doesn't support to select a field in mouse click by default. However, this can be done by run following script. More, to make mouse click to do this, map the mouse click event to this script, and if don't want to show the script status dialog when the script is running, disable "Display Script Status Window" in Options > Script setting.

Set bzhao = CreateObject("BZWhll.WhllObj")
bzhao.Connect
Set fld = bzhao.Field
bzhao.GetCursor row, col
pos = row*80 + col
fld.Pos = pos
startCol = fld.Pos - row * 80
bzhao.SetSelectionStartPos row, startCol
bzhao.ExtendSelection row, startCol + fld.Length

 
Hope this helps.

Thanks,
Zhi

Skip Ryper's profile image
ROCKETEER Skip Ryper
@Zhi Li​, If using RTE desktop + 3279 dynamic (device/model) an SDSF job output will be 161 cols. Is the "80" in code referring to line length going to work? How would you get current screen display line length ?
Zhi Li's profile image
ROCKETEER Zhi Li
Hello Skip, 

As I just gave some simple example for how to solve similar requirement, I used 80 for simplicity. But for the current screen size, you can get it like this.
Set bzhao = CreateObject("BZWhll.WhllObj")
Set session = bzhao.ActiveSession
MsgBox "Row:" & session.Screen.Rows & ", Cols:" & session.Screen.Cols​

Thanks