#include <xap_UnixClipboard.h>
Public Types | |
enum | _T_AllowGet { TAG_ClipboardOnly, TAG_PrimaryOnly } |
typedef enum XAP_UnixClipboard::_T_AllowGet | T_AllowGet |
Public Member Functions | |
XAP_UnixClipboard (XAP_UnixApp *pUnixApp) | |
virtual | ~XAP_UnixClipboard () |
void | initialize () |
bool | assertSelection () |
bool | addData (T_AllowGet tTo, const char *format, const void *pData, UT_sint32 iNumBytes) |
void | clearData (bool bClipboard, bool bPrimary) |
void | finishedAddingData (void) |
bool | getData (T_AllowGet tFrom, const char **formatList, void **ppData, UT_uint32 *pLen, const char **pszFormatFound) |
bool | getTextData (T_AllowGet tFrom, void **ppData, UT_uint32 *pLen) |
bool | canPaste (T_AllowGet tFrom) |
GtkTargetEntry * | getTargets () const |
UT_uint32 | getNumTargets () const |
Protected Member Functions | |
void | AddFmt (const char *fmt) |
void | deleteFmt (const char *fmt) |
Private Member Functions | |
GtkClipboard * | gtkClipboardForTarget (XAP_UnixClipboard::_T_AllowGet get) |
bool | _getDataFromServer (T_AllowGet tFrom, const char **formatList, void **ppData, UT_uint32 *pLen, const char **pszFormatFound) |
bool | _getDataFromFakeClipboard (T_AllowGet tFrom, const char **formatList, void **ppData, UT_uint32 *pLen, const char **pszFormatFound) |
void | primary_get_func (GtkClipboard *clipboard, GtkSelectionData *selection_data, guint info) |
void | primary_clear_func (GtkClipboard *clipboard) |
void | clipboard_get_func (GtkClipboard *clipboard, GtkSelectionData *selection_data, guint info) |
void | clipboard_clear_func (GtkClipboard *clipboard) |
void | common_get_func (GtkClipboard *clipboard, GtkSelectionData *selection_data, guint info, T_AllowGet which) |
Static Private Member Functions | |
static void | s_primary_get_func (GtkClipboard *clipboard, GtkSelectionData *selection_data, guint info, gpointer ptr) |
static void | s_primary_clear_func (GtkClipboard *clipboard, gpointer ptr) |
static void | s_clipboard_get_func (GtkClipboard *clipboard, GtkSelectionData *selection_data, guint info, gpointer ptr) |
static void | s_clipboard_clear_func (GtkClipboard *clipboard, gpointer ptr) |
Private Attributes | |
UT_GenericVector< const char * > | m_vecFormat_AP_Name |
UT_GenericVector< GdkAtom > | m_vecFormat_GdkAtom |
UT_ByteBuf | m_databuf |
XAP_UnixApp * | m_pUnixApp |
XAP_FakeClipboard | m_fakeClipboard |
XAP_FakeClipboard | m_fakePrimaryClipboard |
GtkTargetEntry * | m_Targets |
UT_uint32 | m_nTargets |
GtkClipboard * | m_clip |
GtkClipboard * | m_primary |
XAP_UnixClipboard::XAP_UnixClipboard | ( | XAP_UnixApp * | pUnixApp | ) |
XAP_UnixClipboard::~XAP_UnixClipboard | ( | ) | [virtual] |
References clearData(), and m_Targets.
bool XAP_UnixClipboard::_getDataFromFakeClipboard | ( | T_AllowGet | tFrom, | |
const char ** | formatList, | |||
void ** | ppData, | |||
UT_uint32 * | pLen, | |||
const char ** | pszFormatFound | |||
) | [private] |
References XAP_FakeClipboard::getClipboardData(), m_fakeClipboard, m_fakePrimaryClipboard, and TAG_ClipboardOnly.
Referenced by getTextData().
bool XAP_UnixClipboard::_getDataFromServer | ( | T_AllowGet | tFrom, | |
const char ** | formatList, | |||
void ** | ppData, | |||
UT_uint32 * | pLen, | |||
const char ** | pszFormatFound | |||
) | [private] |
bool XAP_UnixClipboard::addData | ( | T_AllowGet | tTo, | |
const char * | format, | |||
const void * | pData, | |||
UT_sint32 | iNumBytes | |||
) |
void XAP_UnixClipboard::AddFmt | ( | const char * | fmt | ) | [protected] |
References UT_GenericVector< T >::addItem(), m_vecFormat_AP_Name, m_vecFormat_GdkAtom, and UT_return_if_fail.
Referenced by AP_UnixClipboard::addFormat(), and AP_UnixClipboard::AP_UnixClipboard().
bool XAP_UnixClipboard::assertSelection | ( | ) |
References gtkClipboardForTarget(), m_nTargets, m_Targets, s_primary_clear_func(), s_primary_get_func(), and TAG_PrimaryOnly.
Referenced by AP_UnixApp::setSelectionStatus().
bool XAP_UnixClipboard::canPaste | ( | T_AllowGet | tFrom | ) |
References UT_GenericVector< T >::getItemCount(), UT_GenericVector< T >::getNthItem(), gtkClipboardForTarget(), m_vecFormat_GdkAtom, targets, and UT_UNUSED.
Referenced by AP_UnixApp::canPasteFromClipboard().
void XAP_UnixClipboard::clearData | ( | bool | bClipboard, | |
bool | bPrimary | |||
) |
References XAP_FakeClipboard::clearClipboard(), gtkClipboardForTarget(), m_fakeClipboard, m_fakePrimaryClipboard, TAG_ClipboardOnly, and TAG_PrimaryOnly.
Referenced by AP_UnixApp::forgetFrame(), and ~XAP_UnixClipboard().
void XAP_UnixClipboard::clipboard_clear_func | ( | GtkClipboard * | clipboard | ) | [private] |
Referenced by s_clipboard_clear_func().
void XAP_UnixClipboard::clipboard_get_func | ( | GtkClipboard * | clipboard, | |
GtkSelectionData * | selection_data, | |||
guint | info | |||
) | [private] |
References common_get_func(), and TAG_ClipboardOnly.
Referenced by s_clipboard_get_func().
void XAP_UnixClipboard::common_get_func | ( | GtkClipboard * | clipboard, | |
GtkSelectionData * | selection_data, | |||
guint | info, | |||
T_AllowGet | which | |||
) | [private] |
References AV_View::cmdCopy(), gchar, XAP_FakeClipboard::getClipboardData(), UT_GenericVector< T >::getItemCount(), UT_GenericVector< T >::getNthItem(), XAP_FakeClipboard::hasFormat(), m_fakeClipboard, m_fakePrimaryClipboard, m_pUnixApp, m_vecFormat_AP_Name, m_vecFormat_GdkAtom, TAG_ClipboardOnly, TAG_PrimaryOnly, and viewFromApp().
Referenced by clipboard_get_func(), and primary_get_func().
void XAP_UnixClipboard::deleteFmt | ( | const char * | fmt | ) | [protected] |
References UT_GenericVector< T >::deleteNthItem(), UT_GenericVector< T >::findItem(), m_vecFormat_AP_Name, m_vecFormat_GdkAtom, and UT_return_if_fail.
Referenced by AP_UnixClipboard::deleteFormat().
void XAP_UnixClipboard::finishedAddingData | ( | void | ) |
References gtkClipboardForTarget(), m_nTargets, m_Targets, s_clipboard_clear_func(), s_clipboard_get_func(), and TAG_ClipboardOnly.
Referenced by AP_UnixApp::copyToClipboard().
bool XAP_UnixClipboard::getData | ( | T_AllowGet | tFrom, | |
const char ** | formatList, | |||
void ** | ppData, | |||
UT_uint32 * | pLen, | |||
const char ** | pszFormatFound | |||
) |
UT_uint32 XAP_UnixClipboard::getNumTargets | ( | ) | const [inline] |
References m_nTargets.
Referenced by XAP_UnixFrameImpl::dragText().
GtkTargetEntry* XAP_UnixClipboard::getTargets | ( | ) | const [inline] |
References m_Targets.
Referenced by XAP_UnixFrameImpl::dragText().
bool XAP_UnixClipboard::getTextData | ( | T_AllowGet | tFrom, | |
void ** | ppData, | |||
UT_uint32 * | pLen | |||
) |
GtkClipboard * XAP_UnixClipboard::gtkClipboardForTarget | ( | XAP_UnixClipboard::_T_AllowGet | get | ) | [private] |
References m_clip, m_primary, TAG_ClipboardOnly, and TAG_PrimaryOnly.
Referenced by _getDataFromServer(), assertSelection(), canPaste(), clearData(), finishedAddingData(), and getTextData().
void XAP_UnixClipboard::initialize | ( | void | ) |
References gchar, UT_GenericVector< T >::getItemCount(), UT_GenericVector< T >::getNthItem(), m_nTargets, m_Targets, and m_vecFormat_AP_Name.
Referenced by AP_UnixApp::initialize().
void XAP_UnixClipboard::primary_clear_func | ( | GtkClipboard * | clipboard | ) | [private] |
Referenced by s_primary_clear_func().
void XAP_UnixClipboard::primary_get_func | ( | GtkClipboard * | clipboard, | |
GtkSelectionData * | selection_data, | |||
guint | info | |||
) | [private] |
References common_get_func(), and TAG_PrimaryOnly.
Referenced by s_primary_get_func().
static void XAP_UnixClipboard::s_clipboard_clear_func | ( | GtkClipboard * | clipboard, | |
gpointer | ptr | |||
) | [inline, static, private] |
References clipboard_clear_func().
Referenced by finishedAddingData().
static void XAP_UnixClipboard::s_clipboard_get_func | ( | GtkClipboard * | clipboard, | |
GtkSelectionData * | selection_data, | |||
guint | info, | |||
gpointer | ptr | |||
) | [inline, static, private] |
References clipboard_get_func().
Referenced by finishedAddingData().
static void XAP_UnixClipboard::s_primary_clear_func | ( | GtkClipboard * | clipboard, | |
gpointer | ptr | |||
) | [inline, static, private] |
References primary_clear_func().
Referenced by assertSelection().
static void XAP_UnixClipboard::s_primary_get_func | ( | GtkClipboard * | clipboard, | |
GtkSelectionData * | selection_data, | |||
guint | info, | |||
gpointer | ptr | |||
) | [inline, static, private] |
References primary_get_func().
Referenced by assertSelection().
GtkClipboard* XAP_UnixClipboard::m_clip [private] |
Referenced by gtkClipboardForTarget(), and XAP_UnixClipboard().
UT_ByteBuf XAP_UnixClipboard::m_databuf [private] |
Referenced by _getDataFromServer().
Referenced by _getDataFromFakeClipboard(), addData(), clearData(), common_get_func(), and getTextData().
Referenced by _getDataFromFakeClipboard(), addData(), clearData(), common_get_func(), and getTextData().
UT_uint32 XAP_UnixClipboard::m_nTargets [private] |
Referenced by assertSelection(), finishedAddingData(), getNumTargets(), and initialize().
GtkClipboard* XAP_UnixClipboard::m_primary [private] |
Referenced by gtkClipboardForTarget(), and XAP_UnixClipboard().
XAP_UnixApp* XAP_UnixClipboard::m_pUnixApp [private] |
Referenced by common_get_func().
GtkTargetEntry* XAP_UnixClipboard::m_Targets [private] |
Referenced by assertSelection(), finishedAddingData(), getTargets(), initialize(), and ~XAP_UnixClipboard().
UT_GenericVector<const char*> XAP_UnixClipboard::m_vecFormat_AP_Name [private] |
Referenced by AddFmt(), common_get_func(), deleteFmt(), and initialize().
UT_GenericVector<GdkAtom> XAP_UnixClipboard::m_vecFormat_GdkAtom [private] |
Referenced by AddFmt(), canPaste(), common_get_func(), and deleteFmt().