/[beaver]/beaver/src/editor.c
ViewVC logotype

Diff of /beaver/src/editor.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by skypher, Mon Mar 17 12:14:03 2003 UTC revision 1.8 by skypher, Wed Mar 19 06:01:03 2003 UTC
# Line 176  extern void            open_file_in_editor(GtkWidg Line 176  extern void            open_file_in_editor(GtkWidg
176    gsize                 bytes_read, bytes_written;    gsize                 bytes_read, bytes_written;
177    G_CONST_RETURN char                   **charset;    G_CONST_RETURN char                   **charset;
178        
179      gint num_vis_lines = 0, current_line_index = 0, last_line_index;
180      gint x, y, line_top, AuxHeight, AuxWidth;
181      GtkWidget **LineNumberDisplay;
182      GtkWidget *AuxBox;
183      GdkWindow *AuxWindow;
184      GtkTextIter iter;  
185      
186    START_FCN    START_FCN
187        
188    Buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (Editor));    Buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (Editor));
# Line 219  extern void            open_file_in_editor(GtkWidg Line 226  extern void            open_file_in_editor(GtkWidg
226                  }                  }
227                  else                  else
228                  {                  {
229                          /* fix me, let the user choose the charset */                                                  /* fix me, let the user choose the charset */
230                          g_get_charset(charset);                          g_get_charset(charset);
231                          buffer = g_convert_with_fallback(buffer, strlen(buffer),                          buffer = g_convert_with_fallback(buffer, strlen(buffer),
232                                  "UTF-8", "ISO-8859-1", "[INVALID CHAR]",                                  "UTF-8", "ISO-8859-1", "[INVALID CHAR]",
# Line 245  extern void            open_file_in_editor(GtkWidg Line 252  extern void            open_file_in_editor(GtkWidg
252  //      }  //      }
253      }      }
254    }    }
255      
256      
257      /* display line numbers */
258      gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW(FPROPS(CurrentPage, Text)), GTK_TEXT_WINDOW_TEXT, 0, 0, &x, &y);
259      gtk_text_view_get_line_at_y (GTK_TEXT_VIEW(FPROPS(CurrentPage, Text)), &iter, y, &line_top);
260    
261      gtk_text_view_set_border_window_size (GTK_TEXT_VIEW(FPROPS(CurrentPage, Text)),
262            GTK_TEXT_WINDOW_LEFT, 50);  
263      AuxWindow = gtk_text_view_get_window (GTK_TEXT_VIEW(FPROPS(CurrentPage, Text)),
264            GTK_TEXT_WINDOW_LEFT); /* FIXME: should be able to put this on the righthand side */  
265    
266            
267      gtk_window_get_size(GTK_WINDOW(AuxWindow), &AuxWidth, &AuxHeight);
268      g_printf("auxwindow size: %dx%d\n", AuxWidth, AuxHeight);    
269      AuxBox = gtk_fixed_new();                  
270      gtk_container_add(GTK_CONTAINER(AuxWindow), AuxBox);
271      
272                                                                                                                
273      while (y < AuxHeight)
274      {
275            current_line_index = gtk_text_iter_get_line (&iter);
276            if (current_line_index > last_line_index)
277            {
278                    gtk_text_view_buffer_to_window_coords (GTK_TEXT_VIEW(FPROPS(CurrentPage, Text)), GTK_TEXT_WINDOW_TEXT, x, line_top, &x, &y);
279                    LineNumberDisplay[num_vis_lines] = gtk_label_new(g_strdup_printf("%s", current_line_index));
280                    gtk_fixed_put(GTK_FIXED(AuxBox), LineNumberDisplay[num_vis_lines], 5, y);
281                    num_vis_lines++;
282            }
283            gtk_text_iter_forward_line(&iter);
284      }  
285      
286      /* end line number stuff */
287      
288    gtk_text_buffer_get_start_iter(Buffer, &start);    gtk_text_buffer_get_start_iter(Buffer, &start);
289    gtk_text_buffer_place_cursor(Buffer, &start);    gtk_text_buffer_place_cursor(Buffer, &start);
290    gtk_widget_grab_focus(Editor);    gtk_widget_grab_focus(Editor);

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26