PasteboardHelper.h [plain text]
#ifndef PasteboardHelper_h
#define PasteboardHelper_h
#include "Frame.h"
#include <glib-object.h>
namespace WebCore {
class DataObjectGtk;
class PasteboardHelper {
public:
PasteboardHelper();
virtual ~PasteboardHelper();
static PasteboardHelper* defaultPasteboardHelper();
void setUsePrimarySelectionClipboard(bool usePrimary) { m_usePrimarySelectionClipboard = usePrimary; }
bool usePrimarySelectionClipboard() { return m_usePrimarySelectionClipboard; }
enum SmartPasteInclusion { IncludeSmartPaste, DoNotIncludeSmartPaste };
GtkClipboard* getCurrentClipboard(Frame*);
GtkClipboard* getClipboard(Frame*) const;
GtkClipboard* getPrimarySelectionClipboard(Frame*) const;
GtkTargetList* targetList() const;
GtkTargetList* targetListForDataObject(DataObjectGtk*, SmartPasteInclusion = DoNotIncludeSmartPaste);
void fillSelectionData(GtkSelectionData*, guint, DataObjectGtk*);
void fillDataObjectFromDropData(GtkSelectionData*, guint, DataObjectGtk*);
Vector<GdkAtom> dropAtomsForContext(GtkWidget*, GdkDragContext*);
void writeClipboardContents(GtkClipboard*, SmartPasteInclusion = DoNotIncludeSmartPaste, GClosure* = 0);
void getClipboardContents(GtkClipboard*);
enum PasteboardTargetType { TargetTypeMarkup, TargetTypeText, TargetTypeImage, TargetTypeURIList, TargetTypeNetscapeURL, TargetTypeSmartPaste, TargetTypeUnknown };
bool clipboardContentSupportsSmartReplace(GtkClipboard*);
private:
GtkTargetList* m_targetList;
bool m_usePrimarySelectionClipboard;
};
}
#endif // PasteboardHelper_h