OSDN Git Service

Add LogList To GitBlame
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / GitLogList.h
index 901f38d..cf35607 100644 (file)
 #pragma once\r
+#include "GitLoglistBase.h"\r
 \r
-#include "HintListCtrl.h"\r
-#include "XPTheme.h"\r
-#include "resource.h"\r
-#include "Git.h"\r
-#include "ProjectProperties.h"\r
-#include "StandAloneDlg.h"\r
-#include "TGitPath.h"\r
-#include "registry.h"\r
-#include "SplitterControl.h"\r
-#include "Colors.h"\r
-#include "MenuButton.h"\r
-#include "LogDlgHelper.h"\r
-#include "FilterEdit.h"\r
-#include "GitRev.h"\r
-#include "Tooltip.h"\r
-#include "HintListCtrl.h"\r
-#include "GitLogList.h"\r
-#include "lanes.h"\r
+class CGitLogListBase;\r
 \r
-#include <regex>\r
-// CGitLogList\r
-#if (NTDDI_VERSION < NTDDI_LONGHORN)\r
-\r
-enum LISTITEMSTATES_MINE {\r
-       LISS_NORMAL = 1,\r
-       LISS_HOT = 2,\r
-       LISS_SELECTED = 3,\r
-       LISS_DISABLED = 4,\r
-       LISS_SELECTEDNOTFOCUS = 5,\r
-       LISS_HOTSELECTED = 6,\r
-};\r
-\r
-#define MCS_NOTRAILINGDATES  0x0040\r
-#define MCS_SHORTDAYSOFWEEK  0x0080\r
-#define MCS_NOSELCHANGEONNAV 0x0100\r
-\r
-#define DTM_SETMCSTYLE    (DTM_FIRST + 11)\r
-\r
-#endif\r
-\r
-#define ICONITEMBORDER 5\r
-\r
-#define GITLOG_START 0\r
-#define GITLOG_START_ALL 1\r
-#define GITLOG_END   100\r
-\r
-#define LOGFILTER_ALL      1\r
-#define LOGFILTER_MESSAGES 2\r
-#define LOGFILTER_PATHS    3\r
-#define LOGFILTER_AUTHORS  4\r
-#define LOGFILTER_REVS    5\r
-#define LOGFILTER_REGEX           6\r
-#define LOGFILTER_BUGID    7\r
-\r
-typedef void CALLBACK_PROCESS(void * data, int progress);\r
-\r
-class CGitLogList : public CHintListCtrl\r
+class CGitLogList : public CGitLogListBase\r
 {\r
        DECLARE_DYNAMIC(CGitLogList)\r
-\r
 public:\r
-       CGitLogList();\r
-       virtual ~CGitLogList();\r
-       volatile LONG           m_bNoDispUpdates;\r
-       BOOL m_bStrictStopped;\r
-       BOOL m_bShowBugtraqColumn;\r
-       BOOL m_bSearchIndex;\r
-       BOOL m_bCancelled;\r
-       bool                            m_hasWC;\r
-       GitRev                          m_wcRev;\r
-       volatile LONG           m_bThreadRunning;\r
-\r
-       enum\r
-       {\r
-               LOGLIST_GRAPH,\r
-               LOGLIST_ACTION,\r
-               LOGLIST_MESSAGE,\r
-               LOGLIST_AUTHOR,\r
-               LOGLIST_DATE,\r
-               LOGLIST_BUG,\r
-               LOGLIST_MESSAGE_MAX=300,\r
-               LOGLIST_MESSAGE_MIN=200\r
-       };\r
-\r
-       enum \r
-       {\r
-       // needs to start with 1, since 0 is the return value if *nothing* is clicked on in the context menu\r
-       ID_COMPARE = 1,\r
-       ID_SAVEAS,\r
-       ID_COMPARETWO,\r
-       ID_UPDATE,\r
-       ID_COPY,\r
-       ID_REVERTREV,\r
-       ID_MERGEREV,\r
-       ID_GNUDIFF1,\r
-       ID_GNUDIFF2,\r
-       ID_FINDENTRY,\r
-       ID_OPEN,\r
-       ID_BLAME,\r
-       ID_REPOBROWSE,\r
-       ID_LOG,\r
-       ID_POPPROPS,\r
-       ID_EDITAUTHOR,\r
-       ID_EDITLOG,\r
-       ID_DIFF,\r
-       ID_OPENWITH,\r
-       ID_COPYCLIPBOARD,\r
-       ID_COPYHASH,\r
-       ID_CHECKOUT,\r
-       ID_REVERTTOREV,\r
-       ID_BLAMECOMPARE,\r
-       ID_BLAMETWO,\r
-       ID_BLAMEDIFF,\r
-       ID_VIEWREV,\r
-       ID_VIEWPATHREV,\r
-       ID_EXPORT,\r
-       ID_COMPAREWITHPREVIOUS,\r
-       ID_BLAMEWITHPREVIOUS,\r
-       ID_GETMERGELOGS,\r
-       ID_REVPROPS,\r
-       ID_CHERRY_PICK,\r
-       ID_CREATE_BRANCH,\r
-       ID_CREATE_TAG,\r
-       ID_SWITCHTOREV\r
-       };\r
-       void InsertGitColumn();\r
-       void ResizeAllListCtrlCols();\r
-       void CopySelectionToClipBoard(bool hashonly=FALSE);\r
-       void DiffSelectedRevWithPrevious();\r
-       bool IsSelectionContinuous();\r
-       int  FillGitShortLog();\r
-       inline int ShownCountWithStopped() const { return (int)m_arShownList.GetCount() + (m_bStrictStopped ? 1 : 0); }\r
-       int FetchLogAsync(CALLBACK_PROCESS *proc=NULL, void * data=NULL);\r
-       CPtrArray                       m_arShownList;\r
-       void Refresh();\r
-       void RecalculateShownList(CPtrArray * pShownlist);\r
-\r
-       int                                     m_nSelectedFilter;\r
-       CLogDataVector          m_logEntries;\r
-       void RemoveFilter();\r
-       void StartFilter();\r
-       bool ValidateRegexp(LPCTSTR regexp_str, tr1::wregex& pat, bool bMatchCase = false );\r
-       CString                         m_sFilterText;\r
-\r
-protected:\r
-       DECLARE_MESSAGE_MAP()\r
-       afx_msg void OnNMCustomdrawLoglist(NMHDR *pNMHDR, LRESULT *pResult);\r
-       afx_msg void OnLvnGetdispinfoLoglist(NMHDR *pNMHDR, LRESULT *pResult);\r
-       afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);\r
-       afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);\r
-       void OnNMDblclkLoglist(NMHDR * /*pNMHDR*/, LRESULT *pResult);\r
-       afx_msg void OnLvnOdfinditemLoglist(NMHDR *pNMHDR, LRESULT *pResult);\r
-       void PreSubclassWindow();\r
-       virtual BOOL PreTranslateMessage(MSG* pMsg);\r
-       static UINT LogThreadEntry(LPVOID pVoid);\r
-       UINT LogThread();\r
-       void FillBackGround(HDC hdc, int Index,CRect &rect);\r
-       void DrawTagBranch(HDC,CRect &rect,INT_PTR index);\r
-       void DrawGraph(HDC,CRect &rect,INT_PTR index);\r
-\r
-       BOOL GetShortName(CString ref, CString &shortname,CString prefix);\r
-       void paintGraphLane(HDC hdc,int laneHeight, int type, int x1, int x2,\r
-                                      const COLORREF& col,int top) ; \r
-       void DrawLine(HDC hdc, int x1, int y1, int x2, int y2){::MoveToEx(hdc,x1,y1,NULL);::LineTo(hdc,x2,y2);}\r
-\r
-\r
-       BOOL IsEntryInDateRange(int i);\r
-\r
-\r
-\r
-       bool                            m_bFilterWithRegex;\r
-\r
-       \r
-       CXPTheme                        m_Theme;\r
-       BOOL                            m_bVista;\r
-       \r
-       HICON                           m_hModifiedIcon;\r
-       HICON                           m_hReplacedIcon;\r
-       HICON                           m_hAddedIcon;\r
-       HICON                           m_hDeletedIcon;\r
-\r
-       HFONT                           m_boldFont;\r
-\r
-       CRegDWORD                       m_regMaxBugIDColWidth;\r
-       int                                     m_nSearchIndex;\r
-       \r
-       CALLBACK_PROCESS    *m_ProcCallBack;\r
-       void                            *m_ProcData;\r
-       CStoreSelection*        m_pStoreSelection;\r
-       MAP_HASH_NAME           m_HashMap;\r
-};\r
-\r
-\r
+       void ContextMenuAction(int cmd,int FirstSelect, int LastSelect);\r
+};
\ No newline at end of file