\section{gtksavebox.h File Reference}
\label{gtksavebox_8h}\index{gtksavebox.h@{gtksavebox.h}}
Drag and drop saving widget for GTK+. 

{\tt \#include $<$gdk/gdk.h$>$}\par
{\tt \#include $<$gtk/gtkdialog.h$>$}\par
{\tt \#include $<$gtk/gtkselection.h$>$}\par
\subsection*{Data Structures}
\begin{CompactItemize}
\item 
struct {\bf \_\-Gtk\-Savebox}
\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item 
\#define {\bf GTK\_\-TARGET\_\-XDS}~0x584453
\item 
\#define {\bf GTK\_\-TYPE\_\-SAVEBOX}~(gtk\_\-savebox\_\-get\_\-type ())
\item 
\#define {\bf GTK\_\-SAVEBOX}(obj)~(GTK\_\-CHECK\_\-CAST ((obj), GTK\_\-TYPE\_\-SAVEBOX, {\bf Gtk\-Savebox}))
\item 
\#define {\bf GTK\_\-SAVEBOX\_\-CLASS}(klass)~(GTK\_\-CHECK\_\-CLASS\_\-CAST ((klass), GTK\_\-TYPE\_\-SAVEBOX, Gtk\-Savebox\-Class))
\item 
\#define {\bf GTK\_\-IS\_\-SAVEBOX}(obj)~(GTK\_\-CHECK\_\-TYPE ((obj), GTK\_\-TYPE\_\-SAVEBOX))
\item 
\#define {\bf GTK\_\-IS\_\-SAVEBOX\_\-CLASS}(klass)~(GTK\_\-CHECK\_\-CLASS\_\-TYPE ((klass), GTK\_\-TYPE\_\-SAVEBOX))
\end{CompactItemize}
\subsection*{Enumerations}
\begin{CompactItemize}
\item 
enum \{ {\bf GTK\_\-XDS\_\-SAVED}, 
{\bf GTK\_\-XDS\_\-SAVE\_\-ERROR}, 
{\bf GTK\_\-XDS\_\-NO\_\-HANDLER}
 \}
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
GType {\bf gtk\_\-savebox\_\-get\_\-type} (void)
\item 
Gtk\-Widget $\ast$ {\bf gtk\_\-savebox\_\-new} (const gchar $\ast$action)
\item 
void {\bf gtk\_\-savebox\_\-set\_\-icon} ({\bf Gtk\-Savebox} $\ast$savebox, Gdk\-Pixbuf $\ast$pixbuf)
\item 
void {\bf gtk\_\-savebox\_\-set\_\-pathname} ({\bf Gtk\-Savebox} $\ast$savebox, const gchar $\ast$pathname)
\item 
void {\bf gtk\_\-savebox\_\-set\_\-has\_\-discard} ({\bf Gtk\-Savebox} $\ast$savebox, gboolean setting)
\item 
Gtk\-Widget $\ast$ {\bf gtk\_\-savebox\_\-get\_\-extension\_\-area} ({\bf Gtk\-Savebox} $\ast$savebox)
\end{CompactItemize}


\subsection{Detailed Description}
Drag and drop saving widget for GTK+. 

\begin{Desc}
\item[Author:]Thomas Leonard \end{Desc}
\begin{Desc}
\item[Version:]\begin{Desc}
\item[Id]\doxyref{gtksavebox.h}{p.}{gtksavebox_8h},v 1.4 2005/12/07 11:43:12 stephen Exp \end{Desc}
\end{Desc}


\subsection{Define Documentation}
\index{gtksavebox.h@{gtksavebox.h}!GTK_IS_SAVEBOX@{GTK\_\-IS\_\-SAVEBOX}}
\index{GTK_IS_SAVEBOX@{GTK\_\-IS\_\-SAVEBOX}!gtksavebox.h@{gtksavebox.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define GTK\_\-IS\_\-SAVEBOX(obj)~(GTK\_\-CHECK\_\-TYPE ((obj), GTK\_\-TYPE\_\-SAVEBOX))}\label{gtksavebox_8h_86a72168c5aa207d7328bcd3b8339642}


Check a pointer to Gtk\-Savebox \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em obj}]pointer to object \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]non-zero if a pointer to a Gtk\-Savebox \end{Desc}
\index{gtksavebox.h@{gtksavebox.h}!GTK_IS_SAVEBOX_CLASS@{GTK\_\-IS\_\-SAVEBOX\_\-CLASS}}
\index{GTK_IS_SAVEBOX_CLASS@{GTK\_\-IS\_\-SAVEBOX\_\-CLASS}!gtksavebox.h@{gtksavebox.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define GTK\_\-IS\_\-SAVEBOX\_\-CLASS(klass)~(GTK\_\-CHECK\_\-CLASS\_\-TYPE ((klass), GTK\_\-TYPE\_\-SAVEBOX))}\label{gtksavebox_8h_efb7b5135a0f808f8e13f39d8b5b3822}


Check a pointer to a Gtk\-Savebox class \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em klass}]pointer to object class \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]non-zero if a pointer to a Gtk\-Savebox class \end{Desc}
\index{gtksavebox.h@{gtksavebox.h}!GTK_SAVEBOX@{GTK\_\-SAVEBOX}}
\index{GTK_SAVEBOX@{GTK\_\-SAVEBOX}!gtksavebox.h@{gtksavebox.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define GTK\_\-SAVEBOX(obj)~(GTK\_\-CHECK\_\-CAST ((obj), GTK\_\-TYPE\_\-SAVEBOX, {\bf Gtk\-Savebox}))}\label{gtksavebox_8h_ba336240437b66bdd3903f2dcddf4c60}


Cast pointer into a pointer to Gtk\-Savebox only if it is valid, otherwise return {\tt NULL} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em obj}]pointer to object \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]pointer to Gtk\-Savebox or {\tt NULL} for error \end{Desc}
\index{gtksavebox.h@{gtksavebox.h}!GTK_SAVEBOX_CLASS@{GTK\_\-SAVEBOX\_\-CLASS}}
\index{GTK_SAVEBOX_CLASS@{GTK\_\-SAVEBOX\_\-CLASS}!gtksavebox.h@{gtksavebox.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define GTK\_\-SAVEBOX\_\-CLASS(klass)~(GTK\_\-CHECK\_\-CLASS\_\-CAST ((klass), GTK\_\-TYPE\_\-SAVEBOX, Gtk\-Savebox\-Class))}\label{gtksavebox_8h_739a0180537aeb3001aab74f475c5249}


Cast pointer into a pointer to Gtk\-Savebox class only if it is valid, otherwise return {\tt NULL} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em klass}]pointer to object class \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]pointer to Gtk\-Savebox class or {\tt NULL} for error \end{Desc}
\index{gtksavebox.h@{gtksavebox.h}!GTK_TARGET_XDS@{GTK\_\-TARGET\_\-XDS}}
\index{GTK_TARGET_XDS@{GTK\_\-TARGET\_\-XDS}!gtksavebox.h@{gtksavebox.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define GTK\_\-TARGET\_\-XDS~0x584453}\label{gtksavebox_8h_09bdeb888bb706ca973545e76e2180e4}


This is for the 'info' value of the Gtk\-Target\-List. It's for the Xdnd\-Direct\-Save0 target - ignore requests for this target because they're handled internally by the widget. Don't use this value for anything else! \index{gtksavebox.h@{gtksavebox.h}!GTK_TYPE_SAVEBOX@{GTK\_\-TYPE\_\-SAVEBOX}}
\index{GTK_TYPE_SAVEBOX@{GTK\_\-TYPE\_\-SAVEBOX}!gtksavebox.h@{gtksavebox.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define GTK\_\-TYPE\_\-SAVEBOX~(gtk\_\-savebox\_\-get\_\-type ())}\label{gtksavebox_8h_eebed77265e9f812db67f98ebab98238}


\begin{Desc}
\item[Returns:]type code for Gtk\-Savebox \end{Desc}


\subsection{Enumeration Type Documentation}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}anonymous enum}\label{gtksavebox_8h_99fb83031ce9923c84392b4e92f956b5}


