NAME¶
Tk_GetSelection - retrieve the contents of a selection
SYNOPSIS¶
#include <tk.h>
int
Tk_GetSelection(interp, tkwin, selection, target, proc, clientData)
ARGUMENTS¶
- Tcl_Interp *interp (in)
- Interpreter to use for reporting errors.
- Tk_Window tkwin (in)
- Window on whose behalf to retrieve the selection
(determines display from which to retrieve).
- Atom selection (in)
- The name of the selection to be retrieved.
- Atom target (in)
- Form in which to retrieve selection.
- Tk_GetSelProc *proc (in)
- Procedure to invoke to process pieces of the selection as
they are retrieved.
- ClientData clientData (in)
- Arbitrary one-word value to pass to proc.
DESCRIPTION¶
Tk_GetSelection retrieves the selection specified by the atom
selection in the format specified by
target. The selection may
actually be retrieved in several pieces; as each piece is retrieved,
proc is called to process the piece.
Proc should have arguments
and result that match the type
Tk_GetSelProc:
typedef int Tk_GetSelProc(
ClientData clientData,
Tcl_Interp * interp,
char * portion);
The
clientData and
interp parameters to
proc will be copies
of the corresponding arguments to
Tk_GetSelection.
Portion will
be a pointer to a string containing part or all of the selection. For large
selections,
proc will be called several times with successive portions
of the selection. The X Inter-Client Communication Conventions Manual allows a
selection to be returned in formats other than strings, e.g. as an array of
atoms or integers. If this happens, Tk converts the selection back into a
string before calling
proc. If a selection is returned as an array of
atoms, Tk converts it to a string containing the atom names separated by white
space. For any other format besides string, Tk converts a selection to a
string containing hexadecimal values separated by white space.
Tk_GetSelection returns to its caller when the selection has been
completely retrieved and processed by
proc, or when a fatal error has
occurred (e.g. the selection owner didn't respond promptly).
Tk_GetSelection normally returns TCL_OK; if an error occurs, it returns
TCL_ERROR and leaves an error message in
interp->result.
Proc
should also return either TCL_OK or TCL_ERROR. If
proc encounters an
error in dealing with the selection, it should leave an error message in
interp->result and return TCL_ERROR; this will abort the selection
retrieval.
KEYWORDS¶
format, get, selection retrieval