/// <summary> /// Konstruktor. /// </summary> /// <param name="viewManager">Obiekt menadżera widoków.</param> /// <param name="view">Obiekt zarządzanego przez prezentera widoku.</param> /// <param name="subtitlesManager">Obiekt menadżera zarządzającego obiektami reprezentującymi napisy.</param> /// <param name="editor">Obiekt menadżera zajmującego się edycjią napisów.</param> /// <param name="tool">OBiekt narzędzia służącego do dostosowywania timingów.</param> public TimingAdjustmentCommandPresenter( IViewManager viewManager, ICommandView view, SubtitlesManager subtitlesManager, SubtitlesEditor editor, TimingAdjustmentTool tool) : base(viewManager, view) { this.manager = subtitlesManager; this.editor = editor; this.tool = tool; this.View.IsExecutable = true; }
/// <summary> /// Konstruktor. /// </summary> /// <param name="viewManager">Obiekt menadżera widoków.</param> /// <param name="view">Obiekt zarządzanego przez prezentera widoku.</param> /// <param name="subtitlesManager">Obiekt modelu menadżera plików.</param> /// <param name="editor">Edytor napisów.</param> /// <param name="tool">Obiekt narzędzia do dostosowywania napisów.</param> public TimingAdjustmentToolPresenter( IViewManager viewManager, ITimingAdjustmentToolView view, SubtitlesManager subtitlesManager, SubtitlesEditor editor, TimingAdjustmentTool tool) : base(viewManager, view) { this.manager = subtitlesManager; this.manager.CurrentSubtitlesFormatChanged += new EventHandler(CurrentSubtitlesFormatChangedHandler); this.editor = editor; this.tool = tool; this.View.Add += new EventHandler(AddHandler); this.View.Substract += new EventHandler(SubstractHandler); this.View.ApplyToRangeChanged += new EventHandler <EventArgs <bool> >(ApplyToRangeChangedHandler); this.View.UseFromRangeChanged += new EventHandler <EventArgs <bool> >(UseFromRangeChangedHandler); this.View.UseToRangeChanged += new EventHandler <EventArgs <bool> >(UseToRangeChangedHandler); this.SetViewRangeControlsEnabled(false); this.InitializeViewApplyTo(); this.SetViewTimingMode(); }
static void Main() { #if DEBUG System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US"); #endif Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); IViewManager viewManager = new WinFormsViewManager(); SubtitlesManager subtitlesManager = new SubtitlesManager(); //Określenie obsługiwanych formatów przed wczytaniem pliku. subtitlesManager.AddSupportedSubtitles(new AssFileFormat()); subtitlesManager.AddSupportedSubtitles(new SSAFileFormat()); subtitlesManager.AddSupportedSubtitles(new SubripFileFormat()); subtitlesManager.AddSupportedSubtitles(new MicroDVDFileFormat()); subtitlesManager.AddSupportedSubtitles(new TMPlayerFileFormat()); MainFormView mainFormView = new MainFormView(Subeditor.Properties.Resources.NameMainView); viewManager.AddView(mainFormView); ApplicationManager appManager = new ApplicationManager(viewManager); MainFormPresenter mainFormPresenter = new MainFormPresenter(viewManager, mainFormView, appManager, subtitlesManager); UndoRedoManager undoRedoManager = new UndoRedoManager(); ClipboardAssistant assistant = new ClipboardAssistant(); mainFormView.ClipboardChanged += assistant.OnClipboardChanged; SubtitlesEditor editor = new SubtitlesEditor(subtitlesManager, undoRedoManager); (editor.Clipboard as SubtitlesClipboard).ClipboardAssistant = assistant; //<--------------------------------------------------------------Tools--------------------------------------------------------------> TimingAdjustmentTool timingAdjustmentTool = new TimingAdjustmentTool(subtitlesManager, editor); SynchronizationTool synchronizationTool = new SynchronizationTool(subtitlesManager, editor); //<-------------------------------------------------------SubtitlesPresenter--------------------------------------------------------> ISubtitlesView subtitlesFileView = (ISubtitlesView)viewManager.GetView("SubtitlesView"); SubtitlesPresenter subtitlesFilePresenter = new SubtitlesPresenter(viewManager, subtitlesFileView, subtitlesManager, editor); //<-------------------------------------------------------Menu File Commands--------------------------------------------------------> ICommandView openFileCmdView = (ICommandView)viewManager.GetView("MenuOpenView"); OpenFileCommandPresenter openFileCmdPresenter = new OpenFileCommandPresenter(viewManager, openFileCmdView, subtitlesManager); ICommandView saveFileCmdView = (ICommandView)viewManager.GetView("MenuSaveView"); SaveFileCommandPresenter saveFileCommandPResenter = new SaveFileCommandPresenter(viewManager, saveFileCmdView, subtitlesManager); ICommandView saveAsFileCmddView = (ICommandView)viewManager.GetView("MenuSaveAsView"); SaveAsFileCommandPresenter saveAsFileCmdPResenter = new SaveAsFileCommandPresenter(viewManager, saveAsFileCmddView, subtitlesManager); ICommandView exitCmdView = (ICommandView)viewManager.GetView("MenuExitView"); ExitCommandPresenter exitCmdPresenter = new ExitCommandPresenter(viewManager, exitCmdView, appManager); //<---------------------------------------------------------------------------------------------------------------------------------> //<-------------------------------------------------------Menu Edit Commands--------------------------------------------------------> ICommandView cutCmdView = (ICommandView)viewManager.GetView("MenuCutView"); CutCommandPresenter cutCmdPresenter = new CutCommandPresenter(viewManager, cutCmdView, editor); ICommandView copyCmdView = (ICommandView)viewManager.GetView("MenuCopyView"); CopyCommandPresenter copyCmdPresenter = new CopyCommandPresenter(viewManager, copyCmdView, editor); ICommandView pasteCmdView = (ICommandView)viewManager.GetView("MenuPasteView"); PasteCommandPresenter pasteCmdPresenter = new PasteCommandPresenter(viewManager, pasteCmdView, editor); ICommandView selectAllCmdView = (ICommandView)viewManager.GetView("MenuSelectAllView"); SelectAllCommandPresenter selectAllCmdPresenter = new SelectAllCommandPresenter(viewManager, selectAllCmdView, editor); ICommandView selectFromCmdView = (ICommandView)viewManager.GetView("MenuSelectFromView"); SelectFromCommandPresenter selectFromCmdPresenter = new SelectFromCommandPresenter(viewManager, selectFromCmdView, editor); ICommandView menuUndoCmdView = (ICommandView)viewManager.GetView("MenuUndoView"); UndoCommandPresenter menuUndoCmdPresenter = new UndoCommandPresenter(viewManager, menuUndoCmdView, undoRedoManager); ICommandView menuRedoCmdView = (ICommandView)viewManager.GetView("MenuRedoView"); RedoCommandPresenter menuRedoCmdPresenter = new RedoCommandPresenter(viewManager, menuRedoCmdView, undoRedoManager); //<---------------------------------------------------------------------------------------------------------------------------------> //<-------------------------------------------------------Menu Tools Commands-------------------------------------------------------> ICommandView adjustTimingCmdView = (ICommandView)viewManager.GetView("MenuTimingAdjustmentView"); TimingAdjustmentCommandPresenter adjustTimingCmdPresenter = new TimingAdjustmentCommandPresenter( viewManager, adjustTimingCmdView, subtitlesManager, editor, timingAdjustmentTool); ICommandView synchronizationCmdView = (ICommandView)viewManager.GetView("MenuSynchronizationView"); SynchronizationCommandPresenter synchronizationCmdPresenter = new SynchronizationCommandPresenter( viewManager, synchronizationCmdView, subtitlesManager, synchronizationTool); //<---------------------------------------------------------------------------------------------------------------------------------> //<-----------------------------------------------------------Toolbar --------------------------------------------------------------> ICommandView toolbarOpenFileCmdView = (ICommandView)viewManager.GetView("ToolbarOpenFileView"); OpenFileCommandPresenter toolbarOpenFileCmdPresenter = new OpenFileCommandPresenter(viewManager, toolbarOpenFileCmdView, subtitlesManager); ICommandView toolbarSaveFileCmdView = (ICommandView)viewManager.GetView("ToolbarSaveFileView"); SaveFileCommandPresenter toolbarSaveFileCmdPResenter = new SaveFileCommandPresenter(viewManager, toolbarSaveFileCmdView, subtitlesManager); ICommandView toolbarSaveAsFileCmdView = (ICommandView)viewManager.GetView("ToolbarSaveAsFileView"); SaveAsFileCommandPresenter toolbarSaveAsFileCmdPResenter = new SaveAsFileCommandPresenter(viewManager, toolbarSaveAsFileCmdView, subtitlesManager); ICommandView toolbarCutCmdView = (ICommandView)viewManager.GetView("ToolbarCutView"); CutCommandPresenter toolbarCutCmdPresenter = new CutCommandPresenter(viewManager, toolbarCutCmdView, editor); ICommandView toolbarCopyCmdView = (ICommandView)viewManager.GetView("ToolbarCopyView"); CopyCommandPresenter toolbarCopyCmdPresenter = new CopyCommandPresenter(viewManager, toolbarCopyCmdView, editor); ICommandView toolbarPasteCmdView = (ICommandView)viewManager.GetView("ToolbarPasteView"); PasteCommandPresenter toolbarPasteCmdPresenter = new PasteCommandPresenter(viewManager, toolbarPasteCmdView, editor); ICommandView toolbarUndoCmdView = (ICommandView)viewManager.GetView("ToolbarUndoView"); UndoCommandPresenter toolbarUndoCmdPresenter = new UndoCommandPresenter(viewManager, toolbarUndoCmdView, undoRedoManager); ICommandView toolbarRedoCmdView = (ICommandView)viewManager.GetView("ToolbarRedoView"); RedoCommandPresenter toolbarRedoCmdPresenter = new RedoCommandPresenter(viewManager, toolbarRedoCmdView, undoRedoManager); IToolStripComboBoxView toolbarEncodingView = (IToolStripComboBoxView)viewManager.GetView("ToolbarEncodingView"); EncodingComboBoxPresenter toolbarEncodingPresenter = new EncodingComboBoxPresenter(viewManager, toolbarEncodingView, subtitlesManager); //<---------------------------------------------------------------------------------------------------------------------------------> //<-------------------------------------------------------Context Menu--------------------------------------------------------------> MainContextMenuStripView mainContextMenuStripView = new MainContextMenuStripView(); (subtitlesFileView as IHierarchicalView).AddChildView(mainContextMenuStripView); MainContextMenuStripPresenter mainContextMenuStripPresenter = new MainContextMenuStripPresenter(viewManager, mainContextMenuStripView, editor); //<---------------------------------------------------------------------------------------------------------------------------------> //Próbuje otworzyć plik, w sytuacji gdy użytkownik uruchomił program poprzez polecenie "otwórz za pomocą". bool operationResult = subtitlesManager.TryLoadFromClickOnceDeploymentSystem(); if (operationResult == false) { subtitlesManager.TryLoadFromLineArgs(); } //<---------------------------------------------------------------------------------------------------------------------------------> viewManager.ShowView(mainFormView); }