mirror of
https://github.com/jwetzell/QControlKit.git
synced 2026-08-15 04:13:46 +00:00
TCP Work, Log cleanup, Message parsing
This commit is contained in:
@@ -5,6 +5,8 @@ using System.Linq;
|
||||
using Foundation;
|
||||
using UIKit;
|
||||
using Serilog;
|
||||
using Serilog.Events;
|
||||
|
||||
namespace QControlKitXamDemo.iOS
|
||||
{
|
||||
// The UIApplicationDelegate for the application. This class is responsible for launching the
|
||||
@@ -23,7 +25,7 @@ namespace QControlKitXamDemo.iOS
|
||||
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
|
||||
{
|
||||
global::Xamarin.Forms.Forms.Init();
|
||||
Log.Logger = new LoggerConfiguration().WriteTo.NSLog().MinimumLevel.Verbose().CreateLogger();
|
||||
Log.Logger = new LoggerConfiguration().WriteTo.NSLog(outputTemplate: "[{Level}] ({SourceContext}) {Message}{NewLine}{Exception}").MinimumLevel.Verbose().CreateLogger();
|
||||
LoadApplication(new App());
|
||||
|
||||
return base.FinishedLaunching(app, options);
|
||||
|
||||
@@ -7,6 +7,7 @@ using Xamarin.Forms;
|
||||
|
||||
using QControlKit.Events;
|
||||
using QControlKit.Constants;
|
||||
using Serilog;
|
||||
|
||||
namespace QControlKitXamDemo
|
||||
{
|
||||
@@ -64,6 +65,18 @@ namespace QControlKitXamDemo
|
||||
});
|
||||
}
|
||||
|
||||
void updateCuePropertes(QCue cue)
|
||||
{
|
||||
cue.workspace.fetchDefaultPropertiesForCue(cue);
|
||||
if (cue.cues.Count > 0)
|
||||
{
|
||||
foreach (QCue childCue in cue.cues)
|
||||
{
|
||||
childCue.workspace.fetchDefaultPropertiesForCue(childCue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Workspace_WorkspaceUpdated(object source, QWorkspaceUpdatedArgs args)
|
||||
{
|
||||
if(connectedWorkspace.cueLists.Count > 0)
|
||||
@@ -71,6 +84,7 @@ namespace QControlKitXamDemo
|
||||
List<Task> cueAddTasks = new List<Task>();
|
||||
foreach(var aCue in connectedWorkspace.cueLists)
|
||||
{
|
||||
updateCuePropertes(aCue);
|
||||
Grid cueGrid = cueToGrid(aCue);
|
||||
cueGridDict.Add(aCue.uid, cueGrid);
|
||||
MainThread.InvokeOnMainThreadAsync(() =>
|
||||
@@ -95,7 +109,7 @@ namespace QControlKitXamDemo
|
||||
HorizontalOptions = LayoutOptions.StartAndExpand,
|
||||
VerticalTextAlignment = TextAlignment.Center,
|
||||
};
|
||||
cueLabel.SetBinding(Label.TextProperty, "status", BindingMode.OneWay);
|
||||
cueLabel.SetBinding(Label.TextProperty, "name", BindingMode.OneWay);
|
||||
var cueBackground = new Frame
|
||||
{
|
||||
BindingContext = qCueViewModel,
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace QControlKitXamDemo
|
||||
|
||||
qBrowserViewModel.autoUpdate = false;
|
||||
QWorkspace selectedWorkspace = (e.SelectedItem as QWorkspaceViewModel).workspace;
|
||||
Log.Debug($"[demo] workspace: {selectedWorkspace.nameWithoutPathExtension} has been selected");
|
||||
Log.Debug($"workspace: {selectedWorkspace.nameWithoutPathExtension} has been selected");
|
||||
((ListView)sender).SelectedItem = null;
|
||||
|
||||
if (selectedWorkspace.hasPasscode)
|
||||
|
||||
@@ -13,11 +13,15 @@ namespace QControlKitXamDemo.ViewModels
|
||||
{
|
||||
public class QBrowserViewModel : INotifyPropertyChanged
|
||||
{
|
||||
private ILogger _log = Log.Logger.ForContext<QBrowserViewModel>();
|
||||
|
||||
QBrowser browser;
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
public bool autoUpdate = false;
|
||||
public ObservableCollection<QServerViewModel> ServersGrouped { get; set; }
|
||||
|
||||
bool connected = false;
|
||||
public QBrowserViewModel(QBrowser browser)
|
||||
{
|
||||
this.browser = browser;
|
||||
@@ -31,9 +35,10 @@ namespace QControlKitXamDemo.ViewModels
|
||||
{
|
||||
if (autoUpdate)
|
||||
{
|
||||
_log.Verbose($"Auto Update is enabled running probe");
|
||||
Device.BeginInvokeOnMainThread(() =>
|
||||
{
|
||||
Log.Debug("[QBrowserViewModel] QBrowser probe triggered");
|
||||
_log.Debug("QBrowser probe triggered");
|
||||
this.browser.ProbeForQLabInstances();
|
||||
});
|
||||
}
|
||||
@@ -47,7 +52,7 @@ namespace QControlKitXamDemo.ViewModels
|
||||
{
|
||||
Device.BeginInvokeOnMainThread(() =>
|
||||
{
|
||||
Log.Debug($"[QBrowserViewModel] adding server: {args.server.description}");
|
||||
_log.Debug($"adding server: {args.server.description}");
|
||||
ServersGrouped.Add(new QServerViewModel(args.server));
|
||||
});
|
||||
}
|
||||
@@ -70,7 +75,7 @@ namespace QControlKitXamDemo.ViewModels
|
||||
{
|
||||
Device.BeginInvokeOnMainThread(() =>
|
||||
{
|
||||
Log.Debug($"[QBrowserViewModel] removing server: {args.server.description}");
|
||||
_log.Debug($"removing server: {args.server.description}");
|
||||
ServersGrouped.Remove(serverToRemove);
|
||||
});
|
||||
}
|
||||
@@ -85,7 +90,7 @@ namespace QControlKitXamDemo.ViewModels
|
||||
{
|
||||
if (!autoUpdate)
|
||||
{
|
||||
Log.Debug("[QBrowserViewModel] Manual Scan Initiated");
|
||||
_log.Debug("Manual Scan Initiated");
|
||||
browser.ProbeForQLabInstances();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,8 @@ namespace QControlKitXamDemo.ViewModels
|
||||
{
|
||||
public class QCueViewModel : INotifyPropertyChanged
|
||||
{
|
||||
private ILogger _log = Log.Logger.ForContext<QCueViewModel>();
|
||||
|
||||
QCue cue;
|
||||
bool isSelected = false;
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
@@ -18,16 +20,20 @@ namespace QControlKitXamDemo.ViewModels
|
||||
public QCueViewModel(QCue cue, bool checkPlayback)
|
||||
{
|
||||
this.cue = cue;
|
||||
if(checkPlayback)
|
||||
if (checkPlayback)
|
||||
{
|
||||
this.cue.workspace.CueListChangedPlaybackPosition += Workspace_CueListChangedPlaybackPosition;
|
||||
}
|
||||
this.cue.CuePropertiesUpdated += OnCuePropertiesUpdated;
|
||||
}
|
||||
|
||||
private void OnCuePropertiesUpdated(object source, QCuePropertiesUpdatedArgs args)
|
||||
{
|
||||
foreach(var property in args.properties)
|
||||
_log.Debug($"properties updated from cue");
|
||||
|
||||
foreach (var property in args.properties)
|
||||
{
|
||||
Log.Debug($"[cueviewmodel] property <{property}> has been updated for cue {name}.");
|
||||
_log.Debug($"property <{property}> has been updated for cue {name}.");
|
||||
if (property.Equals(QOSCKey.Name) || property.Equals(QOSCKey.ListName))
|
||||
{
|
||||
OnPropertyChanged("name");
|
||||
|
||||
@@ -5,11 +5,14 @@ using Xamarin.Forms;
|
||||
|
||||
using QControlKit;
|
||||
using QControlKit.Events;
|
||||
using Serilog;
|
||||
|
||||
namespace QControlKitXamDemo.ViewModels
|
||||
{
|
||||
public class QServerViewModel : ObservableCollection<QWorkspaceViewModel>, INotifyPropertyChanged
|
||||
{
|
||||
private ILogger _log = Log.Logger.ForContext<QServerViewModel>();
|
||||
|
||||
QServer server;
|
||||
public new event PropertyChangedEventHandler PropertyChanged;
|
||||
public string name
|
||||
|
||||
Reference in New Issue
Block a user