SF.net SVN: geany: [2720] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Fri Jun 20 17:10:52 UTC 2008


Revision: 2720
          http://geany.svn.sourceforge.net/geany/?rev=2720&view=rev
Author:   ntrel
Date:     2008-06-20 10:10:51 -0700 (Fri, 20 Jun 2008)

Log Message:
-----------
Move on_editor_expose_event(), create_new_sci() to editor.c.
Make on_editor_button_press_event() and on_editor_scroll_event()
static.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/document.c
    trunk/src/editor.c
    trunk/src/editor.h

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2008-06-20 14:19:57 UTC (rev 2719)
+++ trunk/ChangeLog	2008-06-20 17:10:51 UTC (rev 2720)
@@ -12,6 +12,10 @@
  * src/callbacks.c, src/keyfile.c, src/document.c, src/document.h,
    src/main.c, src/socket.c:
    Remove document_delay_colourise(), document_colourise_all().
+ * src/document.c, src/editor.c, src/editor.h:
+   Move on_editor_expose_event(), create_new_sci() to editor.c.
+   Make on_editor_button_press_event() and on_editor_scroll_event()
+   static.
 
 
 2008-06-19  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>

Modified: trunk/src/document.c
===================================================================
--- trunk/src/document.c	2008-06-20 14:19:57 UTC (rev 2719)
+++ trunk/src/document.c	2008-06-20 17:10:51 UTC (rev 2720)
@@ -65,7 +65,6 @@
 #include "vte.h"
 #include "build.h"
 #include "symbols.h"
-#include "callbacks.h"
 #include "geanyobject.h"
 #include "highlighting.h"
 #include "navqueue.h"
@@ -372,36 +371,6 @@
 }
 
 
-static void setup_sci_keys(ScintillaObject *sci)
-{
-	/* disable some Scintilla keybindings to be able to redefine them cleanly */
-	sci_clear_cmdkey(sci, 'A' | (SCMOD_CTRL << 16)); /* select all */
-	sci_clear_cmdkey(sci, 'D' | (SCMOD_CTRL << 16)); /* duplicate */
-	sci_clear_cmdkey(sci, 'T' | (SCMOD_CTRL << 16)); /* line transpose */
-	sci_clear_cmdkey(sci, 'T' | (SCMOD_CTRL << 16) | (SCMOD_SHIFT << 16)); /* line copy */
-	sci_clear_cmdkey(sci, 'L' | (SCMOD_CTRL << 16)); /* line cut */
-	sci_clear_cmdkey(sci, 'L' | (SCMOD_CTRL << 16) | (SCMOD_SHIFT << 16)); /* line delete */
-	sci_clear_cmdkey(sci, SCK_UP | (SCMOD_CTRL << 16)); /* scroll line up */
-	sci_clear_cmdkey(sci, SCK_DOWN | (SCMOD_CTRL << 16)); /* scroll line down */
-
-	if (editor_prefs.use_gtk_word_boundaries)
-	{
-		/* use GtkEntry-like word boundaries */
-		sci_assign_cmdkey(sci, SCK_RIGHT | (SCMOD_CTRL << 16), SCI_WORDRIGHTEND);
-		sci_assign_cmdkey(sci, SCK_RIGHT | (SCMOD_CTRL << 16) | (SCMOD_SHIFT << 16), SCI_WORDRIGHTENDEXTEND);
-		sci_assign_cmdkey(sci, SCK_DELETE | (SCMOD_CTRL << 16), SCI_DELWORDRIGHTEND);
-	}
-	sci_assign_cmdkey(sci, SCK_UP | (SCMOD_ALT << 16), SCI_LINESCROLLUP);
-	sci_assign_cmdkey(sci, SCK_DOWN | (SCMOD_ALT << 16), SCI_LINESCROLLDOWN);
-	sci_assign_cmdkey(sci, SCK_UP | (SCMOD_CTRL << 16), SCI_PARAUP);
-	sci_assign_cmdkey(sci, SCK_UP | (SCMOD_CTRL << 16) | (SCMOD_SHIFT << 16), SCI_PARAUPEXTEND);
-	sci_assign_cmdkey(sci, SCK_DOWN | (SCMOD_CTRL << 16), SCI_PARADOWN);
-	sci_assign_cmdkey(sci, SCK_DOWN | (SCMOD_CTRL << 16) | (SCMOD_SHIFT << 16), SCI_PARADOWNEXTEND);
-
-	sci_clear_cmdkey(sci, SCK_BACK | (SCMOD_ALT << 16)); /* clear Alt-Backspace (Undo) */
-}
-
-
 static void queue_colourise(GeanyDocument *doc)
 {
 	/* Colourise the editor before it is next drawn */
@@ -415,75 +384,6 @@
 }
 
 
