//--------------------------------------------------------------------- // Ctor. //--------------------------------------------------------------------- public RemoteDesktopPane( IServiceProvider serviceProvider, InstanceLocator vmInstance) : base(serviceProvider) { this.exceptionDialog = serviceProvider.GetService <IExceptionDialog>(); this.eventService = serviceProvider.GetService <IEventService>(); this.Instance = vmInstance; // The ActiveX fails when trying to drag/dock a window, so disable // that feature. this.AllowEndUserDocking = false; var singleScreenFullScreenMenuItem = new ToolStripMenuItem("&Full screen"); singleScreenFullScreenMenuItem.Click += (sender, _) => TrySetFullscreen(FullScreenMode.SingleScreen); this.TabContextStrip.Items.Add(singleScreenFullScreenMenuItem); this.TabContextStrip.Opening += tabContextStrip_Opening; var allScreensFullScreenMenuItem = new ToolStripMenuItem("&Full screen (multiple displays)"); allScreensFullScreenMenuItem.Click += (sender, _) => TrySetFullscreen(FullScreenMode.AllScreens); this.TabContextStrip.Items.Add(allScreensFullScreenMenuItem); this.TabContextStrip.Opening += tabContextStrip_Opening; }
public ProjectExplorerTrackingToolWindow( DockPanel dockPanel, IProjectExplorer projectExplorer, IEventService eventService, IExceptionDialog exceptionDialog) { this.exceptionDialog = exceptionDialog; // Capture the GUI thread scheduler. this.taskScheduler = TaskScheduler.FromCurrentSynchronizationContext(); // // This window is a singleton, so we never want it to be closed, // just hidden. // this.HideOnClose = true; this.dockPanel = dockPanel; // Use currently selected node. OnProjectExplorerNodeSelected(projectExplorer.SelectedNode); // Track current selection in project explorer. eventService.BindHandler <ProjectExplorerNodeSelectedEvent>( e => OnProjectExplorerNodeSelected(e.SelectedNode)); }
public ProjectExplorerTrackingToolWindow( IServiceProvider serviceProvider, DockState defaultDockState) : base( serviceProvider, defaultDockState) { this.exceptionDialog = serviceProvider.GetService <IExceptionDialog>(); // Capture the GUI thread scheduler. this.taskScheduler = TaskScheduler.FromCurrentSynchronizationContext(); // // This window is a singleton, so we never want it to be closed, // just hidden. // this.HideOnClose = true; // Use currently selected node. var projectExplorer = serviceProvider.GetService <IProjectExplorer>(); OnProjectExplorerNodeSelected(projectExplorer.SelectedNode); // Track current selection in project explorer. var eventService = serviceProvider.GetService <IEventService>(); eventService.BindHandler <ProjectExplorerNodeSelectedEvent>( e => OnProjectExplorerNodeSelected(e.SelectedNode)); }
public ProjectPickerDialog(IServiceProvider serviceProvider) { InitializeComponent(); this.resourceManager = serviceProvider.GetService <IResourceManagerAdapter>(); this.exceptionDialog = serviceProvider.GetService <IExceptionDialog>(); }
public RemoteDesktopConnectionBroker(IServiceProvider serviceProvider) { this.dockPanel = serviceProvider.GetService <IMainForm>().MainPanel; this.exceptionDialog = serviceProvider.GetService <IExceptionDialog>(); this.eventService = serviceProvider.GetService <IEventService>(); // NB. The ServiceCategory attribute causes this class to be // announced to the global connection broker. }
public RemoteDesktopConnectionBroker(IServiceProvider serviceProvider) { this.dockPanel = serviceProvider.GetService <IMainForm>().MainPanel; this.exceptionDialog = serviceProvider.GetService <IExceptionDialog>(); this.eventService = serviceProvider.GetService <IEventService>(); // Register as connection broker so that the status of connections // managed by this broker is surfaced in Project Explorer. serviceProvider.GetService <IGlobalConnectionBroker>().Register(this); }
public void Initialize(AcceptCancelDialog control) { var error = CreateException(); InitializeDialog( control, () => DialogViewModel.ExceptionDialog(error)); exceptionDialog = ContentViewModel as IExceptionDialog; exceptionDialog.Show(); }
/// <summary> Shows an exception message and detail dialog. </summary> /// <param name="exception">Exception to display</param> /// <param name="title">Optional dialog title</param> public static void ShowException(Exception exception, string title) { IExceptionDialog exDlg = UIFactory.NewShell <IExceptionDialog>(); exDlg.DialogType = EMessageDialogType.Error; exDlg.WindowTitle = title ?? string.Empty; exDlg.Header = Messages.MessageDialog_ExceptionDialog_Header; exDlg.Exception = exception; exDlg.DialogResultSet = new[] { EMessageDialogResult.Close }; exDlg.Show(); }
//--------------------------------------------------------------------- // Publics. //--------------------------------------------------------------------- public RemoteDesktopPane( IEventService eventService, IExceptionDialog exceptionDialog, VmInstanceReference vmInstance) { this.exceptionDialog = exceptionDialog; this.eventService = eventService; this.Instance = vmInstance; this.TabText = vmInstance.InstanceName; this.DockAreas = DockAreas.Document; var fullScreenMenuItem = new ToolStripMenuItem("&Full screen"); fullScreenMenuItem.Click += fullScreenMenuItem_Click; this.TabContextStrip.Items.Add(fullScreenMenuItem); this.TabContextStrip.Opening += tabContextStrip_Opening; }
public TunnelsWindow(IServiceProvider serviceProvider) { InitializeComponent(); this.dockPanel = serviceProvider.GetService <IMainForm>().MainPanel; this.TabText = this.Text; this.theme.ApplyTo(this.toolStrip); this.exceptionDialog = serviceProvider.GetService <IExceptionDialog>(); // // This window is a singleton, so we never want it to be closed, // just hidden. // this.HideOnClose = true; this.viewModel = new TunnelsViewModel(serviceProvider); this.viewModel.View = this; this.tunnelsList.BindCollection(viewModel.Tunnels); this.tunnelsList.BindColumn(0, t => t.Destination.Instance.Name); this.tunnelsList.BindColumn(1, t => t.Destination.Instance.ProjectId); this.tunnelsList.BindColumn(2, t => t.Destination.Instance.Zone); this.tunnelsList.BindColumn(3, t => t.LocalPort.ToString()); this.tunnelsList.BindProperty( v => this.tunnelsList.SelectedModelItem, this.viewModel, m => this.viewModel.SelectedTunnel, this.components); this.disconnectToolStripButton.BindProperty( b => b.Enabled, this.viewModel, m => m.IsDisconnectButtonEnabled, this.components); this.disconnectTunnelToolStripMenuItem.BindProperty( b => b.Enabled, this.viewModel, m => m.IsDisconnectButtonEnabled, this.components); }
public TunnelsWindow(IServiceProvider serviceProvider) { InitializeComponent(); this.dockPanel = serviceProvider.GetService <IMainForm>().MainPanel; this.tunnelBrokerService = serviceProvider.GetService <TunnelBrokerService>(); this.exceptionDialog = serviceProvider.GetService <IExceptionDialog>(); this.TabText = this.Text; // // This window is a singleton, so we never want it to be closed, // just hidden. // this.HideOnClose = true; // Keep the list up tp date. var eventService = serviceProvider.GetService <IEventService>(); eventService.BindHandler <TunnelOpenedEvent>(_ => RefreshTunnels()); eventService.BindHandler <TunnelClosedEvent>(_ => RefreshTunnels()); }
//--------------------------------------------------------------------- // Publics. //--------------------------------------------------------------------- public RemoteDesktopPane( IEventService eventService, IExceptionDialog exceptionDialog, InstanceLocator vmInstance) { this.exceptionDialog = exceptionDialog; this.eventService = eventService; this.Instance = vmInstance; this.TabText = vmInstance.Name; this.DockAreas = DockAreas.Document; // The ActiveX fails when trying to drag/dock a window, so disable // that feature. this.AllowEndUserDocking = false; var fullScreenMenuItem = new ToolStripMenuItem("&Full screen"); fullScreenMenuItem.Click += fullScreenMenuItem_Click; this.TabContextStrip.Items.Add(fullScreenMenuItem); this.TabContextStrip.Opening += tabContextStrip_Opening; }
public RemoteDesktopService(IServiceProvider serviceProvider) { this.dockPanel = serviceProvider.GetService <IMainForm>().MainPanel; this.exceptionDialog = serviceProvider.GetService <IExceptionDialog>(); this.eventService = serviceProvider.GetService <IEventService>(); }
public MarshallingProxy(IExceptionDialog real) { _real = real; }
public ConnectionNotifications(IMailClient mailClient, IExceptionDialog exceptionDialog) : base(mailClient, new ExceptionMessageBuilder(new AssemblyInfo()), exceptionDialog) { }
//--------------------------------------------------------------------- // Ctor. //--------------------------------------------------------------------- internal SshTerminalPane( IServiceProvider serviceProvider, InstanceLocator vmInstance, IPEndPoint endpoint, AuthorizedKey authorizedKey) : base(serviceProvider, DockState.Document) { InitializeComponent(); this.exceptionDialog = serviceProvider.GetService <IExceptionDialog>(); this.viewModel = new SshTerminalPaneViewModel( serviceProvider.GetService <IEventService>(), vmInstance, endpoint, authorizedKey) { View = this }; this.Text = vmInstance.Name; this.DockAreas = DockAreas.Document; this.reconnectPanel.BindReadonlyProperty( c => c.Visible, this.viewModel, m => m.IsReconnectPanelVisible, this.components); this.spinner.BindReadonlyProperty( c => c.Visible, this.viewModel, m => m.IsSpinnerVisible, this.components); this.terminal.BindReadonlyProperty( c => c.Visible, this.viewModel, m => m.IsTerminalVisible, this.components); this.viewModel.OnPropertyChange( m => m.IsTerminalVisible, visible => { if (visible) { this.terminal.Focus(); } }); Debug.Assert(this.Text != this.Name); this.Disposed += (sender, args) => { this.viewModel.Dispose(); }; this.FormClosed += OnFormClosed; this.Terminal.InputReceived += (sender, args) => { // // Relay user input to SSH connection. // // NB. This method will never throw an exception, so it is ok // to fire-and-forget it. // OnInputReceivedFromUserAsync(args.Data) .ContinueWith(_ => { }); }; this.Terminal.TerminalResized += (sender, args) => { // // NB. This method will never throw an exception, so it is ok // to fire-and-forget it. // OnTerminalResizedByUser() .ContinueWith(_ => { }); }; this.Terminal.WindowTitleChanged += (sender, args) => { this.TabText = this.Terminal.WindowTitle; }; this.viewModel.ConnectionFailed += OnErrorReceivedFromServerAsync; this.viewModel.DataReceived += OnDataReceivedFromServerAsync; #if DEBUG var copyStream = new ToolStripMenuItem("DEBUG: Copy received data"); copyStream.Click += (sender, args) => this.viewModel.CopyReceivedDataToClipboard(); this.TabContextStrip.Items.Add(copyStream); #endif }
public SerialLogService(IServiceProvider serviceProvider) { this.dockPanel = serviceProvider.GetService <IMainForm>().MainPanel; this.exceptionDialog = serviceProvider.GetService <IExceptionDialog>(); this.serviceProvider = serviceProvider; }
public HandledExceptionManager(IMailClient mailClient, IExceptionMessageBuilder exceptionMessageBuilder, IExceptionDialog exceptionDialog) { _mailClient = mailClient; _exceptionMessageBuilder = exceptionMessageBuilder; _exceptionDialog = exceptionDialog; }