Text Editor: remove text marker functionality. Patch [#33251]
authorJustin Dailey <dail8859@yahoo.com>
Fri, 23 Nov 2012 14:33:14 +0000 (14:33 +0000)
committerJustin Dailey <dail8859@yahoo.com>
Fri, 23 Nov 2012 14:33:14 +0000 (14:33 +0000)
13 files changed:
release/scripts/startup/bl_ui/space_text.py
source/blender/blenkernel/BKE_text.h
source/blender/blenkernel/intern/text.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c
source/blender/editors/space_text/space_text.c
source/blender/editors/space_text/text_draw.c
source/blender/editors/space_text/text_intern.h
source/blender/editors/space_text/text_ops.c
source/blender/editors/space_text/text_python.c
source/blender/makesdna/DNA_text_types.h
source/blender/makesrna/RNA_access.h
source/blender/makesrna/intern/rna_text.c

index a64f8aa4aed14daf846c103f9387b7a5d6af2fac..fa8752c21be34cf6eb925456693a67fd0acfd329 100644 (file)
@@ -137,9 +137,6 @@ class TEXT_PT_find(Panel):
         row.operator("text.replace_set_selected", text="", icon='TEXT')
         col.operator("text.replace")
 
-        # mark
-        layout.operator("text.mark_all")
-
         # settings
         layout.prop(st, "use_match_case")
         row = layout.row()
@@ -216,17 +213,6 @@ class TEXT_MT_edit_select(Menu):
         layout.operator("text.select_line")
 
 
-class TEXT_MT_edit_markers(Menu):
-    bl_label = "Markers"
-
-    def draw(self, context):
-        layout = self.layout
-
-        layout.operator("text.markers_clear")
-        layout.operator("text.next_marker")
-        layout.operator("text.previous_marker")
-
-
 class TEXT_MT_format(Menu):
     bl_label = "Format"
 
@@ -290,7 +276,6 @@ class TEXT_MT_edit(Menu):
         layout.separator()
 
         layout.menu("TEXT_MT_edit_select")
-        layout.menu("TEXT_MT_edit_markers")
 
         layout.separator()
 
index aaf88e4924d2afb506677f596bd5096e01da9acb..accac8694a97dad8eb9e891c0eaa5f082a6e34ed 100644 (file)
@@ -100,14 +100,6 @@ void       txt_move_lines          (struct Text *text, const int direction);
 void   txt_duplicate_line      (struct Text *text);
 int    setcurr_tab_spaces      (struct Text *text, int space);
 
-void   txt_add_marker                                          (struct Text *text, struct TextLine *line, int start, int end, const unsigned char color[4], int group, int flags);
-short  txt_clear_marker_region                         (struct Text *text, struct TextLine *line, int start, int end, int group, int flags);
-short  txt_clear_markers                                       (struct Text *text, int group, int flags);
-struct TextMarker      *txt_find_marker                (struct Text *text, struct TextLine *line, int curs, int group, int flags);
-struct TextMarker      *txt_find_marker_region (struct Text *text, struct TextLine *line, int start, int end, int group, int flags);
-struct TextMarker      *txt_prev_marker                (struct Text *text, struct TextMarker *marker);
-struct TextMarker      *txt_next_marker                (struct Text *text, struct TextMarker *marker);
-
 /* utility functions, could be moved somewhere more generic but are python/text related  */
 int text_check_bracket(const char ch);
 int text_check_delim(const char ch);
@@ -161,10 +153,6 @@ enum {
 
 #define UNDO_DUPLICATE  040
 
-/* Marker flags */
-#define TMARK_TEMP             0x01    /* Remove on non-editing events, don't save */
-#define TMARK_EDITALL  0x02    /* Edit all markers of the same group as one */
-
 #ifdef __cplusplus
 }
 #endif
index d166592424dd740461c2419a161b56cacc2591f2..e6339d07e669248b3c3c62390ab142fe36ad04b7 100644 (file)
  * If the user moves the cursor the st containing that cursor should
  * be popped ... other st's retain their own top location.
  *
- * Markers
- * --
- * The mrk->flags define the behavior and relationships between markers. The
- * upper two bytes are used to hold a group ID, the lower two are normal flags. If
- * TMARK_EDITALL is set the group ID defines which other markers should be edited.
- *
- * The mrk->clr field is used to visually group markers where the flags may not
- * match. A template system, for example, may allow editing of repeating tokens
- * (in one group) but include other marked positions (in another group) all in the
- * same template with the same color.
- *
  * Undo
  * --
  * Undo/Redo works by storing
@@ -174,7 +163,6 @@ void BKE_text_free(Text *text)
        }
        
        BLI_freelistN(&text->lines);
-       BLI_freelistN(&text->markers);
 
        if (text->name) MEM_freeN(text->name);
        MEM_freeN(text->undo_buf);
@@ -202,7 +190,6 @@ Text *BKE_text_add(const char *name)
                ta->flags |= TXT_TABSTOSPACES;
 
        ta->lines.first = ta->lines.last = NULL;
-       ta->markers.first = ta->markers.last = NULL;
 
        tmp = (TextLine *) MEM_mallocN(sizeof(TextLine), "textline");
        tmp->line = (char *) MEM_mallocN(1, "textline_string");
@@ -398,7 +385,6 @@ Text *BKE_text_load(const char *file, const char *relpath)
        ta->id.us = 1;
 
        ta->lines.first = ta->lines.last = NULL;
-       ta->markers.first = ta->markers.last = NULL;
        ta->curl = ta->sell = NULL;
 
        if ((U.flag & USER_TXT_TABSTOSPACES_DISABLE) == 0)
@@ -495,7 +481,6 @@ Text *BKE_text_copy(Text *ta)
        tan->flags = ta->flags | TXT_ISDIRTY;
        
        tan->lines.first = tan->lines.last = NULL;
-       tan->markers.first = tan->markers.last = NULL;
        tan->curl = tan->sell = NULL;
        
        tan->nlines = ta->nlines;
@@ -1150,9 +1135,7 @@ int txt_has_sel(Text *text)
 static void txt_delete_sel(Text *text)
 {
        TextLine *tmpl;
-       TextMarker *mrk;
        char *buf;
-       int move, lineno;
        
        if (!text) return;
        if (!text->curl) return;
@@ -1169,28 +1152,6 @@ static void txt_delete_sel(Text *text)
        }
 
        buf = MEM_mallocN(text->curc + (text->sell->len - text->selc) + 1, "textline_string");
