Buena Amigos seguimos con la colección de tutoriales de plugins, hoy toca Group Action Plugin este plugin es para crear grupos de objetos y fijar el tamaño, visibilidad, posición, etc...dependiendo de el comando que se carga. creado por RizlaUK y Centauri Soldier para www.amspublic.com y bajo una licencia freeware, si detectáis algún problema poneros en contacto con el creador en esta dirección de mail [email protected] recuerda escribir el mail en ingles. Este tutorial esta basado en la versión 1.3.0.0. Para descargarlo en la pagina anteriormente nombrada encontrareis versiones mas actual. Para mas información visitar la pagina web del creador. Group action plugin tiene 17 acciones practicas que son estas: Group.AddItem Group.AdjustHeight Group.AdjustWidth Group.Count Group.CreateObject Group.DeleteObject Group.Enum Group.GetEnabled Group.GetVisible Group.IsObject Group.Move Group.RemoveItem Group.SetEnabled Group.SetHeight Group.SetPos Group.SetVisible Group.SetWidth Group.AddItem Group.AddItem es un comando que sirve para añadir un objeto a un grupo. Group.AddItem(Object Name, Group Name); Object Name: Nombre del objeto que sera agregado al grupo. Group Name: Nombre del grupo con el que trabajara el objeto. Ejemplo: Group.AddItem("CheckBox1", "Grupo_1"); Group.AddItem("CheckBox2", "Grupo_1"); Group.AddItem("CheckBox3", "Grupo_2"); Group.AddItem("CheckBox4", "Grupo_2"); Group.AdjustHeight Group.AdjustHeight es un comando que sirve para ajustar la altura de todos los objetos en el grupo por el número de pixeles especificados. Nota Importante: La versión 1.3.0.0 tiene un error en el XML, según AMS y el archivo de ayuda este comando solo tiene un argumento “Pixels” pero esto no es correcto tiene dos argumentos el “Group Name y Pixels”. Group.AdjustHeight(Group Name, Pixels); Group Name: Nombre del grupo con el que se trabajara. Pixels: El número de pixeles para ajustar la altura de los objetos de grupo. Ejemplo: Group.AdjustHeight("Grupo_1", 25); Group.AdjustWidth Group.AdjustWidth es un comando que sirve para ajustar la anchura de todos los objetos en el grupo por el número de pixeles especificados. Nota Importante: La versión 1.3.0.0 tiene un error en el XML, según AMS y el archivo de ayuda este comando solo tiene un argumento “Pixels” pero esto no es correcto tiene dos argumentos el “Group Name y Pixels”. Group.AdjustWidth(Group Name, Pixels); Group Name: Nombre del grupo con el que se trabajara. Pixels: El número de pixeles para ajustar la altura de los objetos de grupo. Ejemplo: Group.AdjustWidth("Grupo_1", 25); Group.Count Group.Count es un comando que sirve para contar el número total de artículos en un grupo. Group.Count(Group Name); Group Name: Nombre del grupo con el que se trabajara. Returns: Devuelve el numero de objetos del grupo. Ejemplo: result = Group.Count("Grupo_1"); Dialog.Message("Info", "Numero de Objetos: "..result); Group.CreateObject Group.CreateObject es un comando que sirve para crear un objeto en la página actual o diálogo y lo añadirá al grupo especificado. Group.CreateObject(Object Name, Object Type, Object Properties, Group Name); Object Name: El nombre del objeto de crear y añadir al grupo. Object Type: El tipo del objeto. Puede ser uno de estos: CONTENIDO VALOR DESCRIPCIÓN OBJECT_BUTTON 0 Objeto botón. OBJECT_LABEL 1 Objeto etiqueta. OBJECT_PARAGRAPH 2 Objeto parágrafo. OBJECT_IMAGE 3 Objeto imagen. OBJECT_FLASH 4 Objeto flash. OBJECT_VIDEO 5 Objeto video. OBJECT_WEB 6 Objeto web. OBJECT_INPUT 7 Objeto input. OBJECT_HOTSPOT 8 Objeto hotspot. OBJECT_LISTBOX 9 Objeto listbox. OBJECT_COMBOBOX 10 Objeto combobox. OBJECT_PROGRESS 11 Objeto progress. OBJECT_TREE 12 Objeto tree. OBJECT_RADIOBUTTON 13 Objeto radiobutton. OBJECT_RICHTEXT 14 Objeto richtext. OBJECT_CHECKBOX 15 Objeto checkbox. OBJECT_SLIDESHOW 16 Objeto sideshow. OBJECT_GRID 17 Objeto grid. Object Properties: El nombre de la tabla que contiene las propiedades del objeto. Group Name: El nombre del grupo con el que se trabajara. Ejemplo: tblBtnProps = {}; tblBtnProps.ButtonFile = _SourceFolder.."\\AutoPlay\\Buttons\\grey_rounded.btn"; tblBtnProps.Text = "Nuevo Boton"; tblBtnProps.FontName = "Verdana"; tblBtnProps.FontSize = 15; tblBtnProps.Y = 40; tblBtnProps.X = 40; Group.CreateObject("Button5", OBJECT_BUTTON, tblBtnProps, "Grupo_1"); Group.DeleteObject Group.DeleteObject es un comando que sirve para suprimir un objeto del grupo. Group.DeleteObject(Object Name, Group Name); Object Name: El nombre del objeto que se eliminara. Group Name: El nombre del grupo con el que se trabajara. Ejemplo: Group.DeleteObject("Button1", "Grupo1"); Group.Enum Group.Enum es un comando que sirve para conseguir todos los nombres de objeto y sus tipos de un grupo específico. Group.Enum(Group Name); Group Name: Nombre del grupo con el que se trabajara. Returns: Devuelve una tabla numérica indexada con cada nombre de los objetos en forma de string “Object” y el tipo de objeto en forma numérica “ObjectType”. Nota Importante: Para conocer el significado del numero de “ObjectType”,solo tenéis que mirar la anterior tabla mostrada en “Group.CreateObject” en “ObjectType”. Acceso Directo. Ejemplo 1: result = Group.Enum("Grupo_3"); Dialog.Message("Info", "Objeto: "..result[1].Object.." y es el numero: "..result[1].ObjectType); Ejemplo 2: result = Group.Enum("Grupo_3"); stringer = ParaString(result, 1); Dialog.Message("Info", "Objeto: "..result[1].Object.." y es el tipo: "..stringer); Global Funcion: function ParaString(resulta, num) if resulta ~= nil then if resulta[num].ObjectType == 0 then nombr = "OBJECT_BUTTON" elseif resulta[num].ObjectType == 1 then nombr = "OBJECT_LABEL" elseif resulta[num].ObjectType == 2 then nombr = "OBJECT_PARAGRAPH" elseif resulta[num].ObjectType == 3 then nombr = "OBJECT_IMAGE" elseif resulta[num].ObjectType == 4 then nombr = "OBJECT_FLASH" elseif resulta[num].ObjectType == 5 then nombr = "OBJECT_VIDEO" elseif resulta[num].ObjectType == 6 then nombr = "OBJECT_WEB" elseif resulta[num].ObjectType == 7 then nombr = "OBJECT_INPUT" elseif resulta[num].ObjectType == 8 then nombr = "OBJECT_HOTSPOT" elseif resulta[num].ObjectType == 9 then nombr = "OBJECT_LISTBOX" elseif resulta[num].ObjectType == 10 then nombr = "OBJECT_COMBOBOX" elseif resulta[num].ObjectType == 11 then nombr = "OBJECT_PROGRESS" elseif resulta[num].ObjectType == 12 then nombr = "OBJECT_TREE" elseif resulta[num].ObjectType == 13 then nombr = "OBJECT_RADIOBUTTON" elseif resulta[num].ObjectType == 14 then nombr = "OBJECT_RICHTEXT" elseif resulta[num].ObjectType == 15 then nombr = "OBJECT_CHECKBOX" elseif resulta[num].ObjectType == 16 then nombr = "OBJECT_SLIDESHOW" elseif resulta[num].ObjectType == 17 then nombr = "OBJECT_GRID" end return nombr; end end Nota importante: El ejemplo 2 a sido modificado por si preferís que os devuelva el nombre del tipo de objeto. Es solo un ejemplo para que os hagáis una idea, se puede hacer de otros modos yo os muestro este por si os puede ser útil. He echo la función para que se pueda seleccionar el numero de indice y el nombre del resultado de la acción “Group.Enum”, lógicamente la función ParaString no sirve de nada si no se carga antes la acción “Group.Enum”. Group.GetEnabled Group.GetEnabled es un comando que sirve para determinar si el grupo esta activado o no. Group.GetEnabled(Group Name); Group Name: Nombre del grupo con el que se trabajara. Returns: Devuelve true si el grupo esta activado, false si no lo esta. Ejemplo: result = Group.GetEnabled("Grupo_2"); if result ~= nil then if result == true then Dialog.Message("Info", "El Grupo esta activado."); else Dialog.Message("Info", "El Grupo no esta activado."); end end Group.GetVisible Group.GetVisible es un comando que sirve para determinar si un grupo esta visible. Group.GetVisible(Group Name); Group Name: Nombre del grupo con el que se trabajara. Returns: Devuelve true si el grupo esta visible, false si no lo esta. Ejemplo: result = Group.GetVisible("Grupo_2"); if result ~= nil then if result == true then Dialog.Message("Info", "El Grupo esta visible."); else Dialog.Message("Info", "El Grupo no esta visible."); end end Group.IsObject Group.IsObject es un comando que sirve para determinar si un objecto existe dentro de un grupo y devuelve el grupo del que forma parte. Group.IsObject(Object Name); Object Name: El nombre del objeto Returns: Devuelve el nombre del grupo del que forma parte. Ejemplo: result = Group.IsObject("Button1"); if result ~= "" then Dialog.Message("Info", "El objeto forma parte de grupo: "..result); end Group.Move Group.Move es un comando que sirve para mover un grupo de objectos. Group.Move(Group Name); Group Name: Nombre del grupo con el que se trabajara. X Difference: El número de pixeles para mover el grupo horizontalmente. Nota: un número negativo indica un a la izquierda movimiento mientras un número positivo moverá el grupo a la derecha. Y Difference: El número de pixeles para mover el grupo horizontalmente. Nota: un número negativo indica un movimiento hacia abajo mientras un número positivo subirá el grupo. Redraw: si selecionas true la aplicación se re-dibujara, si seleccionas false no se re-dibujara. Ejemplo: Group.Move("Grupo_1", 100, 100, true); Group.RemoveItem Group.RemoveItem es un comando que sirve para eliminar un objecto de un grupo. Group.RemoveItem(Object Name, Group Name); Object Name: Nombre del objeto que sera eliminado del grupo. Group Name: Nombre del grupo. Ejemplo: Group.RemoveItem("Button1", "Grupo_1"); Group.SetEnabled Group.SetEnabled es un comando que sirve para activar o desactivar todos los objetos de un grupo. Group.SetEnabled(Group Name, Set Enable, Redraw); Group Name: Nombre del grupo con el que se trabajara. Set Enable: Si seleccionas true los objetos serán activados, si seleccionas false serán desactivados. Redraw: Si seleccionas true la aplicación se re-dibujara, si seleccionas false no se re-dibujara. Ejemplo: Group.SetEnabled("Grupo_2", false, true); Group.SetHeight Group.SetHeight es un comando que sirve para fijar la altura a la que se mostraran los objetos del grupo. Group.SetHeight(Group Name, Height); Group Name: Nombre del grupo con el que se trabajara. Height: La altura de todos los objetos del grupo. Ejemplo: Group.SetHeight("Grupo_1", 50); Group.SetPos Group.SetPos es un comando que sirve para fijar la posición de los objetos de un grupo. Nota Importante: La versión 1.3.0.0 tiene un error en el XML, según AMS y el archivo de ayuda este comando solo tiene dos argumentos “X” y “Y” pero esto no es correcto tiene tres argumentos el “Group Name, X y Y”. Group.SetPos(Group Name, X, Y); Group Name: Nombre del grupo con el que se trabajara. X: La coordenada X para mover el grupo. Y: La coordenada Y para mover el grupo. Ejemplo: Group.SetPos("Grupo_1", 100, 100); Group.SetVisible Group.SetVisible es un comando que sirve para hacer visible o invisible todos los objetos de un grupo. Group.SetVisible(Group Name, Set Visible, Redraw); Group Name: Nombre del grupo con el que se trabajara. Set Visible: Si seleccionas true los objetos serán visibles, si seleccionas false serán invisibles. Redraw: Si seleccionas true la aplicación se re-dibujara, si seleccionas false no se re-dibujara. Ejemplo: Group.SetVisible("Grupo_1", true, false); Group.SetWidth Group.SetWidth es un comando que sirve para fijar la anchura a la que se mostraran los objetos del grupo. Group.SetWidth(Group Name, Width); Group Name: Nombre del grupo con el que se trabajara. Width: La anchura de todos los objetos del grupo. Ejemplo: Group.SetWidth("Grupo_1", 25); Bueno con esto ya termino el tutorial, espero que os sea de gran utilidad, y lo utilicéis mucho, tambien espero no aver cometido fallos en este tutorial y si los he cometido espero vuestra tolerancia y ayuda para corregirlos. Este tutorial a sido creador por Ceone para AIO Desings, Darkreloaded, Hackershn entre otras paginas... si os a gustado y queréis mas tutoriales os recomiendo que visitéis las paginas nombras anteriormente.