Fresco/Berlin/modules/Layout LayoutKitImpl.cc,1.29,1.30

Tobias Hunger <[email protected]>
Newsgroups gmane.comp.video.fresco.cvs
Message-ID <[email protected]>
Update of /cvs/fresco/Fresco/Berlin/modules/Layout
In directory purcel:/tmp/cvs-serv9995/Berlin/modules/Layout

Modified Files:
	LayoutKitImpl.cc 
Log Message:
Cleanup the cleanup.

A new template create_and_set_body added to KitImpl. That gets us around the
need to define a temporary in most places, shortening the code even further.


Index: LayoutKitImpl.cc
===================================================================
RCS file: /cvs/fresco/Fresco/Berlin/modules/Layout/LayoutKitImpl.cc,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- LayoutKitImpl.cc	23 Jan 2003 22:31:04 -0000	1.29
+++ LayoutKitImpl.cc	25 Jan 2003 22:37:02 -0000	1.30
@@ -93,10 +93,7 @@
 
 Viewport_ptr LayoutKitImpl::scrollable(Graphic_ptr g)
 {
-    Viewport_ptr res =
-	create<Viewport>(new ViewportImpl);
-    res->body(g);
-    return res;
+    return create_and_set_body<Viewport>(new ViewportImpl, g);
 }
 
 // Layout::Splitter_ptr LayoutKitImpl::splitter(Graphic_ptr g, Graphic_ptr p, Axis a)
@@ -288,20 +285,17 @@
 
 Graphic_ptr LayoutKitImpl::align(Graphic_ptr g, Alignment x, Alignment y)
 {
-    Graphic_ptr res = create<Graphic>(new Placement(
-					  new LayoutSuperpose(
-					      new LayoutCenter(xaxis, x),
-					      new LayoutCenter(yaxis, y))));
-    res->body(g);
-    return res;
+    return create_and_set_body<Graphic>(new Placement(
+					    new LayoutSuperpose(
+						new LayoutCenter(xaxis, x),
+						new LayoutCenter(yaxis, y))),
+					g);
 }
 
 Graphic_ptr LayoutKitImpl::align_axis(Graphic_ptr g, Axis a, Alignment align)
 {
-    Graphic_ptr res = create<Graphic>(new Placement(
-					  new LayoutCenter(a, align)));
-    res->body(g);
-    return res;
+    return create_and_set_body<Graphic>(new Placement(
+					    new LayoutCenter(a, align)), g);
 }
  
 Graphic_ptr LayoutKitImpl::halign(Graphic_ptr g, Alignment x)
@@ -316,20 +310,17 @@
 
 Graphic_ptr LayoutKitImpl::fixed_size(Graphic_ptr g, Coord x, Coord y)
 {
-    Graphic_ptr res = create<Graphic>(new Placement(
-					  new LayoutSuperpose(
-					      new LayoutFixed(xaxis, x),
-					      new LayoutFixed(yaxis, y))));
-    res->body(g);
-    return res;
+    return create_and_set_body<Graphic>(new Placement(
+					    new LayoutSuperpose(
+						new LayoutFixed(xaxis, x),
+						new LayoutFixed(yaxis, y))),
+					g);
 }
 
 Graphic_ptr LayoutKitImpl::fixed_axis(Graphic_ptr g, Axis a, Coord size)
 {
-    Graphic_ptr res = create<Graphic>(new Placement(
-					  new LayoutFixed(a, size)));
-    res->body(g);
-    return res;
+    return create_and_set_body<Graphic>(new Placement(
+					    new LayoutFixed(a, size)), g);
 }
 
 Graphic_ptr LayoutKitImpl::hfixed(Graphic_ptr g, Coord x)
@@ -345,16 +336,12 @@
 Graphic_ptr
 LayoutKitImpl::flexible(Graphic_ptr g, Coord stretch, Coord shrink)
 {
-    Graphic_ptr res =
-	create<Graphic>(new Placement(new LayoutSuperpose(
-					  new LayoutVariable(xaxis,
-							     stretch,
-							     shrink),
-					  new LayoutVariable(yaxis,
-							     stretch,
-							     shrink))));
-    res->body(g);
-    return res;
+    return
+	create_and_set_body<Graphic>(
+	    new Placement(new LayoutSuperpose(
+			      new LayoutVariable(xaxis, stretch, shrink),
+			      new LayoutVariable(yaxis, stretch, shrink))),
+	    g);
 }
 
 Graphic_ptr LayoutKitImpl::flexible_fill(Graphic_ptr g)
