OSDN Git Service

Fix issue #940: Replace slow (2)
[winmerge-jp/winmerge-jp.git] / Src / DirViewColItems.h
index f0d3459..526aca9 100644 (file)
@@ -5,18 +5,13 @@
  *
  * @date  Created: 2003-08-19
  */
-// RCS ID line follows -- this is updated by CVS
-// $Id: DirViewColItems.h 4619 2007-10-14 08:50:20Z jtuc $
-
-#ifndef DirViewColItems_h
-#define DirViewColItems_h
+#pragma once
 
 #include "UnicodeString.h"
 #include <vector>
 #include <sstream>
-#include <cassert>
 
-struct DIFFITEM;
+class DIFFITEM;
 class CDiffContext;
 
 // DirViewColItems typedefs
@@ -37,11 +32,12 @@ struct DirColInfo
        };
        const TCHAR *regName; /**< Internal name used for registry entries etc */
        // localized string resources
+       const char *idNameContext; 
        const char *idName; /**< Displayed name, ID of string resource */
        const char *idDesc; /**< Description, ID of string resource */
        ColGetFncPtrType getfnc; /**< Handler giving display string */
        ColSortFncPtrType sortfnc; /**< Handler for sorting this column */
-       size_t offset;
+       size_t offset;  /**< Offset into DIFFITEM::diffFileInfo[] */
        int physicalIndex; /**< Current physical index, -1 if not displayed */
        bool defSortUp; /**< Does column start with ascending sort (most do) */
        int alignment; /**< Column alignment */
@@ -53,7 +49,7 @@ extern const int g_ncols3;
 class DirViewColItems
 {
 public:
-       DirViewColItems(int nDirs):
+       explicit DirViewColItems(int nDirs):
          m_nDirs(nDirs), m_numcols(-1), m_dispcols(-1) {}
        String GetColRegValueNameBase(int col) const;
        int GetColDefaultOrder(int col) const;
@@ -70,8 +66,8 @@ public:
        String GetColDescription(int col) const;
        int     GetColCount() const;
        int GetDispColCount() const { return m_dispcols; }
-       String ColGetTextToDisplay(const CDiffContext *pCtxt, int col, const DIFFITEM & di) const;
-       int ColSort(const CDiffContext *pCtxt, int col, const DIFFITEM & ldi, const DIFFITEM &rdi, bool bTreeMode) const;
+       String ColGetTextToDisplay(const CDiffContext *pCtxt, int col, const DIFFITEM &di) const;
+       int ColSort(const CDiffContext *pCtxt, int col, const DIFFITEM &ldi, const DIFFITEM &rdi, bool bTreeMode) const;
 
        int ColPhysToLog(int i) const { return m_invcolorder[i]; }
        int ColLogToPhys(int i) const { return m_colorder[i]; } /**< -1 if not displayed */
@@ -79,7 +75,6 @@ public:
        void MoveColumn(int psrc, int pdest);
        void ResetColumnOrdering();
        void SetColumnOrdering(const int colorder[]);
-       void ValidateColumnOrdering();
        String ResetColumnWidths(int defcolwidth);
        void LoadColumnOrders(String colorders);
        String SaveColumnOrders();
@@ -113,7 +108,7 @@ public:
                        if (phy >= 0)
                        {
                                if (!result.empty()) result += ' ';
-                               result += string_to_str(getcolwidth(phy));
+                               result += strutils::to_str(getcolwidth(phy));
                        }
                }
                return result;
@@ -127,5 +122,3 @@ private:
        std::vector<int> m_colorder; /**< colorder[logical#]=physical# */
        std::vector<int> m_invcolorder; /**< invcolorder[physical]=logical# */
 };
-
-#endif // DirViewColItems_h