public void OpenAddingEventDialog() { var current = FirstOrDefault <IAddingEventPresenter>(o => o != null); if (current != null) { Activate(current); return; } var hourWidth = Convert.ToDouble(Application.Current.FindResource("BlockZoomingHourWidth")); Show <IAddingEventPresenter>(new Dictionary <string, object> { { "MeasureEventWidth", new Func <int, double>((len) => (len / 60d) * hourWidth * ZoomValue) }, { "GetSelectedAgents", new Func <bool?, IEnumerable>(GetSelectedAgent) }, { "AvailableTypes", _shiftDispatcherModel.GetAllEventTypes() }, { "OnActivateDelegate", new Action <IAddingEventPresenter>((p) => { p.EventStart = ClickTime.TurnToMultiplesOf5(); }) }, { "SupportTwoWayAdding", true }, { "Invoker", this }, { "EventStart", ClickTime }, { "WhenClosed", new Action <IAddingTermPresenter, Exception>((p, ex) => { //NoDialogOpened = true; }) }, { "RefreshDelegate", new Action <IEnumerable, bool>(AddingTermPresenterCallback) } }); }
/**<summary>Saves the settings to the config file.</summary>*/ public static bool Save() { try { XmlElement element; XmlDocument doc = new XmlDocument(); doc.AppendChild(doc.CreateXmlDeclaration("1.0", "UTF-8", null)); XmlElement midiPlayer = doc.CreateElement("TerrariaMidiPlayer"); doc.AppendChild(midiPlayer); XmlElement version = doc.CreateElement("Version"); version.AppendChild(doc.CreateTextNode(ConfigVersion.ToString())); midiPlayer.AppendChild(version); #region Settings XmlElement setting = doc.CreateElement("Settings"); midiPlayer.AppendChild(setting); element = doc.CreateElement("ExecutableName"); element.AppendChild(doc.CreateTextNode(ExecutableNames)); setting.AppendChild(element); element = doc.CreateElement("UseTime"); element.AppendChild(doc.CreateTextNode(UseTime.ToString())); setting.AppendChild(element); element = doc.CreateElement("ClickTime"); element.AppendChild(doc.CreateTextNode(ClickTime.ToString())); setting.AppendChild(element); element = doc.CreateElement("ChecksEnabled"); element.AppendChild(doc.CreateTextNode(ChecksEnabled.ToString())); setting.AppendChild(element); element = doc.CreateElement("CheckFrequency"); element.AppendChild(doc.CreateTextNode(CheckFrequency.ToString())); setting.AppendChild(element); element = doc.CreateElement("Mount"); element.AppendChild(doc.CreateTextNode(Mount.Name)); setting.AppendChild(element); element = doc.CreateElement("ProjectileAngle"); element.AppendChild(doc.CreateTextNode(ProjectileAngle.ToString())); setting.AppendChild(element); element = doc.CreateElement("ProjectileRange"); element.AppendChild(doc.CreateTextNode(ProjectileRange.ToString())); setting.AppendChild(element); element = doc.CreateElement("CloseNoFocus"); element.AppendChild(doc.CreateTextNode(CloseNoFocus.ToString())); setting.AppendChild(element); element = doc.CreateElement("PlaybackNoFocus"); element.AppendChild(doc.CreateTextNode(PlaybackNoFocus.ToString())); setting.AppendChild(element); element = doc.CreateElement("DisableMountWhenTalking"); element.AppendChild(doc.CreateTextNode(DisableMountWhenTalking.ToString())); setting.AppendChild(element); element = doc.CreateElement("UseTrackNames"); element.AppendChild(doc.CreateTextNode(UseTrackNames.ToString())); setting.AppendChild(element); element = doc.CreateElement("WrapPianoMode"); element.AppendChild(doc.CreateTextNode(WrapPianoMode.ToString())); setting.AppendChild(element); element = doc.CreateElement("SkipPianoMode"); element.AppendChild(doc.CreateTextNode(SkipPianoMode.ToString())); setting.AppendChild(element); #endregion //-------------------------------- #region Keybinds XmlElement keybinds = doc.CreateElement("Keybinds"); setting.AppendChild(keybinds); element = doc.CreateElement("Play"); element.AppendChild(doc.CreateTextNode(Keybinds.Play.ToString())); keybinds.AppendChild(element); element = doc.CreateElement("Pause"); element.AppendChild(doc.CreateTextNode(Keybinds.Pause.ToString())); keybinds.AppendChild(element); element = doc.CreateElement("Stop"); element.AppendChild(doc.CreateTextNode(Keybinds.Stop.ToString())); keybinds.AppendChild(element); element = doc.CreateElement("Close"); element.AppendChild(doc.CreateTextNode(Keybinds.Close.ToString())); keybinds.AppendChild(element); element = doc.CreateElement("Mount"); element.AppendChild(doc.CreateTextNode(Keybinds.Mount.ToString())); keybinds.AppendChild(element); #endregion //-------------------------------- #region Syncing XmlElement syncing = doc.CreateElement("Syncing"); setting.AppendChild(syncing); element = doc.CreateElement("SyncType"); element.AppendChild(doc.CreateTextNode(Syncing.SyncType.ToString())); syncing.AppendChild(element); element = doc.CreateElement("ClientIPAddress"); element.AppendChild(doc.CreateTextNode(Syncing.ClientIPAddress)); syncing.AppendChild(element); element = doc.CreateElement("ClientPort"); element.AppendChild(doc.CreateTextNode(Syncing.ClientPort.ToString())); syncing.AppendChild(element); element = doc.CreateElement("ClientUsername"); element.AppendChild(doc.CreateTextNode(Syncing.ClientUsername)); syncing.AppendChild(element); element = doc.CreateElement("ClientPassword"); element.AppendChild(doc.CreateTextNode(Syncing.ClientPassword)); syncing.AppendChild(element); element = doc.CreateElement("ClientTimeOffset"); element.AppendChild(doc.CreateTextNode(Syncing.ClientTimeOffset.ToString())); syncing.AppendChild(element); element = doc.CreateElement("HostPort"); element.AppendChild(doc.CreateTextNode(Syncing.HostPort.ToString())); syncing.AppendChild(element); element = doc.CreateElement("HostPassword"); element.AppendChild(doc.CreateTextNode(Syncing.HostPassword)); syncing.AppendChild(element); element = doc.CreateElement("HostWait"); element.AppendChild(doc.CreateTextNode(Syncing.HostWait.ToString())); syncing.AppendChild(element); #endregion //-------------------------------- #region Midis XmlElement midiList = doc.CreateElement("Midis"); midiPlayer.AppendChild(midiList); for (int i = 0; i < Midis.Count; i++) { Midi midi = Midis[i]; XmlElement midiElement = doc.CreateElement("Midi"); midiList.AppendChild(midiElement); if (midi == Midi) { midiElement.SetAttribute("Selected", true.ToString()); } element = doc.CreateElement("FilePath"); element.AppendChild(doc.CreateTextNode(midi.Path)); midiElement.AppendChild(element); if (midi.Name != "") { element = doc.CreateElement("Name"); element.AppendChild(doc.CreateTextNode(midi.Name)); midiElement.AppendChild(element); } if (midi.NoteOffset != 0) { element = doc.CreateElement("NoteOffset"); element.AppendChild(doc.CreateTextNode(midi.NoteOffset.ToString())); midiElement.AppendChild(element); } if (midi.Speed != 100) { element = doc.CreateElement("Speed"); element.AppendChild(doc.CreateTextNode(midi.Speed.ToString())); midiElement.AppendChild(element); } if (midi.Keybind != Keybind.None) { element = doc.CreateElement("Keybind"); element.AppendChild(doc.CreateTextNode(midi.Keybind.ToString())); midiElement.AppendChild(element); } XmlElement tracks = doc.CreateElement("Tracks"); midiElement.AppendChild(tracks); for (int j = 0; j < midi.TrackCount; j++) { Midi.TrackSettings trackSettings = midi.GetTrackSettingsAt(j); XmlElement track = doc.CreateElement("Track"); tracks.AppendChild(track); if (trackSettings.Name != "") { track.SetAttribute("Name", trackSettings.Name); } track.SetAttribute("Enabled", trackSettings.Enabled.ToString()); track.SetAttribute("OctaveOffset", trackSettings.OctaveOffset.ToString()); } } #endregion doc.Save(ConfigPath); } catch (Exception ex) { LastException = ex; return(false); } return(true); }
private void Awake() { Instance = this; }
public MainPage() { InitializeComponent(); List <ThingModel> thing = new List <ThingModel>() { new ThingModel() { Date = new DateTime(2017, 7, 10), IsDone = true }, new ThingModel() { Date = new DateTime(2017, 7, 11), IsDone = false }, new ThingModel() { Date = new DateTime(2017, 7, 12), IsDone = true }, new ThingModel() { Date = new DateTime(2017, 7, 13), IsDone = false }, new ThingModel() { Date = new DateTime(2017, 7, 14), IsDone = true }, new ThingModel() { Date = new DateTime(2017, 7, 15), IsDone = false }, new ThingModel() { Date = new DateTime(2017, 7, 16), IsDone = true }, new ThingModel() { Date = new DateTime(2017, 7, 17), IsDone = false }, new ThingModel() { Date = new DateTime(2017, 7, 18), IsDone = true }, new ThingModel() { Date = new DateTime(2017, 7, 19), IsDone = true }, }; Binding binding = new Binding(); binding.Source = thing; binding.Mode = BindingMode.OneWay; dp.SetBinding(MyDataPick.Views.MyDataPick.ThingProperty, binding); //dp.Thing = thing; DateTime ClickTime = DateTime.MinValue; dp.Click = (year, month, day) => { if (ClickTime.CompareTo(DateTime.MinValue) == 0) { Task.Run(async() => { ClickTime = new DateTime(year, month, day); await Task.Delay(500); ClickTime = DateTime.MinValue; }); } else { DateTime date = new DateTime(year, month, day); if (ClickTime.CompareTo(new DateTime(year, month, day)) != 0) { return; } var models = from model in thing where model.Date == date select model; if (models.Count() > 0) { thing.RemoveAt(thing.IndexOf(models.First())); } else { thing.Insert(thing.Count, new ThingModel() { Date = ClickTime, IsDone = false }); } ClickTime = DateTime.MinValue; } //this.DisplayAlert("标题", "点击了:" + year + "年" + month + "月" + day + "日", "取消"); }; }