Adjust UI

This commit is contained in:
2019-04-05 14:57:46 -05:00
parent 6bc1c3b15c
commit b02e2ef4bc
10 changed files with 118 additions and 56 deletions
@@ -18,12 +18,13 @@ namespace qController
Grid mainG = new Grid Grid mainG = new Grid
{ {
Padding = new Thickness(0), Padding = new Thickness(0),
RowDefinitions = { RowDefinitions =
new RowDefinition{Height = GridLength.Auto}, {
new RowDefinition{Height = GridLength.Auto}, new RowDefinition{Height = GridLength.Auto},
new RowDefinition{Height = GridLength.Auto} new RowDefinition{Height = GridLength.Auto}
}, },
ColumnDefinitions = { ColumnDefinitions =
{
new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)}, new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)},
new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)}, new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)},
new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)}, new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)},
@@ -31,6 +32,40 @@ namespace qController
new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)} new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)}
} }
}; };
Grid topGrid = new Grid
{
Padding = new Thickness(0),
RowDefinitions =
{
new RowDefinition{Height = GridLength.Auto}
},
ColumnDefinitions =
{
new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)},
new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)},
new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)},
new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)},
new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)}
}
};
Grid bottomGrid = new Grid
{
Padding = new Thickness(0),
RowDefinitions =
{
new RowDefinition{Height = GridLength.Auto},
new RowDefinition{Height = GridLength.Auto}
},
ColumnDefinitions =
{
new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)},
new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)},
new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)},
new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)},
new ColumnDefinition{Width = new GridLength(1,GridUnitType.Star)}
}
};
number = new Label { Text = "N/A"}; number = new Label { Text = "N/A"};
number.FontAttributes = FontAttributes.Bold; number.FontAttributes = FontAttributes.Bold;
number.FontSize = 30; number.FontSize = 30;
@@ -46,20 +81,28 @@ namespace qController
type = new Label { Text = "N/A" }; type = new Label { Text = "N/A" };
type.FontAttributes = FontAttributes.Bold; type.FontAttributes = FontAttributes.Bold;
type.VerticalTextAlignment = TextAlignment.Center; type.VerticalTextAlignment = TextAlignment.Center;
type.HorizontalTextAlignment = TextAlignment.Center; type.HorizontalTextAlignment = TextAlignment.End;
type.Margin = new Thickness(5); type.Margin = new Thickness(5);
notes = new Label { Text = "Viewing Notes Currently Unavailable" }; notes = new Label { Text = "Viewing Notes Currently Unavailable" };
notes.HorizontalTextAlignment = TextAlignment.Center; notes.HorizontalTextAlignment = TextAlignment.Center;
notes.Margin = new Thickness(0, 0, 0, 10); notes.Margin = new Thickness(0, 0, 0, 10);
mainG.Children.Add(number, 0, 0); topGrid.Children.Add(number, 0, 0);
mainG.Children.Add(type, 4, 0); topGrid.Children.Add(type, 4, 0);
mainG.Children.Add(name, 0, 1); Grid.SetColumnSpan(number, 2);
mainG.Children.Add(notes, 0, 2); Grid.SetColumnSpan(type, 3);
bottomGrid.Children.Add(name, 0, 0);
bottomGrid.Children.Add(notes, 0, 1);
Grid.SetColumnSpan(name, 5); Grid.SetColumnSpan(name, 5);
Grid.SetColumnSpan(notes,5); Grid.SetColumnSpan(notes,5);
mainG.Children.Add(topGrid, 0, 0);
Grid.SetColumnSpan(topGrid, 5);
mainG.Children.Add(bottomGrid, 0, 1);
Grid.SetColumnSpan(bottomGrid, 5);
Margin = new Thickness(10); Margin = new Thickness(10);
Content = mainG; Content = mainG;
@@ -32,7 +32,7 @@ namespace qController
Slider rightSlider; Slider rightSlider;
public QSelectedCueOptionsCell(QController qController) public QSelectedCueOptionsCell(QController qController)
{ {
qController.qParser.AudioLevelsUpdated += AudioLevelsUpdated; qController.qClient.qParser.AudioLevelsUpdated += AudioLevelsUpdated;
Padding = new Thickness(5); Padding = new Thickness(5);
CornerRadius = 20; CornerRadius = 20;
BackgroundColor = Color.FromHex("D8D8D8"); BackgroundColor = Color.FromHex("D8D8D8");
@@ -6,12 +6,19 @@ namespace qController
public class QClient public class QClient
{ {
TCPSender tcpSender; TCPSender tcpSender;
UDPSender udpSender; public QParser qParser;
public QClient(string address, int port) public QClient(string address, int port)
{ {
qParser = new QParser();
tcpSender = new TCPSender(address, port); tcpSender = new TCPSender(address, port);
udpSender = new UDPSender(address, port); tcpSender.MessageReceived += OnMessageReceived;
}
private void OnMessageReceived(object source, MessageEventArgs args)
{
qParser.ParseMessage(args.Message);
} }
public void sendString(string address) public void sendString(string address)
@@ -19,6 +26,11 @@ namespace qController
tcpSender.Send(new OscMessage(address)); tcpSender.Send(new OscMessage(address));
} }
public void sendArgs(string address, object args)
{
tcpSender.Send(new OscMessage(address, args));
}
public OscMessage sendAndReceiveString(string address) public OscMessage sendAndReceiveString(string address)
{ {
return tcpSender.SendAndReceive(new OscMessage(address)); return tcpSender.SendAndReceive(new OscMessage(address));
@@ -29,17 +41,7 @@ namespace qController
return tcpSender.SendAndReceive(new OscMessage(address, args)); return tcpSender.SendAndReceive(new OscMessage(address, args));
} }
public void sendStringUDP(string address)
{
udpSender.Send(new OscMessage(address));
}
public void sendArgs(string address, object args)
{
tcpSender.Send(new OscMessage(address, args));
}
public void sendArgsUDP(string address, object args)
{
udpSender.Send(new OscMessage(address, args));
}
} }
} }
@@ -9,7 +9,6 @@ namespace qController
{ {
QUpdater qUpdater; QUpdater qUpdater;
public QParser qParser;
QCue selectedCue; QCue selectedCue;
public QClient qClient; public QClient qClient;
QWorkSpace qWorkspace; QWorkSpace qWorkspace;
@@ -17,12 +16,12 @@ namespace qController
{ {
qClient = new QClient(address, port); qClient = new QClient(address, port);
qParser = new QParser();
qUpdater = new QUpdater(this); qUpdater = new QUpdater(this);
qUpdater.Start(); qUpdater.Start();
qParser.SelectedCueUpdated += this.OnSelectedCueUpdated; qClient.qParser.SelectedCueUpdated += this.OnSelectedCueUpdated;
qParser.WorkspaceUpdated += this.OnWorkspaceUpdated; qClient.qParser.WorkspaceUpdated += this.OnWorkspaceUpdated;
} }
@@ -31,10 +30,6 @@ namespace qController
qClient.sendString(cmd); qClient.sendString(cmd);
} }
public void sendCommandUDP(string cmd)
{
qClient.sendStringUDP(cmd);
}
public void updateCueValue(QCue cue, string property, object newValue){ public void updateCueValue(QCue cue, string property, object newValue){
// qSender.sendArgs("/cue_id/"+cue.uniqueID+"/"+property, newValue); // qSender.sendArgs("/cue_id/"+cue.uniqueID+"/"+property, newValue);
} }
@@ -46,16 +46,20 @@ namespace qController
public event WorkspaceUpdatedHandler WorkspaceUpdated; public event WorkspaceUpdatedHandler WorkspaceUpdated;
public void ParseMessage(OscMessage msg){ public void ParseMessage(OscMessage msg){
if (msg.Address.Contains("selectedCues")) if (!msg.Address.Contains("null"))
ParseSelectedCueInfo(msg); {
else if (msg.Address.Contains("notes")) if (msg.Address.Contains("selectedCues"))
ParseNoteInfo(msg); ParseSelectedCueInfo(msg);
else if (msg.Address.Contains("levels")) else if (msg.Address.Contains("notes"))
ParseLevelInfo(msg); ParseNoteInfo(msg);
else if (msg.Address.Contains("cueLists")) else if (msg.Address.Contains("levels"))
ParseWorkspaceInfo(msg); ParseLevelInfo(msg);
else else if (msg.Address.Contains("cueLists"))
Console.WriteLine(msg.Address); ParseWorkspaceInfo(msg);
else
Console.WriteLine(msg.Address);
}
} }
public void ParseSelectedCueInfo(OscMessage msg){ public void ParseSelectedCueInfo(OscMessage msg){
JArray selectedCues = (JArray)OSC2JSON(msg); JArray selectedCues = (JArray)OSC2JSON(msg);
@@ -7,29 +7,26 @@ namespace qController
public class QSender public class QSender
{ {
TCPSender tcpSender; TCPSender tcpSender;
UDPSender udpSender;
public QSender(string address, int port) public QSender(string address, int port)
{ {
tcpSender = new TCPSender(address, port); tcpSender = new TCPSender(address, port);
udpSender = new UDPSender(address, port); tcpSender.MessageReceived += OnMessageReceived;
} }
void OnMessageReceived(object source, MessageEventArgs args)
{
Console.WriteLine("New Message Received");
}
public void sendString(string address) { public void sendString(string address) {
tcpSender.Send(new OscMessage(address)); tcpSender.Send(new OscMessage(address));
} }
public void sendStringUDP(string address)
{
udpSender.Send(new OscMessage(address));
}
public void sendArgs(string address, object args){ public void sendArgs(string address, object args){
tcpSender.Send(new OscMessage(address, args)); tcpSender.Send(new OscMessage(address, args));
} }
public void sendArgsUDP(string address, object args)
{
udpSender.Send(new OscMessage(address, args));
}
} }
} }
@@ -25,11 +25,11 @@ namespace qController
public void UpdateSelected() public void UpdateSelected()
{ {
qController.qParser.ParseMessage(qController.qClient.sendAndReceiveString("/selectedCues")); qController.qClient.sendAndReceiveString("/selectedCues");
} }
public void UpdateLevels() public void UpdateLevels()
{ {
qController.qParser.ParseMessage(qController.qClient.sendAndReceiveString("/cue/selected/levels")); qController.qClient.sendAndReceiveString("/cue/selected/levels");
} }
public void Kill(){ public void Kill(){
@@ -7,6 +7,15 @@ using System.Threading;
namespace SharpOSC namespace SharpOSC
{ {
public class MessageEventArgs : EventArgs
{
public OscMessage Message
{
get;
set;
}
}
public class TCPSender public class TCPSender
{ {
public int Port public int Port
@@ -19,6 +28,9 @@ namespace SharpOSC
{ {
get { return _address; } get { return _address; }
} }
public delegate void MessageReceivedHandler(object source, MessageEventArgs args);
public event MessageReceivedHandler MessageReceived;
string _address; string _address;
TcpClient client; TcpClient client;
Thread receivingThread; Thread receivingThread;
@@ -88,6 +100,7 @@ namespace SharpOSC
{ {
byte[] data = packet.GetBytes(); byte[] data = packet.GetBytes();
OscMessage response = SendAndReceive(data); OscMessage response = SendAndReceive(data);
OnMessageReceived(response);
return response; return response;
} }
public void StartReceiving() public void StartReceiving()
@@ -135,5 +148,11 @@ namespace SharpOSC
receivingThread.Abort(); receivingThread.Abort();
client.Close(); client.Close();
} }
protected virtual void OnMessageReceived(OscMessage msg)
{
if (MessageReceived != null)
MessageReceived(this, new MessageEventArgs() { Message = msg });
}
} }
} }
@@ -17,10 +17,10 @@ namespace qController
InitializeComponent(); InitializeComponent();
qController = new QController(address, 53000); qController = new QController(address, 53000);
qController.qParser.SelectedCueUpdated += SelectedCueUpdated; qController.qClient.qParser.SelectedCueUpdated += SelectedCueUpdated;
qController.qParser.WorkspaceUpdated += WorkspaceUpdated; qController.qClient.qParser.WorkspaceUpdated += WorkspaceUpdated;
qController.qParser.ParseWorkspaceInfo(qController.qClient.sendAndReceiveString("/cueLists")); qController.qClient.sendAndReceiveString("/cueLists");
NavigationPage.SetHasNavigationBar(this, false); NavigationPage.SetHasNavigationBar(this, false);
instanceName.Text = name; instanceName.Text = name;
+2
View File
@@ -39,6 +39,8 @@
<Compile Remove="Classes\Communication\QReceiver.cs" /> <Compile Remove="Classes\Communication\QReceiver.cs" />
<Compile Remove="Classes\Communication\SharpOSC\UDPListener.cs" /> <Compile Remove="Classes\Communication\SharpOSC\UDPListener.cs" />
<Compile Remove="Classes\Communication\SharpOSC\UDPSender.cs" /> <Compile Remove="Classes\Communication\SharpOSC\UDPSender.cs" />
<Compile Remove="Classes\Communication\QSender.cs" />
<Compile Remove="Classes\Communication\QSender.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Update="App.xaml.cs"> <Compile Update="App.xaml.cs">