/// <summary>Capture current tool layout of specified <paramref name="viewDockService"/>.</summary> /// <param name="viewDockService">The tool dock service.</param> /// <exception cref="ArgumentNullException"><paramref name="viewDockService"/> == <c>null</c>.</exception> public ViewLayout(ViewDockService viewDockService) { Verify.Argument.IsNotNull(viewDockService, "viewDockService"); var grid = viewDockService.Grid; _root = ToLayout(grid.RootControl); if(grid.LeftSide != null) { _left = new SideEntry(grid.LeftSide); } if(grid.TopSide != null) { _top = new SideEntry(grid.TopSide); } if(grid.RightSide != null) { _right = new SideEntry(grid.RightSide); } if(grid.BottomSide != null) { _bottom = new SideEntry(grid.BottomSide); } _floats = new List<FloatEntry>(); foreach(var floatingViewForm in grid.FloatingViewForms) { _floats.Add(new FloatEntry(floatingViewForm)); } }
/// <summary>Applies this layout to the specified tool dock service.</summary> /// <param name="viewDockService">Tool dock service.</param> /// <exception cref="ArgumentNullException"><paramref name="viewDockService"/> == <c>null</c>.</exception> public void ApplyTo(ViewDockService viewDockService) { Verify.Argument.IsNotNull(viewDockService, "viewDockService"); }
/// <summary>Initializes a new instance of the <see cref="MainForm"/> class.</summary> public MainForm() { InitializeComponent(); _configurationService = GitterApplication.ConfigurationService; _repositoryManagerService = new RepositoryManagerService(SavedRecentRepositories); _viewDockService = new ViewDockService(this, _toolDockGrid, _configurationService.ViewsSection); _notificationService = new BalloonNotificationService(); _repositoryManagerService.RecentRepositories.Changed += OnRecentRepositoriesChanged; ProvideToolbar(new StandardToolbar(this)); _mnuRepository.DropDownItems.Insert(0, new ToolStripMenuItem(Resources.StrInit.AddEllipsis(), CachedResources.Bitmaps["ImgRepositoryInitSmall"], OnInitRepositoryClick)); _mnuRepository.DropDownItems.Insert(1, new ToolStripMenuItem(Resources.StrClone.AddEllipsis(), CachedResources.Bitmaps["ImgRepositoryCloneSmall"], OnCloneRepositoryClick)); _mnuRepository.DropDownItems.Insert(2, new ToolStripSeparator()); _viewDockService = new ViewDockService(this, _toolDockGrid, _configurationService.ViewsSection); _viewDockService.RegisterFactory( _startPageFactory = new StartPageViewFactory()); _viewDockService.RegisterFactory( _repositoryExplorerFactory = new RepositoryExplorerViewFactory(this)); _viewDockService.RegisterFactory( _logFactory = new LogViewFactory()); LoadOptions(); LoadRecentRepositories(); _viewDockService.ShowView(Guids.RepositoryExplorerView); _repositoryProviders = new Dictionary <string, IRepositoryProvider>(); _issueTrackerProviders = new Dictionary <string, IRepositoryServiceProvider>(); _activeIssueTrackerProviders = new HashSet <IRepositoryServiceProvider>(); _additionalGui = new LinkedList <IGuiProvider>(); LoadProviders(); _mnuView.DropDownItems.Insert(0, new ViewMenuItem(_repositoryExplorerFactory, this)); _mnuView.DropDownItems.Insert(1, new ViewMenuItem(_startPageFactory, this)); _mnuView.DropDownItems.Insert(2, new ToolStripSeparator()); _mnuView.DropDownItems.Add(new ToolStripSeparator()); _mnuView.DropDownItems.Add(new ViewMenuItem(_logFactory, this)); _mnuRepository.Text = Resources.StrRepository; _mnuExit.Text = Resources.StrExit; _mnuOpenRepository.Text = Resources.StrOpen.AddEllipsis(); _mnuRecentRepositories.Text = Resources.StrRecent; _mnuView.Text = Resources.StrView; _mnuToolbars.Text = Resources.StrToolbars; _mnuTools.Text = Resources.StrTools; _mnuOptions.Text = Resources.StrOptions.AddEllipsis(); _mnuHelp.Text = Resources.StrHelp; _mnuAbout.Text = Resources.StrAbout.AddEllipsis(); _recentRepositoryPath = string.Empty; }