From 3ea6a0087b140a13ed0685afa2ffe08a45b82719 Mon Sep 17 00:00:00 2001
From: Marko Gronroos <magi@vaadin.com>
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
-<<dummy/../../../framework/layout/layout-overview.asciidoc#layout.overview,"Managing
-Layout">>. The interfaces that define the Vaadin data model are described in
-<<dummy/../../../framework/datamodel/datamodel-overview.asciidoc#datamodel.overview,"Binding
-Components to Data">>.
+<<dummy/../../../framework/layout/layout-overview.asciidoc#layout.overview,"Managing Layout">>.
+The interfaces that define the Vaadin data model are described in <<dummy/../../../framework/datamodel/datamodel-overview.asciidoc#datamodel.overview,"Binding Components to Data">>.
 
 [[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 <<components.interfaces.abstractcomponent>>.
 
-
 ((("[classname]#Component# interface")))
 
 [[components.interfaces.abstractcomponent]]
@@ -97,7 +88,6 @@ described in <<components.interfaces.abstractcomponent>>.
 
 ((("[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

