CargarExtensionesBrowserCommand.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Windows.Forms;
6 using sage.ew.interficies;
7 
8 namespace Sage.ES.S50.Addons
9 {
10  internal class CargarExtensionesBrowserCommand : Command
11  {
12  public CargarExtensionesBrowserCommand(IAddonsManager addons) : base(addons)
13  {
14  Name = "CargarExtensionesBrowser";
15  }
16 
17  protected override void CommandModulo(IModulo modulo, params object[] parameters)
18  {
19  IBrowserAddons browser = (IBrowserAddons)parameters[0];
20  string tabla = parameters[1].ToString();
21  EventHandler BrowserExtension_GotFocus = parameters[2] as EventHandler;
22  Action<IBrowserPropiedadesExtendidas> SetExtensionHeight = (Action<IBrowserPropiedadesExtendidas>)parameters[3];
23 
24  IBrowserPropiedadesExtendidas extension = modulo._BindBrowser(tabla);
25  if (extension != null)
26  {
27  extension._Documento = browser._Documento;
28  browser._Extensiones.Add(modulo._Nombre2, extension);
29  SetExtensionHeight(extension);
30 
31  // Comprovar si hi ha grid
32  foreach (var ctrl in ((UserControl)extension).Controls)
33  {
34  if (ctrl is DataGridView)
35  {
36  ((DataGridView)ctrl).GotFocus += BrowserExtension_GotFocus;
37  }
38  }
39  }
40  }
41 
42  protected override ExpectedParameters GetExpectedParameters()
43  {
44  return new ExpectedParameters(
45  new Type[] { typeof(IBrowserAddons),
46  typeof(string),
47  typeof(EventHandler),
48  typeof(Action<IBrowserPropiedadesExtendidas>) });
49  }
50  }
51 }
PE-93426 Interficie para los módulos de la aplicación
Definition: IModulo.cs:22
string _Nombre2
Nombre visible del módulo
Definition: IModulo.cs:54
Interficie para las extensiones de los browser
Dictionary< string, IBrowserPropiedadesExtendidas > _Extensiones
dynamic _Documento
Instancia del documento desde el que se llama al browser
IBrowserPropiedadesExtendidas _BindBrowser(string browsertabla)
Permite extender el browser