| VERBatim - V17 |
| VERBatim - V6 |
| VERBatim - V125 |
| Utility Diskette # 3 - Part I |
| Version 3 Technical Highlights - Copying Rows Programmatically |
| Version 3 TCL Subroutines - Copying Rows |
| Networked %SK% |
| Uncommon Knowledge - WC_DataFile_Next% |
| Uncommon Knowledge - WC_Src_Dict% |
| Uncommon Knowledge - WC_XREF_WINDOW% |
| @ATTACK - @Cursors(x) |
| @ATTACK - @List.Active |
| @ATTACK - @Rec.Count |
| Playing with Scan Codes |
| QTIPS - SET.MACROS - Choosing Active Macro Set |
| Reader's Forum |
| Argument passing - Subroutines and Functions - Mike Pope |
| Caching in on the Frames Array - Mike Pope |
| QTIPS - Fast Dynamic Array Building |
| Reader's Clinic - Line Length > 256 Characters |
| QTIPS - String Space |
| QTIPS - String Space Format Errors |
| Reader's Forum - Numeric Precision in R/Basic - Hal Wyman |
| Version 3 Technical Highlights - INRECT |
| Version 3 Technical Highlights - Input.Char |
| QTIPS - Calling an Action Bar from a Pulldown Menu |
RevMedia FKB
| Document | V4I9A2 |
| Title | Uncommon Knowledge - Window_Common% in Paint - Part III |
| Keywords | PAINT WINDOW_COMMON% |
| Text | As promised in issue 7 in this issue we present the rest of the Window_Common% VARIABLES used in PAINT Whilst not all of these are useful they are included here for the sake of completeness The following article details the main differences between the WINDOW_COMMON area in normal usage and its behaviour while in PAINT Testing so far has not identified any areas where flag VARIABLES (such as WC_VALID% WC_DISPLAY_ACTION% WC_RESET% WC_MPR_MODE% etc ) are used so these are not included in the list Other items not included are the fact that some null or zero VARIABLES are assigned differently e g WC_FORCE_CHANGE% in PAINT is null whereas it will be set to zero in normal window processing when false WC_BROWSE_LIST% BROWSE_LIST contains a copy of the %FIELDS% dictionary item FROM the table whose handle is present in WC_SRC_DICT% Other columns can be appended to this list via a macro to allow quick painting of columns FROM other TABLES into the window (e g to include common symbolics FROM the DICT VOC table) PAINT will throw up a column not found message when this is done but this does not affect the functionality WC_DELIM% Seems to always contain 4 WC_EXCEPT_KEYS% Contains the scan codes for Shift F1 through to Shift F10 although some of these are only active when editing a prompt WC_JOINED_LOCKS% An array containing up to six fields representing the last option chosen FROM the options popup As there may be six DIFFERENT type of options popup (See WC_Table_Exit_Mode%) each field in the array represents the position in the corresponding options popup WC_KEY_FULL% WC_KEY_FULL% contains a parameter string for INRECT (see REVMEDIA passim) which identifies the hot areas for the visible prompts and labels These areas are stored relative to the top left hand corner of the window and are stored in reverse order WITH the last prompt's entry area being the first 4 byte sequence in the INRECT string WC_LABEL% Similar to the normal window definitions but WITH some differences to cope WITH box drawing Field mark delimited array WITH one field per LABEL Each field has 9 values WITH contents as follows labels In the case of a box a VALUE between 1 and 5 depending upon the box type as selected FROM the popup "BORDERS" print IMAGE contained in WC_XREF_WINDOW% (cf) Thus if this contained 6 the compiled label image would begin at byte position 6 in WC_XREF_WINDOW% According to internal RevTI sources this use of offsets into the compiled print image is in no small way responsible for the increased SPEED of the new paint PROCESSOR WC_MPR_MODE% Indicates that the last RESIZE operation was carried out by MOUSE Values identified thus far are 1 Resizing by mousing right side 2 Resizing by mousing bottom side 3 Resizing by mousing at bottom right corner 4 Resizing by mousing left side 5 Does not seem to be used 6 Resizing by mousing at bottom left corner Note that resizing USING Ctrl F7 does not set this flag WC_OREC% Contains a copy of the original TEMPLATE STRUCTURE this is used to CREATE the BAK row in the WINDOWS table if changes made DURING the paint SESSION are committed WC_PREC% Seems to be used to indicate whether there has yet been a key field added to the window If true there has been WC_PROMPTS% Prompts is a copy of the prompt information stored in WC_OREC% WITH any general VIDEO information swapped for its full escape sequence E g ^PE^ in WC_OREC% might become ESC C74 in WC_PROMPTS% WC_PROMPTS% can be used in conjunction WITH WC_REDISPLAY_LIST% to identify highlighted areas (see previous issue ) Note that in Paint THREE new values are added to Prompts in values 56 57 and 58 These contain the following : 56 This is an offset POINTER into WC_XREF_WINDOW% for the prompt literal per WC_LABEL% qv 57 This is an offset pointer into WC_XREF_WINDOW% for the prompt entry per WC_LABEL% qv 58 The WORD "Selected" if the prompt is currently selected WC_PROMPT_TYPE% The prompt type currently selected Values identified thus far are as follows 1 Prompt label 2 Prompt entry 3 Display label 4 Box label WC_QUERY_MODE% Indicates the CURRENT binding MODE Possible values are 0 Labels 1 Bind Off 2 Bind On WC_QUERY_TEMPLATE% AFTER the options key has been pressed this contains a field MARK delimited array WITH fields 2 7 of SYSTEXT record PAINT*PARMS WC_RECALC% RECALC seems always to be set to the literal ALL while in PAINT WC_REDISPLAY_LIST% This VARIABLE contains the list of prompts and labels which are tagged as having being selected in PAINT in the FORM of a two dimensional DYNAMIC array Its behaviour is fully documented in issue 7 WC_REGISTER%() When in either SF5 or SF6 Register(1) contains the DICTIONARY FILE NAME and Register(2) contains the dictionary file variable WC_SRC_DICT% WC_SRC_DICT% holds the handle for the ASSOCIATED data table's dictionary just as it does normally This is in contrast to the behaviour of WC_SRC_FILE% below WC_SRC_FILE% In PAINT WC_SRC_FILE% contains the handle for the WINDOWS table which stores the template NOT the data portion of the ASSOCIATED table as is normal WC_STOP_LIST% Another INRECT parameter string this TIME composed of seven 4 byte sequences as follows: (1) The visible area within the window borders (2) The position of the ESC button on the top BORDER (3) The top border itself (4) The left hand border (5) The bottom right hand corner of the window (6) The right hand border (7) The bottom border The top border is the most dominant and the bottom border is the least i e the top left hand corner belongs to the TOP border not the left while the bottom left hand corner belongs to the LEFT border not the bottom The bottom right hand corner is identified separately to allow the special RESIZE operation which affects both axes simultaneously WC_TABLE_EXIT_MODE% Set to a DIFFERENT value depending upon what is currently selected in Paint Values thus far identified are 1 No objects selected 2 One prompt or prompt entry area 3 One label 4 A number of prompts/prompt entry areas (including just one ASSOCIATED prompt and prompt entry area) 5 A number of labels 6 A number of objects of DIFFERENT types WC_WEXIT_KEYS% Set to NULL in PAINT Most of their window functionality seems to have been taken on by WC_EXCEPT_KEYS% above WC_WST_CHAR% Contains the row number of the item on the Paste popup last chosen WC_XREF_WINDOW% Contains the print string for the currently visible window area including position and colour sequences but NOT including border detail (Volume 4 Issue 9 Pages 7 10) |
Page last modified: 08/02/03