mirror of
https://github.com/jwetzell/qController.git
synced 2026-08-14 20:03:58 +00:00
153 lines
5.7 KiB
C#
153 lines
5.7 KiB
C#
using System;
|
|
using Xamarin.Forms;
|
|
|
|
namespace qController
|
|
{
|
|
public class QSelectedCueCell : Frame
|
|
{
|
|
Label name;
|
|
Label number;
|
|
Label type;
|
|
Label notes;
|
|
public QCue activeCue;
|
|
public QSelectedCueCell()
|
|
{
|
|
Padding = new Thickness(5);
|
|
CornerRadius = 20;
|
|
BackgroundColor = Color.FromHex("D8D8D8");
|
|
HeightRequest = App.HeightUnit * 25;
|
|
Grid mainG = new Grid
|
|
{
|
|
Padding = new Thickness(0),
|
|
RowDefinitions =
|
|
{
|
|
new RowDefinition{Height = GridLength.Star},
|
|
new RowDefinition{Height = new GridLength(2, GridUnitType.Star)}
|
|
},
|
|
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 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 = new GridLength(1,GridUnitType.Star)},
|
|
new RowDefinition{Height = new GridLength(2,GridUnitType.Star)}
|
|
},
|
|
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 = "",
|
|
FontAttributes = FontAttributes.Bold,
|
|
FontSize = App.HeightUnit * 5
|
|
};
|
|
|
|
name = new Label {
|
|
Text = "Loading Workspace....",
|
|
FontAttributes = FontAttributes.Bold,
|
|
HorizontalTextAlignment = TextAlignment.Center,
|
|
FontSize = App.HeightUnit * 3.5,
|
|
Margin = new Thickness(0)
|
|
};
|
|
|
|
type = new Label {
|
|
Text = QIcon.SPIN3,
|
|
FontFamily = App.QFont,
|
|
VerticalTextAlignment = TextAlignment.Center,
|
|
HorizontalTextAlignment = TextAlignment.End,
|
|
FontSize = App.HeightUnit * 5
|
|
};
|
|
|
|
notes = new Label {
|
|
Text = "Loading Cue Lists and Playhead Position",
|
|
HorizontalTextAlignment = TextAlignment.Center,
|
|
Margin = new Thickness(0,0,0,10)
|
|
};
|
|
notes.VerticalOptions = LayoutOptions.FillAndExpand;
|
|
notes.HorizontalOptions = LayoutOptions.FillAndExpand;
|
|
|
|
|
|
notes.BackgroundColor = Color.FromHex("FF0000");
|
|
number.BackgroundColor = Color.Red;
|
|
name.BackgroundColor = Color.Red;
|
|
type.BackgroundColor = Color.Red;
|
|
|
|
var notesDoubleTap = new TapGestureRecognizer();
|
|
notesDoubleTap.NumberOfTapsRequired = 2;
|
|
notesDoubleTap.Tapped += (s, e) =>
|
|
{
|
|
Console.WriteLine("Notes double tapped");
|
|
};
|
|
|
|
number.GestureRecognizers.Add(notesDoubleTap);
|
|
type.GestureRecognizers.Add(notesDoubleTap);
|
|
name.GestureRecognizers.Add(notesDoubleTap);
|
|
notes.GestureRecognizers.Add(notesDoubleTap);
|
|
|
|
topGrid.Children.Add(number, 0, 0);
|
|
topGrid.Children.Add(type, 4, 0);
|
|
Grid.SetColumnSpan(number, 3);
|
|
Grid.SetColumnSpan(type, 1);
|
|
|
|
bottomGrid.Children.Add(name, 0, 0);
|
|
bottomGrid.Children.Add(notes, 0, 1);
|
|
Grid.SetColumnSpan(name, 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);
|
|
|
|
topGrid.BackgroundColor = Color.FromHex("00FF00");
|
|
bottomGrid.BackgroundColor = Color.FromHex("00FF00");
|
|
Margin = new Thickness(10);
|
|
Content = mainG;
|
|
}
|
|
|
|
public void UpdateSelectedCue(QCue cue)
|
|
{
|
|
activeCue = cue;
|
|
name.Text = cue.listName;
|
|
number.Text = cue.number;
|
|
type.Text = cue.getIconString();
|
|
notes.Text = cue.notes;
|
|
if(notes.Text == ""){
|
|
notes.Text = " ";
|
|
}
|
|
}
|
|
}
|
|
}
|