Ignore:
Timestamp:
04/05/08 19:28:08 (12 years ago)
Author:
Eoin
Message:

Factored out base code for adding and editing items in ListViews?. Made the NewTorrent? Tracker ListView? editable.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/advtabs/TrackerAddDialog.hpp

    r395 r419  
    77#pragma once 
    88 
    9 #include "DdxEx.hpp" 
     9#include "GenericAddDialog.hpp" 
    1010 
    1111class TrackerAddDialog : 
    1212        public CDialogImpl<TrackerAddDialog>, 
    13     public CWinDataExchangeEx<TrackerAddDialog> 
     13        public WTLx::GenericAddDialog<TrackerAddDialog, IDD_TRACKEDIT>, 
     14        public CDialogResize<TrackerAddDialog>, 
     15        public CWinDataExchangeEx<TrackerAddDialog> 
    1416{ 
    15 protected: 
     17public: 
    1618        typedef TrackerAddDialog thisClass; 
    17         typedef CDialogImpl<TrackerAddDialog> baseClass; 
     19        typedef WTLx::GenericAddDialog<thisClass, IDD_TRACKEDIT> genericBaseClass; 
     20        typedef CDialogResize<thisClass> resizeClass; 
    1821         
    1922public: 
    2023        TrackerAddDialog(wstring title, hal::TrackerDetail& tracker) : 
    21                 title_(title), 
     24                genericBaseClass(title, "genericAddDlgs/AddTracker", "AddTracker"), 
    2225                tracker_(tracker) 
    2326        {} 
    24          
    25         enum { IDD = IDD_TRACKEDIT }; 
    2627 
    2728    BEGIN_MSG_MAP_EX(TrackerAddDialog) 
    28         MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 
    29                 MSG_WM_CLOSE(OnClose)    
    30                 COMMAND_ID_HANDLER_EX(IDOK, OnOk) 
    31                 COMMAND_ID_HANDLER_EX(IDCANCEL, OnCancel) 
     29                CHAIN_MSG_MAP(resizeClass) 
     30                CHAIN_MSG_MAP(genericBaseClass) 
    3231    END_MSG_MAP() 
    3332 
     
    3534                DDX_EX_STDWSTRING(IDC_TRACKER_EDIT_URL, tracker_.url); 
    3635        DDX_INT(IDC_TRACKER_EDIT_TIER, tracker_.tier) 
    37     END_DDX_MAP() 
    38          
    39         LRESULT OnInitDialog(...) 
    40         { 
    41                 SetWindowText(title_.c_str()); 
    42                 CenterWindow(); 
    43                 BOOL retval =  DoDataExchange(false); 
    44                  
    45                 return TRUE; 
    46         } 
    47          
    48         void OnClose() 
    49         { 
    50                 DoDataExchange(true); 
    51                 EndDialog(0); 
    52         } 
     36    END_DDX_MAP()        
    5337 
    54         void OnCancel(...) 
    55         { 
    56                 DoDataExchange(true); 
    57                 EndDialog(0); 
    58         } 
    59  
    60         void OnOk(...) 
    61         { 
    62                 DoDataExchange(true); 
    63                 EndDialog(1); 
    64         } 
    65  
    66         BOOL PreTranslateMessage(MSG* pMsg) 
    67         { 
    68                 return this->IsDialogMessage(pMsg); 
    69         } 
    70          
    71         void onCancel(UINT, int, HWND hWnd) 
    72         { 
    73          
    74         } 
     38        BEGIN_DLGRESIZE_MAP(thisClass) 
     39                DLGRESIZE_CONTROL(IDC_TRACKER_EDIT_URL, DLSZ_SIZE_X) 
     40                DLGRESIZE_CONTROL(IDC_TRACKER_EDIT_TIER, DLSZ_MOVE_X) 
     41                DLGRESIZE_CONTROL(IDOK, DLSZ_MOVE_X|DLSZ_MOVE_Y) 
     42                DLGRESIZE_CONTROL(IDCANCEL, DLSZ_MOVE_X|DLSZ_MOVE_Y) 
     43        END_DLGRESIZE_MAP() 
    7544 
    7645private: 
Note: See TracChangeset for help on using the changeset viewer.