diff --git a/ErgometerApplication/.vs/ErgometerApplication/v14/.suo b/ErgometerApplication/.vs/ErgometerApplication/v14/.suo
index 5b04bd4..aba3c9a 100644
Binary files a/ErgometerApplication/.vs/ErgometerApplication/v14/.suo and b/ErgometerApplication/.vs/ErgometerApplication/v14/.suo differ
diff --git a/ErgometerApplication/ErgometerApplication/ChatItem.cs b/ErgometerApplication/ErgometerApplication/ChatItem.cs
deleted file mode 100644
index 00c9b18..0000000
--- a/ErgometerApplication/ErgometerApplication/ChatItem.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-
-namespace ErgometerApplication
-{
- public class ChatItem : Panel
- {
- private Label messageLabel, timeLabel;
-
- public ChatItem(string message, string time, bool isDoctor) : base()
- {
- this.messageLabel = new Label();
- this.timeLabel = new Label();
-
- this.AutoSize = true;
- this.setAppearance(isDoctor);
- this.Controls.Add(this.messageLabel);
- this.Controls.Add(this.timeLabel);
- this.MinimumSize = new System.Drawing.Size(150, 60);
- this.Name = "messageContainer";
- this.Padding = new System.Windows.Forms.Padding(6);
-
- //
- // Message Label
- //
- this.messageLabel.AutoSize = true;
- this.messageLabel.Dock = System.Windows.Forms.DockStyle.Fill;
- this.messageLabel.Font = new System.Drawing.Font("Segoe UI Semibold", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.messageLabel.Location = new System.Drawing.Point(6, 6);
- this.messageLabel.MaximumSize = new System.Drawing.Size(250, 0);
- this.messageLabel.Size = new System.Drawing.Size(121, 20);
- this.messageLabel.Text = message;
- //
- // Time Label
- //
- this.timeLabel.AutoSize = true;
- this.timeLabel.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.timeLabel.Font = new System.Drawing.Font("Segoe UI Semilight", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.timeLabel.Location = new System.Drawing.Point(6, 26);
- this.timeLabel.Margin = new System.Windows.Forms.Padding(6);
- this.timeLabel.Size = new System.Drawing.Size(32, 13);
- this.timeLabel.Text = "Time:" + time;
- }
-
- private void setAppearance(bool isDoctor)
- {
- if (isDoctor)
- {
- this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
- this.Dock = DockStyle.Right;
- }
- else
- {
- this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240)))));
- this.Dock = DockStyle.Left;
- }
- }
- }
-}
diff --git a/ErgometerApplication/ErgometerApplication/ClientApplicatie.Designer.cs b/ErgometerApplication/ErgometerApplication/ClientApplicatie.Designer.cs
index 017117c..040f542 100644
--- a/ErgometerApplication/ErgometerApplication/ClientApplicatie.Designer.cs
+++ b/ErgometerApplication/ErgometerApplication/ClientApplicatie.Designer.cs
@@ -151,7 +151,8 @@ namespace ErgometerApplication
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(800, 600);
+ this.ClientSize = new System.Drawing.Size(700, 500);
+ this.MinimumSize = new System.Drawing.Size(550, 450);
this.Controls.Add(this.panelTopBar);
this.Controls.Add(this.panelLogin);
this.Controls.Add(this.panelClientContainer);
diff --git a/ErgometerApplication/ErgometerApplication/ClientApplicatie.cs b/ErgometerApplication/ErgometerApplication/ClientApplicatie.cs
index 68ecbb5..45d65bf 100644
--- a/ErgometerApplication/ErgometerApplication/ClientApplicatie.cs
+++ b/ErgometerApplication/ErgometerApplication/ClientApplicatie.cs
@@ -21,10 +21,13 @@ namespace ErgometerApplication
public partial class ClientApplicatie : Form
{
public PanelClientChat chat;
+ private int count;
+
public ClientApplicatie()
{
InitializeComponent();
MainClient.Init(this);
+ count = 0;
}
private void updateTimer_Tick(object sender, EventArgs e)
@@ -44,6 +47,14 @@ namespace ErgometerApplication
power.updateValue(m.Power);
energy.updateValue(m.Energy);
actualpower.updateValue(m.ActualPower);
+
+ if(count >= 10)
+ {
+ count = 0;
+ panelGraphView.updateAllCharts(MainClient.Metingen);
+ }
+
+ count++;
}
}
@@ -59,37 +70,30 @@ namespace ErgometerApplication
}
if (password.Length > 0 && password.Length < 4)
{
- panelLogin.lblVerification.Text = "Vul een wachtwoord in van minimaal 8 karakters.";
+ panelLogin.lblVerification.Text = "Vul een wachtwoord in van minimaal 4 karakters.";
panelLogin.lblVerification.ForeColor = Color.Red;
panelLogin.lblVerification.Visible = true;
}
if (password.Length >= 3)
{
- /*
- if(SerialPort.GetPortNames().Length <= 0)
+ string error = "";
+ bool connect = MainClient.Connect(SerialPort.GetPortNames()[0], username, password, out error);
+
+ if (connect)
{
- panelLogin.lblVerification.Text = "De Ergometer is niet gevonden.";
+ panelClientContainer.BringToFront();
+ chat = panelClientChat;
+ this.labelUsername.Text = panelLogin.textBoxUsername.Text;
+ panelTopBar.Visible = true;
+ updateTimer.Start();
+ }
+ else
+ {
+ panelLogin.lblVerification.Text = error;
panelLogin.lblVerification.ForeColor = Color.Red;
panelLogin.lblVerification.Visible = true;
}
- else
- { */
- if(MainClient.Connect(SerialPort.GetPortNames()[0], username, password))
- {
- panelClientContainer.BringToFront();
- chat = panelClientChat;
- this.labelUsername.Text = panelLogin.textBoxUsername.Text;
- panelTopBar.Visible = true;
- updateTimer.Start();
- }
- else
- {
- panelLogin.lblVerification.Text = "De inloggegevens zijn onjuist.";
- panelLogin.lblVerification.ForeColor = Color.Red;
- panelLogin.lblVerification.Visible = true;
- }
- //}
}
}
else
diff --git a/ErgometerApplication/ErgometerApplication/ErgometerApplication.csproj b/ErgometerApplication/ErgometerApplication/ErgometerApplication.csproj
index 94c73b0..4e96fa2 100644
--- a/ErgometerApplication/ErgometerApplication/ErgometerApplication.csproj
+++ b/ErgometerApplication/ErgometerApplication/ErgometerApplication.csproj
@@ -59,9 +59,6 @@
Component
-
- Component
-
Component
diff --git a/ErgometerApplication/ErgometerApplication/MainClient.cs b/ErgometerApplication/ErgometerApplication/MainClient.cs
index f39bc14..26506af 100644
--- a/ErgometerApplication/ErgometerApplication/MainClient.cs
+++ b/ErgometerApplication/ErgometerApplication/MainClient.cs
@@ -49,11 +49,20 @@ namespace ErgometerApplication
Client = client;
}
- public static bool Connect(string comport, string name, string password)
+ public static bool Connect(string comport, string name, string password, out string error)
{
+ error = "Succes";
+
if (!Doctor.Connected)
{
- Doctor.Connect(HOST, PORT);
+ try {
+ Doctor.Connect(HOST, PORT);
+ }
+ catch (Exception e)
+ {
+ error = "De server is niet online.";
+ return false;
+ }
Name = name;
NetCommand net = NetHelper.ReadNetCommand(Doctor);
@@ -63,6 +72,7 @@ namespace ErgometerApplication
throw new Exception("Session not assigned");
running = true;
+ t.IsBackground = true;
t.Start();
}
@@ -75,6 +85,7 @@ namespace ErgometerApplication
if (response.Type == NetCommand.CommandType.RESPONSE && response.Response == NetCommand.ResponseType.LOGINWRONG)
{
Loggedin = false;
+ error = "De inloggegevens zijn onjuist.";
return false;
}
@@ -99,7 +110,10 @@ namespace ErgometerApplication
SaveMeting(response);
}
else
- throw new Exception("Comport was unable to connect");
+ {
+ error = "De ergometer is niet verbonden";
+ return false;
+ }
}
return true;
@@ -159,8 +173,9 @@ namespace ErgometerApplication
ParseValueSet(command);
break;
case NetCommand.CommandType.CHAT:
- Chat.Add(new ChatMessage(Name, command.ChatMessage, true));
- Client.chat.Invoke(Client.chat.passChatMessage, new Object[] {command.ChatMessage, Helper.MillisecondsToTime(command.Timestamp), true});
+ ChatMessage chat = new ChatMessage(command.DisplayName, command.ChatMessage, true);
+ Chat.Add(chat);
+ Client.chat.Invoke(Client.chat.passChatMessage, new Object[] { chat });
break;
case NetCommand.CommandType.RESPONSE:
Console.WriteLine(command.Response.ToString());
diff --git a/ErgometerApplication/ErgometerApplication/PanelClientChat.cs b/ErgometerApplication/ErgometerApplication/PanelClientChat.cs
index 0c4d7b9..1ad2db0 100644
--- a/ErgometerApplication/ErgometerApplication/PanelClientChat.cs
+++ b/ErgometerApplication/ErgometerApplication/PanelClientChat.cs
@@ -5,6 +5,7 @@ using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using ErgometerLibrary;
+using ErgometerLibrary.Chat;
namespace ErgometerApplication
{
@@ -66,7 +67,7 @@ namespace ErgometerApplication
this.connectionLabel.Name = "connectionLabel";
this.connectionLabel.Size = new System.Drawing.Size(112, 13);
this.connectionLabel.TabIndex = 0;
- this.connectionLabel.Text = "Now connected with:";
+ this.connectionLabel.Text = "Now connected with: Doctor";
//
// label2
//
@@ -100,7 +101,7 @@ namespace ErgometerApplication
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(85, 90);
this.button1.TabIndex = 1;
- this.button1.Text = "Verstuur";
+ this.button1.Text = "Send";
this.button1.UseVisualStyleBackColor = false;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
@@ -147,27 +148,17 @@ namespace ErgometerApplication
{
if (richTextBox1.TextLength > 1)
{
- AddChatItem(richTextBox1.Text, Helper.MillisecondsToTime(Helper.Now), false);
+ AddChatItem(new ChatMessage("Anon", richTextBox1.Text, false));
MainClient.SendNetCommand(new NetCommand(richTextBox1.Text, MainClient.Session));
richTextBox1.ResetText();
}
}
- public void AddChatItem(string text)
+ public void AddChatItem(ChatMessage chat)
{
- flowLayoutPanel1.Controls.Add(new ChatItem(text, Helper.MillisecondsToTime(Helper.Now), true));
+ flowLayoutPanel1.Controls.Add(new ChatItem(chat));
}
- public void AddChatItem(string text, bool isDoctor)
- {
- flowLayoutPanel1.Controls.Add(new ChatItem(text, Helper.MillisecondsToTime(Helper.Now), isDoctor));
- }
-
- public void AddChatItem(string text, string time, bool isDoctor)
- {
- flowLayoutPanel1.Controls.Add(new ChatItem(text,time,isDoctor));
- }
-
private void panel3_MouseWheel(object sender, MouseEventArgs e)
{
panel3.Focus();
@@ -201,10 +192,11 @@ namespace ErgometerApplication
if (e.KeyCode == Keys.Enter)
{
button1_Click(this, new EventArgs());
+ e.Handled = true;
}
}
- public delegate void ChatDelegate(string text, string time, bool isDoctor);
+ public delegate void ChatDelegate(ChatMessage chat);
public ChatDelegate passChatMessage;
}
}
diff --git a/ErgometerApplication/ErgometerApplication/PanelClientContainer.cs b/ErgometerApplication/ErgometerApplication/PanelClientContainer.cs
index f2e40ef..1595464 100644
--- a/ErgometerApplication/ErgometerApplication/PanelClientContainer.cs
+++ b/ErgometerApplication/ErgometerApplication/PanelClientContainer.cs
@@ -11,7 +11,7 @@ namespace ErgometerApplication
{
public PanelClientChat panelClientChat;
- private PanelGraphView panelGraphView;
+ public PanelGraphView panelGraphView;
public PanelClientContainer() : base()
{
diff --git a/ErgometerApplication/ErgometerApplication/bin/Debug/ErgometerLibrary.dll b/ErgometerApplication/ErgometerApplication/bin/Debug/ErgometerLibrary.dll
index 68219db..eacc8eb 100644
Binary files a/ErgometerApplication/ErgometerApplication/bin/Debug/ErgometerLibrary.dll and b/ErgometerApplication/ErgometerApplication/bin/Debug/ErgometerLibrary.dll differ