OSDN Git Service

BrowseRef: Use CMessageBox to display confirm message.
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / BrowseRefsDlg.h
index 62ad450..87050e6 100644 (file)
@@ -10,15 +10,27 @@ class CShadowTree
 public:\r
        typedef std::map<CString,CShadowTree> TShadowTreeMap;\r
 \r
-       CShadowTree():m_hTree(NULL){}\r
+       CShadowTree():m_hTree(NULL),m_pParent(NULL){}\r
        \r
        CShadowTree*    GetNextSub(CString& nameLeft);\r
 \r
        bool                    IsLeaf()const {return m_ShadowTree.empty();}\r
-\r
-\r
-       CString                 m_csName;\r
-       CString                 m_csRef;\r
+       CString                 GetRefName()const\r
+       {\r
+               if(m_pParent==NULL)\r
+                       return m_csRefName;\r
+               return m_pParent->GetRefName()+"/"+m_csRefName;\r
+       }\r
+       bool                    IsFrom(const wchar_t* from)const\r
+       {\r
+               return wcsncmp(GetRefName(),from,wcslen(from))==0;\r
+       }\r
+\r
+       CString                 m_csRefName;\r
+       CString                 m_csRefHash;\r
+       CString                 m_csDate;\r
+       CString                 m_csAuthor;\r
+       CString                 m_csSubject;\r
 \r
        HTREEITEM               m_hTree;\r
 \r
@@ -31,9 +43,20 @@ class CBrowseRefsDlg : public CResizableStandAloneDialog
        DECLARE_DYNAMIC(CBrowseRefsDlg)\r
 \r
 public:\r
-       CBrowseRefsDlg(CWnd* pParent = NULL);   // standard constructor\r
+       CBrowseRefsDlg(CString cmdPath, CWnd* pParent = NULL);   // standard constructor\r
        virtual ~CBrowseRefsDlg();\r
 \r
+       enum eCmd\r
+       {\r
+               eCmd_ViewLog = WM_APP,\r
+               eCmd_AddRemote,\r
+               eCmd_ManageRemotes,\r
+               eCmd_CreateBranch,\r
+               eCmd_CreateTag,\r
+               eCmd_DeleteBranch,\r
+               eCmd_DeleteTag\r
+       };\r
+\r
 // Dialog Data\r
        enum { IDD = IDD_DIALOG_BROWSE_REFS };\r
 \r
@@ -55,11 +78,21 @@ public:
 \r
        bool                    SelectRef(CString refName);\r
 \r
+       bool                    ConfirmDeleteRef(CString completeRefName);\r
+       bool                    DoDeleteRef(CString completeRefName, bool bForce);\r
+\r
 private:\r
-       MAP_HASH_NAME   m_RefMap;\r
+       CString                 m_cmdPath;\r
 \r
        CShadowTree             m_TreeRoot;\r
        CTreeCtrl               m_RefTreeCtrl;\r
        CListCtrl               m_ListRefLeafs;\r
        afx_msg void OnTvnSelchangedTreeRef(NMHDR *pNMHDR, LRESULT *pResult);\r
+public:\r
+\r
+       afx_msg void OnContextMenu(CWnd* pWndFrom, CPoint point);\r
+\r
+       void            OnContextMenu_ListRefLeafs(CPoint point);\r
+       void            OnContextMenu_RefTreeCtrl(CPoint point);\r
+       virtual BOOL PreTranslateMessage(MSG* pMsg);\r
 };\r