예제 #1
0
        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) }
            });
        }
예제 #2
0
        /**<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);
        }
예제 #3
0
 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 + "日", "取消");
            };
        }