-static void editor_colourise(ScintillaObject *sci)
-{
-	sci_colourise(sci, 0, -1);
-
-	/* now that the current document is colourised, fold points are now accurate,
-	 * so force an update of the current function/tag. */
-	utils_get_current_function(NULL, NULL);
-	ui_update_statusbar(NULL, -1);
-}
-
-
-static gboolean on_editor_expose_event(GtkWidget *widget, GdkEventExpose *event,
-		gpointer user_data)
-{
-	GeanyDocument *doc = user_data;
-
-	if (DOCUMENT(doc)->colourise_needed)
-	{
-		editor_colourise(doc->sci);
-		DOCUMENT(doc)->colourise_needed = FALSE;
-	}
-	return FALSE;	/* propagate event */
-}
-
-
-/* Create new editor (the scintilla widget) */
-static ScintillaObject *create_new_sci(GeanyDocument *doc)
-{
-	ScintillaObject	*sci;
-
-	sci = SCINTILLA(scintilla_new());
-	scintilla_set_id(sci, doc->index);
-
-	gtk_widget_show(GTK_WIDGET(sci));
-
-	sci_set_codepage(sci, SC_CP_UTF8);
-	/*SSM(sci, SCI_SETWRAPSTARTINDENT, 4, 0);*/
-	/* disable scintilla provided popup menu */
-	sci_use_popup(sci, FALSE);
-
-	setup_sci_keys(sci);
-
-	sci_set_tab_indents(sci, editor_prefs.use_tab_to_indent);
-	sci_set_symbol_margin(sci, editor_prefs.show_markers_margin);
-	sci_set_lines_wrapped(sci, editor_prefs.line_wrapping);
-	sci_set_scrollbar_mode(sci, editor_prefs.show_scrollbars);
-	sci_set_caret_policy_x(sci, CARET_JUMPS | CARET_EVEN, 0);
-	/*sci_set_caret_policy_y(sci, CARET_JUMPS | CARET_EVEN, 0);*/
-	SSM(sci, SCI_AUTOCSETSEPARATOR, '\n', 0);
-	/* (dis)allow scrolling past end of document */
-	SSM(sci, SCI_SETENDATLASTLINE, editor_prefs.scroll_stop_at_last_line, 0);
-	SSM(sci, SCI_SETSCROLLWIDTHTRACKING, 1, 0);
-
-	/* signal for insert-key(works without too, but to update the right status bar) */
-	/*g_signal_connect((GtkWidget*) sci, "key-press-event",
-					 G_CALLBACK(keybindings_got_event), GINT_TO_POINTER(new_idx));*/
-	/* signal for the popup menu */
-	g_signal_connect(G_OBJECT(sci), "button-press-event",
-					G_CALLBACK(on_editor_button_press_event), doc);
-	g_signal_connect(G_OBJECT(sci), "scroll-event",
-					G_CALLBACK(on_editor_scroll_event), doc);
-	g_signal_connect(G_OBJECT(sci), "motion-notify-event", G_CALLBACK(on_motion_event), NULL);
-	g_signal_connect(G_OBJECT(sci), "expose-event",
-					G_CALLBACK(on_editor_expose_event), doc);
-
-	return sci;
-}
-
-
 /* Creates a new document and editor, adding a tab in the notebook.
  * @return The index of the created document */
 static GeanyDocument *document_create(const gchar *utf8_filename)
@@ -516,7 +416,7 @@
 
 	this->file_name = g_strdup(utf8_filename);
 
-	this->sci = create_new_sci(this);
+	this->sci = editor_create_new_sci(this);
 
 	document_apply_update_prefs(this);
 

