OSDN Git Service

autoit.cpp - Macros >> User 1 ..... Variable >> User 2 (#749) (2)
[winmerge-jp/winmerge-jp.git] / Src / DirColsDlg.h
index 64c50ba..519b589 100644 (file)
@@ -5,14 +5,11 @@
  *
  * @date  Created: 2003-08-19
  */
-// ID line follows -- this is updated by SVN
-// $Id$
-
-
-#if !defined(AFX_DIRCOLSDLG_H__2FCB576C_C609_4623_8C55_F3870F22CA0B__INCLUDED_)
-#define AFX_DIRCOLSDLG_H__2FCB576C_C609_4623_8C55_F3870F22CA0B__INCLUDED_
 #pragma once
 
+#include <vector>
+#include "TrDialogs.h"
+#include "UnicodeString.h"
 
 /////////////////////////////////////////////////////////////////////////////
 // CDirColsDlg dialog
  * must be always be last in the list with order number -1.
  * @todo: Allow hidden columns between visible columns.
  */
-class CDirColsDlg : public CDialog
+class CDirColsDlg : public CTrDialog
 {
 // Public types
 public:
        /** @brief One column's information. */
        struct column
        {
-               CString name; /**< Column name */
-               CString desc; /**< Description for column */
+               String name; /**< Column name */
+               String desc; /**< Description for column */
                int log_col; /**< Logical (shown) order number */
                int phy_col; /**< Physical (in memory) order number */
-               column() : log_col(-1), phy_col(-1) { } /**< default constructor for use in CArray */
-               column(LPCTSTR sz, LPCTSTR dsc, int log, int phy) : name(sz), desc(dsc), log_col(log), phy_col(phy) { } 
+               column(const String & colName, const String & dsc, int log, int phy)
+                       : name(colName), desc(dsc), log_col(log), phy_col(phy)
+               { } 
        };
-       typedef CArray<column, column> ColumnArray;
+       typedef std::vector<column> ColumnArray;
 
 // Construction
 public:
-       CDirColsDlg(CWnd* pParent = NULL);   // standard constructor
-       void AddColumn(LPCTSTR name, LPCTSTR desc, int log, int phy=-1)
-               { column c(name, desc, log, phy); m_cols.Add(c); }
-       void AddDefColumn(LPCTSTR name, int log, int phy=-1)
-               { column c(name, _T(""), log, phy); m_defCols.Add(c); }
+       explicit CDirColsDlg(CWnd* pParent = nullptr);   // standard constructor
+       void AddColumn(const String & name, const String & desc, int log, int phy=-1)
+               { column c(name, desc, log, phy); m_cols.push_back(c); }
+       void AddDefColumn(const String & name, int log, int phy=-1)
+               { column c(name, _T(""), log, phy); m_defCols.push_back(c); }
        const ColumnArray & GetColumns() const { return m_cols; }
 
 // Dialog Data
        //{{AFX_DATA(CDirColsDlg)
        enum { IDD = IDD_DIRCOLS };
        CListCtrl m_listColumns;
-       BOOL m_bReset;
+       bool m_bReset;
        //}}AFX_DATA
 
 
@@ -76,29 +74,24 @@ protected:
        void LoadDefLists();
        void SortArrayToLogicalOrder();
        void MoveItem(int index, int newIndex);
-       void MoveSelectedItems(BOOL bUp);
+       void MoveSelectedItems(bool bUp);
        void SanitizeOrder();
-       static int cmpcols(const void * el1, const void * el2);
 
 // Implementation data
 private:
        ColumnArray m_cols; /**< Column list. */
        ColumnArray m_defCols; /**< Default columns. */
+       static bool CompareColumnsByLogicalOrder( const column & el1, const column & el2 );
 
        // Generated message map functions
        //{{AFX_MSG(CDirColsDlg)
-       virtual BOOL OnInitDialog();
+       virtual BOOL OnInitDialog() override;
        afx_msg void OnUp();
        afx_msg void OnDown();
-       virtual void OnOK();
+       virtual void OnOK() override;
        afx_msg void OnDefaults();
        //}}AFX_MSG
        DECLARE_MESSAGE_MAP()
 public:
        afx_msg void OnLvnItemchangedColdlgList(NMHDR *pNMHDR, LRESULT *pResult);
 };
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_DIRCOLSDLG_H__2FCB576C_C609_4623_8C55_F3870F22CA0B__INCLUDED_)