aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'gtk')
-rw-r--r--gtk/Converter.h19
-rw-r--r--gtk/PlatGTK.cxx287
-rw-r--r--gtk/ScintillaGTK.cxx522
-rw-r--r--gtk/makefile26
-rw-r--r--gtk/scintilla.mak14
5 files changed, 27 insertions, 841 deletions
diff --git a/gtk/Converter.h b/gtk/Converter.h
index d3038a2f2..8e7e3e9ef 100644
--- a/gtk/Converter.h
+++ b/gtk/Converter.h
@@ -3,12 +3,7 @@
// Copyright 2004 by Neil Hodgson <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
-#include <iconv.h>
-#if GTK_MAJOR_VERSION >= 2
- typedef GIConv ConverterHandle;
-#else
- typedef iconv_t ConverterHandle;
-#endif
+typedef GIConv ConverterHandle;
const ConverterHandle iconvhBad = (ConverterHandle)(-1);
// Since various versions of iconv can not agree on whether the src argument
// is char ** or const char ** provide a templatised adaptor.
@@ -24,11 +19,7 @@ size_t iconv_adaptor(size_t(*f_iconv)(ConverterHandle, T, size_t *, char **, siz
class Converter {
ConverterHandle iconvh;
void OpenHandle(const char *fullDestination, const char *charSetSource) {
-#if GTK_MAJOR_VERSION >= 2
iconvh = g_iconv_open(fullDestination, charSetSource);
-#else
- iconvh = iconv_open(fullDestination, charSetSource);
-#endif
}
bool Succeeded() const {
return iconvh != iconvhBad;
@@ -65,11 +56,7 @@ public:
}
void Close() {
if (Succeeded()) {
-#if GTK_MAJOR_VERSION >= 2
g_iconv_close(iconvh);
-#else
- iconv_close(iconvh);
-#endif
iconvh = iconvhBad;
}
}
@@ -77,11 +64,7 @@ public:
if (!Succeeded()) {
return (size_t)(-1);
} else {
-#if GTK_MAJOR_VERSION >= 2
return iconv_adaptor(g_iconv, iconvh, src, srcleft, dst, dstleft);
-#else
- return iconv_adaptor(iconv, iconvh, src, srcleft, dst, dstleft);
-#endif
}
}
};
diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx
index e7c8299fd..55947113e 100644
--- a/gtk/PlatGTK.cxx
+++ b/gtk/PlatGTK.cxx
@@ -31,10 +31,7 @@
with gdk_string_extents. */
#define FAST_WAY
-#if GTK_MAJOR_VERSION >= 2
-#define USE_PANGO 1
#include "Converter.h"
-#endif
#ifdef _MSC_VER
// Ignore unreferenced local functions in GTK+ headers
@@ -105,21 +102,16 @@ class FontHandle {
public:
int ascent;
GdkFont *pfont;
-#ifdef USE_PANGO
PangoFontDescription *pfd;
int characterSet;
-#endif
FontHandle(GdkFont *pfont_) {
et = singleByte;
ascent = 0;
pfont = pfont_;
-#ifdef USE_PANGO
pfd = 0;
characterSet = -1;
-#endif
ResetWidths(et);
}
-#ifdef USE_PANGO
FontHandle(PangoFontDescription *pfd_, int characterSet_) {
et = singleByte;
ascent = 0;
@@ -128,16 +120,13 @@ public:
characterSet = characterSet_;
ResetWidths(et);
}
-#endif
~FontHandle() {
if (pfont)
gdk_font_unref(pfont);
pfont = 0;
-#ifdef USE_PANGO
if (pfd)
pango_font_description_free(pfd);
pfd = 0;
-#endif
}
void ResetWidths(encodingType et_) {
et = et_;
@@ -513,7 +502,6 @@ FontID FontCached::CreateNewFont(const char *fontName, int characterSet,
faceName[0] = '\0';
charset[0] = '\0';
-#ifdef USE_PANGO
if (fontName[0] == '!') {
PangoFontDescription *pfd = pango_font_description_new();
if (pfd) {
@@ -524,7 +512,6 @@ FontID FontCached::CreateNewFont(const char *fontName, int characterSet,
return new FontHandle(pfd, characterSet);
}
}
-#endif
GdkFont *newid = 0;
// If name of the font begins with a '-', assume, that it is
@@ -693,13 +680,11 @@ class SurfaceImpl : public Surface
int y;
bool inited;
bool createdGC;
-#ifdef USE_PANGO
PangoContext *pcontext;
PangoLayout *layout;
Converter conv;
int characterSet;
void SetConverter(int characterSet_);
-#endif
public:
SurfaceImpl();
virtual ~SurfaceImpl();
@@ -796,22 +781,16 @@ const char *CharacterSetID(int characterSet) {
}
}
-#ifdef USE_PANGO
-
void SurfaceImpl::SetConverter(int characterSet_) {
if (characterSet != characterSet_) {
characterSet = characterSet_;
conv.Open("UTF-8", CharacterSetID(characterSet), false);
}
}
-#endif
SurfaceImpl::SurfaceImpl() : et(singleByte), drawable(0), gc(0), ppixmap(0),
x(0), y(0), inited(false), createdGC(false)
-#ifdef USE_PANGO
-, pcontext(0), layout(0), characterSet(-1)
-#endif
-{
+, pcontext(0), layout(0), characterSet(-1) {
}
SurfaceImpl::~SurfaceImpl() {
@@ -829,7 +808,6 @@ void SurfaceImpl::Release() {
if (ppixmap)
gdk_pixmap_unref(ppixmap);
ppixmap = 0;
-#ifdef USE_PANGO
if (layout)
g_object_unref(layout);
layout = 0;
@@ -838,7 +816,6 @@ void SurfaceImpl::Release() {
pcontext = 0;
conv.Close();
characterSet = -1;
-#endif
x = 0;
y = 0;
inited = false;
@@ -849,34 +826,23 @@ bool SurfaceImpl::Initialised() {
return inited;
}
-// The WindowID argument is only used for Pango builds
-#ifdef USE_PANGO
-#define WID_NAME wid
-#else
-#define WID_NAME
-#endif
-
-void SurfaceImpl::Init(WindowID WID_NAME) {
+void SurfaceImpl::Init(WindowID wid) {
Release();
-#ifdef USE_PANGO
PLATFORM_ASSERT(wid);
pcontext = gtk_widget_create_pango_context(PWidget(wid));
PLATFORM_ASSERT(pcontext);
layout = pango_layout_new(pcontext);
PLATFORM_ASSERT(layout);
-#endif
inited = true;
}
-void SurfaceImpl::Init(SurfaceID sid, WindowID WID_NAME) {
+void SurfaceImpl::Init(SurfaceID sid, WindowID wid) {
PLATFORM_ASSERT(sid);
GdkDrawable *drawable_ = reinterpret_cast<GdkDrawable *>(sid);
Release();
-#ifdef USE_PANGO
PLATFORM_ASSERT(wid);
pcontext = gtk_widget_create_pango_context(PWidget(wid));
layout = pango_layout_new(pcontext);
-#endif
drawable = drawable_;
gc = gdk_gc_new(drawable_);
// Ask for lines that do not paint the last pixel so is like Win32
@@ -885,18 +851,16 @@ void SurfaceImpl::Init(SurfaceID sid, WindowID WID_NAME) {
inited = true;
}
-void SurfaceImpl::InitPixMap(int width, int height, Surface *surface_, WindowID WID_NAME) {
+void SurfaceImpl::InitPixMap(int width, int height, Surface *surface_, WindowID wid) {
PLATFORM_ASSERT(surface_);
Release();
SurfaceImpl *surfImpl = static_cast<SurfaceImpl *>(surface_);
PLATFORM_ASSERT(surfImpl->drawable);
-#ifdef USE_PANGO
PLATFORM_ASSERT(wid);
pcontext = gtk_widget_create_pango_context(PWidget(wid));
PLATFORM_ASSERT(pcontext);
layout = pango_layout_new(pcontext);
PLATFORM_ASSERT(layout);
-#endif
if (height > 0 && width > 0)
ppixmap = gdk_pixmap_new(surfImpl->drawable, width, height, -1);
drawable = ppixmap;
@@ -1023,8 +987,6 @@ void SurfaceImpl::RoundedRectangle(PRectangle rc, ColourAllocated fore, ColourAl
}
}
-#if GTK_MAJOR_VERSION >= 2
-
// Plot a point into a guint32 buffer symetrically to all 4 qudrants
static void AllFour(guint32 *pixels, int stride, int width, int height, int x, int y, guint32 val) {
pixels[y*stride+x] = val;
@@ -1045,20 +1007,6 @@ static unsigned int GetBValue(unsigned int co) {
return co & 0xff;
}
-#endif
-
-#if GTK_MAJOR_VERSION < 2
-void SurfaceImpl::AlphaRectangle(PRectangle rc, int , ColourAllocated , int , ColourAllocated outline, int , int ) {
- if (gc && drawable) {
- // Can't use GdkPixbuf on GTK+ 1.x, so draw an outline rather than use alpha.
- PenColour(outline);
- gdk_draw_rectangle(drawable, gc, 0,
- rc.left, rc.top,
- rc.right - rc.left - 1, rc.bottom - rc.top - 1);
- }
-}
-#else
-
static guint32 u32FromRGBA(guint8 r, guint8 g, guint8 b, guint8 a) {
union {
guint8 pixVal[4];
@@ -1114,8 +1062,6 @@ void SurfaceImpl::AlphaRectangle(PRectangle rc, int cornerSize, ColourAllocated
}
}
-#endif
-
void SurfaceImpl::Ellipse(PRectangle rc, ColourAllocated fore, ColourAllocated back) {
PenColour(back);
gdk_draw_arc(drawable, gc, 1,
@@ -1169,7 +1115,6 @@ char *UTF8FromLatin1(const char *s, int &len) {
return utfForm;
}
-#ifdef USE_PANGO
static char *UTF8FromIconv(const Converter &conv, const char *s, int &len) {
if (conv) {
char *utfForm = new char[len*3+1];
@@ -1254,8 +1199,6 @@ static size_t UTF8CharLength(const char *s) {
}
}
-#endif
-
// On GTK+, wchar_t is 4 bytes
const int maxLengthTextRun = 10000;
@@ -1265,7 +1208,6 @@ void SurfaceImpl::DrawTextBase(PRectangle rc, Font &font_, int ybase, const char
PenColour(fore);
if (gc && drawable) {
int xText = rc.left;
-#ifdef USE_PANGO
if (PFont(font_)->pfd) {
char *utfForm = 0;
bool useGFree = false;
@@ -1301,7 +1243,6 @@ void SurfaceImpl::DrawTextBase(PRectangle rc, Font &font_, int ybase, const char
}
return;
}
-#endif
// Draw text as a series of segments to avoid limitations in X servers
const int segmentLength = 1000;
bool draw8bit = true;
@@ -1376,8 +1317,6 @@ void SurfaceImpl::DrawTextTransparent(PRectangle rc, Font &font_, int ybase, con
}
}
-#ifdef USE_PANGO
-
class ClusterIterator {
PangoLayoutIter *iter;
PangoRectangle pos;
@@ -1412,12 +1351,9 @@ public:
}
};
-#endif
-
void SurfaceImpl::MeasureWidths(Font &font_, const char *s, int len, int *positions) {
if (font_.GetID()) {
int totalWidth = 0;
-#ifdef USE_PANGO
const int lenPositions = len;
if (PFont(font_)->pfd) {
if (len == 1) {
@@ -1516,7 +1452,6 @@ void SurfaceImpl::MeasureWidths(Font &font_, const char *s, int len, int *positi
}
return;
}
-#endif
GdkFont *gf = PFont(font_)->pfont;
bool measure8bit = true;
if (et != singleByte) {
@@ -1577,7 +1512,6 @@ void SurfaceImpl::MeasureWidths(Font &font_, const char *s, int len, int *positi
int SurfaceImpl::WidthText(Font &font_, const char *s, int len) {
if (font_.GetID()) {
-#ifdef USE_PANGO
if (PFont(font_)->pfd) {
char *utfForm = 0;
pango_layout_set_font_description(layout, PFont(font_)->pfd);
@@ -1612,7 +1546,6 @@ int SurfaceImpl::WidthText(Font &font_, const char *s, int len) {
}
return PANGO_PIXELS(pos.width);
}
-#endif
if (et == UTF8) {
GdkWChar wctext[maxLengthTextRun];
size_t wclen = UTF16FromUTF8(s, len, static_cast<wchar_t *>(static_cast<void *>(wctext)),
@@ -1629,11 +1562,9 @@ int SurfaceImpl::WidthText(Font &font_, const char *s, int len) {
int SurfaceImpl::WidthChar(Font &font_, char ch) {
if (font_.GetID()) {
-#ifdef USE_PANGO
if (PFont(font_)->pfd) {
return WidthText(font_, &ch, 1);
}
-#endif
return gdk_char_width(PFont(font_)->pfont, ch);
} else {
return 1;
@@ -1663,7 +1594,6 @@ int SurfaceImpl::Ascent(Font &font_) {
#ifdef FAST_WAY
FontMutexLock();
int ascent = PFont(font_)->ascent;
-#ifdef USE_PANGO
if ((ascent == 0) && (PFont(font_)->pfd)) {
PangoFontMetrics *metrics = pango_context_get_metrics(pcontext,
PFont(font_)->pfd, pango_context_get_language(pcontext));
@@ -1672,7 +1602,6 @@ int SurfaceImpl::Ascent(Font &font_) {
pango_font_metrics_unref(metrics);
ascent = PFont(font_)->ascent;
}
-#endif
if ((ascent == 0) && (PFont(font_)->pfont)) {
ascent = PFont(font_)->pfont->ascent;
}
@@ -1700,7 +1629,6 @@ int SurfaceImpl::Descent(Font &font_) {
return 1;
#ifdef FAST_WAY
-#ifdef USE_PANGO
if (PFont(font_)->pfd) {
PangoFontMetrics *metrics = pango_context_get_metrics(pcontext,
PFont(font_)->pfd, pango_context_get_language(pcontext));
@@ -1708,7 +1636,6 @@ int SurfaceImpl::Descent(Font &font_) {
pango_font_metrics_unref(metrics);
return descent;
}
-#endif
return PFont(font_)->pfont->descent;
#else
@@ -1794,18 +1721,12 @@ PRectangle Window::GetPosition() {
}
void Window::SetPosition(PRectangle rc) {
-#if 1
GtkAllocation alloc;
alloc.x = rc.left;
alloc.y = rc.top;
alloc.width = rc.Width();
alloc.height = rc.Height();
gtk_widget_size_allocate(PWidget(wid), &alloc);
-#else
-
- gtk_widget_set_uposition(wid, rc.left, rc.top);
- gtk_widget_set_usize(wid, rc.right - rc.left, rc.bottom - rc.top);
-#endif
}
void Window::SetPositionRelative(PRectangle rc, Window relativeTo) {
@@ -1831,21 +1752,8 @@ void Window::SetPositionRelative(PRectangle rc, Window relativeTo) {
if (oy + sizey > screenHeight)
oy = screenHeight - sizey;
-#if GTK_MAJOR_VERSION >= 2
gtk_window_move(GTK_WINDOW(PWidget(wid)), ox, oy);
-#else
- gtk_widget_set_uposition(PWidget(wid), ox, oy);
-#endif
-
-#if 0
- GtkAllocation alloc;
- alloc.x = rc.left + ox;
- alloc.y = rc.top + oy;
- alloc.width = rc.right - rc.left;
- alloc.height = rc.bottom - rc.top;
- gtk_widget_size_allocate(wid, &alloc);
-#endif
gtk_widget_set_usize(PWidget(wid), sizex, sizey);
}
@@ -1927,8 +1835,8 @@ PRectangle Window::GetMonitorRect(Point pt) {
gdk_window_get_origin(PWidget(wid)->window, &x_offset, &y_offset);
-// gtk 2.2+
-#if GTK_MAJOR_VERSION > 2 || (GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION >= 2)
+#if GTK_CHECK_VERSION(2,2,0)
+ // GTK+ 2.2+
{
GdkScreen* screen;
gint monitor_num;
@@ -1949,25 +1857,13 @@ PRectangle Window::GetMonitorRect(Point pt) {
struct ListImage {
const char *xpm_data;
-#if GTK_MAJOR_VERSION < 2
- GdkPixmap *pixmap;
- GdkBitmap *bitmap;
-#else
GdkPixbuf *pixbuf;
-#endif
};
static void list_image_free(gpointer, gpointer value, gpointer) {
ListImage *list_image = (ListImage *) value;
-#if GTK_MAJOR_VERSION < 2
- if (list_image->pixmap)
- gdk_pixmap_unref(list_image->pixmap);
- if (list_image->bitmap)
- gdk_bitmap_unref(list_image->bitmap);
-#else
if (list_image->pixbuf)
gdk_pixbuf_unref (list_image->pixbuf);
-#endif
g_free(list_image);
}
@@ -1977,24 +1873,17 @@ ListBox::ListBox() {
ListBox::~ListBox() {
}
-#if GTK_MAJOR_VERSION >= 2
enum {
PIXBUF_COLUMN,
TEXT_COLUMN,
N_COLUMNS
};
-#endif
class ListBoxX : public ListBox {
WindowID list;
WindowID scroller;
-#if GTK_MAJOR_VERSION < 2
- int current;
-#endif
void *pixhash;
-#if GTK_MAJOR_VERSION >= 2
- GtkCellRenderer* pixbuf_renderer;
-#endif
+ GtkCellRenderer* pixbuf_renderer;
XPMSet xset;
int desiredVisibleRows;
unsigned int maxItemCharacters;
@@ -2003,15 +1892,9 @@ public:
CallBackAction doubleClickAction;
void *doubleClickActionData;
- ListBoxX() : list(0), pixhash(NULL),
+ ListBoxX() : list(0), pixhash(NULL), pixbuf_renderer(0),
desiredVisibleRows(5), maxItemCharacters(0),
aveCharWidth(1), doubleClickAction(NULL), doubleClickActionData(NULL) {
-#if GTK_MAJOR_VERSION < 2
- current = 0;
-#endif
-#if GTK_MAJOR_VERSION >= 2
- pixbuf_renderer = 0;
-#endif
}
virtual ~ListBoxX() {
if (pixhash) {
@@ -2047,19 +1930,6 @@ ListBox *ListBox::Allocate() {
return lb;
}
-#if GTK_MAJOR_VERSION < 2
-static void UnselectionAC(GtkWidget *, gint, gint,
- GdkEventButton *, gpointer p) {
- int *pi = reinterpret_cast<int *>(p);
- *pi = -1;
-}
-static void SelectionAC(GtkWidget *, gint row, gint,
- GdkEventButton *, gpointer p) {
- int *pi = reinterpret_cast<int *>(p);
- *pi = row;
-}
-#endif
-
static gboolean ButtonPress(GtkWidget *, GdkEventButton* ev, gpointer p) {
try {
ListBoxX* lb = reinterpret_cast<ListBoxX*>(p);
@@ -2074,7 +1944,6 @@ static gboolean ButtonPress(GtkWidget *, GdkEventButton* ev, gpointer p) {
return FALSE;
}
-#if GTK_MAJOR_VERSION >= 2
/* Change the active color to the selected color so the listbox uses the color
scheme that it would use if it had the focus. */
static void StyleSet(GtkWidget *w, GtkStyle*, void*) {
@@ -2097,7 +1966,6 @@ static void StyleSet(GtkWidget *w, GtkStyle*, void*) {
if (!gdk_color_equal(&style->text[GTK_STATE_SELECTED], &style->text[GTK_STATE_ACTIVE]))
gtk_widget_modify_text(w, GTK_STATE_ACTIVE, &style->text[GTK_STATE_SELECTED]);
}
-#endif
void ListBoxX::Create(Window &, int, Point, int, bool) {
wid = gtk_window_new(GTK_WINDOW_POPUP);
@@ -2115,21 +1983,6 @@ void ListBoxX::Create(Window &, int, Point, int, bool) {
gtk_container_add(GTK_CONTAINER(frame), PWidget(scroller));
gtk_widget_show(PWidget(scroller));
-#if GTK_MAJOR_VERSION < 2
- list = gtk_clist_new(1);
- GtkWidget *wid = PWidget(list); // No code inside the GTK_OBJECT macro
- gtk_widget_show(wid);
- gtk_container_add(GTK_CONTAINER(PWidget(scroller)), wid);
- gtk_clist_set_column_auto_resize(GTK_CLIST(wid), 0, TRUE);
- gtk_clist_set_selection_mode(GTK_CLIST(wid), GTK_SELECTION_BROWSE);
- gtk_signal_connect(GTK_OBJECT(wid), "unselect_row",
- GTK_SIGNAL_FUNC(UnselectionAC), &current);
- gtk_signal_connect(GTK_OBJECT(wid), "select_row",
- GTK_SIGNAL_FUNC(SelectionAC), &current);
- gtk_signal_connect(GTK_OBJECT(wid), "button_press_event",
- GTK_SIGNAL_FUNC(ButtonPress), this);
- gtk_clist_set_shadow_type(GTK_CLIST(wid), GTK_SHADOW_NONE);
-#else
/* Tree and its model */
GtkListStore *store =
gtk_list_store_new(N_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_STRING);
@@ -2169,28 +2022,15 @@ void ListBoxX::Create(Window &, int, Point, int, bool) {
gtk_widget_show(wid);
g_signal_connect(G_OBJECT(wid), "button_press_event",
G_CALLBACK(ButtonPress), this);
-#endif
gtk_widget_realize(PWidget(wid));
}
void ListBoxX::SetFont(Font &scint_font) {
-#if GTK_MAJOR_VERSION < 2
- GtkStyle *style = gtk_widget_get_style(GTK_WIDGET(PWidget(list)));
- if (!gdk_font_equal(style->font, PFont(scint_font)->pfont)) {
- style = gtk_style_copy(style);
- gdk_font_unref(style->font);
- style->font = PFont(scint_font)->pfont;
- gdk_font_ref(style->font);
- gtk_widget_set_style(GTK_WIDGET(PWidget(list)), style);
- gtk_style_unref(style);
- }
-#else
// Only do for Pango font as there have been crashes for GDK fonts
if (Created() && PFont(scint_font)->pfd) {
// Current font is Pango font
gtk_widget_modify_font(PWidget(list), PFont(scint_font)->pfd);
}
-#endif
}
void ListBoxX::SetAverageCharWidth(int width) {
@@ -2218,13 +2058,6 @@ PRectangle ListBoxX::GetDesiredRect() {
// First calculate height of the clist for our desired visible
// row count otherwise it tries to expand to the total # of rows
-#if GTK_MAJOR_VERSION < 2
- int ythickness = PWidget(list)->style->klass->ythickness;
- height = (rows * GTK_CLIST(list)->row_height
- + rows + 1
- + 2 * (ythickness
- + GTK_CONTAINER(PWidget(list))->border_width));
-#else
// Get cell height
int row_width=0;
int row_height=0;
@@ -2236,7 +2069,6 @@ PRectangle ListBoxX::GetDesiredRect() {
height = (rows * row_height
+ 2 * (ythickness
+ GTK_CONTAINER(PWidget(list))->border_width + 1));
-#endif
gtk_widget_set_usize(GTK_WIDGET(PWidget(list)), -1, height);
// Get the size of the scroller because we set usize on the window
@@ -2256,30 +2088,19 @@ PRectangle ListBoxX::GetDesiredRect() {
}
int ListBoxX::CaretFromEdge() {
-#if GTK_MAJOR_VERSION >= 2
gint renderer_width, renderer_height;
gtk_cell_renderer_get_fixed_size(pixbuf_renderer, &renderer_width,
&renderer_height);
return 4 + renderer_width;
-#endif
- return 4 + xset.GetWidth();
}
void ListBoxX::Clear() {
-#if GTK_MAJOR_VERSION < 2
- gtk_clist_clear(GTK_CLIST(list));
-#else
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(list));
gtk_list_store_clear(GTK_LIST_STORE(model));
-#endif
maxItemCharacters = 0;
}
-#if GTK_MAJOR_VERSION < 2
-static void init_pixmap(ListImage *list_image, GtkWidget *window) {
-#else
static void init_pixmap(ListImage *list_image) {
-#endif
const char *textForm = list_image->xpm_data;
const char * const * xpm_lineform = reinterpret_cast<const char * const *>(textForm);
const char **xpm_lineformfromtext = 0;
@@ -2294,28 +2115,10 @@ static void init_pixmap(ListImage *list_image) {
}
// Drop any existing pixmap/bitmap as data may have changed
-#if GTK_MAJOR_VERSION < 2
- if (list_image->pixmap)
- gdk_pixmap_unref(list_image->pixmap);
- list_image->pixmap = NULL;
- if (list_image->bitmap)
- gdk_bitmap_unref(list_image->bitmap);
- list_image->bitmap = NULL;
-
- list_image->pixmap = gdk_pixmap_colormap_create_from_xpm_d(NULL
- , gtk_widget_get_colormap(window), &(list_image->bitmap), NULL
- , (gchar **) xpm_lineform);
- if (NULL == list_image->pixmap) {
- if (list_image->bitmap)
- gdk_bitmap_unref(list_image->bitmap);
- list_image->bitmap = NULL;
- }
-#else
if (list_image->pixbuf)
gdk_pixbuf_unref(list_image->pixbuf);
list_image->pixbuf =
gdk_pixbuf_new_from_xpm_data((const gchar**)xpm_lineform);
-#endif
delete []xpm_lineformfromtext;
}
@@ -2327,16 +2130,6 @@ void ListBoxX::Append(char *s, int type) {
list_image = (ListImage *) g_hash_table_lookup((GHashTable *) pixhash
, (gconstpointer) GINT_TO_POINTER(type));
}
-#if GTK_MAJOR_VERSION < 2
- char * szs[] = { s, NULL };
- int rownum = gtk_clist_append(GTK_CLIST(list), szs);
- if (list_image) {
- if (NULL == list_image->pixmap)
- init_pixmap(list_image, (GtkWidget *) list);
- gtk_clist_set_pixtext(GTK_CLIST(list), rownum, 0, s, SPACING
- , list_image->pixmap, list_image->bitmap);
- }
-#else
GtkTreeIter iter;
GtkListStore *store =
GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(list)));
@@ -2364,7 +2157,6 @@ void ListBoxX::Append(char *s, int type) {
gtk_list_store_set(GTK_LIST_STORE(store), &iter,
TEXT_COLUMN, s, -1);
}
-#endif
size_t len = strlen(s);
if (maxItemCharacters < len)
maxItemCharacters = len;
@@ -2372,24 +2164,12 @@ void ListBoxX::Append(char *s, int type) {
int ListBoxX::Length() {
if (wid)
-#if GTK_MAJOR_VERSION < 2
- return GTK_CLIST(list)->rows;
-#else
return gtk_tree_model_iter_n_children(gtk_tree_view_get_model
(GTK_TREE_VIEW(list)), NULL);
-#endif
return 0;
}
void ListBoxX::Select(int n) {
-#if GTK_MAJOR_VERSION < 2
- if (n == -1) {
- gtk_clist_unselect_row(GTK_CLIST(list), current, 0);
- } else {
- gtk_clist_select_row(GTK_CLIST(list), n, 0);
- gtk_clist_moveto(GTK_CLIST(list), n, 0, 0.5, 0.5);
- }
-#else
GtkTreeIter iter;
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(list));
GtkTreeSelection *selection =
@@ -2437,13 +2217,9 @@ void ListBoxX::Select(int n) {
} else {
gtk_tree_selection_unselect_all(selection);
}
-#endif
}
int ListBoxX::GetSelection() {
-#if GTK_MAJOR_VERSION < 2
- return current;
-#else
GtkTreeIter iter;
GtkTreeModel *model;
GtkTreeSelection *selection;
@@ -2456,20 +2232,9 @@ int ListBoxX::GetSelection() {
return indices[0];
}
return -1;
-#endif
}
int ListBoxX::Find(const char *prefix) {
-#if GTK_MAJOR_VERSION < 2
- int count = Length();
- for (int i = 0; i < count; i++) {
- char *s = 0;
- gtk_clist_get_text(GTK_CLIST(list), i, 0, &s);
- if (s && (0 == strncmp(prefix, s, strlen(prefix)))) {
- return i;
- }
- }
-#else
GtkTreeIter iter;
GtkTreeModel *model =
gtk_tree_view_get_model(GTK_TREE_VIEW(list));
@@ -2484,32 +2249,17 @@ int ListBoxX::Find(const char *prefix) {
valid = gtk_tree_model_iter_next(model, &iter) != FALSE;
i++;
}
-#endif
return -1;
}
void ListBoxX::GetValue(int n, char *value, int len) {
char *text = NULL;
-#if GTK_MAJOR_VERSION < 2
- GtkCellType type = gtk_clist_get_cell_type(GTK_CLIST(list), n, 0);
- switch (type) {
- case GTK_CELL_TEXT:
- gtk_clist_get_text(GTK_CLIST(list), n, 0, &text);
- break;
- case GTK_CELL_PIXTEXT:
- gtk_clist_get_pixtext(GTK_CLIST(list), n, 0, &text, NULL, NULL, NULL);
- break;
- default:
- break;
- }
-#else
GtkTreeIter iter;
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(list));
bool valid = gtk_tree_model_iter_nth_child(model, &iter, NULL, n) != FALSE;
if (valid) {
gtk_tree_model_get(model, &iter, TEXT_COLUMN, &text, -1);
}
-#endif
if (text && len > 0) {
strncpy(value, text, len);
value[len - 1] = '\0';
@@ -2538,18 +2288,9 @@ void ListBoxX::RegisterImage(int type, const char *xpm_data) {
(gconstpointer) GINT_TO_POINTER(type));
if (list_image) {
// Drop icon already registered
-#if GTK_MAJOR_VERSION < 2
- if (list_image->pixmap)
- gdk_pixmap_unref(list_image->pixmap);
- list_image->pixmap = 0;
- if (list_image->bitmap)
- gdk_bitmap_unref(list_image->bitmap);
- list_image->bitmap = 0;
-#else
if (list_image->pixbuf)
gdk_pixbuf_unref(list_image->pixbuf);
list_image->pixbuf = NULL;
-#endif
list_image->xpm_data = xpm_data;
} else {
list_image = g_new0(ListImage, 1);
@@ -2602,11 +2343,7 @@ void Menu::CreatePopUp() {
void Menu::Destroy() {
if (mid)
-#if GTK_MAJOR_VERSION < 2
- gtk_object_unref(GTK_OBJECT(mid));
-#else
g_object_unref(G_OBJECT(mid));
-#endif
mid = 0;
}
@@ -2624,12 +2361,8 @@ void Menu::Show(Point pt, Window &) {
if ((pt.y + requisition.height) > screenHeight) {
pt.y = screenHeight - requisition.height;
}
-#if GTK_MAJOR_VERSION >= 2
gtk_item_factory_popup(factory, pt.x - 4, pt.y - 4, 3,
gtk_get_current_event_time());
-#else
- gtk_item_factory_popup(factory, pt.x - 4, pt.y - 4, 3, 0);
-#endif
}
ElapsedTime::ElapsedTime() {
@@ -2701,11 +2434,7 @@ const char *Platform::DefaultFont() {
#ifdef G_OS_WIN32
return "Lucida Console";
#else
-#ifdef USE_PANGO
return "!Sans";
-#else
- return "lucidatypewriter";
-#endif
#endif
}
diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx
index b53b46691..a0f55fd2b 100644
--- a/gtk/ScintillaGTK.cxx
+++ b/gtk/ScintillaGTK.cxx
@@ -56,9 +56,7 @@
#include "gtk/gtksignal.h"
#include "gtk/gtkmarshal.h"
-#if GLIB_MAJOR_VERSION >= 2
#include "scintilla-marshal.h"
-#endif
#ifdef SCI_LEXER
#include <glib.h>
@@ -66,15 +64,7 @@
#include "ExternalLexer.h"
#endif
-#define INTERNATIONAL_INPUT
-
-#if !PLAT_GTK_WIN32 || GTK_MAJOR_VERSION >= 2
-#define USE_CONVERTER
-#endif
-
-#ifdef USE_CONVERTER
#include "Converter.h"
-#endif
#ifdef _MSC_VER
// Constant conditional expressions are because of GTK+ headers
@@ -87,11 +77,7 @@
#define USE_GTK_CLIPBOARD
#endif
-#if GLIB_MAJOR_VERSION < 2
-#define OBJECT_CLASS GtkObjectClass
-#else
#define OBJECT_CLASS GObjectClass
-#endif
#ifdef SCI_NAMESPACE
using namespace Scintilla;
@@ -135,17 +121,9 @@ class ScintillaGTK : public ScintillaBase {
CLIPFORMAT cfColumnSelect;
#endif
-#ifdef INTERNATIONAL_INPUT
-#if GTK_MAJOR_VERSION < 2
- // Input context used for supporting internationalized key entry
- GdkIC *ic;
- GdkICAttr *ic_attr;
-#else
Window wPreedit;
Window wPreeditDraw;
GtkIMContext *im_context;
-#endif
-#endif
// Wheel mouse support
unsigned int linesPerScroll;
@@ -245,36 +223,25 @@ private:
gint PressThis(GdkEventButton *event);
static gint Press(GtkWidget *widget, GdkEventButton *event);
static gint MouseRelease(GtkWidget *widget, GdkEventButton *event);
-#if PLAT_GTK_WIN32 || (GTK_MAJOR_VERSION >= 2)
static gint ScrollEvent(GtkWidget *widget, GdkEventScroll *event);
-#endif
static gint Motion(GtkWidget *widget, GdkEventMotion *event);
gboolean KeyThis(GdkEventKey *event);
static gboolean KeyPress(GtkWidget *widget, GdkEventKey *event);
static gboolean KeyRelease(GtkWidget *widget, GdkEventKey *event);
-#if GTK_MAJOR_VERSION >= 2
gboolean ExposePreeditThis(GtkWidget *widget, GdkEventExpose *ose);
static gboolean ExposePreedit(GtkWidget *widget, GdkEventExpose *ose, ScintillaGTK *sciThis);
void CommitThis(char *str);
static void Commit(GtkIMContext *context, char *str, ScintillaGTK *sciThis);
void PreeditChangedThis();
static void PreeditChanged(GtkIMContext *context, ScintillaGTK *sciThis);
-#endif
static gint StyleSetText(GtkWidget *widget, GtkStyle *previous, void*);
static gint RealizeText(GtkWidget *widget, void*);
-#if GLIB_MAJOR_VERSION < 2
- static void Destroy(GtkObject *object);
-#else
static void Destroy(GObject *object);
-#endif
static void SelectionReceived(GtkWidget *widget, GtkSelectionData *selection_data,
guint time);
static void SelectionGet(GtkWidget *widget, GtkSelectionData *selection_data,
guint info, guint time);
static gint SelectionClear(GtkWidget *widget, GdkEventSelection *selection_event);
-#if GTK_MAJOR_VERSION < 2
- static gint SelectionNotify(GtkWidget *widget, GdkEventSelection *selection_event);
-#endif
static void DragBegin(GtkWidget *widget, GdkDragContext *context);
gboolean DragMotionThis(GdkDragContext *context, gint x, gint y, guint dragtime);
static gboolean DragMotion(GtkWidget *widget, GdkDragContext *context,
@@ -309,9 +276,6 @@ enum {
};
static gint scintilla_signals[LAST_SIGNAL] = { 0 };
-#if GLIB_MAJOR_VERSION < 2
-static GtkWidgetClass *parent_class = NULL;
-#endif
enum {
TARGET_STRING,
@@ -354,14 +318,7 @@ ScintillaGTK::ScintillaGTK(_ScintillaObject *sci_) :
scrollBarWidth(30), scrollBarHeight(30),
capturedMouse(false), dragWasDropped(false),
lastKey(0), rectangularSelectionModifier(SCMOD_CTRL), parentClass(0),
-#ifdef INTERNATIONAL_INPUT
-#if GTK_MAJOR_VERSION < 2
- ic(NULL),
- ic_attr(NULL),
-#else
im_context(NULL),
-#endif
-#endif
lastWheelMouseDirection(0),
wheelMouseIntensity(0),
rgnUpdate(0) {
@@ -420,65 +377,6 @@ void ScintillaGTK::RealizeThis(GtkWidget *widget) {
gdk_window_show(widget->window);
gdk_cursor_destroy(cursor);
widget->style = gtk_style_attach(widget->style, widget->window);
-#ifdef INTERNATIONAL_INPUT
-#if GTK_MAJOR_VERSION < 2
- if (gdk_im_ready() && (ic_attr = gdk_ic_attr_new()) != NULL) {
- gint width, height;
- GdkColormap *colormap;
- GdkEventMask mask;
- GdkICAttr *attr = ic_attr;
- GdkICAttributesType attrmask = GDK_IC_ALL_REQ;
- GdkIMStyle style;
- GdkIMStyle supported_style = (GdkIMStyle) (GDK_IM_PREEDIT_NONE |
- GDK_IM_PREEDIT_NOTHING |
- GDK_IM_PREEDIT_POSITION |
- GDK_IM_STATUS_NONE |
- GDK_IM_STATUS_NOTHING);
-
- if (widget->style && widget->style->font->type != GDK_FONT_FONTSET)
- supported_style = (GdkIMStyle) ((int) supported_style & ~GDK_IM_PREEDIT_POSITION);
-
- attr->style = style = gdk_im_decide_style(supported_style);
- attr->client_window = widget->window;
-
- if ((colormap = gtk_widget_get_colormap (widget)) != gtk_widget_get_default_colormap ()) {
- attrmask = (GdkICAttributesType) ((int) attrmask | GDK_IC_PREEDIT_COLORMAP);
- attr->preedit_colormap = colormap;
- }
-
- switch (style & GDK_IM_PREEDIT_MASK) {
- case GDK_IM_PREEDIT_POSITION:
- if (widget->style && widget->style->font->type != GDK_FONT_FONTSET) {
- g_warning("over-the-spot style requires fontset");
- break;
- }
-
- attrmask = (GdkICAttributesType) ((int) attrmask | GDK_IC_PREEDIT_POSITION_REQ);
- gdk_window_get_size(widget->window, &width, &height);
- attr->spot_location.x = 0;
- attr->spot_location.y = height;
- attr->preedit_area.x = 0;
- attr->preedit_area.y = 0;
- attr->preedit_area.width = width;
- attr->preedit_area.height = height;
- attr->preedit_fontset = widget->style->font;
-
- break;
- }
- ic = gdk_ic_new(attr, attrmask);
-
- if (ic == NULL) {
- g_warning("Can't create input context.");
- } else {
- mask = gdk_window_get_events(widget->window);
- mask = (GdkEventMask) ((int) mask | gdk_ic_get_events(ic));
- gdk_window_set_events(widget->window, mask);
-
- if (GTK_WIDGET_HAS_FOCUS(widget))
- gdk_im_begin(ic, widget->window);
- }
- }
-#else
wPreedit = gtk_window_new(GTK_WINDOW_POPUP);
wPreeditDraw = gtk_drawing_area_new();
GtkWidget *predrw = PWidget(wPreeditDraw); // No code inside the G_OBJECT macro
@@ -495,20 +393,11 @@ void ScintillaGTK::RealizeThis(GtkWidget *widget) {
g_signal_connect(G_OBJECT(im_context), "preedit_changed",
G_CALLBACK(PreeditChanged), this);
gtk_im_context_set_client_window(im_context, widget->window);
-#endif
-#endif
GtkWidget *widtxt = PWidget(wText); // // No code inside the G_OBJECT macro
-#if GLIB_MAJOR_VERSION < 2
- gtk_signal_connect_after(GTK_OBJECT(widtxt), "style_set",
- GtkSignalFunc(ScintillaGTK::StyleSetText), NULL);
- gtk_signal_connect_after(GTK_OBJECT(widtxt), "realize",
- GtkSignalFunc(ScintillaGTK::RealizeText), NULL);
-#else
g_signal_connect_after(G_OBJECT(widtxt), "style_set",
G_CALLBACK(ScintillaGTK::StyleSetText), NULL);
g_signal_connect_after(G_OBJECT(widtxt), "realize",
G_CALLBACK(ScintillaGTK::RealizeText), NULL);
-#endif
gtk_widget_realize(widtxt);
gtk_widget_realize(PWidget(scrollbarv));
gtk_widget_realize(PWidget(scrollbarh));
@@ -528,23 +417,10 @@ void ScintillaGTK::UnRealizeThis(GtkWidget *widget) {
gtk_widget_unrealize(PWidget(wText));
gtk_widget_unrealize(PWidget(scrollbarv));
gtk_widget_unrealize(PWidget(scrollbarh));
-#ifdef INTERNATIONAL_INPUT
-#if GTK_MAJOR_VERSION < 2
- if (ic) {
- gdk_ic_destroy(ic);
- ic = NULL;
- }
- if (ic_attr) {
- gdk_ic_attr_destroy(ic_attr);
- ic_attr = NULL;
- }
-#else
gtk_widget_unrealize(PWidget(wPreedit));
gtk_widget_unrealize(PWidget(wPreeditDraw));
g_object_unref(im_context);
im_context = NULL;
-#endif
-#endif
if (GTK_WIDGET_CLASS(parentClass)->unrealize)
GTK_WIDGET_CLASS(parentClass)->unrealize(widget);
@@ -626,18 +502,6 @@ void ScintillaGTK::MainForAll(GtkContainer *container, gboolean include_internal
}
}
-#ifdef INTERNATIONAL_INPUT
-#if GTK_MAJOR_VERSION < 2
-gint ScintillaGTK::CursorMoved(GtkWidget *widget, int xoffset, int yoffset, ScintillaGTK *sciThis) {
- if (GTK_WIDGET_HAS_FOCUS(widget) && gdk_im_ready() && sciThis->ic &&
- (gdk_ic_get_style(sciThis->ic) & GDK_IM_PREEDIT_POSITION)) {
- sciThis->ic_attr->spot_location.x = xoffset;
- sciThis->ic_attr->spot_location.y = yoffset;
- gdk_ic_set_attr(sciThis->ic, sciThis->ic_attr, GDK_IC_SPOT_LOCATION);
- }
- return FALSE;
-}
-#else
gint ScintillaGTK::CursorMoved(GtkWidget *, int xoffset, int yoffset, ScintillaGTK *sciThis) {
GdkRectangle area;
area.x = xoffset;
@@ -647,22 +511,11 @@ gint ScintillaGTK::CursorMoved(GtkWidget *, int xoffset, int yoffset, ScintillaG
gtk_im_context_set_cursor_location(sciThis->im_context, &area);
return FALSE;
}
-#endif
-#else
-gint ScintillaGTK::CursorMoved(GtkWidget *, int, int, ScintillaGTK *) {
- return FALSE;
-}
-#endif
gint ScintillaGTK::FocusInThis(GtkWidget *widget) {
try {
GTK_WIDGET_SET_FLAGS(widget, GTK_HAS_FOCUS);
SetFocusState(true);
-#ifdef INTERNATIONAL_INPUT
-#if GTK_MAJOR_VERSION < 2
- if (ic)
- gdk_im_begin(ic, widget->window);
-#else
if (im_context != NULL) {
gchar *str = NULL;
gint cursor_pos;
@@ -678,8 +531,6 @@ gint ScintillaGTK::FocusInThis(GtkWidget *widget) {
g_free(str);
gtk_im_context_focus_in(im_context);
}
-#endif
-#endif
} catch (...) {
errorStatus = SC_STATUS_FAILURE;
@@ -697,16 +548,10 @@ gint ScintillaGTK::FocusOutThis(GtkWidget *widget) {
GTK_WIDGET_UNSET_FLAGS(widget, GTK_HAS_FOCUS);
SetFocusState(false);
-#ifdef INTERNATIONAL_INPUT
-#if GTK_MAJOR_VERSION < 2
- gdk_im_end();
-#else
if (PWidget(wPreedit) != NULL)
gtk_widget_hide(PWidget(wPreedit));
if (im_context != NULL)
gtk_im_context_focus_out(im_context);
-#endif
-#endif
} catch (...) {
errorStatus = SC_STATUS_FAILURE;
@@ -741,19 +586,6 @@ void ScintillaGTK::SizeAllocate(GtkWidget *widget, GtkAllocation *allocation) {
sciThis->Resize(allocation->width, allocation->height);
-#ifdef INTERNATIONAL_INPUT
-#if GTK_MAJOR_VERSION < 2
- if (sciThis->ic && (gdk_ic_get_style(sciThis->ic) & GDK_IM_PREEDIT_POSITION)) {
- gint width, height;
-
- gdk_window_get_size(widget->window, &width, &height);
- sciThis->ic_attr->preedit_area.width = width;
- sciThis->ic_attr->preedit_area.height = height;
-
- gdk_ic_set_attr(sciThis->ic, sciThis->ic_attr, GDK_IC_PREEDIT_AREA);
- }
-#endif
-#endif
} catch (...) {
sciThis->errorStatus = SC_STATUS_FAILURE;
}
@@ -782,43 +614,26 @@ void ScintillaGTK::Initialise() {
gtk_widget_set_parent(PWidget(wText), PWidget(wMain));
GtkWidget *widtxt = PWidget(wText); // No code inside the G_OBJECT macro
gtk_widget_show(widtxt);
-#if GLIB_MAJOR_VERSION < 2
- gtk_signal_connect(GTK_OBJECT(widtxt), "expose_event",
- GtkSignalFunc(ScintillaGTK::ExposeText), this);
-#else
g_signal_connect(G_OBJECT(widtxt), "expose_event",
G_CALLBACK(ScintillaGTK::ExposeText), this);
-#endif
gtk_widget_set_events(widtxt, GDK_EXPOSURE_MASK);
-#if GTK_MAJOR_VERSION >= 2
// Avoid background drawing flash
gtk_widget_set_double_buffered(widtxt, FALSE);
-#endif
gtk_drawing_area_size(GTK_DRAWING_AREA(widtxt),
100,100);
adjustmentv = gtk_adjustment_new(0.0, 0.0, 201.0, 1.0, 20.0, 20.0);
scrollbarv = gtk_vscrollbar_new(GTK_ADJUSTMENT(adjustmentv));
GTK_WIDGET_UNSET_FLAGS(PWidget(scrollbarv), GTK_CAN_FOCUS);
-#if GLIB_MAJOR_VERSION < 2
- gtk_signal_connect(adjustmentv, "value_changed",
- GtkSignalFunc(ScrollSignal), this);
-#else
g_signal_connect(G_OBJECT(adjustmentv), "value_changed",
G_CALLBACK(ScrollSignal), this);
-#endif
gtk_widget_set_parent(PWidget(scrollbarv), PWidget(wMain));
gtk_widget_show(PWidget(scrollbarv));
adjustmenth = gtk_adjustment_new(0.0, 0.0, 101.0, 1.0, 20.0, 20.0);
scrollbarh = gtk_hscrollbar_new(GTK_ADJUSTMENT(adjustmenth));
GTK_WIDGET_UNSET_FLAGS(PWidget(scrollbarh), GTK_CAN_FOCUS);
-#if GLIB_MAJOR_VERSION < 2
- gtk_signal_connect(adjustmenth, "value_changed",
- GtkSignalFunc(ScrollHSignal), this);
-#else
g_signal_connect(G_OBJECT(adjustmenth), "value_changed",
G_CALLBACK(ScrollHSignal), this);
-#endif
gtk_widget_set_parent(PWidget(scrollbarh), PWidget(wMain));
gtk_widget_show(PWidget(scrollbarh));
@@ -836,7 +651,6 @@ void ScintillaGTK::Initialise() {
GTK_DEST_DEFAULT_ALL, clipboardPasteTargets, nClipboardPasteTargets,
static_cast<GdkDragAction>(GDK_ACTION_COPY | GDK_ACTION_MOVE));
-#if GLIB_MAJOR_VERSION >= 2
// Set caret period based on GTK settings
gboolean blinkOn = false;
if (g_object_class_find_property(G_OBJECT_GET_CLASS(
@@ -854,7 +668,6 @@ void ScintillaGTK::Initialise() {
} else {
caret.period = 0;
}
-#endif
SetTicking(true);
}
@@ -872,12 +685,8 @@ void ScintillaGTK::DisplayCursor(Window::Cursor c) {
}
bool ScintillaGTK::DragThreshold(Point ptStart, Point ptNow) {
-#if GTK_MAJOR_VERSION < 2
- return Editor::DragThreshold(ptStart, ptNow);
-#else
return gtk_drag_check_threshold(GTK_WIDGET(PWidget(wMain)),
ptStart.x, ptStart.y, ptNow.x, ptNow.y);
-#endif
}
void ScintillaGTK::StartDrag() {
@@ -891,7 +700,6 @@ void ScintillaGTK::StartDrag() {
reinterpret_cast<GdkEvent *>(&evbtn));
}
-#ifdef USE_CONVERTER
static char *ConvertText(int *lenResult, char *s, size_t len, const char *charSetDest,
const char *charSetSource, bool transliterations) {
// s is not const because of different versions of iconv disagreeing about const
@@ -924,7 +732,6 @@ fprintf(stderr, "Can not iconv %s %s\n", charSetDest, charSetSource);
}
return destForm;
}
-#endif
// Returns the target converted to UTF8.
// Return the length in bytes.
@@ -936,7 +743,6 @@ int ScintillaGTK::TargetAsUTF8(char *text) {
}
} else {
// Need to convert
-#ifdef USE_CONVERTER
const char *charSetBuffer = CharacterSetID();
if (*charSetBuffer) {
//~ fprintf(stderr, "AsUTF8 %s %d %0d-%0d\n", charSetBuffer, targetLength, targetStart, targetEnd);
@@ -957,10 +763,6 @@ int ScintillaGTK::TargetAsUTF8(char *text) {
pdoc->GetCharRange(text, targetStart, targetLength);
}
}
-#else
- // Fail
- return 0;
-#endif
}
//~ fprintf(stderr, "Length = %d bytes\n", targetLength);
return targetLength;
@@ -977,14 +779,11 @@ int ScintillaGTK::EncodedFromUTF8(char *utf8, char *encoded) {
return inputLength;
} else {
// Need to convert
-#ifdef USE_CONVERTER
const char *charSetBuffer = CharacterSetID();
if (*charSetBuffer) {
-//~ fprintf(stderr, "Encode %s %d\n", charSetBuffer, inputLength);
int outLength = 0;
char *tmpEncoded = ConvertText(&outLength, utf8, inputLength, charSetBuffer, "UTF-8", true);
if (tmpEncoded) {
-//~ fprintf(stderr, " \"%s\"\n", tmpEncoded);
if (encoded) {
memcpy(encoded, tmpEncoded, outLength);
}
@@ -997,7 +796,6 @@ int ScintillaGTK::EncodedFromUTF8(char *utf8, char *encoded) {
}
return inputLength;
}
-#endif
}
// Fail
return 0;
@@ -1123,25 +921,7 @@ bool ScintillaGTK::PaintContains(PRectangle rc) {
// Redraw all of text area. This paint will not be abandoned.
void ScintillaGTK::FullPaint() {
-#if GTK_MAJOR_VERSION < 2
- paintState = painting;
- rcPaint = GetClientRectangle();
- //Platform::DebugPrintf("ScintillaGTK::FullPaint %0d,%0d %0d,%0d\n",
- // rcPaint.left, rcPaint.top, rcPaint.right, rcPaint.bottom);
- paintingAllText = true;
- if ((PWidget(wText))->window) {
- Surface *sw = Surface::Allocate();
- if (sw) {
- sw->Init(PWidget(wText)->window, PWidget(wText));
- Paint(sw, rcPaint);
- sw->Release();
- delete sw;
- }
- }
- paintState = notPainting;
-#else
wText.InvalidateAll();
-#endif
}
PRectangle ScintillaGTK::GetClientRectangle() {
@@ -1186,50 +966,8 @@ void ScintillaGTK::ScrollText(int linesToMove) {
// rc.left, rc.top, rc.right, rc.bottom);
GtkWidget *wi = PWidget(wText);
-#if GTK_MAJOR_VERSION < 2
- PRectangle rc = GetClientRectangle();
- GdkGC *gc = gdk_gc_new(wi->window);
-
- // Set up gc so we get GraphicsExposures from gdk_draw_pixmap
- // which calls XCopyArea
- gdk_gc_set_exposures(gc, TRUE);
-
- // Redraw exposed bit : scrolling upwards
- if (diff > 0) {
- gdk_draw_pixmap(wi->window,
- gc, wi->window,
- 0, diff,
- 0, 0,
- rc.Width()-1, rc.Height() - diff);
- SyncPaint(PRectangle(0, rc.Height() - diff,
- rc.Width(), rc.Height()+1));
-
- // Redraw exposed bit : scrolling downwards
- } else {
- gdk_draw_pixmap(wi->window,
- gc, wi->window,
- 0, 0,
- 0, -diff,
- rc.Width()-1, rc.Height() + diff);
- SyncPaint(PRectangle(0, 0, rc.Width(), -diff));
- }
-
- // Look for any graphics expose
- GdkEvent* event;
- while ((event = gdk_event_get_graphics_expose(wi->window)) != NULL) {
- gtk_widget_event(wi, event);
- if (event->expose.count == 0) {
- gdk_event_free(event);
- break;
- }
- gdk_event_free(event);
- }
-
- gdk_gc_unref(gc);
-#else
gdk_window_scroll(wi->window, 0, -diff);
gdk_window_process_updates(wi->window, FALSE);
-#endif
}
void ScintillaGTK::SetVerticalScrollPos() {
@@ -1283,37 +1021,21 @@ void ScintillaGTK::ReconfigureScrollBars() {
}
void ScintillaGTK::NotifyChange() {
-#if GLIB_MAJOR_VERSION < 2
- gtk_signal_emit(GTK_OBJECT(sci), scintilla_signals[COMMAND_SIGNAL],
- Platform::LongFromTwoShorts(GetCtrlID(), SCEN_CHANGE), PWidget(wMain));
-#else
g_signal_emit(G_OBJECT(sci), scintilla_signals[COMMAND_SIGNAL], 0,
Platform::LongFromTwoShorts(GetCtrlID(), SCEN_CHANGE), PWidget(wMain));
-#endif
}
void ScintillaGTK::NotifyFocus(bool focus) {
-#if GLIB_MAJOR_VERSION < 2
- gtk_signal_emit(GTK_OBJECT(sci), scintilla_signals[COMMAND_SIGNAL],
- Platform::LongFromTwoShorts
- (GetCtrlID(), focus ? SCEN_SETFOCUS : SCEN_KILLFOCUS), PWidget(wMain));
-#else
g_signal_emit(G_OBJECT(sci), scintilla_signals[COMMAND_SIGNAL], 0,
Platform::LongFromTwoShorts
(GetCtrlID(), focus ? SCEN_SETFOCUS : SCEN_KILLFOCUS), PWidget(wMain));
-#endif
}
void ScintillaGTK::NotifyParent(SCNotification scn) {
scn.nmhdr.hwndFrom = PWidget(wMain);
scn.nmhdr.idFrom = GetCtrlID();
-#if GLIB_MAJOR_VERSION < 2
- gtk_signal_emit(GTK_OBJECT(sci), scintilla_signals[NOTIFY_SIGNAL],
- GetCtrlID(), &scn);
-#else
g_signal_emit(G_OBJECT(sci), scintilla_signals[NOTIFY_SIGNAL], 0,
GetCtrlID(), &scn);
-#endif
}
void ScintillaGTK::NotifyKey(int key, int modifiers) {
@@ -1398,9 +1120,6 @@ CaseFolder *ScintillaGTK::CaseFolderForEncoding() {
}
std::string ScintillaGTK::CaseMapString(const std::string &s, int caseMapping) {
-#if GTK_MAJOR_VERSION < 2
- return Editor::CaseMapString(s, caseMapping);
-#else
if (s.size() == 0)
return std::string();
@@ -1444,7 +1163,6 @@ std::string ScintillaGTK::CaseMapString(const std::string &s, int caseMapping) {
delete []needsFree1;
delete []needsFree2;
return ret;
-#endif
}
int ScintillaGTK::KeyDefault(int key, int modifiers) {
@@ -1512,17 +1230,10 @@ void ScintillaGTK::CreateCallTipWindow(PRectangle rc) {
ct.wDraw = gtk_drawing_area_new();
GtkWidget *widcdrw = PWidget(ct.wDraw); // // No code inside the G_OBJECT macro
gtk_container_add(GTK_CONTAINER(PWidget(ct.wCallTip)), widcdrw);
-#if GLIB_MAJOR_VERSION < 2
- gtk_signal_connect(GTK_OBJECT(widcdrw), "expose_event",
- GtkSignalFunc(ScintillaGTK::ExposeCT), &ct);
- gtk_signal_connect(GTK_OBJECT(widcdrw), "button_press_event",
- GtkSignalFunc(ScintillaGTK::PressCT), static_cast<void *>(this));
-#else
g_signal_connect(G_OBJECT(widcdrw), "expose_event",
G_CALLBACK(ScintillaGTK::ExposeCT), &ct);
g_signal_connect(G_OBJECT(widcdrw), "button_press_event",
G_CALLBACK(ScintillaGTK::PressCT), static_cast<void *>(this));
-#endif
gtk_widget_set_events(widcdrw,
GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK);
}
@@ -1544,9 +1255,7 @@ void ScintillaGTK::AddToPopUp(const char *label, int cmd, bool enabled) {
menuSig,
cmd,
const_cast<gchar *>(label[0] ? "<Item>" : "<Separator>"),
-#if GTK_MAJOR_VERSION >= 2
NULL
-#endif
};
gtk_item_factory_create_item(GTK_ITEM_FACTORY(popup.GetID()),
&itemEntry, this, 1);
@@ -1623,16 +1332,13 @@ void ScintillaGTK::GetGtkSelectionText(GtkSelectionData *selectionData, Selectio
} else { // UTF-8
dest = Document::TransformLineEnds(&len, data, len, pdoc->eolMode);
selText.Set(dest, len, SC_CP_UTF8, 0, isRectangular, false);
-#ifdef USE_CONVERTER
const char *charSetBuffer = CharacterSetID();
if (!IsUnicodeMode() && *charSetBuffer) {
-//fprintf(stderr, "Convert to locale %s\n", CharacterSetID());
- // Convert to locale
- dest = ConvertText(&len, selText.s, selText.len, charSetBuffer, "UTF-8", true);
- selText.Set(dest, len, pdoc->dbcsCodePage,
- vs.styles[STYLE_DEFAULT].characterSet, selText.rectangular, false);
+ // Convert to locale
+ dest = ConvertText(&len, selText.s, selText.len, charSetBuffer, "UTF-8", true);
+ selText.Set(dest, len, pdoc->dbcsCodePage,
+ vs.styles[STYLE_DEFAULT].characterSet, selText.rectangular, false);
}
-#endif
}
}
@@ -1710,7 +1416,6 @@ void ScintillaGTK::GetSelection(GtkSelectionData *selection_data, guint info, Se
}
#endif
-#if GTK_MAJOR_VERSION >= 2
// Convert text to utf8 if it isn't already
SelectionText *converted = 0;
if ((text->codePage != SC_CP_UTF8) && (info == TARGET_UTF8_STRING)) {
@@ -1747,64 +1452,6 @@ void ScintillaGTK::GetSelection(GtkSelectionData *selection_data, guint info, Se
}
delete converted;
-#else /* Gtk 1 */
- char *selBuffer = text->s;
-
- char *tmputf = 0;
- if ((info == TARGET_UTF8_STRING) || (info == TARGET_STRING)) {
- int len = strlen(selBuffer);
-#ifdef USE_CONVERTER
- // Possible character set conversion
- const char *charSetBuffer = ::CharacterSetID(text->characterSet);
- if (info == TARGET_UTF8_STRING) {
- //fprintf(stderr, "Copy to clipboard as UTF-8\n");
- if (text->codePage != SC_CP_UTF8) {
- // Convert to UTF-8
- //fprintf(stderr, "Convert to UTF-8 from %s\n", charSetBuffer);
- tmputf = ConvertText(&len, selBuffer, len, "UTF-8", charSetBuffer, false);
- selBuffer = tmputf;
- }
- } else if (info == TARGET_STRING) {
- if (text->codePage == SC_CP_UTF8) {
- //fprintf(stderr, "Convert to locale %s\n", charSetBuffer);
- // Convert to locale
- tmputf = ConvertText(&len, selBuffer, len, charSetBuffer, "UTF-8", true);
- selBuffer = tmputf;
- }
- }
-#endif
-
- // Here is a somewhat evil kludge.
- // As I can not work out how to store data on the clipboard in multiple formats
- // and need some way to mark the clipping as being stream or rectangular,
- // the terminating \0 is included in the length for rectangular clippings.
- // All other tested aplications behave benignly by ignoring the \0.
- // The #if is here because on Windows cfColumnSelect clip entry is used
- // instead as standard indicator of rectangularness (so no need to kludge)
-#if PLAT_GTK_WIN32 == 0
- if (text->rectangular)
- len++;
-#endif
- gtk_selection_data_set(selection_data,
- (info == TARGET_STRING) ?
- static_cast<GdkAtom>(GDK_SELECTION_TYPE_STRING) : atomUTF8,
- 8, reinterpret_cast<unsigned char *>(selBuffer),
- len);
- } else if ((info == TARGET_TEXT) || (info == TARGET_COMPOUND_TEXT)) {
- guchar *text;
- GdkAtom encoding;
- gint format;
- gint new_length;
-
- gdk_string_to_compound_text(reinterpret_cast<char *>(selBuffer),
- &encoding, &format, &text, &new_length);
- gtk_selection_data_set(selection_data, encoding, format, text, new_length);
- gdk_free_compound_text(text);
- }
-
- delete []tmputf;
-#endif /* Gtk >= 2 */
-
#if PLAT_GTK_WIN32
delete newline_normalized;
#endif
@@ -1996,11 +1643,7 @@ gint ScintillaGTK::PressThis(GdkEventButton *event) {
} catch (...) {
errorStatus = SC_STATUS_FAILURE;
}
-#if GTK_MAJOR_VERSION >= 2
return TRUE;
-#else
- return FALSE;
-#endif
}
gint ScintillaGTK::Press(GtkWidget *widget, GdkEventButton *event) {
@@ -2036,7 +1679,6 @@ gint ScintillaGTK::MouseRelease(GtkWidget *widget, GdkEventButton *event) {
// win32gtk and GTK >= 2 use SCROLL_* events instead of passing the
// button4/5/6/7 events to the GTK app
-#if PLAT_GTK_WIN32 || (GTK_MAJOR_VERSION >= 2)
gint ScintillaGTK::ScrollEvent(GtkWidget *widget,
GdkEventScroll *event) {
ScintillaGTK *sciThis = ScintillaFromWidget(widget);
@@ -2113,7 +1755,6 @@ gint ScintillaGTK::ScrollEvent(GtkWidget *widget,
}
return FALSE;
}
-#endif
gint ScintillaGTK::Motion(GtkWidget *widget, GdkEventMotion *event) {
ScintillaGTK *sciThis = ScintillaFromWidget(widget);
@@ -2218,11 +1859,9 @@ gboolean ScintillaGTK::KeyThis(GdkEventKey *event) {
try {
//fprintf(stderr, "SC-key: %d %x [%s]\n",
// event->keyval, event->state, (event->length > 0) ? event->string : "empty");
-#if GTK_MAJOR_VERSION >= 2
if (gtk_im_context_filter_keypress(im_context, event)) {
return 1;
}
-#endif
if (!event->keyval) {
return true;
}
@@ -2239,10 +1878,6 @@ gboolean ScintillaGTK::KeyThis(GdkEventKey *event) {
// This will have to change for Unicode
else if (key >= 0xFE00)
key = KeyTranslate(key);
-#if GTK_MAJOR_VERSION < 2
- else if (!IsUnicodeMode() && (key >= 0x100) && (key < 0x1000))
- key &= 0xff;
-#endif
bool consumed = false;
bool added = KeyDown(key, shift, ctrl, alt, &consumed) != 0;
@@ -2272,7 +1907,6 @@ gboolean ScintillaGTK::KeyRelease(GtkWidget *, GdkEventKey * /*event*/) {
return FALSE;
}
-#if GTK_MAJOR_VERSION >= 2
gboolean ScintillaGTK::ExposePreeditThis(GtkWidget *widget, GdkEventExpose *ose) {
try {
gchar *str;
@@ -2388,7 +2022,6 @@ void ScintillaGTK::PreeditChangedThis() {
void ScintillaGTK::PreeditChanged(GtkIMContext *, ScintillaGTK *sciThis) {
sciThis->PreeditChangedThis();
}
-#endif
gint ScintillaGTK::StyleSetText(GtkWidget *widget, GtkStyle *, void*) {
if (widget->window != NULL)
@@ -2402,12 +2035,7 @@ gint ScintillaGTK::RealizeText(GtkWidget *widget, void*) {
return FALSE;
}
-#if GLIB_MAJOR_VERSION < 2
-void ScintillaGTK::Destroy(GtkObject *object)
-#else
-void ScintillaGTK::Destroy(GObject *object)
-#endif
-{
+void ScintillaGTK::Destroy(GObject *object) {
try {
ScintillaObject *scio = reinterpret_cast<ScintillaObject *>(object);
// This avoids a double destruction
@@ -2417,13 +2045,6 @@ void ScintillaGTK::Destroy(GObject *object)
//Platform::DebugPrintf("Destroying %x %x\n", sciThis, object);
sciThis->Finalise();
-#if GLIB_MAJOR_VERSION < 2
- if (GTK_OBJECT_CLASS(parent_class)->destroy)
- (* GTK_OBJECT_CLASS(parent_class)->destroy)(object);
-#else
- // IS ANYTHING NEEDED ?
-#endif
-
delete sciThis;
scio->pscin = 0;
} catch (...) {
@@ -2451,13 +2072,11 @@ void ScintillaGTK::Draw(GtkWidget *widget, GdkRectangle *area) {
DrawChild(PWidget(sciThis->scrollbarv), area);
}
-#ifdef INTERNATIONAL_INPUT
Point pt = sciThis->PointMainCaret();
pt.y += sciThis->vs.lineHeight - 2;
if (pt.x < 0) pt.x = 0;
if (pt.y < 0) pt.y = 0;
CursorMoved(widget, pt.x, pt.y, sciThis);
-#endif
} catch (...) {
sciThis->errorStatus = SC_STATUS_FAILURE;
}
@@ -2473,9 +2092,7 @@ gint ScintillaGTK::ExposeTextThis(GtkWidget * /*widget*/, GdkEventExpose *ose) {
rcPaint.bottom = ose->area.y + ose->area.height;
PLATFORM_ASSERT(rgnUpdate == NULL);
-#if GTK_MAJOR_VERSION >= 2
rgnUpdate = gdk_region_copy(ose->region);
-#endif
PRectangle rcClient = GetClientRectangle();
paintingAllText = rcPaint.Contains(rcClient);
Surface *surfaceWindow = Surface::Allocate();
@@ -2518,51 +2135,11 @@ gint ScintillaGTK::Expose(GtkWidget *, GdkEventExpose *ose) {
//fprintf(stderr, "Expose %0d,%0d %0d,%0d\n",
//ose->area.x, ose->area.y, ose->area.width, ose->area.height);
-#if GTK_MAJOR_VERSION < 2
-
- paintState = painting;
-
- rcPaint.left = ose->area.x;
- rcPaint.top = ose->area.y;
- rcPaint.right = ose->area.x + ose->area.width;
- rcPaint.bottom = ose->area.y + ose->area.height;
-
- PRectangle rcClient = GetClientRectangle();
- paintingAllText = rcPaint.Contains(rcClient);
- Surface *surfaceWindow = Surface::Allocate();
- if (surfaceWindow) {
- surfaceWindow->Init(PWidget(wMain)->window, PWidget(wMain));
-
- // Fill the corner between the scrollbars
- if (verticalScrollBarVisible) {
- if (horizontalScrollBarVisible && (wrapState == eWrapNone)) {
- PRectangle rcCorner = wMain.GetClientPosition();
- rcCorner.left = rcCorner.right - scrollBarWidth + 1;
- rcCorner.top = rcCorner.bottom - scrollBarHeight + 1;
- //fprintf(stderr, "Corner %0d,%0d %0d,%0d\n",
- //rcCorner.left, rcCorner.top, rcCorner.right, rcCorner.bottom);
- surfaceWindow->FillRectangle(rcCorner,
- vs.styles[STYLE_LINENUMBER].back.allocated);
- }
- }
-
- //Paint(surfaceWindow, rcPaint);
- surfaceWindow->Release();
- delete surfaceWindow;
- }
- if (paintState == paintAbandoned) {
- // Painting area was insufficient to cover new styling or brace highlight positions
- FullPaint();
- }
- paintState = notPainting;
-
-#else
- // For GTK+ 2, the text is painted in ExposeText
+ // The text is painted in ExposeText
gtk_container_propagate_expose(
GTK_CONTAINER(PWidget(wMain)), PWidget(scrollbarh), ose);
gtk_container_propagate_expose(
GTK_CONTAINER(PWidget(wMain)), PWidget(scrollbarv), ose);
-#endif
} catch (...) {
errorStatus = SC_STATUS_FAILURE;
@@ -2621,13 +2198,6 @@ gint ScintillaGTK::SelectionClear(GtkWidget *widget, GdkEventSelection *selectio
return gtk_selection_clear(widget, selection_event);
}
-#if GTK_MAJOR_VERSION < 2
-gint ScintillaGTK::SelectionNotify(GtkWidget *widget, GdkEventSelection *selection_event) {
- //Platform::DebugPrintf("Selection notify\n");
- return gtk_selection_notify(widget, selection_event);
-}
-#endif
-
void ScintillaGTK::DragBegin(GtkWidget *, GdkDragContext *) {
//Platform::DebugPrintf("DragBegin\n");
}
@@ -2770,11 +2340,7 @@ gint ScintillaGTK::PressCT(GtkWidget *widget, GdkEventButton *event, ScintillaGT
sciThis->CallTipClick();
} catch (...) {
}
-#if GTK_MAJOR_VERSION >= 2
return TRUE;
-#else
- return FALSE;
-#endif
}
gint ScintillaGTK::ExposeCT(GtkWidget *widget, GdkEventExpose * /*ose*/, CallTip *ctip) {
@@ -2810,32 +2376,6 @@ static void scintilla_init(ScintillaObject *sci);
extern void Platform_Initialise();
extern void Platform_Finalise();
-#if GLIB_MAJOR_VERSION < 2
-GtkType scintilla_get_type() {
- static GtkType scintilla_type = 0;
- try {
-
- if (!scintilla_type) {
- Platform_Initialise();
- static GtkTypeInfo scintilla_info = {
- "Scintilla",
- sizeof (ScintillaObject),
- sizeof (ScintillaClass),
- (GtkClassInitFunc) scintilla_class_init,
- (GtkObjectInitFunc) scintilla_init,
- (gpointer) NULL,
- (gpointer) NULL,
- 0
- };
-
- scintilla_type = gtk_type_unique(gtk_container_get_type(), &scintilla_info);
- }
-
- } catch (...) {
- }
- return scintilla_type;
-}
-#else
GType scintilla_get_type() {
static GType scintilla_type = 0;
try {
@@ -2865,12 +2405,9 @@ GType scintilla_get_type() {
}
return scintilla_type;
}
-#endif
void ScintillaGTK::ClassInit(OBJECT_CLASS* object_class, GtkWidgetClass *widget_class, GtkContainerClass *container_class) {
-#if GLIB_MAJOR_VERSION >= 2
Platform_Initialise();
-#endif
atomClipboard = gdk_atom_intern("CLIPBOARD", FALSE);
atomUTF8 = gdk_atom_intern("UTF8_STRING", FALSE);
atomString = GDK_SELECTION_TYPE_STRING;
@@ -2881,23 +2418,14 @@ void ScintillaGTK::ClassInit(OBJECT_CLASS* object_class, GtkWidgetClass *widget_
// of the signal handlers here (those that currently attached to wDraw
// in Initialise() may require coordinate translation?)
-#if GLIB_MAJOR_VERSION < 2
- object_class->destroy = Destroy;
-#else
object_class->finalize = Destroy;
-#endif
widget_class->size_request = SizeRequest;
widget_class->size_allocate = SizeAllocate;
widget_class->expose_event = ExposeMain;
-#if GTK_MAJOR_VERSION < 2
- widget_class->draw = Draw;
-#endif
widget_class->motion_notify_event = Motion;
widget_class->button_press_event = Press;
widget_class->button_release_event = MouseRelease;
-#if PLAT_GTK_WIN32 || (GTK_MAJOR_VERSION >= 2)
widget_class->scroll_event = ScrollEvent;
-#endif
widget_class->key_press_event = KeyPress;
widget_class->key_release_event = KeyRelease;
widget_class->focus_in_event = FocusIn;
@@ -2905,9 +2433,6 @@ void ScintillaGTK::ClassInit(OBJECT_CLASS* object_class, GtkWidgetClass *widget_
widget_class->selection_received = SelectionReceived;
widget_class->selection_get = SelectionGet;
widget_class->selection_clear_event = SelectionClear;
-#if GTK_MAJOR_VERSION < 2
- widget_class->selection_notify_event = SelectionNotify;
-#endif
widget_class->drag_data_received = DragDataReceived;
widget_class->drag_motion = DragMotion;
@@ -2924,14 +2449,8 @@ void ScintillaGTK::ClassInit(OBJECT_CLASS* object_class, GtkWidgetClass *widget_
container_class->forall = MainForAll;
}
-#if GLIB_MAJOR_VERSION < 2
-#define GTK_CLASS_TYPE(c) (c->type)
-#define SIG_MARSHAL gtk_marshal_NONE__INT_POINTER
-#define MARSHAL_ARGUMENTS GTK_TYPE_INT, GTK_TYPE_POINTER
-#else
#define SIG_MARSHAL scintilla_marshal_NONE__INT_POINTER
#define MARSHAL_ARGUMENTS G_TYPE_INT, G_TYPE_POINTER
-#endif
static void scintilla_class_init(ScintillaClass *klass) {
try {
@@ -2939,29 +2458,6 @@ static void scintilla_class_init(ScintillaClass *klass) {
GtkWidgetClass *widget_class = (GtkWidgetClass*) klass;
GtkContainerClass *container_class = (GtkContainerClass*) klass;
-#if GLIB_MAJOR_VERSION < 2
- parent_class = (GtkWidgetClass*) gtk_type_class(gtk_container_get_type());
-
- scintilla_signals[COMMAND_SIGNAL] = gtk_signal_new(
- "command",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE(object_class),
- GTK_SIGNAL_OFFSET(ScintillaClass, command),
- SIG_MARSHAL,
- GTK_TYPE_NONE,
- 2, MARSHAL_ARGUMENTS);
-
- scintilla_signals[NOTIFY_SIGNAL] = gtk_signal_new(
- SCINTILLA_NOTIFY,
- GTK_RUN_LAST,
- GTK_CLASS_TYPE(object_class),
- GTK_SIGNAL_OFFSET(ScintillaClass, notify),
- SIG_MARSHAL,
- GTK_TYPE_NONE,
- 2, MARSHAL_ARGUMENTS);
- gtk_object_class_add_signals(object_class,
- reinterpret_cast<unsigned int *>(scintilla_signals), LAST_SIGNAL);
-#else
GSignalFlags sigflags = GSignalFlags(G_SIGNAL_ACTION | G_SIGNAL_RUN_LAST);
scintilla_signals[COMMAND_SIGNAL] = g_signal_new(
"command",
@@ -2984,7 +2480,7 @@ static void scintilla_class_init(ScintillaClass *klass) {
SIG_MARSHAL,
G_TYPE_NONE,
2, MARSHAL_ARGUMENTS);
-#endif
+
klass->command = NULL;
klass->notify = NULL;
@@ -3002,11 +2498,7 @@ static void scintilla_init(ScintillaObject *sci) {
}
GtkWidget* scintilla_new() {
-#if GLIB_MAJOR_VERSION < 2
- return GTK_WIDGET(gtk_type_new(scintilla_get_type()));
-#else
return GTK_WIDGET(g_object_new(scintilla_get_type(), NULL));
-#endif
}
void scintilla_set_id(ScintillaObject *sci, uptr_t id) {
diff --git a/gtk/makefile b/gtk/makefile
index 8e00b1ddb..4227337f0 100644
--- a/gtk/makefile
+++ b/gtk/makefile
@@ -1,11 +1,10 @@
# Make file for Scintilla on Linux or compatible OS
-# Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>
+# Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>
# The License.txt file describes the conditions under which this software may be distributed.
-# This makefile assumes GCC 3.1 is used and changes will be needed to use other compilers.
+# This makefile assumes GCC 4.3 is used and changes will be needed to use other compilers.
# GNU make does not like \r\n line endings so should be saved to CVS in binary form.
-# Builds for GTK+ 2 if available else GTK+ 1.
-# To force GTK+ 2 build, define GTK2 on the make command line.
-# To force GTK+ 1 build, define GTK1 on the make command line.
+# Builds for GTK+ 2 and no longer supports GTK+ 1.
+# Also works with ming32-make on Windows.
.SUFFIXES: .cxx .c .o .h .a
CC = g++
@@ -13,9 +12,11 @@ CCOMP = gcc
AR = ar
RANLIB = touch
+ifndef windir
ifeq ($(shell uname),Darwin)
RANLIB = ranlib
endif
+endif
COMPLIB=../bin/scintilla.a
@@ -37,23 +38,8 @@ else
CXXFLAGS=-DNDEBUG -Os $(CXXBASEFLAGS) $(THREADFLAGS)
endif
-# If explicit setting of GTK1 or GTK2 then use that else look for
-# pkg-config which is an OK indication that GTK2 is available
-ifdef GTK2
-CONFIGFLAGS:=$(shell pkg-config --cflags gtk+-2.0)
-MARSHALLER=scintilla-marshal.o
-else
-ifdef GTK1
-CONFIGFLAGS:=$(shell gtk-config --cflags)
-else
-ifneq (,$(findstring /,$(shell whereis pkg-config)))
CONFIGFLAGS:=$(shell pkg-config --cflags gtk+-2.0)
MARSHALLER=scintilla-marshal.o
-else
-CONFIGFLAGS:=$(shell gtk-config --cflags)
-endif
-endif
-endif
.cxx.o:
$(CC) $(CONFIGFLAGS) $(CXXFLAGS) -c $<
diff --git a/gtk/scintilla.mak b/gtk/scintilla.mak
index d7ca81e0e..9b09b2f86 100644
--- a/gtk/scintilla.mak
+++ b/gtk/scintilla.mak
@@ -1,16 +1,12 @@
# Make file for GTK+/Scintilla on Windows Visual C++
# Borland C++ does not work
-# Copyright 1998-2000 by Neil Hodgson <neilh@scintilla.org>
+# Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>
# The License.txt file describes the conditions under which this software may be distributed.
-# This makefile is for using Visual C++ with nmake or Borland C++ with make depending on
-# the setting of the VENDOR macro. If no VENDOR is defined n the command line then
-# the tool used is automatically detected.
-# Usage for Microsoft:
+# This makefile is for using Visual C++ with nmake.
+# Usage:
# nmake -f scintilla.mak
-# Usage for Borland:
-# make -f scintilla.mak
-# For debug versions define DEBUG on the command line, for Borland:
-# make DEBUG=1 -f scintilla.mak
+# For debug versions define DEBUG on the command line:
+# nmake DEBUG=1 -f scintilla.mak
# The main makefile uses mingw32 gcc and may be more current than this file.
.SUFFIXES: .cxx