Modified: trunk/src/editor.c
===================================================================
--- trunk/src/editor.c	2008-06-20 14:19:57 UTC (rev 2719)
+++ trunk/src/editor.c	2008-06-20 17:10:51 UTC (rev 2720)
@@ -46,6 +46,7 @@
 #include "utils.h"
 #include "dialogs.h"
 #include "symbols.h"
+#include "callbacks.h"
 
 
 /* holds word under the mouse or keyboard cursor */
@@ -79,7 +80,7 @@
 
 
 /* calls the edit popup menu in the editor */
-gboolean
+static gboolean
 on_editor_button_press_event           (GtkWidget *widget,
                                         GdkEventButton *event,
                                         gpointer user_data)
@@ -3325,7 +3326,8 @@
 }
 
 
-gboolean on_editor_scroll_event(GtkWidget *widget, GdkEventScroll *event, gpointer user_data)
+static gboolean
+on_editor_scroll_event(GtkWidget *widget, GdkEventScroll *event, gpointer user_data)
 {
 	/* Handle scroll events if Shift or Alt is pressed and scroll whole pages instead of a
 	 * few lines only, maybe this could/should be done in Scintilla directly */
@@ -3340,3 +3342,103 @@
 }
 
 
+static void editor_colourise(ScintillaObject *sci)
+{
+	sci_colourise(sci, 0, -1);
+
+	/* now that the current document is colourised, fold points are now accurate,
+	 * so force an update of the current function/tag. */
+	utils_get_current_function(NULL, NULL);
+	ui_update_statusbar(NULL, -1);
+}
+
+
+static gboolean on_editor_expose_event(GtkWidget *widget, GdkEventExpose *event,
+		gpointer user_data)
+{
+	GeanyDocument *doc = user_data;
+
+	if (DOCUMENT(doc)->colourise_needed)
+	{
+		editor_colourise(doc->sci);
+		DOCUMENT(doc)->colourise_needed = FALSE;
+	}
+	return FALSE;	/* propagate event */
+}
+
+
+static void setup_sci_keys(ScintillaObject *sci)
+{
+	/* disable some Scintilla keybindings to be able to redefine them cleanly */
+	sci_clear_cmdkey(sci, 'A' | (SCMOD_CTRL << 16)); /* select all */
+	sci_clear_cmdkey(sci, 'D' | (SCMOD_CTRL << 16)); /* duplicate */
+	sci_clear_cmdkey(sci, 'T' | (SCMOD_CTRL << 16)); /* line transpose */
+	sci_clear_cmdkey(sci, 'T' | (SCMOD_CTRL << 16) | (SCMOD_SHIFT << 16)); /* line copy */
+	sci_clear_cmdkey(sci, 'L' | (SCMOD_CTRL << 16)); /* line cut */
+	sci_clear_cmdkey(sci, 'L' | (SCMOD_CTRL << 16) | (SCMOD_SHIFT << 16)); /* line delete */
+	sci_clear_cmdkey(sci, SCK_UP | (SCMOD_CTRL << 16)); /* scroll line up */
+	sci_clear_cmdkey(sci, SCK_DOWN | (SCMOD_CTRL << 16)); /* scroll line down */
+
+	if (editor_prefs.use_gtk_word_boundaries)
+	{
+		/* use GtkEntry-like word boundaries */
+		sci_assign_cmdkey(sci, SCK_RIGHT | (SCMOD_CTRL << 16), SCI_WORDRIGHTEND);
+		sci_assign_cmdkey(sci, SCK_RIGHT | (SCMOD_CTRL << 16) | (SCMOD_SHIFT << 16), SCI_WORDRIGHTENDEXTEND);
+		sci_assign_cmdkey(sci, SCK_DELETE | (SCMOD_CTRL << 16), SCI_DELWORDRIGHTEND);
+	}
+	sci_assign_cmdkey(sci, SCK_UP | (SCMOD_ALT << 16), SCI_LINESCROLLUP);
+	sci_assign_cmdkey(sci, SCK_DOWN | (SCMOD_ALT << 16), SCI_LINESCROLLDOWN);
+	sci_assign_cmdkey(sci, SCK_UP | (SCMOD_CTRL << 16), SCI_PARAUP);
+	sci_assign_cmdkey(sci, SCK_UP | (SCMOD_CTRL << 16) | (SCMOD_SHIFT << 16), SCI_PARAUPEXTEND);
+	sci_assign_cmdkey(sci, SCK_DOWN | (SCMOD_CTRL << 16), SCI_PARADOWN);
+	sci_assign_cmdkey(sci, SCK_DOWN | (SCMOD_CTRL << 16) | (SCMOD_SHIFT << 16), SCI_PARADOWNEXTEND);
+
+	sci_clear_cmdkey(sci, SCK_BACK | (SCMOD_ALT << 16)); /* clear Alt-Backspace (Undo) */
+}
+
+
+/* Create new editor widget (scintilla).
+ * @note The @c "sci-notify" signal is connected separately. */
+ScintillaObject *editor_create_new_sci(GeanyDocument *doc)
+{
+	ScintillaObject	*sci;
+
+	sci = SCINTILLA(scintilla_new());
+	scintilla_set_id(sci, doc->index);
+
+	gtk_widget_show(GTK_WIDGET(sci));
+
+	sci_set_codepage(sci, SC_CP_UTF8);
+	/*SSM(sci, SCI_SETWRAPSTARTINDENT, 4, 0);*/
+	/* disable scintilla provided popup menu */
+	sci_use_popup(sci, FALSE);
+
+	setup_sci_keys(sci);
+
+	sci_set_tab_indents(sci, editor_prefs.use_tab_to_indent);
+	sci_set_symbol_margin(sci, editor_prefs.show_markers_margin);
+	sci_set_lines_wrapped(sci, editor_prefs.line_wrapping);
+	sci_set_scrollbar_mode(sci, editor_prefs.show_scrollbars);
+	sci_set_caret_policy_x(sci, CARET_JUMPS | CARET_EVEN, 0);
+	/*sci_set_caret_policy_y(sci, CARET_JUMPS | CARET_EVEN, 0);*/
+	SSM(sci, SCI_AUTOCSETSEPARATOR, '\n', 0);
+	/* (dis)allow scrolling past end of document */
+	SSM(sci, SCI_SETENDATLASTLINE, editor_prefs.scroll_stop_at_last_line, 0);
+	SSM(sci, SCI_SETSCROLLWIDTHTRACKING, 1, 0);
+
+	/* signal for insert-key(works without too, but to update the right status bar) */
+	/*g_signal_connect((GtkWidget*) sci, "key-press-event",
+					 G_CALLBACK(keybindings_got_event), GINT_TO_POINTER(new_idx));*/
+	/* signal for the popup menu */
+	g_signal_connect(G_OBJECT(sci), "button-press-event",
+					G_CALLBACK(on_editor_button_press_event), doc);
+	g_signal_connect(G_OBJECT(sci), "scroll-event",
+					G_CALLBACK(on_editor_scroll_event), doc);
+	g_signal_connect(G_OBJECT(sci), "motion-notify-event", G_CALLBACK(on_motion_event), NULL);
+	g_signal_connect(G_OBJECT(sci), "expose-event",
+					G_CALLBACK(on_editor_expose_event), doc);
+
+	return sci;
+}
+
+

Modified: trunk/src/editor.h
===================================================================
--- trunk/src/editor.h	2008-06-20 14:19:57 UTC (rev 2719)
+++ trunk/src/editor.h	2008-06-20 17:10:51 UTC (rev 2720)
@@ -110,8 +110,7 @@
 
 
 
-gboolean on_editor_button_press_event(GtkWidget *widget, GdkEventButton *event,
-	gpointer user_data);
+ScintillaObject *editor_create_new_sci(GeanyDocument *doc);
 
 void on_editor_notification(GtkWidget* editor, gint scn, gpointer lscn, gpointer user_data);
 
@@ -205,6 +204,4 @@
 
 gboolean editor_goto_pos(GeanyDocument *doc, gint pos, gboolean mark);
 
-gboolean on_editor_scroll_event(GtkWidget *widget, GdkEventScroll *event, gpointer user_data);
-
 #endif


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list