public MonthViewControl(ICalendarControl calendar) { InitializeComponent(); Dock = DockStyle.Fill; Calendar = calendar; SelectionManager = new SelectionManager(this); CopyPasteManager = new CopyPasteManager(this); }
public MonthViewControl(ICalendarControl calendar) { InitializeComponent(); Dock = DockStyle.Fill; Calendar = calendar; Months = new Dictionary<DateTime, MonthControl>(); SelectionManager = new SelectionManager(this); CopyPasteManager = new CopyPasteManager(this); }
public void CopyDay() { var selectedDay = SelectionManager.SelectedDays.FirstOrDefault(); if (selectedDay == null) { return; } CopyPasteManager.CopyDay(selectedDay); }
private void OnPasteMenuItemClicked(object sender, RoutedEventArgs e) { UnitConverter that = this; _ = Task.Run(async() => { string pastedString = await CopyPasteManager.GetStringToPaste(Model.Mode, CategoryGroupType.Converter, NumberBase.Unknown, BitLength.BitLengthUnknown); that.Model.OnPaste(pastedString); }); }
// Constructor internal MapManager() { // Create temporary path temppath = General.MakeTempDirname(); Directory.CreateDirectory(temppath); General.WriteLogLine("Temporary directory: " + temppath); // Basic objects grid = new GridSetup(); undoredo = new UndoManager(); copypaste = new CopyPasteManager(); launcher = new Launcher(); thingsfilter = new NullThingsFilter(); }
public void Release() { SelectionManager.Release(); CopyPasteManager.Release(); _days.Clear(); xtraTabControl.SelectedPageChanged -= OnSelectedMonthChanged; xtraTabControl.TabPages.OfType <MonthControl>().ToList().ForEach(m => { m.Release(); m.Tag = null; }); xtraTabControl.TabPages.Clear(); }
public void CloneDay() { var selectedDay = SelectionManager.SelectedDays.FirstOrDefault(); if (selectedDay == null) { return; } using (var form = new FormCloneDay(selectedDay, Calendar.CalendarContent.Settings.FlightDateStart.Value, Calendar.CalendarContent.Settings.FlightDateEnd.Value)) { form.OnHelpClick = () => Calendar.OpenHelp("clone"); if (form.ShowDialog() == DialogResult.OK) { var clonedDays = Calendar.ActiveCalendarSection.Days.Where(x => form.SelectedDates.Contains(x.Date)).ToList(); CopyPasteManager.CloneDay(selectedDay, clonedDays); } } }
private void OnContextRequested(UIElement sender, ContextRequestedEventArgs e) { OnValueSelected(sender); var requestedElement = ((FrameworkElement)sender); PasteMenuItem.IsEnabled = CopyPasteManager.HasStringToPaste(); if (e.TryGetPosition(requestedElement, out Point point)) { m_resultsFlyout.ShowAt(requestedElement, point); } else { // Not invoked via pointer, so let XAML choose a default location. m_resultsFlyout.ShowAt(requestedElement); } e.Handled = true; }
private CalendarNoteControl[][] GetNotesByWeeeks(CalendarMonth month) { var monthNotes = new List <CalendarNoteControl[]>(); var datesByWeeks = Calendar.CalendarContent.GetDaysByWeek(month.DaysRangeBegin, month.DaysRangeEnd); foreach (var weekDays in datesByWeeks) { var weekNotes = new List <CalendarNoteControl>(); foreach (var weekDay in weekDays) { var note = Calendar.ActiveCalendarSection.Notes.FirstOrDefault(x => weekDay.Equals(x.StartDay)); if (note == null) { continue; } var noteControl = (CalendarNoteControl)ReflectionHelper.GetControlInstance(typeof(CalendarNoteControl), note.GetType(), note); noteControl.NoteChanged += (sender, e) => { var targetNoteControl = sender as CalendarNoteControl; if (targetNoteControl == null) { return; } Calendar.SettingsNotSaved = true; }; noteControl.NoteDeleted += (sender, e) => { DeleteNote(note); RefreshData(); }; noteControl.NoteCopied += (sender, e) => { CopyPasteManager.CopyNote(note); Calendar.SettingsNotSaved = true; }; noteControl.NoteCloned += (sender, e) => { using (var form = new FormCloneNote(note, Calendar.CalendarContent.Settings.FlightDateStart.Value, Calendar.CalendarContent.Settings.FlightDateEnd.Value)) { form.OnHelpClick = () => Calendar.OpenHelp("ninjanotesclone"); if (form.ShowDialog() != DialogResult.OK) { return; } foreach (var range in form.SelectedRanges) { AddNote(range, note.Note.Clone()); } } Calendar.SettingsNotSaved = true; }; noteControl.ColorChanging += (sender, e) => { using (var form = new FormNoteColor()) { form.NoteColor = note.BackgroundColor; if (form.ShowDialog() != DialogResult.OK) { return; } note.BackgroundColor = form.NoteColor; if (form.ApplyForAll) { foreach (var calendarNote in Calendar.ActiveCalendarSection.Notes) { calendarNote.BackgroundColor = note.BackgroundColor; } } foreach (var monthControl in xtraTabControl.TabPages.OfType <MonthControl>().ToList()) { monthControl.RefreshNotes(); } Calendar.SettingsNotSaved = true; } }; weekNotes.Add(noteControl); } monthNotes.Add(weekNotes.ToArray()); } return(monthNotes.ToArray()); }
private void LoadMonth(MonthControl month) { SelectionManager.ClearSelection(); CopyPasteManager.ResetCopy(); foreach (var existedMonth in xtraTabControl.TabPages.OfType <MonthControl>().ToList()) { existedMonth.RaiseEvents(false); } var calendarMonth = (CalendarMonth)month.Tag; if (!month.HasData) { var weeks = new List <DayControl[]>(); var datesByWeeks = Calendar.CalendarContent.GetDaysByWeek(calendarMonth.DaysRangeBegin, calendarMonth.DaysRangeEnd); foreach (var weekDays in datesByWeeks) { var week = new List <DayControl>(); foreach (var calendarDay in weekDays.Select(weekDay => Calendar.ActiveCalendarSection.Days.FirstOrDefault(x => x.Date.Equals(weekDay)))) { if (calendarDay != null) { var dayControl = new DayControl(calendarDay); dayControl.AllowToPasteNote = CopyPasteManager.SourceNote != null; dayControl.DaySelected += (sender, e) => { SelectionManager.SelectDay(e.SelectedDay.Day, e.ModifierKeys); CopyPasteManager.SetCopyDay(); }; dayControl.DayCopied += (sender, e) => CopyDay(); dayControl.DayPasted += (sender, e) => PasteDay(); dayControl.DayCloned += (sender, e) => CloneDay(); dayControl.DayDataDeleted += (sender, e) => { foreach (var day in SelectionManager.SelectedDays) { day.ClearData(); RefreshData(); } Calendar.SettingsNotSaved = true; Calendar.CalendarView.RefreshData(); Calendar.SlideInfo.LoadData(); Calendar.UpdateDataManagementAndOutputFunctions(); }; dayControl.DataChanged += (sender, e) => { var day = sender as DayControl; if (day == null) { return; } Calendar.UpdateDataManagementAndOutputFunctions(); Calendar.SettingsNotSaved = true; }; dayControl.SelectionStateRequested += (sender, e) => SelectionManager.ProcessSelectionStateRequest(); dayControl.DayMouseMove += (sender, e) => { foreach (var day in _days) { if (day.Day.BelongsToSchedules && day.ClientRectangle.Contains(day.PointToClient(Cursor.Position)) && day.RaiseEvents) { SelectionManager.SelectDay(day.Day, Keys.Control); } } }; dayControl.NoteAdded += (sender, e) => { var noteDateRange = Calendar.CalendarContent .CalculateDateRange(SelectionManager.SelectedDays.Select(x => x.Date).ToArray()).LastOrDefault(); AddNote(noteDateRange); RefreshData(); Calendar.UpdateDataManagementAndOutputFunctions(); }; dayControl.NotePasted += (sender, e) => { PasteNote(); RefreshData(); }; dayControl.ImageCopied += (sender, e) => CopyImage(); dayControl.ImagePasted += (sender, e) => { ImageSource imageSource = null; var clipboardImage = ClipboardHelper.GetPngFormClipboard(); if (clipboardImage != null) { imageSource = ImageSource.FromImage(clipboardImage); } else if (Clipboard.ContainsText(TextDataFormat.Html)) { var textContent = Clipboard.GetText(TextDataFormat.Html); try { imageSource = ImageSource.FromString(textContent); } catch { } } PasteImage(imageSource); }; dayControl.ImageDeleted += (sender, e) => { foreach (var day in SelectionManager.SelectedDays) { day.Logo = new ImageSource(); RefreshData(); } Calendar.SettingsNotSaved = true; Calendar.CalendarView.RefreshData(); Calendar.UpdateDataManagementAndOutputFunctions(); }; SelectionManager.SelectionStateResponse += (sender, e) => dayControl.UpdateNoteMenuAccordingSelection(SelectionManager.SelectedDays.OrderBy(x => x.Date).ToList()); CopyPasteManager.CopyDaySet += (sender, e) => { dayControl.toolStripMenuItemCopy.Enabled = true; dayControl.toolStripMenuItemClone.Enabled = true; }; CopyPasteManager.CopyReset += (sender, e) => { dayControl.toolStripMenuItemCopy.Enabled = false; dayControl.toolStripMenuItemClone.Enabled = false; dayControl.ChangeCopySource(false); }; CopyPasteManager.PasteReset += (sender, e) => { dayControl.toolStripMenuItemPaste.Enabled = false; dayControl.AllowToPasteNote = false; }; CopyPasteManager.DayCopied += (sender, e) => { dayControl.toolStripMenuItemPaste.Enabled = true; dayControl.ChangeCopySource(dayControl.Day.Date.Equals(CopyPasteManager.SourceDay.Date)); }; CopyPasteManager.NoteCopied += (sender, e) => { dayControl.AllowToPasteNote = true; }; Calendar.AssignCloseActiveEditorsonOutSideClick(dayControl); week.Add(dayControl); _days.Add(dayControl); } Application.DoEvents(); } weeks.Add(week.ToArray()); Application.DoEvents(); } month.AddDays(weeks.ToArray()); month.AddNotes(GetNotesByWeeeks(calendarMonth)); } month.RefreshData(Calendar.GetColorSchema(calendarMonth.OutputData.SlideColor)); month.RaiseEvents(true); month.ResizeControls(); }
public void PasteImage(ImageSource imageSource) { var selectedDays = SelectionManager.SelectedDays.ToArray(); CopyPasteManager.PasteImage(selectedDays, imageSource); }
public void PasteDay() { var selectedDays = SelectionManager.SelectedDays.ToArray(); CopyPasteManager.PasteDay(selectedDays); }
// Disposer public void Dispose() { // Not already disposed? if (!isdisposed) { // Let the plugins know General.Plugins.OnMapCloseBegin(); // Stop processing General.MainWindow.StopProcessing(); // Change to no mode General.Editing.ChangeMode((EditMode)null); // Unbind any methods General.Actions.UnbindMethods(this); // Dispose if (grid != null) { grid.Dispose(); } if (launcher != null) { launcher.Dispose(); } if (copypaste != null) { copypaste.Dispose(); } if (undoredo != null) { undoredo.Dispose(); } General.WriteLogLine("Unloading data resources..."); if (data != null) { data.Dispose(); } General.WriteLogLine("Unloading map data..."); if (map != null) { map.Dispose(); } General.WriteLogLine("Stopping graphics device..."); if (renderer2d != null) { renderer2d.Dispose(); } if (renderer3d != null) { renderer3d.Dispose(); } if (graphics != null) { graphics.Dispose(); } visualcamera = null; grid = null; launcher = null; copypaste = null; undoredo = null; data = null; //tempwad = null; map = null; renderer2d = null; renderer3d = null; graphics = null; // We may spend some time to clean things up here GC.Collect(); // Let the plugins know General.Plugins.OnMapCloseEnd(); // Done isdisposed = true; } }
private void PaseValues_Click(object sender, RoutedEventArgs e) { Component c = (DataContext as Component); CopyPasteManager.Paste(c); }
private void OnCopyMenuItemClicked(object sender, RoutedEventArgs e) { var calcResult = ((CalculationResult)m_resultsFlyout.Target); CopyPasteManager.CopyToClipboard(calcResult.GetRawDisplayValue()); }