//autofac uses this public WorkspaceView(WorkspaceModel model, Control libraryView, EditingView.Factory editingViewFactory, PublishView.Factory pdfViewFactory, CollectionSettingsDialog.Factory settingsDialogFactory, EditBookCommand editBookCommand, SendReceiveCommand sendReceiveCommand, SelectedTabAboutToChangeEvent selectedTabAboutToChangeEvent, SelectedTabChangedEvent selectedTabChangedEvent, LocalizationChangedEvent localizationChangedEvent, ProblemReporterDialog.Factory problemReportDialogFactory, //ChorusSystem chorusSystem, LocalizationManager localizationManager ) { _model = model; _settingsDialogFactory = settingsDialogFactory; _selectedTabAboutToChangeEvent = selectedTabAboutToChangeEvent; _selectedTabChangedEvent = selectedTabChangedEvent; _localizationChangedEvent = localizationChangedEvent; _problemReportDialogFactory = problemReportDialogFactory; //_chorusSystem = chorusSystem; _localizationManager = localizationManager; _model.UpdateDisplay += new System.EventHandler(OnUpdateDisplay); InitializeComponent(); _checkForNewVersionMenuItem.Visible = SIL.PlatformUtilities.Platform.IsWindows; _toolStrip.Renderer = new NoBorderToolStripRenderer(); //we have a number of buttons which don't make sense for the remote (therefore vulnerable) low-end user //_settingsLauncherHelper.CustomSettingsControl = _toolStrip; //NB: these aren't really settings, but we're using that feature to simplify this menu down to what makes sense for the easily-confused user _settingsLauncherHelper.ManageComponent(_keyBloomConceptsMenuItem); _settingsLauncherHelper.ManageComponent(_requestAFeatureMenuItem); _settingsLauncherHelper.ManageComponent(_webSiteMenuItem); _settingsLauncherHelper.ManageComponent(_showLogMenuItem); _settingsLauncherHelper.ManageComponent(_releaseNotesMenuItem); _settingsLauncherHelper.ManageComponent(_divider2); OnSettingsProtectionChanged(this, null); //initial setup SettingsProtectionSettings.Default.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(OnSettingsProtectionChanged); _uiLanguageMenu.Visible = true; _settingsLauncherHelper.ManageComponent(_uiLanguageMenu); editBookCommand.Subscribe(OnEditBook); sendReceiveCommand.Subscribe(OnSendReceive); //Cursor = Cursors.AppStarting; Application.Idle += new EventHandler(Application_Idle); Text = _model.ProjectName; //SetupTabIcons(); // // _collectionView // this._collectionView = (LibraryView)libraryView; _collectionView.ManageSettings(_settingsLauncherHelper); this._collectionView.Dock = System.Windows.Forms.DockStyle.Fill; // // _editingView // this._editingView = editingViewFactory(); this._editingView.Dock = System.Windows.Forms.DockStyle.Fill; // // _pdfView // this._publishView = pdfViewFactory(); this._publishView.Dock = System.Windows.Forms.DockStyle.Fill; _collectionTab.Tag = _collectionView; _publishTab.Tag = _publishView; _editTab.Tag = _editingView; this._collectionTab.Text = _collectionView.CollectionTabLabel; SetTabVisibility(_publishTab, false); SetTabVisibility(_editTab, false); // if (Program.StartUpWithFirstOrNewVersionBehavior) // { // _tabStrip.SelectedTab = _infoTab; // SelectPage(_infoView); // } // else // { _tabStrip.SelectedTab = _collectionTab; SelectPage(_collectionView); // } if (SIL.PlatformUtilities.Platform.IsMono) { // Without this adjustment, we lose some controls on smaller resolutions. AdjustToolPanelLocation(true); // in mono auto-size causes the height of the tab strip to be too short _tabStrip.AutoSize = false; } _toolStrip.SizeChanged += ToolStripOnSizeChanged; SetupUiLanguageMenu(); SetupZoomControl(); AdjustButtonTextsForLocale(); _viewInitialized = false; }