open-insight/SYSPROG/STPROCINS/PS_TABCONTROL_EQUATES.txt
2024-03-25 15:17:34 -07:00

200 lines
9.7 KiB
Plaintext

compile insert ps_TabControl_Equates
/*
** Copyright (C) 2013 Revelation Software Inc. All Rights Reserved **
Author : Wile C Coyote - Stable Genius
Date : May 2013
Purpose : Constants for working with PS TABCONTROL object structures
Comments
========
Amended Date Reason
======= ==== ======
Mr C 19 Jul 19 Added CloseButton to ItemStyle equates
Mr C 10 Jan 18 Updated for ITEMSTYLE information
Mr C 02 Jul 16 Added per-tab colors and fonts etc.
Mr C 02 Jun 16 Moved per-tab images so PSPOS_GLYPH$ remains in a
standard format for the form compiler.
*/
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#ifndef _PS_TABCONTROL_EQUATES_
#define _PS_TABCONTROL_EQUATES_
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
$insert oiWin_Equates
$insert ps_Equates
$insert msWin_TabControl_Equates
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// Properties held in window style bits in PSPOS_SDKSTYLE$ <0,0,1>
//
// TCS_SCROLLOPPOSITE -> SCROLLOPPOSITE property
// TCS_BOTTOM -> TABALIGN property
// TCS_VERTICAL -> TABALIGN property
// TCS_RIGHT -> TABALIGN property
// TCS_FOCUSNEVER -> ALLOWFOCUS property
// TCS_TABS -> TABSTYLE property
// TCS_BUTTONS -> TABSTYLE property
// TCS_FLATBUTTONS -> TABSTYLE property
// TCS_FLATSEPARATORS -> FLATSEPARATORS property
// TCS_FIXEDWIDTH -> FIXEDWIDTH property
// TCS_FORCEICONLEFT -> FIXEDWIDTHICONLEFT property
// TCS_FORCELABELLEFT -> FIXEDWIDTHTEXTLEFT property
// TCS_HOTTRACK -> HOTTRACK property
// TCS_MULTILINE -> MULTILINE property
// TCS_RIGHTJUSTIFY -> USEFULLWIDTH property
// TCS_RAGGEDRIGHT -> RAGGEDRIGHT property
// TCS_MULTISELECT -> MULTISELECT property
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// SYSREPOSWINS/SYSREPOSWINEXES structure overrides.
// This is a little more complex due to the changes between v9 and v10.
//
// v9 supported individual images in PSPOS_BITMAP$ in a format like so:
//
// PSPOS_BITMAP$ -> This contains multiple @svm images (1 per tab)
// with a possible "transparent flag" @tm-suffixed to
// the end (This flag meant use the top-left pixel as
// the color key)
//
// <0,0,1> .\bmps\tabMain_General.bmp : @tm : 1
// <0,0,2> .\bmps\tabMain_Address.bmp
// <0,0,3> .\bmps\tabMain_Contact.bmp : @tm : 1
//
// and so on.
//
// For v10 this has changed:
//
// 1) PSPOS_BITMAP$/PSPOS_IMAGEPROPERTIES$ now contains the image to use
// as a background image for the entire tab panel (as per normal v10
// controls)
//
// 2) PSPOS_IMAGELIST1$/PSPOS_IMGLIST_1_PROPS$ support an imagelist to
// use with actual tab images. The per-tab imagelist numbers are
// stored @svm'd in PSPOS_CHARCOUNT$
//
// 3) We still support per-tab individual images but the properties
// for these have moved to:
//
// PSPOS_TYPESPECIFIC$ - Image file IDs - @svm'd, but @tm'd for
// DPI size
// PSPOS_TEXT_1$ - Image color keys - @svm'd
// PSPOS_TEXT_2$ - Image alpha values - @svm'd
//
//
// 4) PSPOS_TOOLTIP$ is not used - it is replaced by a per-tab tooltip
// field
//
// 5) This means that the following fields (values actually) form
// an @svm'd "AMV group"
//
// PSPOS_LABELS$ (Tab Text)
// PSPOS_LIST$ (Tab Values)
// PSPOS_TYPESPECIFIC$ (Tab Images)
// PSPOS_TEXT_1$ (Tab Image ColorKeys)
// PSPOS_TEXT_2$ (Tab Image Alpha Values)
// PSPOS_CHARCOUNT$ (Tab ImageList Numbers)
// PSPOS_TEXT_3$ (Tab ToolTips)
// PSPOS_TEXT_4$ (Tab Disabled Flags )
// v9 equates
equ POS_TAB_V9_IMAGES$ to POS_BITMAP$ ; // @svm/@tm delimited
equ PSPOS_TAB_V9_IMAGESS$ to PSPOS_BITMAP$ ; // @svm/@tm delimited
// OIWIN structure
//
// (The Labels and values were @tm delimited in v9 - for v10 we've
// upped them to @svm)
equ POS_TAB_VALUE$ to POS_VALUE$
equ POS_TAB_PADDING$ to POS_SCROLLRANGE$ ; // <0,0,1> PaddingH; <0,0,2> paddingV
equ POS_TAB_FIXEDSIZE$ to POS_SCROLLCHANGE$ ; // <0,0,1> TabWidth; <0,0,2> TabHeight
equ POS_TAB_MINWIDTH$ to POS_NUMCOLS$
equ POS_TAB_ITEMSTYLES$ to POS_TEXT_6$ ; // @svm-delimited list of @tm delimited styles - control
// Tabs AMV
equ POS_TAB_LABELS$ to POS_LABEL$ ; // @svm-delimited
equ POS_TAB_VALUES$ to POS_LIST$ ; // @svm delimited
equ POS_TAB_IMAGES$ to POS_TYPESPECIFIC$ ; // @svm delimited repository IDs
equ POS_TAB_IMAGE_COLORKEYS$ to POS_TEXT_1$
equ POS_TAB_IMAGE_TRANSLUCENCIES$ to POS_TEXT_2$ ; // @svm delimited (0-100)
equ POS_TAB_IMAGELIST_NOS$ to POS_CHARCOUNT$ ; // @svm delimited list of 1-based imagelist indexes
equ POS_TAB_TOOLTIPS$ to POS_TEXT_3$ ; // @svm-delimited
equ POS_TAB_DISABLEDFLAGS$ to POS_TEXT_4$ ; // @svm-delimited (T/F)
equ POS_TAB_TABITEMSTYLES$ to POS_TEXT_5$ ; // @svm-delimited (@tm/@stm delimited)
// OIWINEXE structure
equ PSPOS_TAB_VALUE$ to PSPOS_VALUE$
equ PSPOS_TAB_PADDING$ to PSPOS_SCROLLRANGE$ ; // <0,0,1> PaddingH; <0,0,2> paddingV
equ PSPOS_TAB_FIXEDSIZE$ to PSPOS_SCROLLCHANGE$ ; // <0,0,1> TabWidth; <0,0,2> TabHeight
equ PSPOS_TAB_MINWIDTH$ to PSPOS_NUMCOLS$
equ PSPOS_TAB_ITEMSTYLES$ to PSPOS_TEXT_6$ ; // @svm-delimited list of @tm-delimited styles
// Tabs AMV
equ PSPOS_TAB_LABELS$ to PSPOS_LABEL$ ; // @svm-delimited
equ PSPOS_TAB_VALUES$ to PSPOS_LIST$ ; // @svm delimited
equ PSPOS_TAB_IMAGES$ to PSPOS_TYPESPECIFIC$ ; // <0,0,n,1> <=96 DPI; <0,0,n,2> <=120 DPI; <0,0,n,3> <=144 DPI; <0,0,n,4> >144 DPI
equ PSPOS_TAB_IMAGE_COLORKEYS$ to PSPOS_TEXT_1$ ; // @svm delimited
equ PSPOS_TAB_IMAGE_TRANSLUCENCIES$ to PSPOS_TEXT_2$ ; // @svm delimited
equ PSPOS_TAB_IMAGELIST_NOS$ to PSPOS_CHARCOUNT$ ; // @svm delimited list of 1-based imagelist indexes
equ PSPOS_TAB_TOOLTIPS$ to PSPOS_TEXT_3$ ; // @svm-delimited
equ PSPOS_TAB_DISABLEDFLAGS$ to PSPOS_TEXT_4$ ; // @svm-delimited (T/F)
equ PSPOS_TAB_TABITEMSTYLES$ to PSPOS_TEXT_5$ ; // @svm-delimited (@tm/; delimited)
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// TABALIGN property equates
equ PS_TCA_TOP$ to 0
equ PS_TCA_LEFT$ to 1
equ PS_TCA_RIGHT$ to 2
equ PS_TCA_BOTTOM$ to 3
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// ITEM State equates - used with ITEMSTYLE methods
equ TCIS_NORMAL$ to 1
equ TCIS_HOT$ to 2
equ TCIS_DISABLED$ to 3
equ TCIS_SELECTED$ to 4
equ TCIS_HOTSELECTED$ to 5
// ITEMSTYLE structure - used with ITEMSTYLE method
//
// <1> ForeColor
// <2> BackColor From
// <3> BackColor To
// <3> Bold
// <4> Italic
// <6> Underline
// <7> Translucency (0-100)
// <8> CloseButton ForeColor
// <9> CloseButton BackColor
equ TCIS_POS_FORECOLOR$ to 1 ; * // COLORREF
equ TCIS_POS_BACKCOLOR_FROM$ to 2 ; * // COLORREF
equ TCIS_POS_BACKCOLOR_TO$ to 3 ; * // COLORREF
equ TCIS_POS_BOLD$ to 4 ; * // Boolean
equ TCIS_POS_ITALIC$ to 5 ; * // Boolean
equ TCIS_POS_UNDERLINE$ to 6 ; * // Boolean
equ TCIS_POS_TRANSLUCENCY$ to 7 ; * // UInt (0-100)
equ TCIS_POS_CLOSEBTNFORECOLOR$ to 8 ; * // COLORREF
equ TCIS_POS_CLOSEBTNBACKCOLOR$ to 9 ; * // COLORREF
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#endif
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////