\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{GTK_XDS_SAVED@{GTK\_\-XDS\_\-SAVED}!gtksavebox.h@{gtksavebox.h}}\index{gtksavebox.h@{gtksavebox.h}!GTK_XDS_SAVED@{GTK\_\-XDS\_\-SAVED}}\item[{\em 
GTK\_\-XDS\_\-SAVED\label{gtksavebox_8h_99fb83031ce9923c84392b4e92f956b5453657c0fb62d189ff70c24039ab57dd}
}]Done the save - no problem \index{GTK_XDS_SAVE_ERROR@{GTK\_\-XDS\_\-SAVE\_\-ERROR}!gtksavebox.h@{gtksavebox.h}}\index{gtksavebox.h@{gtksavebox.h}!GTK_XDS_SAVE_ERROR@{GTK\_\-XDS\_\-SAVE\_\-ERROR}}\item[{\em 
GTK\_\-XDS\_\-SAVE\_\-ERROR\label{gtksavebox_8h_99fb83031ce9923c84392b4e92f956b5f54b2a2e12d2b5ae2c86d124cf28bc33}
}]Error during save - reported \index{GTK_XDS_NO_HANDLER@{GTK\_\-XDS\_\-NO\_\-HANDLER}!gtksavebox.h@{gtksavebox.h}}\index{gtksavebox.h@{gtksavebox.h}!GTK_XDS_NO_HANDLER@{GTK\_\-XDS\_\-NO\_\-HANDLER}}\item[{\em 
GTK\_\-XDS\_\-NO\_\-HANDLER\label{gtksavebox_8h_99fb83031ce9923c84392b4e92f956b5eb8b13bf69ba0a06c22a8e44e086234b}
}]Used internally (sanity checking) \end{description}
\end{Desc}



