Changeset 201 for trunk/include/helpers


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

Major work on textview control and dialogs.

Location:
trunk/include/helpers
Files:
4 edited

Legend:

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

    r153 r201  
    116116                                    PULONG pulExitCode);
    117117
    118         HAPP XWPENTRY appQuickStartApp(const char *pcszFile,
    119                                        ULONG ulProgType,
    120                                        const char *pcszArgs,
    121                                        PULONG pulExitCode);
     118        HAPP appQuickStartApp(const char *pcszFile,
     119                              ULONG ulProgType,
     120                              const char *pcszArgs,
     121                              const char *pcszWorkingDir,
     122                              PULONG pulExitCode);
     123
     124        BOOL appOpenURL(PCSZ pcszURL);
    122125
    123126    #endif
  • trunk/include/helpers/dialog.h

    r198 r201  
    430430            id, CTL_COMMON_FONT, 0, {cx, cy}, COMMON_SPACING, pctldata }
    431431
     432    // the following require #include helpers\textview.h
     433
     434    #define CONTROLDEF_XTEXTVIEW(text, id, cx, pctldata) { WC_XTEXTVIEW, text, \
     435            WS_VISIBLE | XS_STATIC | XS_WORDWRAP, \
     436            id, CTL_COMMON_FONT, 0, {cx, SZL_AUTOSIZE}, COMMON_SPACING, pctldata }
     437
     438    #define CONTROLDEF_XTEXTVIEW_HTML(text, id, cx, pctldata) { WC_XTEXTVIEW, text, \
     439            WS_VISIBLE | XS_STATIC | XS_WORDWRAP | XS_HTML, \
     440            id, CTL_COMMON_FONT, 0, {cx, SZL_AUTOSIZE}, COMMON_SPACING, pctldata }
     441
    432442    /* ******************************************************************
    433443     *
  • trunk/include/helpers/textv_html.h

    r113 r201  
    3737     ********************************************************************/
    3838
    39     /*
    40      *@@ XHTMLLINK:
    41      *      describes a link.
    42      *
    43      *@@added V0.9.3 (2000-05-19) [umoeller]
    44      */
    45 
    46     typedef struct _XHTMLLINK
    47     {
    48         USHORT      usLinkIndex;        // >= 1; this is stored in the XTextView control
    49         PSZ         pszTargetFile;      // target file (HREF="...") without anchors;
    50                                         // this is NULL if the target is an anchor only
    51                                         // (HREF="#anchor")
    52         PSZ         pszTargetAnchor;    // anchor in target file; this is NULL if the
    53                                         // target has no anchor
    54     } XHTMLLINK, *PXHTMLLINK;
    55 
    56     #ifdef LINKLIST_HEADER_INCLUDED
    57         /*
    58          *@@ XHTMLDATA:
    59          *      for storing output from txvConvertFromHTML.
    60          *
    61          *@@added V0.9.3 (2000-05-19) [umoeller]
    62          */
    63 
    64         typedef struct _XHTMLDATA
    65         {
    66             PSZ         pszTitle;           // contents of TITLE tag (must be freed)
    67             LINKLIST    llLinks;            // list of XHTMLLINK structures; empty if none
    68                                             // (auto-free mode; use lstClear)
    69         } XHTMLDATA, *PXHTMLDATA;
    70     #endif
    71 
    72     BOOL txvConvertFromHTML(char **ppszText,
    73                             PVOID pxhtml,
     39    BOOL txvConvertFromHTML(PSZ *ppszText,
     40                            PSZ *ppszTitle,
    7441                            PULONG pulProgress,
    7542                            PBOOL pfCancel);
    76 
    7743#endif
    7844
  • 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.