]> git.saurik.com Git - wxWidgets.git/blame - include/wx/gtk/dnd.h
GTK
[wxWidgets.git] / include / wx / gtk / dnd.h
CommitLineData
c801d85f
KB
1///////////////////////////////////////////////////////////////////////////////
2// Name: dnd.h
3// Purpose: declaration of the wxDropTarget class
4// Author: Robert Roebling
5// RCS-ID:
6// Copyright: (c) 1998 Vadim Zeitlin, Robert Roebling
7// Licence: wxWindows license
8///////////////////////////////////////////////////////////////////////////////
9
10
11#ifndef __GTKDNDH__
12#define __GTKDNDH__
13
14#ifdef __GNUG__
15#pragma interface
16#endif
17
18#include "wx/defs.h"
19#include "wx/object.h"
20#include "wx/string.h"
21#include "wx/cursor.h"
22
23//-------------------------------------------------------------------------
24// classes
25//-------------------------------------------------------------------------
26
27class wxWindow;
28
29class wxDropTarget;
30class wxTextDropTarget;
31class wxDragSource;
32class wxTextDragSource;
33
34//-------------------------------------------------------------------------
35// wxDropTarget
36//-------------------------------------------------------------------------
37
38class wxDropTarget: wxObject
39{
40 public:
41
42 wxDropTarget();
43 ~wxDropTarget();
44 virtual void OnEnter() { }
45 virtual void OnLeave() { }
46 virtual bool OnDrop( long x, long y, const void *pData ) = 0;
47
48 public:
49
50 void Drop( GdkEvent *event, int x, int y );
51 virtual void RegisterWidget( GtkWidget *widget ) = 0;
52 void UnregisterWidget( GtkWidget *widget );
53};
54
55//-------------------------------------------------------------------------
56// wxTextDropTarget
57//-------------------------------------------------------------------------
58
59class wxTextDropTarget: public wxDropTarget
60{
61 public:
62
63 wxTextDropTarget() {};
64 virtual bool OnDrop( long x, long y, const void *pData );
65 virtual bool OnDropText( long x, long y, const char *psz );
66 virtual void RegisterWidget( GtkWidget *widget );
67};
68
69//-------------------------------------------------------------------------
70// wxDragSource
71//-------------------------------------------------------------------------
72
73class wxDragSource: public wxObject
74{
75 public:
76
77 wxDragSource( wxWindow *win );
78 ~wxDragSource(void);
79 void SetData( char *data, const long size );
80 void Start( int x, int y );
81
82 public:
83
84 void ConnectWindow(void);
85 void UnconnectWindow(void);
86 virtual void RegisterWindow(void) = 0;
87 void UnregisterWindow(void);
88
89 GtkWidget *m_widget;
90 wxWindow *m_window;
91 char *m_data;
92 long m_size;
93 wxCursor m_defaultCursor;
94 wxCursor m_goaheadCursor;
95};
96
97//-------------------------------------------------------------------------
98// wxTextDragSource
99//-------------------------------------------------------------------------
100
101class wxTextDragSource: public wxDragSource
102{
103 public:
104
105 wxTextDragSource( wxWindow *win ) : wxDragSource(win) {};
106 void SetTextData( const wxString &text );
107 void RegisterWindow(void);
108
109 private:
110
111 wxString m_tmp;
112};
113
114#endif
115 //__GTKDNDH__
116