Skip to content

Commit

Permalink
Bug fixes and Performance fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
DanielMcAssey committed Dec 1, 2014
1 parent 95ba068 commit 44533b4
Show file tree
Hide file tree
Showing 8 changed files with 140 additions and 36 deletions.
24 changes: 15 additions & 9 deletions src/MouseGraphView/frmGraph.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

35 changes: 31 additions & 4 deletions src/MouseGraphView/frmGraph.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ namespace MouseGraphView
{
public partial class frmGraph : Form
{
private bool IsPlaying = false;
private List<MouseData> PlotData;

public frmGraph(List<MouseData> _plotData)
Expand All @@ -24,21 +25,25 @@ public frmGraph(List<MouseData> _plotData)
private void frmGraph_Load(object sender, EventArgs e)
{
btnShowBoth.Enabled = false;

Rectangle primaryResolution = Screen.PrimaryScreen.Bounds;
chrtMousePos.ChartAreas[0].Axes[0].Maximum = primaryResolution.Width;
chrtMousePos.ChartAreas[0].Axes[1].Maximum = primaryResolution.Height;

DateTime lastTimeRecorded = PlotData[PlotData.Count-1].MouseRecordedTime;
List<MouseData> Last5Seconds = PlotData.Where(s => s.MouseRecordedTime >= lastTimeRecorded.AddSeconds(-5)).ToList<MouseData>();
List<MouseData> EverythingElse = PlotData.Where(s => s.MouseRecordedTime < lastTimeRecorded.AddSeconds(-5)).ToList<MouseData>();

for (int i = 0; i < EverythingElse.Count; i++)
{
chrtMousePos.Series[0].Points.AddXY(EverythingElse[i].MouseX, EverythingElse[i].MouseY);
}

for (int i = 0; i < Last5Seconds.Count; i++)
{
chrtMousePos.Series[1].Points.AddXY(Last5Seconds[i].MouseX, Last5Seconds[i].MouseY);
}

for(int i = 0; i < PlotData.Count; i++)
{
//TODO: Add Mouse Button States
}
}

private void btnShowBoth_Click(object sender, EventArgs e)
Expand Down Expand Up @@ -67,5 +72,27 @@ private void btnShowAllButRecent_Click(object sender, EventArgs e)
chrtMousePos.Series[0].Enabled = true;
chrtMousePos.Series[1].Enabled = false;
}

private void btnPlay_Click(object sender, EventArgs e)
{
if (IsPlaying)
StopChartAnimation();
else
PlayChartAnimation();
}

private void PlayChartAnimation()
{
IsPlaying = true;
btnPlay.Text = "Stop";
}

private void StopChartAnimation()
{
IsPlaying = false;
btnPlay.Text = "Play";


}
}
}
6 changes: 3 additions & 3 deletions src/MouseGraphView/frmMain.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 13 additions & 2 deletions src/MouseGraphView/frmMain.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ private void UpdateListWorkerDoWork(object sender, DoWorkEventArgs e)
{
if (this.MouseMonitor.FMouseNewData) //Only new data
{
currentWorker.ReportProgress(0, this.MouseMonitor.GetLatestData());
currentWorker.ReportProgress(0, this.MouseMonitor.GetLastData());
}
}
else
Expand All @@ -71,6 +71,9 @@ private void btnStart_Click(object sender, EventArgs e)
btnStop.Enabled = true;
btnStart.Enabled = false;

//Reset mouse monitor
this.MouseMonitor.Clear();

int updatesPerSecond;
bool isNumeric = int.TryParse(txtUpdatesPerSecond.Text, out updatesPerSecond);
if (isNumeric && updatesPerSecond > 0)
Expand Down Expand Up @@ -101,7 +104,15 @@ private void btnStop_Click(object sender, EventArgs e)
private void btnGenerateGraph_Click(object sender, EventArgs e)
{
frmGraph graphWindow = new frmGraph(this.MouseMonitor.GetFullDataset());
graphWindow.FormClosed += frmGraphClose;
graphWindow.Show();
}
btnGenerateGraph.Enabled = false;

}

private void frmGraphClose(object sender, EventArgs e)
{
btnGenerateGraph.Enabled = true;
}
}
}
9 changes: 0 additions & 9 deletions src/MouseGraphView/frmMain.resx
Original file line number Diff line number Diff line change
Expand Up @@ -126,13 +126,4 @@
<metadata name="dgvColMouseY.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dgvColMouseTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dgvColMouseX.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dgvColMouseY.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>
1 change: 1 addition & 0 deletions src/MouseMon/MouseData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@ public struct MouseData
public int MouseX;
public int MouseY;
public DateTime MouseRecordedTime;
public MouseButtonState MouseButtonPressed;
}
}
17 changes: 17 additions & 0 deletions src/MouseMon/MouseInput.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@

namespace MouseMon
{
public enum MouseButtonState
{
None,
Left,
Middle,
Right
}

static class MouseInput
{
/// <summary>
Expand Down Expand Up @@ -49,5 +57,14 @@ public static POINT GetCursorPosition()

return lpPoint;
}

/// <summary>
/// Retrieves the mouse button state.
/// </summary>
/// <see>See MSDN documentation for further information.</see>
public static MouseButtonState GetMouseButtonState()
{
return MouseButtonState.None;
}
}
}
Loading

0 comments on commit 44533b4

Please sign in to comment.