-       
-       if (text->curl != text->sell) {
-               txt_clear_marker_region(text, text->curl, text->curc, text->curl->len, 0, 0);
-               move = txt_get_span(text->curl, text->sell);
-       }
-       else {
-               mrk = txt_find_marker_region(text, text->curl, text->curc, text->selc, 0, 0);
-               if (mrk && (mrk->start > text->curc || mrk->end < text->selc))
-                       txt_clear_marker_region(text, text->curl, text->curc, text->selc, 0, 0);
-               move = 0;
-       }
-
-       mrk = txt_find_marker_region(text, text->sell, text->selc - 1, text->sell->len, 0, 0);
-       if (mrk) {
-               lineno = mrk->lineno;
-               do {
-                       mrk->lineno -= move;
-                       if (mrk->start > text->curc) mrk->start -= text->selc - text->curc;
-                       mrk->end -= text->selc - text->curc;
-                       mrk = mrk->next;
-               } while (mrk && mrk->lineno == lineno);
-       }
 
        strncpy(buf, text->curl->line, text->curc);
        strcpy(buf + text->curc, text->sell->line + text->selc);
@@ -1419,19 +1380,9 @@ char *txt_sel_to_buf(Text *text)
        return buf;
 }
 
-static void txt_shift_markers(Text *text, int lineno, int count)
-{
-       TextMarker *marker;
-
-       for (marker = text->markers.first; marker; marker = marker->next)
-               if (marker->lineno >= lineno) {
-                       marker->lineno += count;
-               }
-}
-
 void txt_insert_buf(Text *text, const char *in_buffer)
 {
-       int l = 0, u, len, lineno = -1, count = 0;
+       int l = 0, u, len;
        size_t i = 0, j;
        TextLine *add;
        char *buffer;
@@ -1458,9 +1409,6 @@ void txt_insert_buf(Text *text, const char *in_buffer)
        else { undoing = u; MEM_freeN(buffer); return; }
        i++;
 
-       /* Read as many full lines as we can */
-       lineno = txt_get_span(text->lines.first, text->curl);
-
        while (i < len) {
                l = 0;
 
@@ -1472,14 +1420,8 @@ void txt_insert_buf(Text *text, const char *in_buffer)
                        add = txt_new_linen(buffer + (i - l), l);
                        BLI_insertlinkbefore(&text->lines, text->curl, add);
                        i++;
-                       count++;
                }
                else {
-                       if (count) {
-                               txt_shift_markers(text, lineno, count);
-                               count = 0;
-                       }
-
                        for (j = i - l; j < i && j < len; )
                                txt_add_raw_char(text, BLI_str_utf8_as_unicode_step(buffer, &j));
                        break;
@@ -1488,10 +1430,6 @@ void txt_insert_buf(Text *text, const char *in_buffer)
        
        MEM_freeN(buffer);
 
-       if (count) {
-               txt_shift_markers(text, lineno, count);
-       }
-
        undoing = u;
 }
 
@@ -2324,31 +2262,13 @@ void txt_do_redo(Text *text)
 void txt_split_curline(Text *text)
 {
        TextLine *ins;
-       TextMarker *mrk;
        char *left, *right;
-       int lineno = -1;
        
        if (!text) return;
        if (!text->curl) return;
 
        txt_delete_sel(text);
 
-       /* Move markers */
-
-       lineno = txt_get_span(text->lines.first, text->curl);
-       mrk = text->markers.first;
-       while (mrk) {
-               if (mrk->lineno == lineno && mrk->start > text->curc) {
-                       mrk->lineno++;
-                       mrk->start -= text->curc;
-                       mrk->end -= text->curc;
-               }
-               else if (mrk->lineno > lineno) {
-                       mrk->lineno++;
-               }
-               mrk = mrk->next;
-       }
-
        /* Make the two half strings */
 
        left = MEM_mallocN(text->curc + 1, "textline_string");
@@ -2385,25 +2305,9 @@ void txt_split_curline(Text *text)
 
 static void txt_delete_line(Text *text, TextLine *line)
 {
-       TextMarker *mrk = NULL, *nxt;
-
        if (!text) return;
        if (!text->curl) return;
 
-       /* warning, this can be _slow_ when deleting many lines! */
-       if ((mrk = text->markers.first)) {
-               int lineno = txt_get_span(text->lines.first, line);
-               mrk = text->markers.first;
-               while (mrk) {
-                       nxt = mrk->next;
-                       if (mrk->lineno == lineno)
-                               BLI_freelinkN(&text->markers, mrk);
-                       else if (mrk->lineno > lineno)
-                               mrk->lineno--;
-                       mrk = nxt;
-               }
-       }
-
        BLI_remlink(&text->lines, line);
        
        if (line->line) MEM_freeN(line->line);
@@ -2418,27 +2322,11 @@ static void txt_delete_line(Text *text, TextLine *line)
 static void txt_combine_lines(Text *text, TextLine *linea, TextLine *lineb)
 {
        char *tmp;
-       TextMarker *mrk = NULL;
 
        if (!text) return;
        
        if (!linea || !lineb) return;
 
-       mrk = txt_find_marker_region(text, lineb, 0, lineb->len, 0, 0);
-       if (mrk) {
-               int lineno;
-               lineno = mrk->lineno;
-               do {
-                       mrk->lineno--;
-                       mrk->start += linea->len;
-                       mrk->end += linea->len;
-                       mrk = mrk->next;
-               } while (mrk && mrk->lineno == lineno);
-       }
-#if 0  /* UNUSED */
-       if (lineno == -1)
-               lineno = txt_get_span(text->lines.first, lineb);
-#endif
 
        tmp = MEM_mallocN(linea->len + lineb->len + 1, "textline_string");
        
@@ -2492,27 +2380,7 @@ void txt_delete_char(Text *text)
        }
        else { /* Just deleting a char */
                size_t c_len = 0;
-               TextMarker *mrk;
                c = BLI_str_utf8_as_unicode_and_size(text->curl->line + text->curc, &c_len);
-
-               mrk = txt_find_marker_region(text, text->curl, text->curc - c_len, text->curl->len, 0, 0);
-               if (mrk) {
-                       int lineno = mrk->lineno;
-                       if (mrk->end == text->curc) {
-                               if ((mrk->flags & TMARK_TEMP) && !(mrk->flags & TMARK_EDITALL)) {
-                                       txt_clear_markers(text, mrk->group, TMARK_TEMP);
-                               }
-                               else {
-                                       BLI_freelinkN(&text->markers, mrk);
-                               }
-                               return;
-                       }
-                       do {
-                               if (mrk->start > text->curc) mrk->start -= c_len;
-                               mrk->end -= c_len;
-                               mrk = mrk->next;
-                       } while (mrk && mrk->lineno == lineno);
-               }
                
                memmove(text->curl->line + text->curc, text->curl->line + text->curc + c_len, text->curl->len - text->curc - c_len + 1);
 
@@ -2556,28 +2424,8 @@ void txt_backspace_char(Text *text)
        }
        else { /* Just backspacing a char */
                size_t c_len = 0;
-               TextMarker *mrk;
                char *prev = BLI_str_prev_char_utf8(text->curl->line + text->curc);
                c = BLI_str_utf8_as_unicode_and_size(prev, &c_len);
-
-               mrk = txt_find_marker_region(text, text->curl, text->curc - c_len, text->curl->len, 0, 0);
-               if (mrk) {
-                       int lineno = mrk->lineno;
-                       if (mrk->start == text->curc) {
-                               if ((mrk->flags & TMARK_TEMP) && !(mrk->flags & TMARK_EDITALL)) {
-                                       txt_clear_markers(text, mrk->group, TMARK_TEMP);
-                               }
-                               else {
-                                       BLI_freelinkN(&text->markers, mrk);
-                               }
-                               return;
-                       }
-                       do {
-                               if (mrk->start > text->curc - c_len) mrk->start -= c_len;
-                               mrk->end -= c_len;
-                               mrk = mrk->next;
-                       } while (mrk && mrk->lineno == lineno);
-               }
                
                /* source and destination overlap, don't use memcpy() */
                memmove(text->curl->line + text->curc - c_len,
@@ -2619,9 +2467,7 @@ static void txt_convert_tab_to_spaces(Text *text)
 
 static int txt_add_char_intern(Text *text, unsigned int add, int replace_tabs)
 {
-       int lineno;
        char *tmp, ch[BLI_UTF8_MAX];
-       TextMarker *mrk;
        size_t add_len;
        
        if (!text) return 0;
@@ -2643,15 +2489,6 @@ static int txt_add_char_intern(Text *text, unsigned int add, int replace_tabs)
        if (!undoing) txt_undo_add_charop(text, UNDO_INSERT_1, add);
 
        add_len = BLI_str_utf8_from_unicode(add, ch);
-       mrk = txt_find_marker_region(text, text->curl, text->curc - 1, text->curl->len, 0, 0);
-       if (mrk) {
-               lineno = mrk->lineno;
-               do {
-                       if (mrk->start > text->curc) mrk->start += add_len;
-                       mrk->end += add_len;
-                       mrk = mrk->next;
-               } while (mrk && mrk->lineno == lineno);
-       }
        
        tmp = MEM_mallocN(text->curl->len + add_len + 1, "textline_string");
        
@@ -2698,10 +2535,7 @@ int txt_replace_char(Text *text, unsigned int add)
 
        /* If text is selected or we're at the end of the line just use txt_add_char */
        if (text->curc == text->curl->len || txt_has_sel(text) || add == '\n') {
-               int i = txt_add_char(text, add);
-               TextMarker *mrk = txt_find_marker(text, text->curl, text->curc, 0, 0);
-               if (mrk) BLI_freelinkN(&text->markers, mrk);
-               return i;
+               return txt_add_char(text, add);
        }
        
        del = BLI_str_utf8_as_unicode_and_size(text->curl->line + text->curc, &del_size);
@@ -3039,157 +2873,6 @@ int setcurr_tab_spaces(Text *text, int space)
        return i;
 }
 
-/*********************************/
-/* Text marker utility functions */
-/*********************************/
-
-/* Creates and adds a marker to the list maintaining sorted order */
-void txt_add_marker(Text *text, TextLine *line, int start, int end, const unsigned char color[4], int group, int flags)
-{
-       TextMarker *tmp, *marker;
-
-       marker = MEM_mallocN(sizeof(TextMarker), "text_marker");
-       
-       marker->lineno = txt_get_span(text->lines.first, line);
-       marker->start = MIN2(start, end);
-       marker->end = MAX2(start, end);
-       marker->group = group;
-       marker->flags = flags;
-
-       marker->color[0] = color[0];
-       marker->color[1] = color[1];
-       marker->color[2] = color[2];
-       marker->color[3] = color[3];
-
-       for (tmp = text->markers.last; tmp; tmp = tmp->prev)
-               if (tmp->lineno < marker->lineno || (tmp->lineno == marker->lineno && tmp->start < marker->start))
-                       break;
-
-       if (tmp) BLI_insertlinkafter(&text->markers, tmp, marker);
-       else BLI_addhead(&text->markers, marker);
-}
-
-/* Returns the first matching marker on the specified line between two points.
- * If the group or flags fields are non-zero the returned flag must be in the
- * specified group and have at least the specified flags set. */
-TextMarker *txt_find_marker_region(Text *text, TextLine *line, int start, int end, int group, int flags)
-{
-       TextMarker *marker, *next;
-       int lineno = txt_get_span(text->lines.first, line);
-       
-       for (marker = text->markers.first; marker; marker = next) {
-               next = marker->next;
-
-               if      (group && marker->group != group) continue;
-               else if ((marker->flags & flags) != flags) continue;
-               else if (marker->lineno < lineno) continue;
-               else if (marker->lineno > lineno) break;
-
-               if ((marker->start == marker->end && start <= marker->start && marker->start <= end) ||
-                   (marker->start < end && marker->end > start))
-               {
-                       return marker;
-               }
-       }
-       return NULL;
-}
-
-/* Clears all markers on the specified line between two points. If the group or
- * flags fields are non-zero the returned flag must be in the specified group
- * and have at least the specified flags set. */
-short txt_clear_marker_region(Text *text, TextLine *line, int start, int end, int group, int flags)
-{
-       TextMarker *marker, *next;
-       int lineno = txt_get_span(text->lines.first, line);
-       short cleared = 0;
-       
-       for (marker = text->markers.first; marker; marker = next) {
-               next = marker->next;
-
-               if (group && marker->group != group) continue;
-               else if ((marker->flags & flags) != flags) continue;
-               else if (marker->lineno < lineno) continue;
-               else if (marker->lineno > lineno) break;
-
-               if ((marker->start == marker->end && start <= marker->start && marker->start <= end) ||
-                   (marker->start < end && marker->end > start))
-               {
-                       BLI_freelinkN(&text->markers, marker);
-                       cleared = 1;
-               }
-       }
-       return cleared;
-}
-
-/* Clears all markers in the specified group (if given) with at least the
- * specified flags set. Useful for clearing temporary markers (group = 0,
- * flags = TMARK_TEMP) */
-short txt_clear_markers(Text *text, int group, int flags)
-{
-       TextMarker *marker, *next;
-       short cleared = 0;
-       
-       for (marker = text->markers.first; marker; marker = next) {
-               next = marker->next;
-
-               if ((!group || marker->group == group) &&
-                   (marker->flags & flags) == flags)
-               {
-                       BLI_freelinkN(&text->markers, marker);
-                       cleared = 1;
-               }
-       }
-       return cleared;
-}
-
-/* Finds the marker at the specified line and cursor position with at least the
- * specified flags set in the given group (if non-zero). */
-TextMarker *txt_find_marker(Text *text, TextLine *line, int curs, int group, int flags)
-{
-       TextMarker *marker;
-       int lineno = txt_get_span(text->lines.first, line);
-       
-       for (marker = text->markers.first; marker; marker = marker->next) {
-               if (group && marker->group != group) continue;
-               else if ((marker->flags & flags) != flags) continue;
-               else if (marker->lineno < lineno) continue;
-               else if (marker->lineno > lineno) break;
-
-               if (marker->start <= curs && curs <= marker->end)
-                       return marker;
-       }
-       return NULL;
-}
-
-/* Finds the previous marker in the same group. If no other is found, the same
- * marker will be returned */
-TextMarker *txt_prev_marker(Text *text, TextMarker *marker)
-{
-       TextMarker *tmp = marker;
-       while (tmp) {
-               if (tmp->prev) tmp = tmp->prev;
-               else tmp = text->markers.last;
-               if (tmp->group == marker->group)
-                       return tmp;
-       }
-       return NULL; /* Only if (marker == NULL) */
-}
-
-/* Finds the next marker in the same group. If no other is found, the same
- * marker will be returned */
-TextMarker *txt_next_marker(Text *text, TextMarker *marker)
-{
-       TextMarker *tmp = marker;
-       while (tmp) {
-               if (tmp->next) tmp = tmp->next;
-               else tmp = text->markers.first;
-               if (tmp->group == marker->group)
-                       return tmp;
-       }
-       return NULL; /* Only if (marker == NULL) */
-}
-
-
 /*******************************/
 /* Character utility functions */
 /*******************************/
index 23b74dd9c108c90aff1e05d26d84ba82b4a08c35..375b1cf47a25ef172ed7a175b120671f65d83106 100644 (file)
@@ -2983,7 +2983,6 @@ static void direct_link_text(FileData *fd, Text *text)
 #endif
        
        link_list(fd, &text->lines);
-       link_list(fd, &text->markers);
        
        text->curl = newdataadr(fd, text->curl);
        text->sell = newdataadr(fd, text->sell);
index ac5366c26a390d208bd584745bf10ed561c4d2eb..b010cae68933884358548e810cc8bc3d3d94e108 100644 (file)
@@ -2607,7 +2607,6 @@ static void write_texts(WriteData *wd, ListBase *idbase)
 {
        Text *text;
        TextLine *tmp;
-       TextMarker *mrk;
 
        text= idbase->first;
        while (text) {
@@ -2631,13 +2630,6 @@ static void write_texts(WriteData *wd, ListBase *idbase)
                                writedata(wd, DATA, tmp->len+1, tmp->line);
                                tmp= tmp->next;
                        }
-
-                       /* write markers */
-                       mrk= text->markers.first;
-                       while (mrk) {
-                               writestruct(wd, DATA, "TextMarker", 1, mrk);
-                               mrk= mrk->next;
-                       }
                }
 
 
index 3f70b2cb66e971883668af0e4cba7fd1f517dc9f..d74e32620afa1f5297c8665beb6d5f2ac3e0a429 100644 (file)
@@ -196,10 +196,6 @@ static void text_operatortypes(void)
        WM_operatortype_append(TEXT_OT_unindent);
        WM_operatortype_append(TEXT_OT_indent);
 
-       WM_operatortype_append(TEXT_OT_markers_clear);
-       WM_operatortype_append(TEXT_OT_next_marker);
-       WM_operatortype_append(TEXT_OT_previous_marker);
-
        WM_operatortype_append(TEXT_OT_select_line);
        WM_operatortype_append(TEXT_OT_select_all);
        WM_operatortype_append(TEXT_OT_select_word);
@@ -227,7 +223,6 @@ static void text_operatortypes(void)
        WM_operatortype_append(TEXT_OT_find_set_selected);
        WM_operatortype_append(TEXT_OT_replace);
        WM_operatortype_append(TEXT_OT_replace_set_selected);
-       WM_operatortype_append(TEXT_OT_mark_all);
 
        WM_operatortype_append(TEXT_OT_to_3d_object);
 
index 423452e207b35080d989a75fddeae05bbedec462..46ab2d9e6884e5c060eb45735d9d2472eae8504f 100644 (file)
@@ -1070,40 +1070,6 @@ int text_get_total_lines(SpaceText *st, ARegion *ar)
        return drawcache->total_lines;
 }
 
-/* Move pointer to first visible line (top) */
-static TextLine *first_visible_line(SpaceText *st, ARegion *ar, int *wrap_top)
-{
-       Text *text = st->text;
-       TextLine *pline = text->lines.first;
-       int i = st->top, lineno = 0;
-
-       text_update_drawcache(st, ar);
-
-       if (wrap_top) *wrap_top = 0;
-
-       if (st->wordwrap) {
-               while (i > 0 && pline) {
-                       int lines = text_get_visible_lines_no(st, lineno);
-
-                       if (i - lines < 0) {
-                               if (wrap_top) *wrap_top = i;
-                               break;
-                       }
-                       else {
-                               pline = pline->next;
-                               i -= lines;
-                               lineno++;
-                       }
-               }
-       }
-       else {
-               for (i = st->top; pline->next && i > 0; i--)
-                       pline = pline->next;
-       }
-
-       return pline;
-}
-
 /************************ draw scrollbar *****************************/
 
 static void calc_text_rcts(SpaceText *st, ARegion *ar, rcti *scroll, rcti *back)
@@ -1241,90 +1207,6 @@ static void draw_textscroll(SpaceText *st, rcti *scroll, rcti *back)
        glDisable(GL_BLEND);
 }
 
-/************************** draw markers **************************/
-
-static void draw_markers(SpaceText *st, ARegion *ar)
-{
-       Text *text = st->text;
-       TextMarker *marker, *next;
-       TextLine *top, *line;
-       int offl, offc, i, x1, x2, y1, y2, x, y;
-       int topi, topy;
-
-       /* Move pointer to first visible line (top) */
-       top = first_visible_line(st, ar, NULL);
-       topi = BLI_findindex(&text->lines, top);
-
-       topy = txt_get_span(text->lines.first, top);
-
-       for (marker = text->markers.first; marker; marker = next) {
-               next = marker->next;
-
-               /* invisible line (before top) */
-               if (marker->lineno < topi) continue;
-
-               line = BLI_findlink(&text->lines, marker->lineno);
-
-               /* Remove broken markers */
-               if (marker->end > line->len || marker->start > marker->end) {
-                       BLI_freelinkN(&text->markers, marker);
-                       continue;
-               }
-
-               wrap_offset(st, ar, line, marker->start, &offl, &offc);
-               y1 = txt_get_span(top, line) - st->top + offl + topy;
-               x1 = text_get_char_pos(st, line->line, marker->start) - st->left + offc;
-
-               wrap_offset(st, ar, line, marker->end, &offl, &offc);
-               y2 = txt_get_span(top, line) - st->top + offl + topy;
-               x2 = text_get_char_pos(st, line->line, marker->end) - st->left + offc;
-
-               /* invisible part of line (before top, after last visible line) */
-               if (y2 < 0 || y1 > st->top + st->viewlines) continue;
-
-               glColor3ubv(marker->color);
-               x = st->showlinenrs ? TXT_OFFSET + TEXTXLOC : TXT_OFFSET;
-               y = ar->winy - 3;
-
-               if (y1 == y2) {
-                       y -= y1 * st->lheight;
-                       glBegin(GL_LINE_LOOP);
-                       glVertex2i(x + x2 * st->cwidth + 1, y);
-                       glVertex2i(x + x1 * st->cwidth - 2, y);
-                       glVertex2i(x + x1 * st->cwidth - 2, y - st->lheight);
-                       glVertex2i(x + x2 * st->cwidth + 1, y - st->lheight);
-                       glEnd();
-               }
-               else {
-                       y -= y1 * st->lheight;
-                       glBegin(GL_LINE_STRIP);
-                       glVertex2i(ar->winx, y);
-                       glVertex2i(x + x1 * st->cwidth - 2, y);
-                       glVertex2i(x + x1 * st->cwidth - 2, y - st->lheight);
-                       glVertex2i(ar->winx, y - st->lheight);
-                       glEnd();
-                       y -= st->lheight;
-
-                       for (i = y1 + 1; i < y2; i++) {
-                               glBegin(GL_LINES);
-                               glVertex2i(x, y);
-                               glVertex2i(ar->winx, y);
-                               glVertex2i(x, y - st->lheight);
-                               glVertex2i(ar->winx, y - st->lheight);
-                               glEnd();
-                               y -= st->lheight;
-                       }
-
-                       glBegin(GL_LINE_STRIP);
-                       glVertex2i(x, y);
-                       glVertex2i(x + x2 * st->cwidth + 1, y);
-                       glVertex2i(x + x2 * st->cwidth + 1, y - st->lheight);
-                       glVertex2i(x, y - st->lheight);
-                       glEnd();
-               }
-       }
-}
-
 /*********************** draw documentation *******************************/
 
 static void draw_documentation(SpaceText *st, ARegion *ar)
@@ -1860,7 +1742,6 @@ void draw_text_main(SpaceText *st, ARegion *ar)
 
        /* draw other stuff */
        draw_brackets(st, ar);
-       draw_markers(st, ar);
        glTranslatef(GLA_PIXEL_OFS, GLA_PIXEL_OFS, 0.0f); /* XXX scroll requires exact pixel space */
        draw_textscroll(st, &scroll, &back);
        draw_documentation(st, ar);
index d687f4cdd8ad1286ec4f1c8e526d83ab5a8b867a..ea61644cee94ed757e5d95acf91c8f31dd6b1200 100644 (file)
@@ -69,9 +69,6 @@ void text_update_cursor_moved(struct bContext *C);
 #define TOOL_SUGG_LIST 0x01
 #define TOOL_DOCUMENT  0x02
 
-#define TMARK_GRP_CUSTOM       0x00010000      /* Lower 2 bytes used for Python groups */
-#define TMARK_GRP_FINDALL      0x00020000
-
 typedef struct FlattenString {
        char fixedbuf[256];
        int fixedaccum[256];
@@ -130,10 +127,6 @@ void TEXT_OT_indent(struct wmOperatorType *ot);
 void TEXT_OT_line_break(struct wmOperatorType *ot);
 void TEXT_OT_insert(struct wmOperatorType *ot);
 
-void TEXT_OT_markers_clear(struct wmOperatorType *ot);
-void TEXT_OT_next_marker(struct wmOperatorType *ot);
-void TEXT_OT_previous_marker(struct wmOperatorType *ot);
-
 void TEXT_OT_select_line(struct wmOperatorType *ot);
 void TEXT_OT_select_all(struct wmOperatorType *ot);
 void TEXT_OT_select_word(struct wmOperatorType *ot);
@@ -158,7 +151,6 @@ void TEXT_OT_find(struct wmOperatorType *ot);
 void TEXT_OT_find_set_selected(struct wmOperatorType *ot);
 void TEXT_OT_replace(struct wmOperatorType *ot);
 void TEXT_OT_replace_set_selected(struct wmOperatorType *ot);
-void TEXT_OT_mark_all(struct wmOperatorType *ot);
 
 void TEXT_OT_to_3d_object(struct wmOperatorType *ot);
 
index ae5de4c6a25f36af69fcf36227a704c736fbedf3..cd6d87195440c8b081bcc2b33a46cafea6a8629a 100644 (file)
@@ -1377,104 +1377,6 @@ void TEXT_OT_move_lines(wmOperatorType *ot)
        RNA_def_enum(ot->srna, "direction", direction_items, 1, "Direction", "");
 }
 
-/******************* previous marker operator *********************/
-
-static int text_previous_marker_exec(bContext *C, wmOperator *UNUSED(op))
-{
-       Text *text = CTX_data_edit_text(C);
-       TextMarker *mrk;
-       int lineno;
-
-       lineno = txt_get_span(text->lines.first, text->curl);
-       mrk = text->markers.last;
-       while (mrk && (mrk->lineno > lineno || (mrk->lineno == lineno && mrk->end > text->curc)))
-               mrk = mrk->prev;
-       if (!mrk) mrk = text->markers.last;
-       if (mrk) {
-               txt_move_to(text, mrk->lineno, mrk->start, 0);
-               txt_move_to(text, mrk->lineno, mrk->end, 1);
-       }
-
-       text_update_cursor_moved(C);
-       WM_event_add_notifier(C, NC_TEXT | NA_EDITED, text);
-
-       return OPERATOR_FINISHED;
-}
-
-void TEXT_OT_previous_marker(wmOperatorType *ot)
-{
-       /* identifiers */
-       ot->name = "Previous Marker";
-       ot->idname = "TEXT_OT_previous_marker";
-       ot->description = "Move to previous marker";
-       
-       /* api callbacks */
-       ot->exec = text_previous_marker_exec;
-       ot->poll = text_edit_poll;
-}
-
-/******************* next marker operator *********************/
-
-static int text_next_marker_exec(bContext *C, wmOperator *UNUSED(op))
-{
-       Text *text = CTX_data_edit_text(C);
-       TextMarker *mrk;
-       int lineno;
-
-       lineno = txt_get_span(text->lines.first, text->curl);
-       mrk = text->markers.first;
-       while (mrk && (mrk->lineno < lineno || (mrk->lineno == lineno && mrk->start <= text->curc)))
-               mrk = mrk->next;
-       if (!mrk) mrk = text->markers.first;
-       if (mrk) {
-               txt_move_to(text, mrk->lineno, mrk->start, 0);
-               txt_move_to(text, mrk->lineno, mrk->end, 1);
-       }
-
-       text_update_cursor_moved(C);
-       WM_event_add_notifier(C, NC_TEXT | NA_EDITED, text);
-
-       return OPERATOR_FINISHED;
-}
-
-void TEXT_OT_next_marker(wmOperatorType *ot)
-{
-       /* identifiers */
-       ot->name = "Next Marker";
-       ot->idname = "TEXT_OT_next_marker";
-       ot->description = "Move to next marker";
-       
-       /* api callbacks */
-       ot->exec = text_next_marker_exec;
-       ot->poll = text_edit_poll;
-}
-
-/******************* clear all markers operator *********************/
-
-static int text_clear_all_markers_exec(bContext *C, wmOperator *UNUSED(op))
-{
-       Text *text = CTX_data_edit_text(C);
-
-       txt_clear_markers(text, 0, 0);
-
-       text_update_cursor_moved(C);
-       WM_event_add_notifier(C, NC_TEXT | NA_EDITED, text);
-
-       return OPERATOR_FINISHED;
-}
-
-void TEXT_OT_markers_clear(wmOperatorType *ot)
-{
-       /* identifiers */
-       ot->name = "Clear All Markers";
-       ot->idname = "TEXT_OT_markers_clear";
-       ot->description = "Clear all markers";
-       
-       /* api callbacks */
-       ot->exec = text_clear_all_markers_exec;
-       ot->poll = text_edit_poll;
-}
-
 /************************ move operator ************************/
 
 static EnumPropertyItem move_type_items[] = {
@@ -2956,14 +2858,13 @@ void TEXT_OT_insert(wmOperatorType *ot)
 /* mode */
 #define TEXT_FIND       0
 #define TEXT_REPLACE    1
-#define TEXT_MARK_ALL   2
 
 static int text_find_and_replace(bContext *C, wmOperator *op, short mode)
 {
        Main *bmain = CTX_data_main(C);
        SpaceText *st = CTX_wm_space_text(C);
-       Text *start = NULL, *text = st->text;
-       int flags, first = 1;
+       Text *text = st->text;
+       int flags;
        int found = 0;
        char *tmp;
 
@@ -2972,79 +2873,48 @@ static int text_find_and_replace(bContext *C, wmOperator *op, short mode)
 
        flags = st->flags;
        if (flags & ST_FIND_ALL)
-               flags ^= ST_FIND_WRAP;
-
-       do {
-               int proceed = 0;
-
-               if (first) {
-                       if (text->markers.first)
-                               WM_event_add_notifier(C, NC_TEXT | NA_EDITED, text);
+               flags &= ~ST_FIND_WRAP;
 
-                       txt_clear_markers(text, TMARK_GRP_FINDALL, 0);
-               }
-
-               first = 0;
-               
-               /* Replace current */
-               if (mode != TEXT_FIND && txt_has_sel(text)) {
-                       tmp = txt_sel_to_buf(text);
-
-                       if (flags & ST_MATCH_CASE) proceed = strcmp(st->findstr, tmp) == 0;
-                       else proceed = BLI_strcasecmp(st->findstr, tmp) == 0;
-
-                       if (proceed) {
-                               if (mode == TEXT_REPLACE) {
-                                       txt_insert_buf(text, st->replacestr);
-                                       if (text->curl && text->curl->format) {
-                                               MEM_freeN(text->curl->format);
-                                               text->curl->format = NULL;
-                                       }
-                                       text_update_cursor_moved(C);
-                                       WM_event_add_notifier(C, NC_TEXT | NA_EDITED, text);
-                                       text_drawcache_tag_update(CTX_wm_space_text(C), 1);
-                               }
-                               else if (mode == TEXT_MARK_ALL) {
-                                       unsigned char color[4];
-                                       UI_GetThemeColor4ubv(TH_SHADE2, color);
+       /* Replace current */
+       if (mode != TEXT_FIND && txt_has_sel(text)) {
+               tmp = txt_sel_to_buf(text);
 
-                                       if (txt_find_marker(text, text->curl, text->selc, TMARK_GRP_FINDALL, 0)) {
-                                               if (tmp) MEM_freeN(tmp), tmp = NULL;
-                                               break;
-                                       }
+               if (flags & ST_MATCH_CASE) found = strcmp(st->findstr, tmp) == 0;
+               else found = BLI_strcasecmp(st->findstr, tmp) == 0;
 
-                                       txt_add_marker(text, text->curl, text->curc, text->selc, color, TMARK_GRP_FINDALL, TMARK_EDITALL);
-                                       text_update_cursor_moved(C);
-                                       WM_event_add_notifier(C, NC_TEXT | NA_EDITED, text);
+               if (found) {
+                       if (mode == TEXT_REPLACE) {
+                               txt_insert_buf(text, st->replacestr);
+                               if (text->curl && text->curl->format) {
+                                       MEM_freeN(text->curl->format);
+                                       text->curl->format = NULL;
                                }
+                               text_update_cursor_moved(C);
+                               WM_event_add_notifier(C, NC_TEXT | NA_EDITED, text);
+                               text_drawcache_tag_update(CTX_wm_space_text(C), 1);
                        }
-                       MEM_freeN(tmp);
-                       tmp = NULL;
                }
+               MEM_freeN(tmp);
+               tmp = NULL;
+       }
 
-               /* Find next */
-               if (txt_find_string(text, st->findstr, flags & ST_FIND_WRAP, flags & ST_MATCH_CASE)) {
-                       text_update_cursor_moved(C);
-                       WM_event_add_notifier(C, NC_TEXT | ND_CURSOR, text);
-               }
-               else if (flags & ST_FIND_ALL) {
-                       if (text == start) break;
-                       if (!start) start = text;
-                       if (text->id.next)
-                               text = st->text = text->id.next;
-                       else
-                               text = st->text = bmain->text.first;
-                       txt_move_toline(text, 0, 0);
-                       text_update_cursor_moved(C);
-                       WM_event_add_notifier(C, NC_TEXT | ND_CURSOR, text);
-                       first = 1;
-               }
-               else {
-                       if (!found && !proceed) BKE_reportf(op->reports, RPT_ERROR, "Text not found: %s", st->findstr);
-                       break;
-               }
-               found = 1;
-       } while (mode == TEXT_MARK_ALL);
+       /* Find next */
+       if (txt_find_string(text, st->findstr, flags & ST_FIND_WRAP, flags & ST_MATCH_CASE)) {
+               text_update_cursor_moved(C);
+               WM_event_add_notifier(C, NC_TEXT | ND_CURSOR, text);
+       }
+       else if (flags & ST_FIND_ALL) {
+               if (text->id.next)
+                       text = st->text = text->id.next;
+               else
+                       text = st->text = bmain->text.first;
+               txt_move_toline(text, 0, 0);
+               text_update_cursor_moved(C);
+               WM_event_add_notifier(C, NC_TEXT | ND_CURSOR, text);
+       }
+       else {
+               if (!found) BKE_reportf(op->reports, RPT_ERROR, "Text not found: %s", st->findstr);
+       }
 
        return OPERATOR_FINISHED;
 }
@@ -3085,25 +2955,6 @@ void TEXT_OT_replace(wmOperatorType *ot)
        ot->poll = text_space_edit_poll;
 }
 
-/******************* mark all operator *********************/
-
-static int text_mark_all_exec(bContext *C, wmOperator *op)
-{
-       return text_find_and_replace(C, op, TEXT_MARK_ALL);
-}
-
-void TEXT_OT_mark_all(wmOperatorType *ot)
-{
-       /* identifiers */
-       ot->name = "Mark All";
-       ot->idname = "TEXT_OT_mark_all";
-       ot->description = "Mark all specified text";
-       
-       /* api callbacks */
-       ot->exec = text_mark_all_exec;
-       ot->poll = text_space_edit_poll;
-}
-
 /******************* find set selected *********************/
 
 static int text_find_set_selected_exec(bContext *C, wmOperator *op)
index 966afe22e4276bf10b47922e7a12813ac4a61d5e..4c9b4b900cc9f278177510de12b6e5fc3777be81 100644 (file)
@@ -359,177 +359,3 @@ static short UNUSED_FUNCTION(do_texttools) (SpaceText * st, char ascii, unsigned
 
        return swallow;
 }
-
-static short UNUSED_FUNCTION(do_textmarkers) (SpaceText * st, char ascii, unsigned short evnt, short val)
-{
-       Text *text;
-       TextMarker *marker, *mrk, *nxt;
-       int c, s, draw = 0, swallow = 0;
-       int qual = 0; // XXX
-
-       text = st->text;
-       if (!text || text->id.lib || text->curl != text->sell) return 0;
-
-       marker = txt_find_marker(text, text->sell, text->selc, 0, 0);
-       if (marker && (marker->start > text->curc || marker->end < text->curc))
-               marker = NULL;
-
-       if (!marker) {
-               /* Find the next temporary marker */
-               if (evnt == TABKEY) {
-                       int lineno = txt_get_span(text->lines.first, text->curl);
-                       mrk = text->markers.first;
-                       while (mrk) {
-                               if (!marker && (mrk->flags & TMARK_TEMP)) marker = mrk;
-                               if ((mrk->flags & TMARK_TEMP) && (mrk->lineno > lineno || (mrk->lineno == lineno && mrk->end > text->curc))) {
-                                       marker = mrk;
-                                       break;
-                               }
-                               mrk = mrk->next;
-                       }
-                       if (marker) {
-                               txt_move_to(text, marker->lineno, marker->start, 0);
-                               txt_move_to(text, marker->lineno, marker->end, 1);
-                               // XXX text_update_cursor_moved(C);
-                               // XXX WM_event_add_notifier(C, NC_TEXT|ND_CURSOR, text);
-                               evnt = ascii = val = 0;
-                               draw = 1;
-                               swallow = 1;
-                       }
-               }
-               else if (evnt == ESCKEY) {
-                       if (txt_clear_markers(text, 0, TMARK_TEMP)) swallow = 1;
-                       else if (txt_clear_markers(text, 0, 0)) swallow = 1;
-                       else return 0;
-                       evnt = ascii = val = 0;
-                       draw = 1;
-               }
-               if (!swallow) return 0;
-       }
-
-       if (ascii) {
-               if (marker->flags & TMARK_EDITALL) {
-                       c = text->curc - marker->start;
-                       s = text->selc - marker->start;
-                       if (s < 0 || s > marker->end - marker->start) return 0;
-
-                       mrk = txt_next_marker(text, marker);
-                       while (mrk) {
-                               nxt = txt_next_marker(text, mrk); /* mrk may become invalid */
-                               txt_move_to(text, mrk->lineno, mrk->start + c, 0);
-                               if (s != c) txt_move_to(text, mrk->lineno, mrk->start + s, 1);
-                               if (st->overwrite) {
-                                       if (txt_replace_char(text, ascii))
-                                               text_update_line_edited(st->text->curl);
-                               }
-                               else {
-                                       if (txt_add_char(text, ascii)) {
-                                               text_update_line_edited(st->text->curl);
-                                       }
-                               }
-
-                               if (mrk == marker || mrk == nxt) break;
-                               mrk = nxt;
-                       }
-                       swallow = 1;
-                       draw = 1;
-               }
-       }
-       else if (val) {
-               switch (evnt) {
-                       case BACKSPACEKEY:
-                               if (marker->flags & TMARK_EDITALL) {
-                                       c = text->curc - marker->start;
-                                       s = text->selc - marker->start;
-                                       if (s < 0 || s > marker->end - marker->start) return 0;
-                                       
-                                       mrk = txt_next_marker(text, marker);
-                                       while (mrk) {
-                                               nxt = txt_next_marker(text, mrk); /* mrk may become invalid */
-                                               txt_move_to(text, mrk->lineno, mrk->start + c, 0);
-                                               if (s != c) txt_move_to(text, mrk->lineno, mrk->start + s, 1);
-                                               txt_backspace_char(text);
-                                               text_update_line_edited(st->text->curl);
-                                               if (mrk == marker || mrk == nxt) break;
-                                               mrk = nxt;
-                                       }
-                                       swallow = 1;
-                                       draw = 1;
-                               }
-                               break;
-                       case DELKEY:
-                               if (marker->flags & TMARK_EDITALL) {
-                                       c = text->curc - marker->start;
-                                       s = text->selc - marker->start;
-                                       if (s < 0 || s > marker->end - marker->start) return 0;
-                                       
-                                       mrk = txt_next_marker(text, marker);
-                                       while (mrk) {
-                                               nxt = txt_next_marker(text, mrk); /* mrk may become invalid */
-                                               txt_move_to(text, mrk->lineno, mrk->start + c, 0);
-                                               if (s != c) txt_move_to(text, mrk->lineno, mrk->start + s, 1);
-                                               txt_delete_char(text);
-                                               text_update_line_edited(st->text->curl);
-                                               if (mrk == marker || mrk == nxt) break;
-                                               mrk = nxt;
-                                       }
-                                       swallow = 1;
-                                       draw = 1;
-                               }
-                               break;
-                       case TABKEY:
-                               if (qual & LR_SHIFTKEY) {
-                                       nxt = marker->prev;
-                                       if (!nxt) nxt = text->markers.last;
-                               }
-                               else {
-                                       nxt = marker->next;
-                                       if (!nxt) nxt = text->markers.first;
-                               }
-                               if (marker->flags & TMARK_TEMP) {
-                                       if (nxt == marker) nxt = NULL;
-                                       BLI_freelinkN(&text->markers, marker);
-                               }
-                               mrk = nxt;
-                               if (mrk) {
-                                       txt_move_to(text, mrk->lineno, mrk->start, 0);
-                                       txt_move_to(text, mrk->lineno, mrk->end, 1);
-                                       // XXX text_update_cursor_moved(C);
-                                       // XXX WM_event_add_notifier(C, NC_TEXT|ND_CURSOR, text);
-                               }
-                               swallow = 1;
-                               draw = 1;
-                               break;
-
-                       /* Events that should clear markers */
-                       case UKEY: if (!(qual & LR_ALTKEY)) break;
-                       case ZKEY: if (evnt == ZKEY && !(qual & LR_CTRLKEY)) break;
-                       case RETKEY:
-                       case ESCKEY:
-                               if (marker->flags & (TMARK_EDITALL | TMARK_TEMP))
-                                       txt_clear_markers(text, marker->group, 0);
-                               else
-                                       BLI_freelinkN(&text->markers, marker);
-                               swallow = 1;
-                               draw = 1;
-                               break;
-                       case RIGHTMOUSE: /* Marker context menu? */
-                       case LEFTMOUSE:
-                               break;
-                       case FKEY: /* Allow find */
-                               if (qual & LR_SHIFTKEY) swallow = 1;
-                               break;
-
-                       default:
-                               if (qual != 0 && qual != LR_SHIFTKEY)
-                                       swallow = 1;  /* Swallow all other shortcut events */
-               }
-       }
-       
-       if (draw) {
-               // XXX redraw_alltext();
-       }
-       
-       return swallow;
-}
-
index 810628ac29b858e457cc4f53d82b3ea88e4a5aff..6ce883905d4b19483939a7676c4653e9b2108d3b 100644 (file)
@@ -44,15 +44,6 @@ typedef struct TextLine {
        int len, blen; /* blen unused */
 } TextLine;
 
-typedef struct TextMarker {
-       struct TextMarker *next, *prev;
-
-       int lineno, start, end, pad1; /* line number and start/end character indices */
-       
-       int group, flags; /* see BKE_text.h for flag defines */
-       unsigned char color[4], pad[4]; /* draw color of the marker */
-} TextMarker;
-
 typedef struct Text {
        ID id;
        
@@ -63,7 +54,6 @@ typedef struct Text {
        ListBase lines;
        TextLine *curl, *sell;
        int curc, selc;
-       ListBase markers;
        
        char *undo_buf;
        int undo_pos, undo_len;
index 3afafdded64b5dcc34f6908d00ba3e18e6cf286a..2b68cc8bdc1ee9353da01da7f12d24f366ba8463 100644 (file)
@@ -526,7 +526,6 @@ extern StructRNA RNA_TextBox;
 extern StructRNA RNA_TextCharacterFormat;
 extern StructRNA RNA_TextCurve;
 extern StructRNA RNA_TextLine;
-extern StructRNA RNA_TextMarker;
 extern StructRNA RNA_Texture;
 extern StructRNA RNA_TextureNode;
 extern StructRNA RNA_TextureNodeBricks;
index e46373b250c18bd467a4e55915b2c219b661565a..b1637ef4c8a0150fc93d063a6ab506c48fc12d40 100644 (file)
@@ -129,49 +129,6 @@ static void rna_def_text_line(BlenderRNA *brna)
        RNA_def_property_update(prop, NC_TEXT | NA_EDITED, NULL);
 }
 
-static void rna_def_text_marker(BlenderRNA *brna)
-{
-       StructRNA *srna;
-       PropertyRNA *prop;
-       
-       srna = RNA_def_struct(brna, "TextMarker", NULL);
-       RNA_def_struct_ui_text(srna, "Text Marker", "Marker highlighting a portion of text in a Text datablock");
-
-       prop = RNA_def_property(srna, "line", PROP_INT, PROP_UNSIGNED);
-       RNA_def_property_int_sdna(prop, NULL, "lineno");
-       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
-       RNA_def_property_ui_text(prop, "Line", "Line in which the marker is located");
-       
-       prop = RNA_def_property(srna, "character_index_start", PROP_INT, PROP_UNSIGNED);
-       RNA_def_property_int_sdna(prop, NULL, "start");
-       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
-       RNA_def_property_ui_text(prop, "Start", "Start position of the marker in the line");
-
-       prop = RNA_def_property(srna, "character_index_end", PROP_INT, PROP_UNSIGNED);
-       RNA_def_property_int_sdna(prop, NULL, "end");
-       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
-       RNA_def_property_ui_text(prop, "End", "Start position of the marker in the line");
-       
-       prop = RNA_def_property(srna, "group", PROP_INT, PROP_UNSIGNED);
-       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
-       RNA_def_property_range(prop, 0, (int)0xFFFF);
-       RNA_def_property_ui_text(prop, "Group", "");
-       
-       prop = RNA_def_property(srna, "is_temporary", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "flags", TMARK_TEMP);
-       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
-       RNA_def_property_ui_text(prop, "Temporary", "Marker is temporary");
-
-       prop = RNA_def_property(srna, "use_edit_all", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "flags", TMARK_EDITALL);
-       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
-       RNA_def_property_ui_text(prop, "Edit All", "Edit all markers of the same group as one");
-       
-       prop = RNA_def_property(srna, "color", PROP_FLOAT, PROP_COLOR_GAMMA);
-       RNA_def_property_range(prop, 0.0f, 1.0f);
-       RNA_def_property_ui_text(prop, "Color", "Color to display the marker with");
-}
-
 static void rna_def_text(BlenderRNA *brna)
 {
        StructRNA *srna;
@@ -241,17 +198,12 @@ static void rna_def_text(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Selection End Character",
                                 "Index of character after end of selection in the selection end line");
        
-       prop = RNA_def_property(srna, "markers", PROP_COLLECTION, PROP_NONE);
-       RNA_def_property_struct_type(prop, "TextMarker");
-       RNA_def_property_ui_text(prop, "Markers", "Text markers highlighting part of the text");
-
        RNA_api_text(srna);
 }
 
 void RNA_def_text(BlenderRNA *brna)
 {
        rna_def_text_line(brna);
-       rna_def_text_marker(brna);
        rna_def_text(brna);
 }