@@ -366,12 +353,10 @@
 LayoutKitImpl::flexible_axis(Graphic_ptr g, Axis a,
 			     Coord stretch, Coord shrink)
 {
-    Graphic_ptr res = create<Graphic>(new Placement(
-					  new LayoutVariable(a,
-							     stretch,
-							     shrink)));
-    res->body(g);
-    return res;
+    return create_and_set_body<Graphic>(new Placement(
+					    new LayoutVariable(a,
+							       stretch,
+							       shrink)), g);
 }
 
 Graphic_ptr
@@ -388,20 +373,17 @@
 
 Graphic_ptr LayoutKitImpl::natural(Graphic_ptr g, Coord x, Coord y)
 {
-    Graphic_ptr res = create<Graphic>(new Placement(
-					  new LayoutSuperpose(
-					      new LayoutNatural(xaxis, x),
-					      new LayoutNatural(yaxis, y))));
-    res->body(g);
-    return res;
+    return create_and_set_body<Graphic>(new Placement(
+					    new LayoutSuperpose(
+						new LayoutNatural(xaxis, x),
+						new LayoutNatural(yaxis, y))),
+					g);
 }
 
 Graphic_ptr LayoutKitImpl::natural_axis(Graphic_ptr g, Axis a, Coord size)
 {
-    Graphic_ptr res = create<Graphic>(new Placement(
-					  new LayoutNatural(a, size)));
-    res->body(g);
-    return res;
+    return create_and_set_body<Graphic>(new Placement(
+					    new LayoutNatural(a, size)), g);
 }
 
 Graphic_ptr LayoutKitImpl::hnatural(Graphic_ptr g, Coord x)
@@ -416,24 +398,20 @@
 
 Graphic_ptr LayoutKitImpl::margin(Graphic_ptr g, Coord all)
 {
-    Graphic_ptr res = create<Graphic>(new Placement(
-					  new LayoutMargin(all)));
-    res->body(g);
-    return res;
+    return create_and_set_body<Graphic>(new Placement(
+					    new LayoutMargin(all)), g);
 }
 
 Graphic_ptr
 LayoutKitImpl::margin_flexible(Graphic_ptr g,
 			       Coord margin, Coord stretch, Coord shrink)
 {
-    Graphic_ptr res =
-	create<Graphic>(new Placement(
-			    new LayoutMargin(margin, stretch, shrink,
-					     margin, stretch, shrink,
-					     margin, stretch, shrink,
-					     margin, stretch, shrink)));
-    res->body(g);
-    return res;
+    return create_and_set_body<Graphic>(
+	new Placement(
+	    new LayoutMargin(margin, stretch, shrink,
+			     margin, stretch, shrink,
+			     margin, stretch, shrink,
+			     margin, stretch, shrink)), g);
 }
 
 Graphic_ptr
@@ -441,12 +419,9 @@
 			   Coord lmargin, Coord rmargin,
 			   Coord bmargin, Coord tmargin)
 {
-    Graphic_ptr res =
-	create<Graphic>(new Placement(
-			    new LayoutMargin(lmargin, rmargin,
-					     bmargin, tmargin)));
-    res->body(g);
-    return res;
+    return create_and_set_body<Graphic>(
+	new Placement(new LayoutMargin(lmargin, rmargin,
+				       bmargin, tmargin)), g);
 }
 
 Graphic_ptr
@@ -460,14 +435,11 @@
 				    Coord bmargin, Coord bstretch,
 				    Coord bshrink)
 {
-    Graphic_ptr res =
-	create<Graphic>(new Placement(
-			    new LayoutMargin(lmargin, lstretch, lshrink,
-					     rmargin, rstretch, rshrink,
-					     tmargin, tstretch, tshrink,
-					     bmargin, bstretch, bshrink)));
-    res->body(g);
-    return res;
+    return create_and_set_body<Graphic>(
+	new Placement(new LayoutMargin(lmargin, lstretch, lshrink,
+				       rmargin, rstretch, rshrink,
+				       tmargin, tstretch, tshrink,
+				       bmargin, bstretch, bshrink)), g);
 }
 
 Graphic_ptr LayoutKitImpl::hmargin(Graphic_ptr g, Coord both)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.