Ignore:
Timestamp:
Jan 19, 2003, 8:42:16 PM (23 years ago)
Author:
umoeller
Message:

First attempt at new container contol.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/helpers/_call_filedlg.c

    r238 r242  
    1313#define INCL_WINBUTTONS
    1414#define INCL_WINPOINTERS
     15#define INCL_WINSTDCNR
    1516#define INCL_WINSTDFILE
    1617
     
    2627
    2728#include "helpers\call_file_dlg.c"
     29#include "helpers\cnrh.h"
    2830#include "helpers\comctl.h"
    2931#include "helpers\standards.h"
     
    9092
    9193/*
    92  *@@ fnwpClient:
     94 *@@ GROUPRECORD:
    9395 *
    9496 */
    9597
    96 MRESULT EXPENTRY fnwpClient(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
     98typedef struct _GROUPRECORD
    9799{
    98     MRESULT mrc = 0;
    99 
    100     switch (msg)
    101     {
    102         case WM_PAINT:
    103         {
    104             HPS hps;
    105             RECTL rcl;
    106             if (hps = WinBeginPaint(hwnd, NULLHANDLE, &rcl))
    107             {
    108                 gpihSwitchToRGB(hps);
    109                 WinFillRect(hps, &rcl, RGBCOL_DARKGRAY);
    110                 WinEndPaint(hps);
    111             }
    112         }
    113         break;
    114 
    115         default:
    116             mrc = WinDefWindowProc(hwnd, msg, mp1, mp2);
    117     }
    118 
    119     return mrc;
    120 }
     100    RECORDCORE      recc;
     101
     102    ULONG           gid;
     103    CHAR            szGroupName[100];    // group name
     104    PSZ             pszMembers;
     105
     106} GROUPRECORD, *PGROUPRECORD;
    121107
    122108/*
     
    217203                  | FCF_SHELLPOSITION
    218204                  | FCF_TASKLIST,
    219             XFCF_TOOLBAR | XFCF_FORCETBOWNER | XFCF_STATUSBAR,
     205            0, // XFCF_TOOLBAR | XFCF_FORCETBOWNER | XFCF_STATUSBAR,
    220206            WS_VISIBLE,                         // ulFrameStyle
    221207            "Test File Dialog",                 // pcszFrameTitle
    222208            0,                                  // ulResourcesID
    223             WC_CLIENT,                          // pcszClassClient
     209#if 1
     210            WC_CCTL_CNR,
     211#else
     212            WC_CONTAINER,
     213#endif
    224214            WS_VISIBLE,                         // flStyleClient
    225215            0,                                  // ulID
     
    248238    ctlRegisterToolbar(hab);
    249239    ctlRegisterSeparatorLine(hab);
    250 
    251     WinRegisterClass(hab,
    252                      (PSZ)WC_CLIENT,
    253                      fnwpClient,
    254                      0,
    255                      4);
     240    ctlRegisterXCnr(hab);
    256241
    257242    sprintf(szOpen,
     
    275260    WinSetWindowText(hwndStatusBar, "Status bar");
    276261
    277     /* hwndMenu = WinCreateMenu(hwndFrame,
    278                              NULL);
    279 
    280     hwndSubmenu = winhInsertSubmenu(hwndMenu,
    281                                     MIT_END,
    282                                     1,
    283                                     "~File",
    284                                     MIS_TEXT | MIS_SUBMENU,
    285                                     1000,
    286                                     "Open...",
    287                                     MIS_TEXT,
    288                                     0);
    289 
    290     winhInsertMenuItem(hwndSubmenu,
    291                        MIT_END,
    292                        SC_CLOSE,
    293                        "~Quit",
    294                        MIS_SYSCOMMAND | MIS_TEXT,
    295                        0);
    296     */
    297 
    298262    WinSendMsg(hwndFrame, WM_UPDATEFRAME, MPNULL, MPNULL);
     263
     264    {
     265        XFIELDINFO  xfi[4];
     266        PFIELDINFO      pfi = NULL;
     267        int i = 0;
     268        PGROUPRECORD preccFirst;
     269
     270        // set up cnr details view
     271        xfi[i].ulFieldOffset = FIELDOFFSET(GROUPRECORD, gid);
     272        xfi[i].pszColumnTitle = "Group ID";     // @@todo localize
     273        xfi[i].ulDataType = CFA_ULONG;
     274        xfi[i++].ulOrientation = CFA_RIGHT;
     275
     276        xfi[i].ulFieldOffset = FIELDOFFSET(GROUPRECORD, recc.pszIcon);
     277        xfi[i].pszColumnTitle = "Group name";   // @@todo localize
     278        xfi[i].ulDataType = CFA_STRING;
     279        xfi[i++].ulOrientation = CFA_CENTER;
     280
     281        xfi[i].ulFieldOffset = FIELDOFFSET(GROUPRECORD, pszMembers);
     282        xfi[i].pszColumnTitle = "Members";   // @@todo localize
     283        xfi[i].ulDataType = CFA_STRING;
     284        xfi[i++].ulOrientation = CFA_LEFT;
     285
     286        pfi = cnrhSetFieldInfos(hwndClient,
     287                                xfi,
     288                                i,             // array item count
     289                                TRUE,          // draw lines
     290                                0);            // return first column
     291
     292        BEGIN_CNRINFO()
     293        {
     294            cnrhSetView(CV_DETAIL | CA_DETAILSVIEWTITLES);
     295            CnrInfo_.cyLineSpacing = 10;
     296            ulSendFlags_ |= CMA_LINESPACING;
     297        } END_CNRINFO(hwndClient);
     298
     299        #define RECORD_COUNT        200
     300
     301        if (preccFirst = (PGROUPRECORD)cnrhAllocRecords(hwndClient,
     302                                                        sizeof(GROUPRECORD),
     303                                                        RECORD_COUNT))
     304        {
     305            PGROUPRECORD preccThis = preccFirst;
     306            ULONG   ul = 0;
     307            while (preccThis)
     308            {
     309                preccThis->gid = ul++;
     310                sprintf(preccThis->szGroupName, "group %d", preccThis->gid);
     311                preccThis->recc.pszIcon = preccThis->szGroupName;
     312
     313                preccThis->pszMembers = "longer string than title";
     314
     315                preccThis = (PGROUPRECORD)preccThis->recc.preccNextRecord;
     316            }
     317
     318            cnrhInsertRecords(hwndClient,
     319                              NULL,
     320                              (PRECORDCORE)preccFirst,
     321                              TRUE,
     322                              NULL,
     323                              CRA_RECORDREADONLY,
     324                              RECORD_COUNT);
     325        }
     326    }
    299327
    300328    while (WinGetMsg(hab, &qmsg, NULLHANDLE, 0, 0))
Note: See TracChangeset for help on using the changeset viewer.