mirror of
https://github.com/jwetzell/qController.git
synced 2026-08-16 21:03:35 +00:00
Start work on Group Cue children loading
This commit is contained in:
@@ -23,6 +23,7 @@ namespace qController
|
||||
qController.qClient.qParser.PlaybackPositionUpdated += PlaybackPositionUpdated;
|
||||
qController.qClient.qParser.CueInfoUpdated += OnCueUpdateReceived;
|
||||
qController.qClient.qParser.ConnectionStatusChanged += OnConnectionStatusChanged;
|
||||
qController.qClient.qParser.ChildrenUpdated += OnChildrenUpdated;
|
||||
instanceName.Text = name;
|
||||
App.rootPage.MenuItemSelected += OnMenuItemSelected;
|
||||
qController.Connect();
|
||||
@@ -30,6 +31,30 @@ namespace qController
|
||||
|
||||
}
|
||||
|
||||
private void OnChildrenUpdated(object source, ChildrenEventArgs args)
|
||||
{
|
||||
Console.WriteLine("Children Updated in ControlPage: " + args.cue_id);
|
||||
qController.qWorkspace.UpdateChildren(args.cue_id, args.children);
|
||||
if (qController.qWorkspace.ChildrenPopulated())
|
||||
{
|
||||
Device.BeginInvokeOnMainThread(() =>
|
||||
{
|
||||
if (App.MenuIsPresented)
|
||||
{
|
||||
//App.MenuIsPresented = false;
|
||||
App.rootPage.MenuPage.ChangeToWorkspace(qController.qWorkspace);
|
||||
//App.MenuIsPresented = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
App.rootPage.MenuPage.ChangeToWorkspace(qController.qWorkspace);
|
||||
|
||||
}
|
||||
});
|
||||
qController.qClient.UpdateSelectedCue();
|
||||
}
|
||||
}
|
||||
|
||||
private void OnConnectionStatusChanged(object source, ConnectEventArgs args)
|
||||
{
|
||||
if (args.Status == "ok")
|
||||
@@ -149,7 +174,6 @@ namespace qController
|
||||
|
||||
sLayout.Children.Add(mainG);
|
||||
|
||||
|
||||
}
|
||||
|
||||
void sendOSC(object sender, EventArgs e)
|
||||
@@ -193,6 +217,7 @@ namespace qController
|
||||
|
||||
App.rootPage.MenuPage.ChangeToWorkspace(e.UpdatedWorkspace);
|
||||
qController.qWorkspace = e.UpdatedWorkspace;
|
||||
//qController.RefreshGroupCues();
|
||||
Console.WriteLine("Workspace updated in ControlPage: " + qController.qWorkspace.workspace_id);
|
||||
}
|
||||
}
|
||||
@@ -206,15 +231,9 @@ namespace qController
|
||||
{
|
||||
Device.BeginInvokeOnMainThread(() => {
|
||||
if (cue.type.Equals("Audio"))
|
||||
{
|
||||
//Console.WriteLine("CUE IS AN AUDIO CUE");
|
||||
sLayout.Children.Add(qSelectedCueOptions);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Console.WriteLine("CUE IS NOT AN AUDIO CUE");
|
||||
sLayout.Children.Remove(qSelectedCueOptions);
|
||||
}
|
||||
qCell.UpdateSelectedCue(cue);
|
||||
});
|
||||
}
|
||||
@@ -230,15 +249,9 @@ namespace qController
|
||||
Device.BeginInvokeOnMainThread(() =>
|
||||
{
|
||||
if (args.Cue.type.Equals("Audio"))
|
||||
{
|
||||
//Console.WriteLine("CUE IS AN AUDIO CUE");
|
||||
sLayout.Children.Add(qSelectedCueOptions);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Console.WriteLine("CUE IS NOT AN AUDIO CUE");
|
||||
sLayout.Children.Remove(qSelectedCueOptions);
|
||||
}
|
||||
qCell.UpdateSelectedCue(args.Cue);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ namespace qController
|
||||
|
||||
public ListView listView;
|
||||
public ObservableCollection<MenuPageItem> items;
|
||||
int subLevel = 0;
|
||||
public MenuPage()
|
||||
{
|
||||
Title = "Menu";
|
||||
@@ -88,29 +89,55 @@ namespace qController
|
||||
});
|
||||
foreach (var cue in cueList.cues)
|
||||
{
|
||||
var cueIcon = cue.getIconString();
|
||||
var cueTitle = "";
|
||||
|
||||
if(cue.number != "")
|
||||
{
|
||||
cueTitle = "\t" + cue.number + " - " + cue.listName;
|
||||
}
|
||||
else
|
||||
{
|
||||
cueTitle = "\t" + cue.listName;
|
||||
}
|
||||
|
||||
items.Add(new MenuPageItem
|
||||
{
|
||||
Title = cueTitle,
|
||||
Icon = cueIcon,
|
||||
Command = "/select_id/" + cue.uniqueID
|
||||
});
|
||||
AddSubCues(cue, 0);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void AddSubCues(QCue cue, int level)
|
||||
{
|
||||
var cueIcon = cue.getIconString();
|
||||
var cueTitle = "";
|
||||
for (int i = 0; i < level; i++)
|
||||
{
|
||||
cueTitle += " ";
|
||||
}
|
||||
if (cue.number != "")
|
||||
{
|
||||
cueTitle += cue.number + " - " + cue.listName;
|
||||
}
|
||||
else
|
||||
{
|
||||
cueTitle += cue.listName;
|
||||
}
|
||||
|
||||
if (cue.cues != null )
|
||||
{
|
||||
items.Add(new MenuPageItem
|
||||
{
|
||||
Title = cueTitle,
|
||||
Icon = cueIcon,
|
||||
Command = "/select_id/" + cue.uniqueID
|
||||
});
|
||||
|
||||
//uncomment to load nested group cues
|
||||
/*foreach (var sub_cue in cue.cues)
|
||||
{
|
||||
AddSubCues(sub_cue,level + 1);
|
||||
}*/
|
||||
}
|
||||
else
|
||||
{
|
||||
items.Add(new MenuPageItem
|
||||
{
|
||||
Title = cueTitle,
|
||||
Icon = cueIcon,
|
||||
Command = "/select_id/" + cue.uniqueID
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangeToHome()
|
||||
{
|
||||
items.Clear();
|
||||
|
||||
@@ -55,7 +55,10 @@ namespace qController
|
||||
case Device.iOS:
|
||||
menuButton.Margin = new Thickness(20, 35, 20, 10);
|
||||
break;
|
||||
|
||||
case Device.Android:
|
||||
topBar.HeightRequest = 50;
|
||||
menuButton.Margin = new Thickness(20, 10, 20, 10);
|
||||
break;
|
||||
}
|
||||
|
||||
menuButton.Text = "\uF0C9";
|
||||
|
||||
Reference in New Issue
Block a user