Skip to content

Commit c8f3e53

Browse files
authored
Merge branch 'Development' into editorconfig_optimizations
2 parents a958b1e + 2cc6b28 commit c8f3e53

5 files changed

Lines changed: 191 additions & 230 deletions

File tree

Lines changed: 124 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -1,176 +1,185 @@
1-
using LogExpert.Core.Entities;
1+
using LogExpert.Core.Entities;
22
using LogExpert.Core.Interface;
33

44
using NLog;
55

6-
namespace LogExpert.Core.Classes.Bookmark
6+
namespace LogExpert.Core.Classes.Bookmark;
7+
8+
public class BookmarkDataProvider : IBookmarkData
79
{
8-
public class BookmarkDataProvider : IBookmarkData
9-
{
10-
#region Fields
10+
#region Fields
1111

12-
private static readonly ILogger _logger = LogManager.GetCurrentClassLogger();
12+
private static readonly Logger _logger = LogManager.GetCurrentClassLogger();
1313

14-
#endregion
14+
#endregion
1515

16-
#region cTor
16+
#region cTor
1717

18-
public BookmarkDataProvider()
19-
{
20-
BookmarkList = [];
21-
}
18+
public BookmarkDataProvider ()
19+
{
20+
BookmarkList = [];
21+
}
2222

23-
public BookmarkDataProvider(SortedList<int, Entities.Bookmark> bookmarkList)
24-
{
25-
BookmarkList = bookmarkList;
26-
}
23+
public BookmarkDataProvider (SortedList<int, Entities.Bookmark> bookmarkList)
24+
{
25+
BookmarkList = bookmarkList;
26+
}
2727

28-
#endregion
28+
#endregion
2929

30-
#region Delegates
30+
#region Delegates
3131

32-
public delegate void AllBookmarksRemovedEventHandler(object sender, System.EventArgs e);
32+
public delegate void AllBookmarksRemovedEventHandler (object sender, EventArgs e);
3333

34-
public delegate void BookmarkAddedEventHandler(object sender, System.EventArgs e);
34+
public delegate void BookmarkAddedEventHandler (object sender, EventArgs e);
3535

36-
public delegate void BookmarkRemovedEventHandler(object sender, System.EventArgs e);
36+
public delegate void BookmarkRemovedEventHandler (object sender, EventArgs e);
3737

38-
#endregion
38+
#endregion
3939

40-
#region Events
40+
#region Events
4141

42-
public event BookmarkAddedEventHandler BookmarkAdded;
43-
public event BookmarkRemovedEventHandler BookmarkRemoved;
44-
public event AllBookmarksRemovedEventHandler AllBookmarksRemoved;
42+
public event BookmarkAddedEventHandler BookmarkAdded;
43+
public event BookmarkRemovedEventHandler BookmarkRemoved;
44+
public event AllBookmarksRemovedEventHandler AllBookmarksRemoved;
4545

46-
#endregion
46+
#endregion
4747

48-
#region Properties
48+
#region Properties
4949

50-
public BookmarkCollection Bookmarks => new(BookmarkList);
50+
public BookmarkCollection Bookmarks => new(BookmarkList);
5151

52-
public SortedList<int, Entities.Bookmark> BookmarkList { get; set; }
52+
public SortedList<int, Entities.Bookmark> BookmarkList { get; private set; }
5353

54-
#endregion
54+
#endregion
5555

56-
#region Public methods
56+
#region Public methods
5757

58-
public void ToggleBookmark(int lineNum)
59-
{
60-
if (IsBookmarkAtLine(lineNum))
61-
{
62-
RemoveBookmarkForLine(lineNum);
63-
}
64-
else
65-
{
66-
AddBookmark(new Entities.Bookmark(lineNum));
67-
}
68-
}
58+
public void SetBookmarks (SortedList<int, Entities.Bookmark> bookmarkList)
59+
{
60+
BookmarkList = bookmarkList;
61+
}
6962

70-
public bool IsBookmarkAtLine(int lineNum)
63+
public void ToggleBookmark (int lineNum)
64+
{
65+
if (IsBookmarkAtLine(lineNum))
7166
{
72-
return BookmarkList.ContainsKey(lineNum);
67+
RemoveBookmarkForLine(lineNum);
7368
}
74-
75-
public int GetBookmarkIndexForLine(int lineNum)
69+
else
7670
{
77-
return BookmarkList.IndexOfKey(lineNum);
71+
AddBookmark(new Entities.Bookmark(lineNum));
7872
}
73+
}
7974

80-
public Entities.Bookmark GetBookmarkForLine(int lineNum)
81-
{
82-
return BookmarkList[lineNum];
83-
}
75+
public bool IsBookmarkAtLine (int lineNum)
76+
{
77+
return BookmarkList.ContainsKey(lineNum);
78+
}
8479

85-
#endregion
80+
public int GetBookmarkIndexForLine (int lineNum)
81+
{
82+
return BookmarkList.IndexOfKey(lineNum);
83+
}
8684

87-
#region Internals
85+
public Entities.Bookmark GetBookmarkForLine (int lineNum)
86+
{
87+
return BookmarkList[lineNum];
88+
}
8889

89-
public void ShiftBookmarks(int offset)
90-
{
91-
SortedList<int, Entities.Bookmark> newBookmarkList = [];
92-
foreach (Entities.Bookmark bookmark in BookmarkList.Values)
93-
{
94-
int line = bookmark.LineNum - offset;
95-
if (line >= 0)
96-
{
97-
bookmark.LineNum = line;
98-
newBookmarkList.Add(line, bookmark);
99-
}
100-
}
101-
BookmarkList = newBookmarkList;
102-
}
90+
#endregion
10391

104-
public int FindPrevBookmarkIndex(int lineNum)
92+
#region Internals
93+
94+
public void ShiftBookmarks (int offset)
95+
{
96+
SortedList<int, Entities.Bookmark> newBookmarkList = [];
97+
98+
foreach (Entities.Bookmark bookmark in BookmarkList.Values)
10599
{
106-
IList<Entities.Bookmark> values = BookmarkList.Values;
107-
for (int i = BookmarkList.Count - 1; i >= 0; --i)
100+
var line = bookmark.LineNum - offset;
101+
if (line >= 0)
108102
{
109-
if (values[i].LineNum <= lineNum)
110-
{
111-
return i;
112-
}
103+
bookmark.LineNum = line;
104+
newBookmarkList.Add(line, bookmark);
113105
}
114-
return BookmarkList.Count - 1;
115106
}
116107

117-
public int FindNextBookmarkIndex(int lineNum)
108+
BookmarkList = newBookmarkList;
109+
}
110+
111+
public int FindPrevBookmarkIndex (int lineNum)
112+
{
113+
IList<Entities.Bookmark> values = BookmarkList.Values;
114+
for (var i = BookmarkList.Count - 1; i >= 0; --i)
118115
{
119-
IList<Entities.Bookmark> values = BookmarkList.Values;
120-
for (int i = 0; i < BookmarkList.Count; ++i)
116+
if (values[i].LineNum <= lineNum)
121117
{
122-
if (values[i].LineNum >= lineNum)
123-
{
124-
return i;
125-
}
118+
return i;
126119
}
127-
return 0;
128120
}
129121

130-
public void RemoveBookmarkForLine(int lineNum)
131-
{
132-
BookmarkList.Remove(lineNum);
133-
OnBookmarkRemoved();
134-
}
122+
return BookmarkList.Count - 1;
123+
}
135124

136-
public void RemoveBookmarksForLines(List<int> lineNumList)
125+
public int FindNextBookmarkIndex (int lineNum)
126+
{
127+
IList<Entities.Bookmark> values = BookmarkList.Values;
128+
for (var i = 0; i < BookmarkList.Count; ++i)
137129
{
138-
foreach (int lineNum in lineNumList)
130+
if (values[i].LineNum >= lineNum)
139131
{
140-
BookmarkList.Remove(lineNum);
132+
return i;
141133
}
142-
OnBookmarkRemoved();
143134
}
135+
return 0;
136+
}
144137

138+
public void RemoveBookmarkForLine (int lineNum)
139+
{
140+
_ = BookmarkList.Remove(lineNum);
141+
OnBookmarkRemoved();
142+
}
145143

146-
public void AddBookmark(Entities.Bookmark bookmark)
144+
public void RemoveBookmarksForLines (List<int> lineNumList)
145+
{
146+
foreach (var lineNum in lineNumList)
147147
{
148-
BookmarkList.Add(bookmark.LineNum, bookmark);
149-
OnBookmarkAdded();
150-
}
148+
_ = BookmarkList.Remove(lineNum);
151149

152-
public void ClearAllBookmarks()
153-
{
154-
_logger.Debug("Removing all bookmarks");
155-
BookmarkList.Clear();
156-
OnAllBookmarksRemoved();
157150
}
158151

159-
#endregion
152+
OnBookmarkRemoved();
153+
}
160154

161-
protected void OnBookmarkAdded()
162-
{
163-
BookmarkAdded?.Invoke(this, System.EventArgs.Empty);
164-
}
165155

166-
protected void OnBookmarkRemoved()
167-
{
168-
BookmarkRemoved?.Invoke(this, System.EventArgs.Empty);
169-
}
156+
public void AddBookmark (Entities.Bookmark bookmark)
157+
{
158+
BookmarkList.Add(bookmark.LineNum, bookmark);
159+
OnBookmarkAdded();
160+
}
170161

171-
protected void OnAllBookmarksRemoved()
172-
{
173-
AllBookmarksRemoved?.Invoke(this, System.EventArgs.Empty);
174-
}
162+
public void ClearAllBookmarks ()
163+
{
164+
_logger.Debug("Removing all bookmarks");
165+
BookmarkList.Clear();
166+
OnAllBookmarksRemoved();
167+
}
168+
169+
#endregion
170+
171+
protected void OnBookmarkAdded ()
172+
{
173+
BookmarkAdded?.Invoke(this, EventArgs.Empty);
174+
}
175+
176+
protected void OnBookmarkRemoved ()
177+
{
178+
BookmarkRemoved?.Invoke(this, EventArgs.Empty);
179+
}
180+
181+
protected void OnAllBookmarksRemoved ()
182+
{
183+
AllBookmarksRemoved?.Invoke(this, EventArgs.Empty);
175184
}
176185
}

0 commit comments

Comments
 (0)