PasteboardHelper.h [plain text]
#ifndef PasteboardHelper_h
#define PasteboardHelper_h
#include "Frame.h"
typedef struct _GtkClipboard GtkClipboard;
typedef struct _GtkTargetList GtkTargetList;
typedef struct _GtkWidget GtkWidget;
typedef struct _GtkSelectionData GtkSelectionData;
namespace WebCore {
class DataObjectGtk;
class PasteboardHelper {
public:
PasteboardHelper();
virtual ~PasteboardHelper();
GtkClipboard* getCurrentClipboard(Frame*);
GtkClipboard* getClipboard(Frame*) const;
GtkClipboard* getPrimarySelectionClipboard(Frame*) const;
GtkTargetList* targetList() const;
GtkTargetList* targetListForDataObject(DataObjectGtk*);
void fillSelectionData(GtkSelectionData*, guint, DataObjectGtk*);
void writeClipboardContents(GtkClipboard*, GClosure* closure = 0);
void getClipboardContents(GtkClipboard*);
enum PasteboardTargetType { TargetTypeText, TargetTypeMarkup, TargetTypeURIList, TargetTypeNetscapeURL, TargetTypeImage, TargetTypeUnknown };
virtual guint getIdForTargetType(PasteboardTargetType) = 0;
protected:
void initializeTargetList();
virtual bool usePrimarySelectionClipboard(GtkWidget*) = 0;
private:
GtkTargetList* m_targetList;
};
}
#endif // PasteboardHelper_h