add checkboxes to enable/disable objectives
This commit is contained in:
parent
7f6311b888
commit
ae7495632e
@ -197,6 +197,10 @@ namespace EliteBGS.BGS {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!objective.IsEnabled) {
|
||||
continue;
|
||||
}
|
||||
|
||||
log.AppendFormat("**Date:** {0}\n", FormatDate());
|
||||
log.AppendFormat("**Location:** {0}\n", objective.ToShortString());
|
||||
log.AppendFormat("**Faction:** {0}\n", objective.Faction);
|
||||
|
@ -32,5 +32,7 @@ namespace EliteBGS.BGS {
|
||||
public virtual int CompareTo(LogEntry other) {
|
||||
throw new NotImplementedException("not implemented");
|
||||
}
|
||||
|
||||
public string Name => this.ToString();
|
||||
}
|
||||
}
|
||||
|
@ -196,6 +196,10 @@ namespace EliteBGS.BGS {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!objective.IsEnabled) {
|
||||
continue;
|
||||
}
|
||||
|
||||
log.AppendFormat(":globe_with_meridians: `Location:` {0}\n", objective.ToShortString());
|
||||
log.Append(":clipboard: `Conducted:`\n");
|
||||
log.Append("```\n");
|
||||
|
@ -11,11 +11,26 @@ namespace EliteBGS.BGS {
|
||||
|
||||
private List<LogEntry> entries = new List<LogEntry>();
|
||||
|
||||
[JsonIgnore]
|
||||
public bool IsEnabled { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
public List<LogEntry> Children {
|
||||
get => entries;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public string Name => this.ToString();
|
||||
|
||||
[JsonIgnore]
|
||||
public bool IsExpanded { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
public List<LogEntry> LogEntries {
|
||||
get => entries;
|
||||
set => entries = value;
|
||||
}
|
||||
|
||||
public void Clear() {
|
||||
if (entries == null) {
|
||||
return;
|
||||
@ -23,6 +38,8 @@ namespace EliteBGS.BGS {
|
||||
entries.RemoveAll(x => !x.ManuallyAdded);
|
||||
}
|
||||
|
||||
public bool ManuallyAdded { get; set; }
|
||||
|
||||
public int Matches(LogEntry e) {
|
||||
int match_count = 0;
|
||||
|
||||
|
@ -48,7 +48,26 @@
|
||||
<Label Content="To:" Height="26.2857142857143" VerticalAlignment="Top"/>
|
||||
<DatePicker x:Name="enddate" Height="26.2857142857143" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
</ToolBar>
|
||||
<TreeView x:Name="entries" Margin="0,0,0,0" Grid.ColumnSpan="3" Grid.Row="2" KeyUp="entries_KeyUp"/>
|
||||
<TreeView x:Name="entries" Margin="0,0,0,0" Grid.ColumnSpan="3" Grid.Row="2" KeyUp="entries_KeyUp">
|
||||
<TreeView.ItemTemplate>
|
||||
<HierarchicalDataTemplate DataType="{x:Type BGS:Objective}" ItemsSource="{Binding Children}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<CheckBox Focusable="False" IsChecked="{Binding IsEnabled}" VerticalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding Name}" Margin="5,0" />
|
||||
</StackPanel>
|
||||
<HierarchicalDataTemplate.ItemTemplate>
|
||||
<HierarchicalDataTemplate>
|
||||
<TextBlock Text="{Binding Name}"/>
|
||||
</HierarchicalDataTemplate>
|
||||
</HierarchicalDataTemplate.ItemTemplate>
|
||||
</HierarchicalDataTemplate>
|
||||
</TreeView.ItemTemplate>
|
||||
<TreeView.ItemContainerStyle>
|
||||
<Style TargetType="TreeViewItem">
|
||||
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
|
||||
</Style>
|
||||
</TreeView.ItemContainerStyle>
|
||||
</TreeView>
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="Discord Report">
|
||||
|
@ -107,22 +107,10 @@ namespace EliteBGS {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (var obj in report.Objectives) {
|
||||
var item_objective = new TreeViewItem {
|
||||
Header = obj.ToString(),
|
||||
Tag = obj
|
||||
};
|
||||
|
||||
foreach (var log in obj.LogEntries) {
|
||||
var log_objective = new TreeViewItem {
|
||||
Header = log.ToString(),
|
||||
Tag = log
|
||||
};
|
||||
item_objective.Items.Add(log_objective);
|
||||
}
|
||||
|
||||
item_objective.IsExpanded = true;
|
||||
entries.Items.Add(item_objective);
|
||||
foreach (Objective obj in report.Objectives) {
|
||||
entries.Items.Add(obj);
|
||||
obj.IsExpanded = obj.ManuallyAdded;
|
||||
obj.IsEnabled = obj.ManuallyAdded;
|
||||
}
|
||||
}
|
||||
|
||||
@ -144,7 +132,8 @@ namespace EliteBGS {
|
||||
Objective objective = new Objective {
|
||||
System = system.Text,
|
||||
Faction = faction.Text,
|
||||
Station = station.Text
|
||||
Station = station.Text,
|
||||
ManuallyAdded = true,
|
||||
};
|
||||
|
||||
if (!objective.IsValid) {
|
||||
@ -179,16 +168,18 @@ namespace EliteBGS {
|
||||
return;
|
||||
}
|
||||
|
||||
TreeViewItem item = entries.SelectedItem as TreeViewItem;
|
||||
var obj = item.Tag;
|
||||
object obj = entries.SelectedItem;
|
||||
bool removed = false;
|
||||
|
||||
if (obj.GetType() == typeof(Objective)) {
|
||||
removed = report.Objectives.Remove(obj as Objective);
|
||||
} else if (obj.GetType() == typeof(LogEntry) ||
|
||||
obj.GetType().IsSubclassOf(typeof(LogEntry))) {
|
||||
var parent = (item.Parent as TreeViewItem).Tag as Objective;
|
||||
removed = parent.LogEntries.Remove(obj as LogEntry);
|
||||
foreach (Objective parent in report.Objectives) {
|
||||
if (parent.LogEntries.Remove(obj as LogEntry)) {
|
||||
removed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (removed) {
|
||||
|
Loading…
Reference in New Issue
Block a user