\subsection{Function Documentation}
\index{gtksavebox.h@{gtksavebox.h}!gtk_savebox_get_extension_area@{gtk\_\-savebox\_\-get\_\-extension\_\-area}}
\index{gtk_savebox_get_extension_area@{gtk\_\-savebox\_\-get\_\-extension\_\-area}!gtksavebox.h@{gtksavebox.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Gtk\-Widget$\ast$ gtk\_\-savebox\_\-get\_\-extension\_\-area ({\bf Gtk\-Savebox} $\ast$ {\em savebox})}\label{gtksavebox_8h_5544fdd4a8f7ae8b5c7b16783fd3aa82}


Return the extension area, a vbox just above the buttons where additional widgets may be placed.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftrightarrow$} {\em savebox}]Save box widget \end{description}
\end{Desc}
\index{gtksavebox.h@{gtksavebox.h}!gtk_savebox_get_type@{gtk\_\-savebox\_\-get\_\-type}}
\index{gtk_savebox_get_type@{gtk\_\-savebox\_\-get\_\-type}!gtksavebox.h@{gtksavebox.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}GType gtk\_\-savebox\_\-get\_\-type (void)}\label{gtksavebox_8h_c9d75e7daf50160657883c3b15a72c1a}


\begin{Desc}
\item[Returns:]type code for Gtk\-Savebox \end{Desc}
\index{gtksavebox.h@{gtksavebox.h}!gtk_savebox_new@{gtk\_\-savebox\_\-new}}
\index{gtk_savebox_new@{gtk\_\-savebox\_\-new}!gtksavebox.h@{gtksavebox.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Gtk\-Widget$\ast$ gtk\_\-savebox\_\-new (const gchar $\ast$ {\em action})}\label{gtksavebox_8h_6a7ef018bafc145f094d0d0c0aeacd78}


Create and return a new Gtk\-Savebox widget.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em action}]Label to use in the Save button \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]pointer to the widget \end{Desc}
\index{gtksavebox.h@{gtksavebox.h}!gtk_savebox_set_has_discard@{gtk\_\-savebox\_\-set\_\-has\_\-discard}}
\index{gtk_savebox_set_has_discard@{gtk\_\-savebox\_\-set\_\-has\_\-discard}!gtksavebox.h@{gtksavebox.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void gtk\_\-savebox\_\-set\_\-has\_\-discard ({\bf Gtk\-Savebox} $\ast$ {\em savebox}, gboolean {\em setting})}\label{gtksavebox_8h_94ed6aeceb4e2514179948c0b05eb573}


Set whether the discard area is show. Normally this is hidden but contains a single \char`\"{}Discard\char`\"{} button.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftrightarrow$} {\em savebox}]Save box widget \item[\mbox{$\leftarrow$} {\em setting}]non-zero to show discard area \end{description}
\end{Desc}
\index{gtksavebox.h@{gtksavebox.h}!gtk_savebox_set_icon@{gtk\_\-savebox\_\-set\_\-icon}}
\index{gtk_savebox_set_icon@{gtk\_\-savebox\_\-set\_\-icon}!gtksavebox.h@{gtksavebox.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void gtk\_\-savebox\_\-set\_\-icon ({\bf Gtk\-Savebox} $\ast$ {\em savebox}, Gdk\-Pixbuf $\ast$ {\em pixbuf})}\label{gtksavebox_8h_8b06c7ad7c2d389caf3382278db91f2c}


Set the icon used for dragging the file.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftrightarrow$} {\em savebox}]Save box widget \item[\mbox{$\leftarrow$} {\em pixbuf}]image to use for icon \end{description}
\end{Desc}
\index{gtksavebox.h@{gtksavebox.h}!gtk_savebox_set_pathname@{gtk\_\-savebox\_\-set\_\-pathname}}
\index{gtk_savebox_set_pathname@{gtk\_\-savebox\_\-set\_\-pathname}!gtksavebox.h@{gtksavebox.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void gtk\_\-savebox\_\-set\_\-pathname ({\bf Gtk\-Savebox} $\ast$ {\em savebox}, const gchar $\ast$ {\em pathname})}\label{gtksavebox_8h_08d93a64cbe9932fcbf55a8fafe46976}


Set the initial path to show in the widget.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftrightarrow$} {\em savebox}]Save box widget \item[\mbox{$\leftarrow$} {\em pathname}]path to use \end{description}
\end{Desc}
