public void UpdateRows() { if (SelectedFriend == null) { if (Rows[0] == null) { return; } SelectedFriend = Rows[0].Friend; } for (int i = 0; i < Rows.Length; i++) { if (Rows[i] == null) { continue; } Rows[i].Selected = false; if (Rows[i].Friend == SelectedFriend) { Rows[i].Selected = true; } Rows[i].UpdateInterface(); } }
protected override void Dispose(bool disposing) { base.Dispose(disposing); Friend = null; NameLabel = null; Selected = false; }
public void CreateMemoLabel(ClientFriend friend) { if (friend == null) { DisposeMemoLabel(); return; } if (MemoLabel != null && !MemoLabel.IsDisposed) return; MemoLabel = new MirControl { BackColour = Color.FromArgb(255, 50, 50, 50), Border = true, BorderColour = Color.Gray, DrawControlTexture = true, NotControl = true, Parent = this, Opacity = 0.7F }; MirLabel memoLabel = new MirLabel { AutoSize = true, ForeColour = Color.White, Location = new Point(4, 4), OutLine = true, Parent = MemoLabel, Text = Functions.StringOverLines(friend.Memo, 5, 20) }; MemoLabel.Size = new Size(Math.Max(MemoLabel.Size.Width, memoLabel.DisplayRectangle.Right + 4), Math.Max(MemoLabel.Size.Height, memoLabel.DisplayRectangle.Bottom + 4)); }
public void UpdateRows() { if (SelectedFriend == null) { if (Rows[0] == null) return; SelectedFriend = Rows[0].Friend; } for (int i = 0; i < Rows.Length; i++) { if (Rows[i] == null) continue; Rows[i].Selected = false; if (Rows[i].Friend == SelectedFriend) { Rows[i].Selected = true; } Rows[i].UpdateInterface(); } }
public void Update(bool clearSelection = true) { if (clearSelection) SelectedFriend = null; for (int i = 0; i < Rows.Length; i++) { if (Rows[i] != null) Rows[i].Dispose(); Rows[i] = null; } List<ClientFriend> filteredFriends = new List<ClientFriend>(); if (_blockedTab) filteredFriends = Friends.Where(e => e.Blocked).ToList(); else filteredFriends = Friends.Where(e => !e.Blocked).ToList(); int maxPage = filteredFriends.Count / Rows.Length + 1; if (maxPage < 1) maxPage = 1; PageNumberLabel.Text = (Page + 1) + " / " + maxPage; int maxIndex = filteredFriends.Count - 1; if (StartIndex > maxIndex) StartIndex = maxIndex; if (StartIndex < 0) StartIndex = 0; for (int i = 0; i < Rows.Length; i++) { if (i + StartIndex >= filteredFriends.Count) break; if (Rows[i] != null) Rows[i].Dispose(); Rows[i] = new FriendRow { Friend = filteredFriends[i + StartIndex], Location = new Point((i % 2) * 115 + 16, 55 + ((i) / 2) * 22), Parent = this, }; Rows[i].Click += (o, e) => { FriendRow row = (FriendRow)o; if (row.Friend != SelectedFriend) { SelectedFriend = row.Friend; SelectedIndex = FindSelectedIndex(); UpdateRows(); } }; if (SelectedFriend != null) { if (SelectedIndex == i) { SelectedFriend = Rows[i].Friend; } } } }
public void Update(bool clearSelection = true) { if (clearSelection) { SelectedFriend = null; } for (int i = 0; i < Rows.Length; i++) { if (Rows[i] != null) { Rows[i].Dispose(); } Rows[i] = null; } List <ClientFriend> filteredFriends = new List <ClientFriend>(); if (_blockedTab) { filteredFriends = Friends.Where(e => e.Blocked).ToList(); } else { filteredFriends = Friends.Where(e => !e.Blocked).ToList(); } int maxPage = filteredFriends.Count / Rows.Length + 1; if (maxPage < 1) { maxPage = 1; } PageNumberLabel.Text = (Page + 1) + " / " + maxPage; int maxIndex = filteredFriends.Count - 1; if (StartIndex > maxIndex) { StartIndex = maxIndex; } if (StartIndex < 0) { StartIndex = 0; } for (int i = 0; i < Rows.Length; i++) { if (i + StartIndex >= filteredFriends.Count) { break; } if (Rows[i] != null) { Rows[i].Dispose(); } Rows[i] = new FriendRow { Friend = filteredFriends[i + StartIndex], Location = new Point((i % 2) * 115 + 16, 55 + ((i) / 2) * 22), Parent = this, }; Rows[i].Click += (o, e) => { FriendRow row = (FriendRow)o; if (row.Friend != SelectedFriend) { SelectedFriend = row.Friend; SelectedIndex = FindSelectedIndex(); UpdateRows(); } }; if (SelectedFriend != null) { if (SelectedIndex == i) { SelectedFriend = Rows[i].Friend; } } } }