aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2016-05-17 21:58:45 +1000
committerNeil <nyamatongwe@gmail.com>2016-05-17 21:58:45 +1000
commit9075832b2e345bb3ffe5d9b53ce3b899dc3a1efa (patch)
treeeea84fe9abb40c8fbacd4e722b2e8fb458288465
parentf39e2e75170e9b1953eb7eb6ed48326e6af0c24e (diff)
downloadscintilla-mirror-9075832b2e345bb3ffe5d9b53ce3b899dc3a1efa.tar.gz
Backed out changeset: 89cda794d0dd as fixed changeset will be sent by author.
-rw-r--r--gtk/ScintillaGTK.cxx20
-rw-r--r--gtk/deps.mak2
-rw-r--r--gtk/makefile3
-rw-r--r--gtk/scintilla-marshal.c86
-rw-r--r--gtk/scintilla-marshal.h21
-rw-r--r--gtk/scintilla-marshal.list1
-rw-r--r--include/Scintilla.h9
-rw-r--r--include/ScintillaWidget.h8
-rw-r--r--test/gi/Scintilla-0.1.gir.good219
-rw-r--r--test/gi/filter-scintilla-h.py19
-rw-r--r--test/gi/gi-test.py9
-rw-r--r--test/gi/makefile20
12 files changed, 136 insertions, 281 deletions
diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx
index 3caab96a4..9fc8e4cc4 100644
--- a/gtk/ScintillaGTK.cxx
+++ b/gtk/ScintillaGTK.cxx
@@ -72,6 +72,8 @@
#include "ExternalLexer.h"
#endif
+#include "scintilla-marshal.h"
+
#include "Converter.h"
#if defined(__clang__)
@@ -3160,6 +3162,9 @@ void ScintillaGTK::ClassInit(OBJECT_CLASS* object_class, GtkWidgetClass *widget_
container_class->forall = MainForAll;
}
+#define SIG_MARSHAL scintilla_marshal_NONE__INT_POINTER
+#define MARSHAL_ARGUMENTS G_TYPE_INT, G_TYPE_POINTER
+
static void scintilla_class_init(ScintillaClass *klass) {
try {
OBJECT_CLASS *object_class = (OBJECT_CLASS*) klass;
@@ -3174,9 +3179,9 @@ static void scintilla_class_init(ScintillaClass *klass) {
G_STRUCT_OFFSET(ScintillaClass, command),
NULL, //(GSignalAccumulator)
NULL, //(gpointer)
- NULL,
+ SIG_MARSHAL,
G_TYPE_NONE,
- 2, G_TYPE_INT, GTK_TYPE_WIDGET);
+ 2, MARSHAL_ARGUMENTS);
scintilla_signals[NOTIFY_SIGNAL] = g_signal_new(
SCINTILLA_NOTIFY,
@@ -3185,9 +3190,9 @@ static void scintilla_class_init(ScintillaClass *klass) {
G_STRUCT_OFFSET(ScintillaClass, notify),
NULL,
NULL,
- NULL,
+ SIG_MARSHAL,
G_TYPE_NONE,
- 2, G_TYPE_INT, SCINTILLA_TYPE_NOTIFICATION);
+ 2, MARSHAL_ARGUMENTS);
klass->command = NULL;
klass->notify = NULL;
@@ -3228,10 +3233,3 @@ void scintilla_release_resources(void) {
} catch (...) {
}
}
-
-/* Define a dummy boxed type because g-ir-scanner is unable to
- * recognize gpointer-derived types. Note that SCNotificaiton
- * is always allocated on stack so copying is not appropriate. */
-static void *copy_(void *src) { return src; }
-static void free_(void *doc) { }
-G_DEFINE_BOXED_TYPE(SCNotification, scnotification, copy_, free_)
diff --git a/gtk/deps.mak b/gtk/deps.mak
index f59ef3282..5b826358a 100644
--- a/gtk/deps.mak
+++ b/gtk/deps.mak
@@ -15,7 +15,7 @@ ScintillaGTK.o: ScintillaGTK.cxx \
../src/Selection.h ../src/PositionCache.h ../src/EditModel.h \
../src/MarginView.h ../src/EditView.h ../src/Editor.h \
../src/AutoComplete.h ../src/ScintillaBase.h ../src/ExternalLexer.h \
- Converter.h
+ scintilla-marshal.h Converter.h
AutoComplete.o: ../src/AutoComplete.cxx ../include/Platform.h \
../include/Scintilla.h ../include/Sci_Position.h \
../lexlib/CharacterSet.h ../src/Position.h ../src/AutoComplete.h
diff --git a/gtk/makefile b/gtk/makefile
index a4d46d9a0..8fd92f6db 100644
--- a/gtk/makefile
+++ b/gtk/makefile
@@ -78,6 +78,7 @@ CFLAGS:=$(CTFLAGS)
CXXTFLAGS:=--std=gnu++0x $(CTFLAGS) $(REFLAGS)
CONFIGFLAGS:=$(shell pkg-config --cflags $(GTKVERSION))
+MARSHALLER=scintilla-marshal.o
.cxx.o:
$(CXX) $(CONFIGFLAGS) $(CXXTFLAGS) $(CXXFLAGS) -c $<
@@ -103,7 +104,7 @@ $(COMPLIB): Accessor.o CharacterSet.o LexerBase.o LexerModule.o LexerSimple.o St
PropSetSimple.o PlatGTK.o \
KeyMap.o LineMarker.o PositionCache.o ScintillaGTK.o CellBuffer.o CharacterCategory.o ViewStyle.o \
RESearch.o RunStyles.o Selection.o Style.o Indicator.o AutoComplete.o UniConversion.o XPM.o \
- $(LEXOBJS)
+ $(MARSHALLER) $(LEXOBJS)
$(AR) rc $@ $^
$(RANLIB) $@
diff --git a/gtk/scintilla-marshal.c b/gtk/scintilla-marshal.c
new file mode 100644
index 000000000..be57b7c2e
--- /dev/null
+++ b/gtk/scintilla-marshal.c
@@ -0,0 +1,86 @@
+
+#include <glib-object.h>
+
+
+#ifdef G_ENABLE_DEBUG
+#define g_marshal_value_peek_boolean(v) g_value_get_boolean (v)
+#define g_marshal_value_peek_char(v) g_value_get_char (v)
+#define g_marshal_value_peek_uchar(v) g_value_get_uchar (v)
+#define g_marshal_value_peek_int(v) g_value_get_int (v)
+#define g_marshal_value_peek_uint(v) g_value_get_uint (v)
+#define g_marshal_value_peek_long(v) g_value_get_long (v)
+#define g_marshal_value_peek_ulong(v) g_value_get_ulong (v)
+#define g_marshal_value_peek_int64(v) g_value_get_int64 (v)
+#define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v)
+#define g_marshal_value_peek_enum(v) g_value_get_enum (v)
+#define g_marshal_value_peek_flags(v) g_value_get_flags (v)
+#define g_marshal_value_peek_float(v) g_value_get_float (v)
+#define g_marshal_value_peek_double(v) g_value_get_double (v)
+#define g_marshal_value_peek_string(v) (char*) g_value_get_string (v)
+#define g_marshal_value_peek_param(v) g_value_get_param (v)
+#define g_marshal_value_peek_boxed(v) g_value_get_boxed (v)
+#define g_marshal_value_peek_pointer(v) g_value_get_pointer (v)
+#define g_marshal_value_peek_object(v) g_value_get_object (v)
+#else /* !G_ENABLE_DEBUG */
+/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
+ * Do not access GValues directly in your code. Instead, use the
+ * g_value_get_*() functions
+ */
+#define g_marshal_value_peek_boolean(v) (v)->data[0].v_int
+#define g_marshal_value_peek_char(v) (v)->data[0].v_int
+#define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint
+#define g_marshal_value_peek_int(v) (v)->data[0].v_int
+#define g_marshal_value_peek_uint(v) (v)->data[0].v_uint
+#define g_marshal_value_peek_long(v) (v)->data[0].v_long
+#define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong
+#define g_marshal_value_peek_int64(v) (v)->data[0].v_int64
+#define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64
+#define g_marshal_value_peek_enum(v) (v)->data[0].v_int
+#define g_marshal_value_peek_flags(v) (v)->data[0].v_uint
+#define g_marshal_value_peek_float(v) (v)->data[0].v_float
+#define g_marshal_value_peek_double(v) (v)->data[0].v_double
+#define g_marshal_value_peek_string(v) (v)->data[0].v_pointer
+#define g_marshal_value_peek_param(v) (v)->data[0].v_pointer
+#define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer
+#define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer
+#define g_marshal_value_peek_object(v) (v)->data[0].v_pointer
+#endif /* !G_ENABLE_DEBUG */
+
+
+/* NONE:INT,POINTER (scintilla-marshal.list:1) */
+void
+scintilla_marshal_VOID__INT_POINTER (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer invocation_hint,
+ gpointer marshal_data)
+{
+ typedef void (*GMarshalFunc_VOID__INT_POINTER) (gpointer data1,
+ gint arg_1,
+ gpointer arg_2,
+ gpointer data2);
+ register GMarshalFunc_VOID__INT_POINTER callback;
+ register GCClosure *cc = (GCClosure*) closure;
+ register gpointer data1, data2;
+
+ g_return_if_fail (n_param_values == 3);
+
+ if (G_CCLOSURE_SWAP_DATA (closure))
+ {
+ data1 = closure->data;
+ data2 = g_value_peek_pointer (param_values + 0);
+ }
+ else
+ {
+ data1 = g_value_peek_pointer (param_values + 0);
+ data2 = closure->data;
+ }
+ callback = (GMarshalFunc_VOID__INT_POINTER) (marshal_data ? marshal_data : cc->callback);
+
+ callback (data1,
+ g_marshal_value_peek_int (param_values + 1),
+ g_marshal_value_peek_pointer (param_values + 2),
+ data2);
+}
+
diff --git a/gtk/scintilla-marshal.h b/gtk/scintilla-marshal.h
new file mode 100644
index 000000000..9116a56c9
--- /dev/null
+++ b/gtk/scintilla-marshal.h
@@ -0,0 +1,21 @@
+
+#ifndef __scintilla_marshal_MARSHAL_H__
+#define __scintilla_marshal_MARSHAL_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+/* NONE:INT,POINTER (scintilla-marshal.list:1) */
+extern void scintilla_marshal_VOID__INT_POINTER (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer invocation_hint,
+ gpointer marshal_data);
+#define scintilla_marshal_NONE__INT_POINTER scintilla_marshal_VOID__INT_POINTER
+
+G_END_DECLS
+
+#endif /* __scintilla_marshal_MARSHAL_H__ */
+
diff --git a/gtk/scintilla-marshal.list b/gtk/scintilla-marshal.list
new file mode 100644
index 000000000..e5750ecb6
--- /dev/null
+++ b/gtk/scintilla-marshal.list
@@ -0,0 +1 @@
+NONE:INT,POINTER
diff --git a/include/Scintilla.h b/include/Scintilla.h
index 99bc6e7b1..c985cea77 100644
--- a/include/Scintilla.h
+++ b/include/Scintilla.h
@@ -1121,13 +1121,6 @@ struct Sci_RangeToFormat {
#define RangeToFormat Sci_RangeToFormat
-#ifndef __cplusplus
-/* For the GTK+ platform, g-ir-scanner needs to have these typedefs. This
- * is not required in C++ code and actually seems to break ScintillaEditPy */
-typedef struct Sci_NotifyHeader Sci_NotifyHeader;
-typedef struct SCNotification SCNotification;
-#endif
-
struct Sci_NotifyHeader {
/* Compatible with Windows NMHDR.
* hwndFrom is really an environment specific window handle or pointer
@@ -1140,7 +1133,7 @@ struct Sci_NotifyHeader {
#define NotifyHeader Sci_NotifyHeader
struct SCNotification {
- Sci_NotifyHeader nmhdr;
+ struct Sci_NotifyHeader nmhdr;
Sci_Position position;
/* SCN_STYLENEEDED, SCN_DOUBLECLICK, SCN_MODIFIED, SCN_MARGINCLICK, */
/* SCN_NEEDSHOWN, SCN_DWELLSTART, SCN_DWELLEND, SCN_CALLTIPCLICK, */
diff --git a/include/ScintillaWidget.h b/include/ScintillaWidget.h
index 1721f65d9..f4ae18208 100644
--- a/include/ScintillaWidget.h
+++ b/include/ScintillaWidget.h
@@ -38,18 +38,14 @@ struct _ScintillaObject {
struct _ScintillaClass {
GtkContainerClass parent_class;
- void (* command) (ScintillaObject *sci, int cmd, GtkWidget *window);
- void (* notify) (ScintillaObject *sci, int id, SCNotification *scn);
+ void (* command) (ScintillaObject *ttt);
+ void (* notify) (ScintillaObject *ttt);
};
GType scintilla_object_get_type (void);
GtkWidget* scintilla_object_new (void);
gintptr scintilla_object_send_message (ScintillaObject *sci, unsigned int iMessage, guintptr wParam, gintptr lParam);
-
-GType scnotification_get_type (void);
-#define SCINTILLA_TYPE_NOTIFICATION (scnotification_get_type())
-
#ifndef G_IR_SCANNING
/* The legacy names confuse the g-ir-scanner program */
typedef struct _ScintillaClass ScintillaClass;
diff --git a/test/gi/Scintilla-0.1.gir.good b/test/gi/Scintilla-0.1.gir.good
index 771edae6e..b3919a725 100644
--- a/test/gi/Scintilla-0.1.gir.good
+++ b/test/gi/Scintilla-0.1.gir.good
@@ -14,24 +14,6 @@ and/or use gtk-doc annotations. -->
shared-library="libscintilla.so"
c:identifier-prefixes="Scintilla"
c:symbol-prefixes="scintilla">
- <alias name="Sci_Position" c:type="Sci_Position">
- <type name="gint" c:type="int"/>
- </alias>
- <alias name="Sci_PositionCR" c:type="Sci_PositionCR">
- <type name="glong" c:type="long"/>
- </alias>
- <alias name="Sci_PositionU" c:type="Sci_PositionU">
- <type name="guint" c:type="unsigned int"/>
- </alias>
- <alias name="Sci_SurfaceID" c:type="Sci_SurfaceID">
- <type name="gpointer" c:type="gpointer"/>
- </alias>
- <alias name="sptr_t" c:type="sptr_t">
- <type name="glong" c:type="long"/>
- </alias>
- <alias name="uptr_t" c:type="uptr_t">
- <type name="gulong" c:type="unsigned long"/>
- </alias>
<constant name="NOTIFY" value="sci-notify" c:type="SCINTILLA_NOTIFY">
<type name="utf8" c:type="gchar*"/>
</constant>
@@ -54,15 +36,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <instance-parameter name="sci" transfer-ownership="none">
+ <instance-parameter name="ttt" transfer-ownership="none">
<type name="Object" c:type="ScintillaObject*"/>
</instance-parameter>
- <parameter name="cmd" transfer-ownership="none">
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="window" transfer-ownership="none">
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
- </parameter>
</parameters>
</virtual-method>
<virtual-method name="notify">
@@ -70,15 +46,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <instance-parameter name="sci" transfer-ownership="none">
+ <instance-parameter name="ttt" transfer-ownership="none">
<type name="Object" c:type="ScintillaObject*"/>
</instance-parameter>
- <parameter name="id" transfer-ownership="none">
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="scn" transfer-ownership="none">
- <type name="SCNotification" c:type="SCNotification*"/>
- </parameter>
</parameters>
</virtual-method>
<method name="send_message" c:identifier="scintilla_object_send_message">
@@ -115,7 +85,7 @@ and/or use gtk-doc annotations. -->
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
- <type name="Gtk.Widget"/>
+ <type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</glib:signal>
@@ -128,7 +98,7 @@ and/or use gtk-doc annotations. -->
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
- <type name="SCNotification"/>
+ <type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</glib:signal>
@@ -145,15 +115,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <parameter name="sci" transfer-ownership="none">
+ <parameter name="ttt" transfer-ownership="none">
<type name="Object" c:type="ScintillaObject*"/>
</parameter>
- <parameter name="cmd" transfer-ownership="none">
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="window" transfer-ownership="none">
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
- </parameter>
</parameters>
</callback>
</field>
@@ -163,183 +127,12 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <parameter name="sci" transfer-ownership="none">
+ <parameter name="ttt" transfer-ownership="none">
<type name="Object" c:type="ScintillaObject*"/>
</parameter>
- <parameter name="id" transfer-ownership="none">
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="scn" transfer-ownership="none">
- <type name="SCNotification" c:type="SCNotification*"/>
- </parameter>
</parameters>
</callback>
</field>
</record>
- <record name="SCNotification"
- c:type="SCNotification"
- glib:type-name="SCNotification"
- glib:get-type="scnotification_get_type"
- c:symbol-prefix="scnotification">
- <field name="nmhdr" writable="1">
- <type name="Sci_NotifyHeader" c:type="Sci_NotifyHeader"/>
- </field>
- <field name="position" writable="1">
- <type name="Sci_Position" c:type="Sci_Position"/>
- </field>
- <field name="ch" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="modifiers" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="modificationType" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="text" writable="1">
- <type name="utf8" c:type="const char*"/>
- </field>
- <field name="length" writable="1">
- <type name="Sci_Position" c:type="Sci_Position"/>
- </field>
- <field name="linesAdded" writable="1">
- <type name="Sci_Position" c:type="Sci_Position"/>
- </field>
- <field name="message" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="wParam" writable="1">
- <type name="uptr_t" c:type="uptr_t"/>
- </field>
- <field name="lParam" writable="1">
- <type name="sptr_t" c:type="sptr_t"/>
- </field>
- <field name="line" writable="1">
- <type name="Sci_Position" c:type="Sci_Position"/>
- </field>
- <field name="foldLevelNow" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="foldLevelPrev" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="margin" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="listType" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="x" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="y" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="token" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="annotationLinesAdded" writable="1">
- <type name="Sci_Position" c:type="Sci_Position"/>
- </field>
- <field name="updated" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="listCompletionMethod" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- </record>
- <callback name="SciFnDirect">
- <return-value transfer-ownership="none">
- <type name="sptr_t" c:type="sptr_t"/>
- </return-value>
- <parameters>
- <parameter name="ptr" transfer-ownership="none">
- <type name="sptr_t" c:type="sptr_t"/>
- </parameter>
- <parameter name="iMessage" transfer-ownership="none">
- <type name="guint" c:type="unsigned int"/>
- </parameter>
- <parameter name="wParam" transfer-ownership="none">
- <type name="uptr_t" c:type="uptr_t"/>
- </parameter>
- <parameter name="lParam" transfer-ownership="none">
- <type name="sptr_t" c:type="sptr_t"/>
- </parameter>
- </parameters>
- </callback>
- <record name="Sci_CharacterRange" c:type="Sci_CharacterRange">
- <field name="cpMin" writable="1">
- <type name="Sci_PositionCR" c:type="Sci_PositionCR"/>
- </field>
- <field name="cpMax" writable="1">
- <type name="Sci_PositionCR" c:type="Sci_PositionCR"/>
- </field>
- </record>
- <record name="Sci_NotifyHeader" c:type="Sci_NotifyHeader">
- <field name="hwndFrom" writable="1">
- <type name="gpointer" c:type="void*"/>
- </field>
- <field name="idFrom" writable="1">
- <type name="uptr_t" c:type="uptr_t"/>
- </field>
- <field name="code" writable="1">
- <type name="guint" c:type="unsigned"/>
- </field>
- </record>
- <record name="Sci_RangeToFormat" c:type="Sci_RangeToFormat">
- <field name="hdc" writable="1">
- <type name="Sci_SurfaceID" c:type="Sci_SurfaceID"/>
- </field>
- <field name="hdcTarget" writable="1">
- <type name="Sci_SurfaceID" c:type="Sci_SurfaceID"/>
- </field>
- <field name="rc" writable="1">
- <type name="gpointer" c:type="Sci_Rectangle"/>
- </field>
- <field name="rcPage" writable="1">
- <type name="gpointer" c:type="Sci_Rectangle"/>
- </field>
- <field name="chrg" writable="1">
- <type name="gpointer" c:type="Sci_CharacterRange"/>
- </field>
- </record>
- <record name="Sci_Rectangle" c:type="Sci_Rectangle">
- <field name="left" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="top" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="right" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="bottom" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- </record>
- <record name="Sci_TextRange" c:type="Sci_TextRange">
- <field name="chrg" writable="1">
- <type name="gpointer" c:type="Sci_CharacterRange"/>
- </field>
- <field name="lpstrText" writable="1">
- <type name="utf8" c:type="char*"/>
- </field>
- </record>
- <record name="Sci_TextToFind" c:type="Sci_TextToFind">
- <field name="chrg" writable="1">
- <type name="gpointer" c:type="Sci_CharacterRange"/>
- </field>
- <field name="lpstrText" writable="1">
- <type name="utf8" c:type="const char*"/>
- </field>
- <field name="chrgText" writable="1">
- <type name="gpointer" c:type="Sci_CharacterRange"/>
- </field>
- </record>
- <function name="Scintilla_LinkLexers" c:identifier="Scintilla_LinkLexers">
- <return-value transfer-ownership="none">
- <type name="gint" c:type="int"/>
- </return-value>
- </function>
</namespace>
</repository>
diff --git a/test/gi/filter-scintilla-h.py b/test/gi/filter-scintilla-h.py
deleted file mode 100644
index 0743f9ef2..000000000
--- a/test/gi/filter-scintilla-h.py
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env python
-# Filters Scintilla.h to not contain generated stuff or deprecated defines
-
-import sys
-import fileinput
-
-def main():
- inhibit = 0
- for line in fileinput.input():
- if line.startswith("/* ++Autogenerated") or line.startswith("#ifdef INCLUDE_DEPRECATED_FEATURES"):
- inhibit += 1
- if inhibit == 0:
- sys.stdout.write(line)
- if line.startswith("/* --Autogenerated") or line.startswith("#endif"):
- if (inhibit > 0):
- inhibit -= 1
-
-if __name__ == "__main__":
- main()
diff --git a/test/gi/gi-test.py b/test/gi/gi-test.py
index b047ecec9..6c775ea0c 100644
--- a/test/gi/gi-test.py
+++ b/test/gi/gi-test.py
@@ -8,18 +8,9 @@ gi.require_version('Scintilla', '0.1')
from gi.repository import Scintilla
from gi.repository import Gtk
-def on_notify(sci, id, scn):
- if (scn.nmhdr.code == 2001): # SCN_CHARADDED
- print ("sci-notify: id: %d, char added: %d" % (id, scn.ch))
- elif (scn.nmhdr.code == 2008): # SCN_MODIFIED
- print ("sci-notify: id: %d, pos: %d, mod type: %d" % (id, scn.position, scn.modificationType))
- else:
- print ("sci-notify: id: %d, scn.nmhdr.code: %d" % (id, scn.nmhdr.code))
-
win = Gtk.Window()
win.connect("delete-event", Gtk.main_quit)
sci = Scintilla.Object()
-sci.connect("sci-notify", on_notify)
win.add(sci)
win.show_all()
win.resize(400,300)
diff --git a/test/gi/makefile b/test/gi/makefile
index 8b01de341..cf7522303 100644
--- a/test/gi/makefile
+++ b/test/gi/makefile
@@ -12,26 +12,20 @@ GTK_LIBS = $(shell pkg-config --libs gtk+-$(GTKVERSION))
GTK_CFLAGS = $(shell pkg-config --cflags gtk+-$(GTKVERSION))
PWD = $(shell pwd)
-.PHONY: test clean FORCE
+FORCE:
../../bin/scintilla.a: FORCE
$(MAKE) -C ../../gtk all
-Scintilla-filtered.h: ../../include/Scintilla.h
- python filter-scintilla-h.py $< > $@
-
libscintilla.so: ../../bin/scintilla.a
$(CXX) -shared -o $@ -Wl,--whole-archive $^ -Wl,--no-whole-archive $(GTK_LIBS)
-Scintilla-0.1.gir: libscintilla.so Scintilla-filtered.h
+Scintilla-0.1.gir: libscintilla.so
LDFLAGS=-Wl,-rpath=$(shell pwd) \
- $(GI_SCANNER) --no-libtool --warn-all -i Gtk-$(GTKVERSION) -DG_IR_SCANNING -DGTK \
- --cflags-begin $(GTK_CFLAGS) -include gtk/gtk.h \
- -include Scintilla-filtered.h -I../../include --cflags-end \
- --accept-unprefixed \
+ $(GI_SCANNER) --warn-all -i Gtk-$(GTKVERSION) -DG_IR_SCANNING -DGTK \
+ --cflags-begin $(GTK_CFLAGS) -include gtk/gtk.h --cflags-end \
--c-include Scintilla.h --c-include ScintillaWidget.h \
- -n Scintilla --nsversion 0.1 --library scintilla -L$(PWD) \
- ../../include/Sci_Position.h ../../include/ScintillaWidget.h Scintilla-filtered.h \
+ -n Scintilla --nsversion 0.1 --library scintilla -L$(PWD) ../../include/ScintillaWidget.h \
-o $@
Scintilla-0.1.typelib: Scintilla-0.1.gir
@@ -41,9 +35,9 @@ clean:
rm -f libscintilla.so Scintilla-0.1.gir Scintilla-0.1.typelib
$(MAKE) -C ../../gtk clean
-test: Scintilla-0.1.gir Scintilla-0.1.typelib
+test: Scintilla-0.1.gir
@echo Verifying Scintilla-0.1.gir file
- @diff $<.good $< || (echo "GIR FILE MISMATCH!"; exit 1)
+ @diff $^.good $^ || (echo "GIR FILE MISMATCH!"; exit 1)
@echo Launching gi-test.py python program
GI_TYPELIB_PATH=$(PWD) LD_LIBRARY_PATH=$(PWD) \
python $(PWD)/gi-test.py