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