xref: /MusicPlayer2/scintilla/include/ScintillaWidget.h (revision 8af74909132ed5e696cb05b6689ae4baf14c1c96)
1*8af74909SZhong Yang /* Scintilla source code edit control */
2*8af74909SZhong Yang /* @file ScintillaWidget.h
3*8af74909SZhong Yang  * Definition of Scintilla widget for GTK+.
4*8af74909SZhong Yang  * Only needed by GTK+ code but is harmless on other platforms.
5*8af74909SZhong Yang  * This comment is not a doc-comment as that causes warnings from g-ir-scanner.
6*8af74909SZhong Yang  */
7*8af74909SZhong Yang /* Copyright 1998-2001 by Neil Hodgson <[email protected]>
8*8af74909SZhong Yang  * The License.txt file describes the conditions under which this software may be distributed. */
9*8af74909SZhong Yang 
10*8af74909SZhong Yang #ifndef SCINTILLAWIDGET_H
11*8af74909SZhong Yang #define SCINTILLAWIDGET_H
12*8af74909SZhong Yang 
13*8af74909SZhong Yang #if defined(GTK)
14*8af74909SZhong Yang 
15*8af74909SZhong Yang #ifdef __cplusplus
16*8af74909SZhong Yang extern "C" {
17*8af74909SZhong Yang #endif
18*8af74909SZhong Yang 
19*8af74909SZhong Yang #define SCINTILLA(obj)          G_TYPE_CHECK_INSTANCE_CAST (obj, scintilla_get_type (), ScintillaObject)
20*8af74909SZhong Yang #define SCINTILLA_CLASS(klass)  G_TYPE_CHECK_CLASS_CAST (klass, scintilla_get_type (), ScintillaClass)
21*8af74909SZhong Yang #define IS_SCINTILLA(obj)       G_TYPE_CHECK_INSTANCE_TYPE (obj, scintilla_get_type ())
22*8af74909SZhong Yang 
23*8af74909SZhong Yang #define SCINTILLA_TYPE_OBJECT             (scintilla_object_get_type())
24*8af74909SZhong Yang #define SCINTILLA_OBJECT(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj), SCINTILLA_TYPE_OBJECT, ScintillaObject))
25*8af74909SZhong Yang #define SCINTILLA_IS_OBJECT(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SCINTILLA_TYPE_OBJECT))
26*8af74909SZhong Yang #define SCINTILLA_OBJECT_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass), SCINTILLA_TYPE_OBJECT, ScintillaObjectClass))
27*8af74909SZhong Yang #define SCINTILLA_IS_OBJECT_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass), SCINTILLA_TYPE_OBJECT))
28*8af74909SZhong Yang #define SCINTILLA_OBJECT_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS((obj), SCINTILLA_TYPE_OBJECT, ScintillaObjectClass))
29*8af74909SZhong Yang 
30*8af74909SZhong Yang typedef struct _ScintillaObject ScintillaObject;
31*8af74909SZhong Yang typedef struct _ScintillaClass  ScintillaObjectClass;
32*8af74909SZhong Yang 
33*8af74909SZhong Yang struct _ScintillaObject {
34*8af74909SZhong Yang 	GtkContainer cont;
35*8af74909SZhong Yang 	void *pscin;
36*8af74909SZhong Yang };
37*8af74909SZhong Yang 
38*8af74909SZhong Yang struct _ScintillaClass {
39*8af74909SZhong Yang 	GtkContainerClass parent_class;
40*8af74909SZhong Yang 
41*8af74909SZhong Yang 	void (* command) (ScintillaObject *sci, int cmd, GtkWidget *window);
42*8af74909SZhong Yang 	void (* notify) (ScintillaObject *sci, int id, SCNotification *scn);
43*8af74909SZhong Yang };
44*8af74909SZhong Yang 
45*8af74909SZhong Yang GType		scintilla_object_get_type		(void);
46*8af74909SZhong Yang GtkWidget*	scintilla_object_new			(void);
47*8af74909SZhong Yang gintptr		scintilla_object_send_message	(ScintillaObject *sci, unsigned int iMessage, guintptr wParam, gintptr lParam);
48*8af74909SZhong Yang 
49*8af74909SZhong Yang 
50*8af74909SZhong Yang GType		scnotification_get_type			(void);
51*8af74909SZhong Yang #define SCINTILLA_TYPE_NOTIFICATION        (scnotification_get_type())
52*8af74909SZhong Yang 
53*8af74909SZhong Yang #ifndef G_IR_SCANNING
54*8af74909SZhong Yang /* The legacy names confuse the g-ir-scanner program */
55*8af74909SZhong Yang typedef struct _ScintillaClass  ScintillaClass;
56*8af74909SZhong Yang 
57*8af74909SZhong Yang GType		scintilla_get_type	(void);
58*8af74909SZhong Yang GtkWidget*	scintilla_new		(void);
59*8af74909SZhong Yang void		scintilla_set_id	(ScintillaObject *sci, uptr_t id);
60*8af74909SZhong Yang sptr_t		scintilla_send_message	(ScintillaObject *sci,unsigned int iMessage, uptr_t wParam, sptr_t lParam);
61*8af74909SZhong Yang void		scintilla_release_resources(void);
62*8af74909SZhong Yang #endif
63*8af74909SZhong Yang 
64*8af74909SZhong Yang #define SCINTILLA_NOTIFY "sci-notify"
65*8af74909SZhong Yang 
66*8af74909SZhong Yang #ifdef __cplusplus
67*8af74909SZhong Yang }
68*8af74909SZhong Yang #endif
69*8af74909SZhong Yang 
70*8af74909SZhong Yang #endif
71*8af74909SZhong Yang 
72*8af74909SZhong Yang #endif
73