public MainForm(FTObjects ftobjects) { InitializeComponent(); //Determine VersionRowSpace VersionRow versionrow = new VersionRow(); ExitRemoveKey = false; BlockAddingAndRemovingVersionRows = new object(); VersionRowSpaceH = versionrow.Height + ExtraVersionRowSpace; VersionRowSpaceW = versionrow.Width; versionrow.Dispose(); m_VersionRowFromIndex = new Dictionary<int, VersionRow>(); this.m_FTObjects = ftobjects; m_FTObjects.AddToCallList(this); MonitorGroupName = "test"; this.ListVersionvScrollBar.Maximum = (VersionRowSpaceH * 2) * m_FTObjects.CurrentAmountOfVersions; DisplayVersions(); }
public void NewCurrentVersion(string MonitorGroup, VersionInfo vers) { if (CurrentVerionRow != null && CurrentVerionRow.IsDisposed == false) { CurrentVerionRow.UnIndicateCurrentVersion(); } foreach (KeyValuePair<int,VersionRow> kVer in m_VersionRowFromIndex) { if(kVer.Value.PublicVersionInfo.versionName.Equals(vers.versionName)) { kVer.Value.IndicateCurrentVersion(); CurrentVerionRow = kVer.Value; break; } } }
private void DisplayVersions() { ExitRemoveKey = true; lock (BlockAddingAndRemovingVersionRows) { int index = 0; List<int> HeightSquares = SquaresSpaces(this.ListVersionvScrollBar.Value, this.VersionPanel.Height, VersionRowSpaceH); VersionInfo versionInfo; VersionRow versionRow; foreach (int height in HeightSquares) { index = height / VersionRowSpaceH; if (index <= m_FTObjects.CurrentAmountOfVersions) { versionInfo = m_FTObjects.CurrentVersionList[index]; if (m_VersionRowFromIndex.TryGetValue(index, out versionRow) == false) { versionRow = new VersionRow(versionInfo, m_FTObjects); versionRow.Location = new Point(ExtraVersionRowSpace, ExtraVersionRowSpace + height - this.ListVersionvScrollBar.Value); lock (m_VersionRowFromIndex) { m_VersionRowFromIndex[index] = versionRow; } this.ListVersionPanel.Controls.Add(versionRow); if (versionInfo.versionName.Equals(m_FTObjects.CurrentVersion)) { versionRow.IndicateCurrentVersion(); CurrentVerionRow = versionRow; } } else { versionRow.Location = new Point(ExtraVersionRowSpace, ExtraVersionRowSpace + height - this.ListVersionvScrollBar.Value); } } } } ExitRemoveKey = false; }