\HeaderA{grid.remove}{Remove a Grid Graphical Object}{grid.remove}
\aliasA{grid.gremove}{grid.remove}{grid.gremove}
\aliasA{removeGrob}{grid.remove}{removeGrob}
\keyword{dplot}{grid.remove}
\begin{Description}\relax
Remove a grob from a gTree or a descendant of a gTree.
\end{Description}
\begin{Usage}
\begin{verbatim}
grid.remove(gPath, warn = TRUE, strict  =  FALSE, grep = FALSE,
            global = FALSE, allDevices = FALSE, redraw = TRUE)

grid.gremove <- function(..., grep = TRUE, global = TRUE)

removeGrob(gTree, gPath, strict = FALSE, grep = FALSE,
           global = FALSE, warn = TRUE) 
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{gTree}] A gTree object.
\item[\code{gPath}] A gPath object. For \code{grid.remove} this
specifies a gTree on the display list.  For \code{removeGrob} this
specifies a descendant of the specified gTree. 
\item[\code{strict}] A boolean indicating whether the gPath must be
matched exactly. 
\item[\code{grep}] A boolean indicating whether the \code{gPath} should
be treated as a regular expression.  Values are recycled across
elements of the \code{gPath} (e.g., \code{c(TRUE, FALSE)} means
that every odd element of the \code{gPath} will be treated as
a regular expression).

\item[\code{global}] A boolean indicating whether the function should affect
just the first match of the \code{gPath}, or whether all matches
should be affected.

\item[\code{allDevices}] A boolean indicating whether all open devices
should
be searched for matches, or just the current device.
NOT YET IMPLEMENTED.

\item[\code{warn}] A logical to indicate whether failing to find the
specified grob should trigger an error.  
\item[\code{redraw}] A logical value to indicate whether to redraw the grob. 
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
\code{removeGrob} copies the specified grob and returns a modified
grob.

\code{grid.remove} destructively modifies a grob on the display list.
If \code{redraw}
is \code{TRUE} it then redraws everything to reflect the change.

\code{grid.gremove} (\code{g} for global) is just a convenience wrapper for
\code{grid.remove} with different defaults.
\end{Details}
\begin{Value}
\code{removeGrob} returns a grob object;  \code{grid.remove} returns
\code{NULL}.
\end{Value}
\begin{Author}\relax
Paul Murrell
\end{Author}
\begin{SeeAlso}\relax
\code{\LinkA{grob}{grob}}, \code{\LinkA{getGrob}{getGrob}},
\code{\LinkA{removeGrob}{removeGrob}}, \code{\LinkA{removeGrob}{removeGrob}}.
\end{SeeAlso}

