OSDN Git Service

Show Ignore Sub Menu
[tortoisegit/TortoiseGitJp.git] / TortoiseProc / RevisionGraph / RevisionInRange.h
1 // TortoiseSVN - a Windows shell extension for easy version control\r
2 \r
3 // Copyright (C) 2003-2008 - TortoiseSVN\r
4 \r
5 // This program is free software; you can redistribute it and/or\r
6 // modify it under the terms of the GNU General Public License\r
7 // as published by the Free Software Foundation; either version 2\r
8 // of the License, or (at your option) any later version.\r
9 \r
10 // This program is distributed in the hope that it will be useful,\r
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13 // GNU General Public License for more details.\r
14 \r
15 // You should have received a copy of the GNU General Public License\r
16 // along with this program; if not, write to the Free Software Foundation,\r
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\r
18 //\r
19 #pragma once\r
20 \r
21 // include base classes\r
22 \r
23 #include "LogCacheGlobals.h"\r
24 #include "CopyFilterOptions.h"\r
25 #include "revisiongraphoptionsimpl.h"\r
26 #include "Resource.h"\r
27 \r
28 /** Remove all branches / tags that have been deleted and have\r
29 * no surviving copy. Upper and lower bounds are inclusive.\r
30 */\r
31 \r
32 using namespace LogCache;\r
33 \r
34 class CRevisionInRange \r
35     : public CRevisionGraphOptionImpl< ICopyFilterOption\r
36                                      , 50\r
37                                      , 0>\r
38 {\r
39 private:\r
40 \r
41     /// NO_REVISION meas no limit\r
42 \r
43     revision_t lowerLimit;\r
44     revision_t upperLimit;\r
45 \r
46 public:\r
47 \r
48     /// construction\r
49 \r
50     CRevisionInRange (CRevisionGraphOptionList& list);\r
51 \r
52     /// get / set limits\r
53 \r
54     revision_t GetLowerLimit() const;\r
55     void SetLowerLimit (revision_t limit);\r
56 \r
57     revision_t GetUpperLimit() const;\r
58     void SetUpperLimit (revision_t limit);\r
59 \r
60     /// implement ICopyFilterOption\r
61 \r
62     virtual EResult ShallRemove (const CFullGraphNode* node) const;\r
63 };\r