#define TEXT_SHOW_ADJ(text,adj,msg)
#endif
-#define AHX_DEBUG
+/* #define AHX_DEBUG */
#if defined(AHX_DEBUG)
# define XDEBUG(args) g_message args
#else
__FILE__, __LINE__, data->start, data->end, lp->start.index, lp->end.index) );
data->lp = *lp;
data->completed = TRUE;
+#if defined(AHX_DEBUG)
print_line(text, lp->start.index, lp->end.index);
+#endif
return TRUE;
}
else if (range_intersect(data->start, data->end, lp->start.index, lp->end.index)) {
pixels_remaining -= running_offset;
space_width = MARK_CURRENT_TEXT_FONT(text, &mark)->char_widths[' '];
-
- spaces_avail = pixels_remaining / space_width;
- spaces_avail = MIN (spaces_avail, tab_mark.to_next_tab);
+ if (space_width > 0) {
+ spaces_avail = pixels_remaining / space_width;
+ spaces_avail = MIN (spaces_avail, tab_mark.to_next_tab);
+ } else {
+ spaces_avail = 0;
+ }
draw_bg_rect (text, &mark, running_offset, pixel_start_height,
spaces_avail * space_width, LINE_HEIGHT (*lp), TRUE);
return result ? len : 0;
}
+gint gtkut_stext_find(GtkSText *text, guint start_pos, const gchar *str,
+ gboolean case_sens)
+{
+ gint pos;
+ wchar_t *wcs;
+ gint len;
+ gint text_len;
+ gint found_pos = -1;
+
+ wcs = strdup_mbstowcs(str);
+ g_return_val_if_fail(wcs != NULL, -1);
+ len = wcslen(wcs);
+ text_len = gtk_stext_get_length(text);
+
+ for (pos = start_pos; pos < text_len; pos++) {
+ if (text_len - pos < len)
+ break;
+ if (gtk_stext_match_string(text, pos, wcs, len, case_sens)
+ == TRUE) {
+ found_pos = pos;
+ break;
+ }
+ }
+
+ g_free(wcs);
+ return found_pos;
+}
+
gboolean gtk_stext_is_uri_string(GtkSText *text,
guint start_pos, guint text_len)
{
return FALSE;
}
-void gtk_stext_clear(GtkSText *text)
+void gtkut_stext_clear(GtkSText *text)
{
gtk_stext_freeze(text);
gtk_stext_set_point(text, 0);