From 4db4b3e1711a4533a77b2bf1431ae2f51be14ef5 Mon Sep 17 00:00:00 2001
From: Joe Groff <arcata@gmail.com>
Date: Sat, 18 Feb 2012 21:55:59 -0800
Subject: [PATCH] ui.gadgets.panes: add gadget-alt-text Provide a default
 implementation of write-gadget that writes plain text to a stream that
 doesn't support gadgets.

---
 basis/ui/gadgets/panes/panes.factor | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/basis/ui/gadgets/panes/panes.factor b/basis/ui/gadgets/panes/panes.factor
index 7752ae2ed6..24a7b661f8 100644
--- a/basis/ui/gadgets/panes/panes.factor
+++ b/basis/ui/gadgets/panes/panes.factor
@@ -10,7 +10,7 @@ ui.gadgets.paragraphs ui.gadgets.incremental ui.gadgets.packs
 ui.gadgets.menus ui.clipboards ui.gestures ui.traverse ui.render
 ui.text ui.gadgets.presentations ui.gadgets.grids ui.gadgets.tracks
 ui.gadgets.icons ui.gadgets.grid-lines ui.baseline-alignment
-colors io.styles ;
+colors io.styles classes ;
 FROM: io.styles => foreground background ;
 IN: ui.gadgets.panes
 
@@ -142,8 +142,16 @@ PRIVATE>
 
 : <pane> ( -- pane ) f pane new-pane ;
 
+GENERIC: gadget-alt-text ( gadget -- string )
+
+M: object gadget-alt-text
+    class-of name>> "( " " )" surround ;
+
 GENERIC: write-gadget ( gadget stream -- )
 
+M: object write-gadget
+    [ gadget-alt-text ] dip stream-write ;
+
 M: filter-writer write-gadget
     stream>> write-gadget ;