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 +- .../components/img/component-abstractions-hi.png | Bin 84173 -> 73669 bytes .../components/original-drawings/Makefile | 2 +- .../original-drawings/component-abstractions.svg | 3553 +++++++++++++------- 4 files changed, 2336 insertions(+), 1248 deletions(-) (limited to 'documentation') 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"))) - - - diff --git a/documentation/components/img/component-abstractions-hi.png b/documentation/components/img/component-abstractions-hi.png index 1967cd17f6..fdfb53a6e8 100644 Binary files a/documentation/components/img/component-abstractions-hi.png and b/documentation/components/img/component-abstractions-hi.png differ diff --git a/documentation/components/original-drawings/Makefile b/documentation/components/original-drawings/Makefile index c4b4aa2a35..7c2fdf2a56 100644 --- a/documentation/components/original-drawings/Makefile +++ b/documentation/components/original-drawings/Makefile @@ -1,5 +1,5 @@ IMAGES = slider-example1 field-interface-v8 field-diagram \ - textfield-diagram component-diagram + textfield-diagram component-diagram component-abstractions SRCIMAGES := $(foreach file, $(IMAGES), $(file).svg) TRGIMAGES_HI := $(foreach file, $(IMAGES), ../img/$(file)-hi.png) diff --git a/documentation/components/original-drawings/component-abstractions.svg b/documentation/components/original-drawings/component-abstractions.svg index 041bfd4596..948df9fc6b 100644 --- a/documentation/components/original-drawings/component-abstractions.svg +++ b/documentation/components/original-drawings/component-abstractions.svg @@ -1,1226 +1,2327 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - Sizeable - - - - Component - - - - AbstractComponent - - - ComponentContainer - - - - - - AbstractComponentContainer - - - - - - Focusable - - - - Field - - - - - AbstractField - - - - AbstractSelect - - - Event - - - - AbstractLayout - - - - AbstractOrderedLayout - - Container - - - - Listener - - - Layout - - - Property - - - Paintable - - - VariableOwner - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + Component + + + AbstractComponent + + + + AbstractField<T> + + + AbstractComponentContainer + + + AbstractLayout + + + AbstractOrderedLayout + + + ComponentContainer + + + Layout + + + HasComponents + + + + SingleComponentContainer + + + + HasValue<T> + + + + + + + + + + AbstractSelect + + + AbstractTextField + + + + + + Sizeable + + + ClientConnector + + + + + Connector + + + -- cgit v1.2.3