2 using System.Collections.Generic;
6 using System.ComponentModel;
13 using System.Xml.Serialization;
15 namespace sage.addons.components
75 [Description(
"Círculo")]
80 [Description(
"Etiqueta")]
85 [Description(
"Botón")]
90 [Description(
"Texto")]
95 [Description(
"Etiqueta Ratio financiero")]
100 [Description(
"Plataforma Web")]
134 private string nombre =
"";
141 DefaultValue(typeof(
string),
""),
142 Description(
"Nombre del campo."),
144 DisplayName(
"(nombre)")
148 get {
return nombre; }
149 set { nombre = value.ToUpper(); }
159 DefaultValue(typeof(
DataTypes),
"Carácter"),
160 Description(
"Tipo de datos."),
166 get {
return tipoDato; }
169 if (tipoDato != value)
208 private int longitud = 0;
215 DefaultValue(typeof(
int),
"0"),
216 Description(
"Longitud del campo."),
218 DisplayName(
"Longitud")
222 get {
return longitud; }
223 set { longitud = value; }
226 private int precision = 0;
233 DefaultValue(typeof(
int),
"0"),
234 Description(
"Número de decimales para los campos numéricos."),
236 DisplayName(
"Decimales")
240 get {
return precision; }
241 set { precision = value; }
244 private bool acceptNulls =
false;
251 DefaultValue(typeof(
bool),
"false"),
252 Description(
"Permite nulos."),
254 DisplayName(
"Permite nulos")
256 public bool AcceptNulls
258 get {
return acceptNulls; }
259 set { acceptNulls = value; }
270 Description(
"Indica si formará parte de la clave principal."),
272 DisplayName(
"Clave principal")
276 get {
return clavePrincipal; }
277 set { clavePrincipal = value; }
280 private string defaultValue =
"";
287 DefaultValue(typeof(
string),
""),
288 Description(
"Valor por defecto del campo."),
290 DisplayName(
"Valor por defecto")
292 public string DefaultValue
294 get {
return defaultValue; }
295 set { defaultValue = value; }
298 private bool debeExistir =
false;
305 DefaultValue(typeof(
bool),
"false"),
306 Description(
"Indica si el campo debe existir al crear nuevas tablas."),
308 DisplayName(
"Debe existir"),
311 public bool DebeExistir
313 get {
return debeExistir; }
314 set { debeExistir = value; }
317 private string campoConfig =
"";
323 Category(
"Configuración"),
324 DefaultValue(typeof(
string),
""),
325 Description(
"Indicar el correspondiente campo ampliable de Sage50."),
327 DisplayName(
"Campo ampliable"),
328 TypeConverter(typeof(CamposConfig))
330 public string CampoConfig
332 get {
return campoConfig; }
342 private string descripcion =
"";
349 DefaultValue(typeof(
string),
""),
350 Description(
"Descripción del campo."),
352 DisplayName(
"Descripción")
354 public string Descripcion
356 get {
return descripcion; }
357 set { descripcion = value; }
371 public override List<string>
_CargarDatos(ITypeDescriptorContext context)
373 List<string> configList =
new List<string>();
374 if (context != null && context.Instance != null && context.PropertyDescriptor != null)
382 configList.Add(filtro[
"clave"].ToString().Trim());
387 configList =
new List<string>();
392 configList =
new List<string>();
408 private Dictionary<string, string> dicWidgetTypes =
new Dictionary<string, string>();
420 LoadDictionaryTipoWidgets();
424 private string nombre =
"";
431 DefaultValue(typeof(
string),
""),
432 Description(
"Nombre del widget."),
434 DisplayName(
"(nombre)"),
440 ChangeReadOnlyProperty(
this,
"Nombre", this.existe);
443 set { nombre = value; }
446 private string titulo =
"";
452 Category(
"Apariencia"),
453 DefaultValue(typeof(
string),
""),
454 Description(
"Título del widget."),
456 DisplayName(
"Título"),
461 get {
return titulo; }
462 set { titulo = value; }
465 private string descripcion =
"";
471 Category(
"Apariencia"),
472 DefaultValue(typeof(
string),
""),
473 Description(
"Descripción del widget."),
475 DisplayName(
"Descripción"),
479 public string Descripcion
481 get {
return descripcion; }
482 set { descripcion = value; }
485 private string tipoWidget =
"Texto";
493 Description(
"Tipo de widget."),
498 public string TipoDato
501 ChangeReadOnlyProperty(
this,
"TipoDato", this.existe);
506 tipodatokey = GetWidgetTypesKey(tipoWidget);
507 WidgetTypes loTypoWidget = GetWidgetTypesKeyEnum(tipoWidget);
509 switch (loTypoWidget)
512 Plantilla = Resources.WidgetCirculo;
513 PlantillaDesigner = Resources.WidgetCirculo_Designer;
516 Plantilla = Resources.WidgetEtiqueta;
517 PlantillaDesigner = Resources.WidgetEtiqueta_Designer;
520 Plantilla = Resources.WidgetBoton;
521 PlantillaDesigner =
"";
524 Plantilla = Resources.WidgetTexto;
525 PlantillaDesigner =
"";
528 Plantilla = Resources.WidgetContabilidadRatio;
529 PlantillaDesigner = Resources.WidgetContabilidadRatio_Designer;
532 Plantilla = Resources.WidgetPlataformaWeb;
533 PlantillaDesigner =
"";
537 PlantillaDesigner =
"";
545 private bool existe =
false;
551 Category(
"Apariencia"),
552 DefaultValue(typeof(
bool),
"false"),
553 Description(
"Existe widget."),
555 DisplayName(
"Existe"),
561 get {
return existe; }
563 ChangeReadOnlyProperty(
this,
"Nombre", value);
564 ChangeReadOnlyProperty(
this,
"TipoDato", value);
570 private string plantilla =
"";
576 Category(
"Apariencia"),
577 DefaultValue(typeof(
string),
""),
578 Description(
"Plantilla."),
580 DisplayName(
"Plantilla"),
584 public string Plantilla
586 get {
return plantilla; }
587 set { plantilla = value; }
590 private string plantillaDesigner =
"";
596 Category(
"Apariencia"),
597 DefaultValue(typeof(
string),
""),
598 Description(
"Plantilla Designer."),
600 DisplayName(
"Plantilla Designer"),
604 public string PlantillaDesigner
606 get {
return plantillaDesigner; }
607 set { plantillaDesigner = value; }
610 private string tipodatokey =
"";
616 Category(
"Apariencia"),
617 DefaultValue(typeof(
string),
""),
618 Description(
"Tipo dato clave."),
620 DisplayName(
"Tipo dato clave"),
624 public string TipoDatoKey
626 get {
return tipodatokey; }
628 if (tipodatokey != value)
631 if (dicWidgetTypes.ContainsKey(tipodatokey))
632 TipoDato = dicWidgetTypes[tipodatokey];
647 private void ChangeReadOnlyProperty(
object toObj,
string tcField,
bool tlReadOnly)
649 PropertyDescriptor descriptor = TypeDescriptor.GetProperties(toObj.GetType())[tcField];
650 ReadOnlyAttribute attrib = (ReadOnlyAttribute)descriptor.Attributes[typeof(ReadOnlyAttribute)];
651 FieldInfo loField = attrib.GetType().GetField(
"isReadOnly", BindingFlags.NonPublic | BindingFlags.Instance);
652 loField.SetValue(attrib, tlReadOnly);
657 int nTipos = dicWidgetTypes.Count;
658 string [] Widgets =
new string[nTipos];
661 foreach (KeyValuePair<string, string> entry
in dicWidgetTypes)
663 Widgets[n1] = entry.Value;
673 foreach (KeyValuePair<string, string> entry
in dicWidgetTypes)
675 if (entry.Value == tcValue)
695 string lcDesc = GetEnumDescription(loType);
696 if (lcDesc == tcValue)
698 loTypeReturn = loType;
710 private void LoadDictionaryTipoWidgets()
712 dicWidgetTypes =
new Dictionary<string, string>();
714 dicWidgetTypes.Add(loType.ToString(), GetEnumDescription(loType));
722 private string GetEnumDescription(Enum value)
724 FieldInfo fi = value.GetType().GetField(value.ToString());
726 DescriptionAttribute[] attributes = fi.GetCustomAttributes(typeof(DescriptionAttribute),
false) as DescriptionAttribute[];
728 if (attributes != null && attributes.Any())
730 return attributes.First().Description;
733 return value.ToString();
746 private string _nombre =
"";
753 DefaultValue(typeof(
string),
""),
754 Description(
"Nombre del campo."),
756 DisplayName(
"(nombre)"),
759 public new string _Nombre
761 get {
return _nombre; }
764 string oldname = _nombre;
767 if (Nombre_Changed != null)
768 Nombre_Changed(
this, value, oldname);
772 private bool esClave =
false;
779 DefaultValue(typeof(
bool),
"false"),
780 Description(
"Indica si el campo es parte de la clave principal de la tabla."),
782 DisplayName(
"Es clave"),
785 public new bool EsClave
787 get {
return esClave; }
788 set { esClave = value; }
791 private bool esFiltro =
false;
798 DefaultValue(typeof(
bool),
"false"),
799 Description(
"Indica si el campo actuará de filtro para recuperar los datos de la tabla."),
801 DisplayName(
"Es filtro"),
804 public new bool EsFiltro
806 get {
return esFiltro; }
807 set { esFiltro = value; }
810 private bool esCampoLinea =
false;
817 DefaultValue(typeof(
bool),
"false"),
818 Description(
"Indica si el campo es del tipo línea."),
820 DisplayName(
"Es campo línea"),
823 public new bool EsCampoLinea
825 get {
return esCampoLinea; }
826 set { esCampoLinea = value; }
829 private bool campoAgregado =
false;
836 DefaultValue(typeof(
bool),
"false"),
837 Description(
"Indica si es un campo agregado."),
839 DisplayName(
"Es campo línea"),
842 public new bool CampoAgregado
844 get {
return campoAgregado; }
845 set { campoAgregado = value; }
848 internal static string BaseDatosList =
"";
849 internal static string BaseDatosLogicaList =
"";
850 private string _validar_Dato_BaseDatos =
"";
857 DefaultValue(typeof(
string),
""),
858 Description(
"Base de datos donde se validará si el dato existe."),
860 DisplayName(
"Base datos validar"),
861 TypeConverter(typeof(DataBasesList))
863 public new string _Validar_Dato_BaseDatos
865 get {
return _validar_Dato_BaseDatos; }
868 if (_validar_Dato_BaseDatos == value)
871 _validar_Dato_BaseDatos = value;
873 BaseDatosLogicaList = value;
874 BaseDatosList =
sage.
ew.
db.
DB._oAliasDB[value];
876 if (!
string.IsNullOrWhiteSpace(BaseDatosList))
878 BaseDatosList = BaseDatosList.Replace(
"[",
"");
879 BaseDatosList = BaseDatosList.Replace(
"].dbo.",
"");
883 BaseDatosList = value;
886 _Validar_Dato_Tabla =
"";
890 internal static string TablaList =
"";
891 private string _validar_Dato_Tabla =
"";
898 DefaultValue(typeof(
string),
""),
899 Description(
"Tabla donde se validará si el dato existe."),
901 DisplayName(
"Tabla validar"),
902 TypeConverter(typeof(TablesList))
904 public new string _Validar_Dato_Tabla
906 get {
return _validar_Dato_Tabla; }
909 if (_validar_Dato_Tabla == value)
912 _validar_Dato_Tabla = value;
915 _Validar_Dato_Clave =
"";
916 _Validar_Dato_Campos =
"";
920 private string _validar_Dato_Clave =
"";
927 DefaultValue(typeof(
string),
""),
928 Description(
"Clave por la cual se buscará el valor a la tabla de validación."),
930 DisplayName(
"Clave validar"),
931 TypeConverter(typeof(FieldsList))
933 public new string _Validar_Dato_Clave
935 get {
return _validar_Dato_Clave; }
936 set { _validar_Dato_Clave = value; }
939 private string _validar_Dato_Campos =
"";
946 DefaultValue(typeof(
string),
""),
947 Description(
"Campos que se recuperarán en la consulta de validación."),
949 DisplayName(
"Campos recuperar"),
950 TypeConverter(typeof(FieldsList))
952 public new string _Validar_Dato_Campos
954 get {
return _validar_Dato_Campos; }
955 set { _validar_Dato_Campos = value; }
958 internal static string CampoList =
"";
959 private string _campoTabla =
"";
966 DefaultValue(typeof(
string),
""),
967 Description(
"Valor de la tabla actual que se comparará con la clave de la tabla de validación."),
969 DisplayName(
"Campo"),
970 TypeConverter(typeof(CamposList))
972 public new string _CampoTabla
974 get {
return _campoTabla; }
977 if (_campoTabla == value)
985 private string _validar_Dato_CampoTRel_Asignar =
"";
992 DefaultValue(typeof(
string),
""),
993 Description(
"Destino de los valores recuperados en la consulta de validación."),
995 DisplayName(
"Campos asignar"),
996 TypeConverter(typeof(CamposList))
998 public new string _Validar_Dato_CampoTRel_Asignar
1000 get {
return _validar_Dato_CampoTRel_Asignar; }
1001 set { _validar_Dato_CampoTRel_Asignar = value; }
1012 Description(
"Máscara para columnas numéricas."),
1014 DisplayName(
"Máscara números"),
1019 get {
return _mascara; }
1020 set { _mascara = value; }
1023 private int numeroDecimales = 0;
1030 DefaultValue(typeof(
int),
"0"),
1031 Description(
"Número de decimales para columnas numéricas."),
1033 DisplayName(
"Número de decimales")
1035 public int NumeroDecimales
1037 get {
return numeroDecimales; }
1038 set { numeroDecimales = value; }
1041 private int longitud = 0;
1048 DefaultValue(typeof(
int),
"0"),
1049 Description(
"Longitud del campo."),
1051 DisplayName(
"Longitud")
1055 get {
return longitud; }
1056 set { longitud = value; }
1059 private bool debeExistir =
false;
1066 DefaultValue(typeof(
bool),
"false"),
1067 Description(
"Indica si el campo debe existir al crear nuevas tablas."),
1069 DisplayName(
"Debe existir"),
1072 public bool DebeExistir
1074 get {
return debeExistir; }
1075 set { debeExistir = value; }
1086 public delegate
void Nombre_Change_Handler(
ewCampoTRelAddons sender,
string newname,
string oldname);
1094 if (dataType ==
"char")
1097 if (dataType ==
"bit")
1100 if (dataType ==
"text")
1103 if (dataType ==
"int")
1106 if (dataType ==
"date" || dataType ==
"datetime")
1109 if (dataType ==
"numeric" || dataType ==
"decimal")
1126 List<string> databasesList =
new List<string>();
1127 if (context != null && context.Instance != null && context.PropertyDescriptor != null)
1132 databasesList =
sage.
ew.
db.
DB._oAliasDB.Keys.ToList();
1135 for (
int i = databasesList.Count - 1; i >= 0; i--)
1137 if (databasesList[i].Length > 4 && databasesList[i].Substring(0, 4) ==
"COMU" && databasesList[i] !=
"COMUNES")
1139 databasesList.RemoveAt(i);
1142 if (databasesList[i] ==
"EUROWINSYS")
1144 databasesList.RemoveAt(i);
1147 if (databasesList[i].All(
char.IsDigit))
1149 databasesList.RemoveAt(i);
1156 databasesList =
new List<string>();
1159 return databasesList;
1176 List<string> tablesList =
new List<string>();
1177 if (context != null && context.Instance != null && context.PropertyDescriptor != null)
1181 DataTable tablesBD =
sage.
ew.
db.
DB._DBsInformationSchema(BaseDatosList)._INFORMATION_SCHEMA_TABLES;
1182 DataView tablesDBView = tablesBD.DefaultView;
1183 tablesDBView.Sort =
"TABLE_NAME";
1185 foreach (DataRowView table
in tablesDBView)
1188 tablesList.Add(table[
"TABLE_NAME"].ToString());
1193 tablesList =
new List<string>();
1214 List<string> fieldsList =
new List<string>();
1215 DataTable fieldsBD =
new DataTable();
1217 if (context != null && context.Instance != null && context.PropertyDescriptor != null)
1222 fieldsBD =
sage.
ew.
db.
DB._TablesInformationSchema(BaseDatosLogicaList, TablaList)._INFORMATION_SCHEMA;
1223 DataView fieldsBDView = fieldsBD.DefaultView;
1224 fieldsBDView.Sort =
"column_name";
1226 foreach (DataRowView field
in fieldsBDView)
1228 fieldsList.Add(field[
"column_name"].ToString());
1233 fieldsList =
new List<string>();
1254 List<string> tablesList =
new List<string>();
1255 if (context != null && context.Instance != null && context.PropertyDescriptor != null)
1270 tablesList =
new List<string>();
1310 private string nombre =
"";
1317 DefaultValue(typeof(
string),
""),
1318 Description(
"Nombre del mantenimiento."),
1320 DisplayName(
"(nombre)"),
1323 public string Nombre
1325 get {
return nombre; }
1326 set { nombre = value; }
1329 private string titulo =
"";
1336 DefaultValue(typeof(
string),
""),
1337 Description(
"Título del formulario."),
1339 DisplayName(
"Título"),
1342 public string Titulo
1344 get {
return titulo; }
1345 set { titulo = value; }
1348 private string textomenu =
"";
1355 DefaultValue(typeof(
string),
""),
1356 Description(
"Texto que se mostrará en la opción de menú."),
1358 DisplayName(
"Texto menú"),
1361 public string TextoMenu
1363 get {
return textomenu; }
1364 set { textomenu = value; }
1367 private int numtabs = 1;
1374 DefaultValue(typeof(
int),
"1"),
1375 Description(
"Número de páginas donde se colocará el control."),
1377 DisplayName(
"Páginas"),
1382 get {
return numtabs; }
1385 if (value == null || value == 0)
1392 private bool addCeros =
true;
1399 DefaultValue(typeof(
bool),
"true"),
1400 Description(
"Activado, se añadirán ceros a la izquierda del código hasta cumplimentar su longitud."),
1402 DisplayName(
"Añadir ceros"),
1405 public bool AddCeros
1407 get {
return addCeros; }
1462 private string nombre =
"";
1469 DefaultValue(typeof(
string),
""),
1470 Description(
"Nombre del mantenimiento."),
1472 DisplayName(
"(nombre)"),
1475 public string Nombre
1477 get {
return nombre; }
1478 set { nombre = value; }
1481 private string nombretabla =
"";
1488 DefaultValue(typeof(
string),
""),
1489 Description(
"Nombre de la tabla."),
1491 DisplayName(
"(nombre tabla)"),
1494 public string NombreTabla
1496 get {
return nombretabla; }
1499 nombretabla = value;
1501 NombreTabla_Changed?.Invoke(
this, value);
1505 private string titulo =
"";
1512 DefaultValue(typeof(
string),
""),
1513 Description(
"Título del formulario."),
1515 DisplayName(
"Título"),
1518 public string Titulo
1520 get {
return titulo; }
1521 set { titulo = value; }
1524 private string textomenu =
"";
1531 DefaultValue(typeof(
string),
""),
1532 Description(
"Texto que se mostrará en la opción de menú."),
1534 DisplayName(
"Texto menú"),
1537 public string TextoMenu
1539 get {
return textomenu; }
1540 set { textomenu = value; }
1543 private int numtabs = 1;
1550 DefaultValue(typeof(
int),
"1"),
1551 Description(
"Número de páginas donde se colocará el control."),
1553 DisplayName(
"Páginas"),
1558 get {
return numtabs; }
1561 if (value == null || value == 0)
1568 private bool addCeros =
true;
1575 DefaultValue(typeof(
bool),
"true"),
1576 Description(
"Activado, se añadirán ceros a la izquierda del código hasta cumplimentar su longitud."),
1578 DisplayName(
"Añadir ceros"),
1581 public bool AddCeros
1583 get {
return addCeros; }
1598 public delegate
void NombreTabla_Change_Handler(
ModManteProperties sender,
string nombreTabla);
1607 private int position = -1;
1614 DefaultValue(typeof(
int),
"-1"),
1615 Description(
"Posición del botón dentro del ToolStrip."),
1617 DisplayName(
"Posición"),
1622 get {
return position; }
1632 public override System.Drawing.Size Size
1651 private int position = -1;
1658 DefaultValue(typeof(
int),
"-1"),
1659 Description(
"Posición del botón dentro del ToolStrip."),
1661 DisplayName(
"Posición"),
1666 get {
return position; }
1676 public override System.Drawing.Size Size
1695 private int position = -1;
1702 DefaultValue(typeof(
int),
"-1"),
1703 Description(
"Posición del botón dentro del ToolStrip."),
1705 DisplayName(
"Posición"),
1710 get {
return position; }
1720 public override System.Drawing.Size Size
1739 private int position = -1;
1746 DefaultValue(typeof(
int),
"-1"),
1747 Description(
"Posición del botón dentro del ToolStrip."),
1749 DisplayName(
"Posición"),
1754 get {
return position; }
1764 public override System.Drawing.Size Size
1783 private int position = -1;
1790 DefaultValue(typeof(
int),
"-1"),
1791 Description(
"Posición del botón dentro del ToolStrip."),
1793 DisplayName(
"Posición"),
1798 get {
return position; }
1808 public override System.Drawing.Size Size
1827 private int position = -1;
1834 DefaultValue(typeof(
int),
"-1"),
1835 Description(
"Posición del botón dentro del ToolStrip."),
1837 DisplayName(
"Posición"),
1842 get {
return position; }
1852 public override System.Drawing.Size Size
1871 private int position = -1;
1878 DefaultValue(typeof(
int),
"-1"),
1879 Description(
"Posición del botón dentro del ToolStrip."),
1881 DisplayName(
"Posición"),
1886 get {
return position; }
1896 public override System.Drawing.Size Size
1915 private int position = -1;
1922 DefaultValue(typeof(
int),
"-1"),
1923 Description(
"Posición del botón dentro del ToolStrip."),
1925 DisplayName(
"Posición"),
1930 get {
return position; }
1940 public override System.Drawing.Size Size
1953 public override bool AllowDrop
1957 return base.AllowDrop;
1961 base.AllowDrop = value;
1966 public override System.Drawing.Rectangle Bounds
1975 public override bool CanSelect
1979 return base.CanSelect;
1984 public override System.Drawing.Font Font
2330 private string nombre =
"";
2337 DefaultValue(typeof(
string),
""),
2338 Description(
"Nombre de la página."),
2340 DisplayName(
"(nombre)"),
2343 public string Nombre
2345 get {
return nombre; }
2346 set { nombre = value; }
2349 private string titulo =
"";
2356 DefaultValue(typeof(TabControl.TabPageCollection), null),
2357 Description(
"Título de la página."),
2359 DisplayName(
"Título")
2361 public string Titulo
2363 get {
return titulo; }
2368 if (TituloPagina_Changed != null)
2369 TituloPagina_Changed(
this, value);
2381 public delegate
void TituloPagina_Change_Handler(
PaginaManteProperties sender,
string tituloPagina);
2389 private string nombre =
"";
2396 DefaultValue(typeof(
string),
""),
2397 Description(
"Nombre del campo."),
2399 DisplayName(
"(nombre)"),
2402 public string Nombre
2404 get {
return nombre; }
2411 private bool visible =
false;
2418 DefaultValue(typeof(
bool),
"false"),
2419 Description(
"Determina si el campo será visible o no."),
2421 DisplayName(
"Visible")
2425 get {
return visible; }
2431 if (Visible_Changed != null)
2432 Visible_Changed(
this, value);
2436 private bool mostrarTitulo =
true;
2443 DefaultValue(typeof(
bool),
"true"),
2444 Description(
"Muestra u oculta el título del campo."),
2446 DisplayName(
"Mostrar título")
2448 public bool MostrarTitulo
2450 get {
return mostrarTitulo; }
2453 mostrarTitulo = value;
2455 if (MostrarTitulo_Changed != null)
2456 MostrarTitulo_Changed(
this, value);
2460 private int tab = 1;
2467 DefaultValue(typeof(
int),
"1"),
2468 Description(
"Índice de la página donde se colocará el control."),
2470 DisplayName(
"Página"),
2476 set { tab = value; }
2479 private Int32 numericupdowndecimals = 0;
2486 DefaultValue(typeof(
int),
"0"),
2487 Description(
"Posiciones decimales. Solo para los controles NumericUpDown"),
2489 DisplayName(
"Posiciones decimales")
2491 public Int32 NumericUpDownDecimals
2493 get {
return numericupdowndecimals; }
2496 numericupdowndecimals = value;
2498 if (NumericUpDownProperties_Changed != null)
2499 NumericUpDownProperties_Changed(
this);
2503 private Int32 numericupdownincrement = 1;
2510 DefaultValue(typeof(
int),
"1"),
2511 Description(
"Incremento. Solo para los controles NumericUpDown"),
2513 DisplayName(
"Incremento")
2515 public Int32 NumericUpDownIncrement
2517 get {
return numericupdownincrement; }
2520 numericupdownincrement = value;
2522 if (NumericUpDownProperties_Changed != null)
2523 NumericUpDownProperties_Changed(
this);
2527 private Int32 numericupdownmaximum = 9999999;
2534 DefaultValue(typeof(
int),
"9999999"),
2535 Description(
"Valor máximo. Solo para los controles NumericUpDown"),
2537 DisplayName(
"Máximo")
2539 public Int32 NumericUpDownMaximum
2541 get {
return numericupdownmaximum; }
2544 numericupdownmaximum = value;
2546 if (NumericUpDownProperties_Changed != null)
2547 NumericUpDownProperties_Changed(
this);
2551 private Int32 numericupdownminimum = 0;
2558 DefaultValue(typeof(
int),
"0"),
2559 Description(
"Valor mínimo. Solo para los controles NumericUpDown"),
2561 DisplayName(
"Mínimo")
2563 public Int32 NumericUpDownMinimum
2565 get {
return numericupdownminimum; }
2568 numericupdownminimum = value;
2570 if (NumericUpDownProperties_Changed != null)
2571 NumericUpDownProperties_Changed(
this);
2575 private Int32 top = 0;
2582 DefaultValue(typeof(
int),
"0"),
2583 Description(
"Posición vertical del control."),
2594 if (Location_Changed != null)
2595 Location_Changed(
this);
2599 private Int32 left = 0;
2606 DefaultValue(typeof(
int),
"0"),
2607 Description(
"Posición horizontal del control."),
2613 get {
return left; }
2618 if (Location_Changed != null)
2619 Location_Changed(
this);
2623 private Int32 controlleft = 0;
2630 DefaultValue(typeof(
int),
"0"),
2631 Description(
"Posición horizontal del control."),
2633 DisplayName(
"Left"),
2636 public Int32 ControlLeft
2638 get {
return controlleft; }
2641 controlleft = value;
2653 Description(
"Control enlazado al campo."),
2655 DisplayName(
"Control")
2659 get {
return objectType; }
2662 if (value != null && objectType != null && objectType != value)
2672 if (ObjectType_Changed != null)
2673 ObjectType_Changed(
this, value);
2677 private string txtCodLabel =
"";
2685 Description(
"Objeto TxtCodLabel que se insertará en el control de usuario."),
2687 DisplayName(
"TxtCodLabel"),
2692 get {
return txtCodLabel; }
2695 if (txtCodLabel != value)
2697 if (!
string.IsNullOrWhiteSpace(value))
2703 txtCodLabel = value;
2726 private string tituloCampo =
"";
2733 DefaultValue(typeof(
string),
""),
2734 Description(
"Título del campo."),
2736 DisplayName(
"Título")
2738 public string TituloCampo
2740 get {
return tituloCampo; }
2743 tituloCampo = value;
2745 if (TituloCampo_Changed != null)
2746 TituloCampo_Changed(
this, value);
2750 private bool debeExistir =
false;
2757 DefaultValue(typeof(
bool),
"false"),
2758 Description(
"Indica si el campo debe existir al crear nuevas tablas."),
2760 DisplayName(
"Debe existir"),
2763 public bool DebeExistir
2765 get {
return debeExistir; }
2766 set { debeExistir = value; }
2769 private bool esFiltro =
false;
2776 DefaultValue(typeof(
bool),
"false"),
2777 Description(
"Indica si el campo actuará como filtro de la tabla del addon."),
2779 DisplayName(
"Es filtro"),
2782 public bool EsFiltro
2784 get {
return esFiltro; }
2785 set { esFiltro = value; }
2795 string dataType = fieldProperties[
"Data_Type"].ToString();
2796 SetObjectType(dataType);
2798 if (dataType ==
"numeric")
2800 int decimals = Convert.ToInt32(fieldProperties[
"numeric_scale"]);
2801 NumericUpDownDecimals = decimals;
2811 if (dataType ==
"char")
2814 if (dataType ==
"bit")
2817 if (dataType ==
"text")
2820 if (dataType ==
"int")
2823 if (dataType ==
"date" || dataType ==
"datetime")
2826 if (dataType ==
"numeric" || dataType ==
"decimal")
2858 public delegate
void Visible_Change_Handler(
object sender,
bool visible);
2896 private string nombre =
"";
2903 DefaultValue(typeof(
string),
""),
2904 Description(
"Nombre del control de usuario."),
2906 DisplayName(
"(nombre)"),
2909 public string Nombre
2911 get {
return nombre; }
2912 set { nombre = value; }
2915 private int numtabs = 1;
2922 DefaultValue(typeof(
int),
"1"),
2923 Description(
"Número de páginas que tendrá el control de usuario."),
2925 DisplayName(
"Páginas"),
2930 get {
return numtabs; }
2933 if (value == null || value == 0)
2971 private string nombre =
"";
2978 DefaultValue(typeof(
string),
""),
2979 Description(
"Nombre del campo."),
2981 DisplayName(
"(nombre)"),
2984 public string Nombre
2986 get {
return nombre; }
2987 set { nombre = value; }
2990 private string tituloCampo =
"";
2997 DefaultValue(typeof(
string),
""),
2998 Description(
"Título del campo."),
3000 DisplayName(
"Título")
3002 public string TituloCampo
3004 get {
return tituloCampo; }
3007 tituloCampo = value;
3009 if (TituloCampo_Changed != null)
3010 TituloCampo_Changed(
this, value);
3031 private string nombre =
"";
3038 DefaultValue(typeof(
string),
""),
3039 Description(
"Nombre del documento."),
3041 DisplayName(
"(nombre)"),
3044 public string Nombre
3046 get {
return nombre; }
3047 set { nombre = value; }
3050 private string titulo =
"";
3057 DefaultValue(typeof(
string),
""),
3058 Description(
"Título del formulario."),
3060 DisplayName(
"Título"),
3063 public string Titulo
3065 get {
return titulo; }
3066 set { titulo = value; }
3069 private int capHeight = 108;
3076 DefaultValue(typeof(
int),
"108"),
3077 Description(
"Alto de la cabecera del documento."),
3079 DisplayName(
"Altro cabecera"),
3082 public int CapHeight
3084 get {
return capHeight; }
3085 set { capHeight = value; }
3088 private string textomenu =
"";
3095 DefaultValue(typeof(
string),
""),
3096 Description(
"Texto que se mostrará en la opción de menú."),
3098 DisplayName(
"Texto menú"),
3101 public string TextoMenu
3103 get {
return textomenu; }
3104 set { textomenu = value; }
3146 List<string> lstModulos =
new List<string>();
3147 if (context != null && context.Instance != null && context.PropertyDescriptor != null)
3153 lstModulos = usercontrolsList;
3157 lstModulos =
new List<string>();
Visible_Change_Handler Visible_Changed
Handler del evento para capturar el cambio de Visible
Proporciona un convertidor de tipos para convertir objetos de cadena en otras representaciones y desd...
WidgetTypes
Tipos de widgets para la creación de widgets
override List< string > _CargarDatos(ITypeDescriptorContext context)
Metodo virtual para cargar los datos del combo. El metodo por defecto trata de cargar los datos de la...
Propiedades para el deseño de las modificaciones de los mantenimientos
void SetObjectType(string dataType)
Establece el tipo de objeto según el tipo de datos
override List< string > _CargarDatos(ITypeDescriptorContext context)
Metodo virtual para cargar los datos del combo. El metodo por defecto trata de cargar los datos de la...
Propiedades para el deseño de los controles de usuarios para mantenientos
ObjectType_Change_Handler ObjectType_Changed
Handler del evento para capturar el cambio de tipo de objeto
void SetObjectType(string dataType)
Establece el tipo de objeto según el tipo de datos
Proporciona un convertidor de tipos para convertir objetos de cadena en otras representaciones y desd...
Clase para las acciones en la base de datos
PrimaryKeys
Tipos de claves primarias
static DataTable ConfigTable
Guardamos el contenido de la tabla config de comunes
Propiedades de los campos código y nombre para el deseño de los mantenimientos
Proporciona un convertidor de tipos para convertir objetos de cadena en otras representaciones y desd...
Location_Changed_Handler Location_Changed
Handler del evento para capturar el cambio de PosicionesDecimales
TituloPagina_Change_Handler TituloPagina_Changed
Handler del evento para capturar el cambio de título
override List< string > _CargarDatos(ITypeDescriptorContext context)
Metodo virtual para cargar los datos del combo. El metodo por defecto trata de cargar los datos de la...
override List< string > _CargarDatos(ITypeDescriptorContext context)
Metodo virtual para cargar los datos del combo. El metodo por defecto trata de cargar los datos de la...
NombreTabla_Change_Handler NombreTabla_Changed
Handler del evento para capturar el cambio de título
Proporciona un convertidor de tipos para convertir objetos de cadena en otras representaciones y desd...
TituloCampo_Change_Handler TituloCampo_Changed
Handler del evento para capturar el cambio de título
void SetObjectProperties(DataRowView fieldProperties)
Establece las propiedades del objeto basándose en el campo seleccionado
Caja de texto con datos seleccionables
Clase para la definición de las páginas del mantenimiento
Proporciona un convertidor de tipos para convertir objetos de cadena en otras representaciones y desd...
Definición de los objetos campo para las tablas relacionadas
Control de selección de fecha
Clase para mostrar las propiedades de ewCampoTRel
Propiedades para el deseño de los mantenimientos
Funciones y métodos para crear los componentes
Clave primaria ascendente
static int GetLenCampoConfig(string nombreCampo)
Devuelve la longitud del campo ampliable
Clase para mostrar las propiedades de campos en la creación de tablas
static FuncsSourceCode FuncsSourceForProperties
Funciones para los ficheros de código fuente
Proporciona características adicionales de las máscaras de Eurowin
Clave primaria descendente
Propiedades de objetos para el deseño de los mantenimientos
dynamic ClassMod
Clase que se está utilizando
MostrarTitulo_Change_Handler MostrarTitulo_Changed
Handler del evento para capturar el cambio de Visible
ObjectsManteTypes
Tipos de objetos para enlazar con los campos de los mantenimientos
Propiedades para el deseño de los mantenimientos
TituloCampo_Change_Handler TituloCampo_Changed
Handler del evento para capturar el cambio de título
Base para los botones de herramientas
Proporciona un convertidor de tipos para convertir objetos de cadena en otras representaciones y desd...
override List< string > _CargarDatos(ITypeDescriptorContext context)
Metodo virtual para cargar los datos del combo. El metodo por defecto trata de cargar los datos de la...
gridColumnsTypes
Definición de los tipos de columnas para los grids o campos enlazados
NumericUpDownProperties_Change_Handler NumericUpDownProperties_Changed
Handler del evento para capturar el cambio de PosicionesDecimales
Nombre_Change_Handler Nombre_Changed
Handler del evento para capturar el cambio de nombre
List< string > GetFiltrosTxtCodLabel()
Devuelve los addons que tienen filtros
DataTypes
Tipos de datos para la creación de tablas
Clase estática de acceso a Base de Datos
override List< string > _CargarDatos(ITypeDescriptorContext context)
Metodo virtual para cargar los datos del combo. El metodo por defecto trata de cargar los datos de la...