From 3ea6a0087b140a13ed0685afa2ffe08a45b82719 Mon Sep 17 00:00:00 2001 From: Marko Gronroos Date: Fri, 22 Jul 2016 20:51:47 +0300 Subject: Revised component abstractions diagram (#19897). Change-Id: I09f86fce44600cce4365bd1e80f8d4ef1a2e415c --- .../components/components-interfaces.asciidoc | 29 ++++++---------------- 1 file changed, 8 insertions(+), 21 deletions(-) (limited to 'documentation/components/components-interfaces.asciidoc') diff --git a/documentation/components/components-interfaces.asciidoc b/documentation/components/components-interfaces.asciidoc index 4801ec52b1..5d266617fd 100644 --- a/documentation/components/components-interfaces.asciidoc +++ b/documentation/components/components-interfaces.asciidoc @@ -15,21 +15,14 @@ and the client. This section gives details on the basic component interfaces and abstractions. The layout and other component container abstractions are described in -<>. The interfaces that define the Vaadin data model are described in -<>. +<>. +The interfaces that define the Vaadin data model are described in <>. [[figure.components.interfaces]] -.Component Interfaces and Abstractions -image::img/component-abstractions-hi.png[] +.Component interfaces and abstractions +image::img/component-abstractions-hi.png[width=100%, scaledwidth=100%] -((("[classname]#Paintable#"))) -((("[classname]#VariableOwner#"))) -All components also implement the [classname]#Paintable# interface, which is -used for serializing ("painting") the components to the client, and the reverse -[classname]#VariableOwner# interface, which is needed for deserializing -component state or user interaction from the client. +All components are connectors that connect to the client-side widgets. ((("[classname]#Serializable#"))) In addition to the interfaces defined within the Vaadin framework, all @@ -67,20 +60,19 @@ the [methodname]#detach()# method. If the parent of an added component is already connected to the UI, the [methodname]#attach()# is called immediately from [methodname]#setParent()#. - [source, java] ---- public class AttachExample extends CustomComponent { public AttachExample() { } - + @Override public void attach() { super.attach(); // Must call. - + // Now we know who ultimately owns us. ClassResource r = new ClassResource("smiley.jpg"); - Image image = new Image("Image:", r); + Image image = new Image("Image:", r); setCompositionRoot(image); } } @@ -89,7 +81,6 @@ public class AttachExample extends CustomComponent { The attachment logic is implemented in [classname]#AbstractComponent#, as described in <>. - ((("[classname]#Component# interface"))) [[components.interfaces.abstractcomponent]] @@ -97,7 +88,6 @@ described in <>. ((("[classname]#AbstractComponent#", id="term.components.interfaces.abstractcomponent", range="startofrange"))) - [classname]#AbstractComponent# is the base class for all user interface components. It is the (only) implementation of the [classname]#Component# interface, implementing all the methods defined in the interface. @@ -112,6 +102,3 @@ Creation of new components and serialization is described in with the Server-Side">>. (((range="endofrange", startref="term.components.interfaces.abstractcomponent"))) - - - -- cgit v1.2.3