Características
Jerarquía de clases y HTML tags
Un theme se define como una estructura jerárquica cuya raíz es el nombre del tema. Descendiendo en esta estructura, se presentan un nodo "Classes" y un nodo "HTML tags" en el primer nivel del árbol. A partir del nodo "Classes" se despliega un conjunto de elementos predefinidos, correspondientes a clases de objetos, que son "hermanos" formando parte de esta estructura. A su vez, éstos pueden derivar en otras clases para formar una jerarquía.
Las clases predefinidas son:
· Attribute
· FreeSubfile
· Subfile
· Table
· Image
· Button
Mediante los "HTML tags" el usuario puede definir las principales características de un tag HTML. Esas características se ven reflejadas en la página web si esos mismos tags están contenidos en el HTML de la página. Se pueden haber incluido simplemente editando el source HTML del objeto GeneXus, incluyendo un control, o cualquier acción que provocara que el source HTML incorporara alguno de esos tags para los cuales se definieron propiedades en el tema.
Las propiedades de los tags configuradas en el theme, se verán reflejadas en diseño en los objetos vinculados al theme que los define, y en runtime en las páginas web generadas. Por ejemplo, el color de los links activos y visitados, el align de los headings, el color de las tablas.
Incluso se puede definir un contexto en el que un tag anidado a otros tags HTML (con n niveles de anidamiento), posea ciertas características. Por ejemplo, el font de los links visitados que se encuentran dentro de alguna tabla anidada en otra tabla.
Haciendo uso de esta funcionalidad, se logra por un lado uniformizar las diferentes páginas HTML simplemente actualizando el theme, sin necesidad de recurrir a las propiedades del form de cada objeto. Además, se agrega mayor funcionalidad, ya que se podrá definir todo un contexto en el cual apliquen las propiedades de tag (como se mencionó anteriormente).
Para definirlo, se emplea una jerarquía de Tags HTML, que en este caso, a diferencia de las clases, conceptualmente significa definir las caracteristicas de un tag HTML en un contexto.
Entonces, el editor de temas se presenta inicialmente como un árbol básico con los controles que GeneXus utiliza en Web. Estos controles representan las clases. Lo que el usuario GeneXus hará es cambiar el aspecto de dichos controles, configurando las diferentes propiedades disponibles según las características del control. Será posible agregar derivados de esas clases para definir la jerarquía que se mencionaba anteriormente. A su vez, se dispondrá de un folder "HTML Tags" donde se podrá definir para un conjunto predeterminado de tags HTML, las caracteristicas que se quiere que tengan en la página web.
Una vez armado el tema, se puede asociar a la base de conocimiento, al modelo o a un objeto en particular.