Ignore:
Timestamp:
Aug 11, 2002, 7:07:59 PM (23 years ago)
Author:
umoeller
Message:

Major work on textview control and dialogs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/helpers/textview.h

    r113 r201  
    7575
    7676    // links
    77     #define TXVESC_LINK             TXVESC_STRING "\x06"
    78                 // here follow four characters with the
    79                 // link index in hex (0001-FFFF);
    80                 // "####" means end of link
    81                 // --> total size: 6
    82 
    83     #define TXVESC_ANCHORNAME       TXVESC_STRING "\x07"
     77    #define TXVESC_LINK_BEGIN       TXVESC_STRING "\x06"
     78                // here follows the link reference, which
     79                // is variable in length and must be terminated
     80                // with another 0xFF escape code (NOT null byte);
     81                // --> total size: 2 plus link name length
     82                //      plus 1 for 0xFF terminator
     83
     84    #define TXVESC_LINK_END         TXVESC_STRING "\x07"
     85                // end of the link
     86                // --> total size: 2
     87
     88    #define TXVESC_ANCHORNAME       TXVESC_STRING "\x08"
    8489                // here follows the anchor name, which is
    8590                // variable in length and must be terminated
     
    223228        LONG        lPointSize;     // point size to use for this rectangle;
    224229                                    // this is set to 0 for bitmap fonts
    225         ULONG       flOptions;      // flOptions parameter for GpiCharStringPosAt;
     230        ULONG       flChar;         // flOptions parameter for GpiCharStringPosAt;
    226231                                    // this will only have the CHS_UNDERSCORE or
    227232                                    // CHS_STRIKEOUT flags set
    228233
    229         USHORT      usAnchor;       // != 0 if this word belongs to an anchor
     234        PSZ         pszLinkTarget;  // if != NULL, pointer to a string in XFORMATDATA.llLinks;
     235                                    // the word is then part of a link
     236                                    // V0.9.20 (2002-08-10) [umoeller]
     237
    230238    } TXVWORD, *PTXVWORD;
    231239
     
    364372                                // to the words stored in this list.
    365373
    366             ULONG       ulViewportCX,   // width of viewport (total text space)
    367                         ulViewportCY;   // height of viewport (total text space)
     374            SIZEL       szlWorkspace;   // width and height of viewport (total text space)
     375
     376            LINKLIST    llLinks;
     377                                // list of malloc'd PSZ's (auto-free) with all
     378                                // the links encountered while parsing the text.
     379                                // These are needed for passing the correct link
     380                                // target names when the user clicks on one.
     381                                // V0.9.20 (2002-08-10) [umoeller]
    368382
    369383        } XFORMATDATA, *PXFORMATDATA;
     
    400414    #define TXM_SETCDATA                    (WM_USER + 1026)
    401415    #define TXM_JUMPTOANCHORNAME            (WM_USER + 1027)
     416    #define TXM_QUERYTEXTEXTENT             (WM_USER + 1028)
    402417
    403418    #define WC_XTEXTVIEW     "XTextViewClass"
     
    417432     *      -- USHORT SHORT1FROMMP(mp1): id of the control.
    418433     *      -- USHORT SHORT2FROMMP(mp1): nofify code (TXVN_LINK).
    419      *      -- USHORT mp2: index of anchor (1 >= index > 0xFFFF).
     434     *      -- const char *mp2: link target.
    420435     *
    421436     *@@added V0.9.3 (2000-05-18) [umoeller]
     
    425440
    426441    /*
    427      * XTextView style flags:
    428      *
    429      */
    430 
    431     #define XTXF_VSCROLL        0x0100
    432     #define XTXF_HSCROLL        0x0200
    433     #define XTXF_AUTOVHIDE      0x0400
    434     #define XTXF_AUTOHHIDE      0x0800
     442     * XTextView window style flags:
     443     *      all renamed, all turned into window style flags
     444     */
     445
     446    #define XS_VSCROLL          0x0001      // show vertical scroll bar
     447    #define XS_HSCROLL          0x0002      // show horizontal scroll bar
     448    #define XS_AUTOVHIDE        0x0004      // with XTXF_VSCROLL: automatically hide scrollbar
     449    #define XS_AUTOHHIDE        0x0008      // with XTXF_HSCROLL: automatically hide scrollbar
     450
     451    // handy macro V0.9.20 (2002-08-10) [umoeller]
     452    #define XS_FULLSCROLL       (XS_VSCROLL | XS_HSCROLL | XS_AUTOVHIDE | XS_AUTOHHIDE)
     453
     454    #define XS_WORDWRAP         0x0010
     455                // enable word-wrapping in the default paragraph
     456                // format from the start
     457
     458    #define XS_STATIC           0x0020
     459                // behave like static control: no focus, be skipped
     460                // over with tabbing in dialogs
     461                // V0.9.20 (2002-08-10) [umoeller]
     462
     463    #define XS_FORMAT_MASK      0x0700
     464    #define XS_PREFORMATTED     0x0000      // plain text with \n only plus \xFF escape codes
     465                                            // (no conversion performed)
     466    #define XS_PLAINTEXT        0x0100      // plain text with \r and \xFF chars that need conversion
     467    #define XS_HTML             0x0200      // HTML
    435468
    436469    /*
     
    446479    {
    447480        USHORT      cbData;
    448         ULONG       flStyle;
    449                 // XTXF_* flags:
    450                 // --  XTXF_VSCROLL: show vertical scroll bar.
    451                 // --  XTXF_HSCROLL: show horizontal scroll bar.
    452                 // --  XTXF_AUTOVHIDE: with XTXF_VSCROLL: automatically hide scrollbar.
    453                 // --  XTXF_AUTOHHIDE: with XTXF_HSCROLL: automatically hide scrollbar.
    454481        ULONG       ulXBorder,
    455482                // space to leave on the left and right of text view;
     
    472499                                USHORT usID,
    473500                                ULONG flWinStyle,
    474                                 ULONG flStyle,
    475501                                USHORT usBorder);
    476502
Note: See TracChangeset for help on using the changeset viewer.