gnumeric r16645 - in trunk: . samples src src/dialogs



Author: jody
Date: Sun Jun 22 19:33:49 2008
New Revision: 16645
URL: http://svn.gnome.org/viewvc/gnumeric?rev=16645&view=rev

Log:
    * add some tests for OFFSET [#497294]
    * Some initial work on range sel cursors.
    * start ability to edit a shared link individually


Modified:
   trunk/ChangeLog
   trunk/NEWS
   trunk/samples/arrays.xls
   trunk/src/dialogs/dialog-hyperlink.c
   trunk/src/gnm-pane.c
   trunk/src/item-cursor.c
   trunk/src/item-cursor.h

Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS	(original)
+++ trunk/NEWS	Sun Jun 22 19:33:49 2008
@@ -173,6 +173,8 @@
 	* Update the .gnumeric schema to handle modern content.  [#499378]
 	* Make xlsx import more defensive against unsupported bits.
 	* Fix xlsx round trip of margins.  [#499377]
+	* .gnumeric i/o for GridColour.
+	* Support enter_moves_dir == NONE.
 
 Morten:
 	* Fix crash in dependency code for named expressions.  [#498347]

Modified: trunk/samples/arrays.xls
==============================================================================
Binary files. No diff available.

Modified: trunk/src/dialogs/dialog-hyperlink.c
==============================================================================
--- trunk/src/dialogs/dialog-hyperlink.c	(original)
+++ trunk/src/dialogs/dialog-hyperlink.c	Sun Jun 22 19:33:49 2008
@@ -65,6 +65,7 @@
 	GtkLabel  *type_descriptor;
 	GnmExprEntry *internal_link_ee;
 	GnmHLink  *link;
+	GnmHLink  *src_link;
 	gboolean   is_new;
 } HyperlinkState;
 
@@ -86,7 +87,7 @@
 static void
 dhl_set_tip (HyperlinkState* state)
 {
-	const char* tip = gnm_hlink_get_tip (state->link);
+	char const * tip = gnm_hlink_get_tip (state->link);
 
 	if (tip) {
 		GtkWidget *w = glade_xml_get_widget (state->gui, "tip-entry");
@@ -282,8 +283,8 @@
 dhl_set_target (HyperlinkState* state)
 {
 	unsigned i;
-	const char* const target = gnm_hlink_get_target (state->link);
-	const char* type_name;
+	char const * const target = gnm_hlink_get_target (state->link);
+	char const * type_name;
 
 	if (target) {
 		type_name = G_OBJECT_TYPE_NAME (state->link);
@@ -301,7 +302,7 @@
 dhl_get_target (HyperlinkState *state, gboolean *success)
 {
 	unsigned i;
-	const char *type_name = G_OBJECT_TYPE_NAME (state->link);
+	char const *type_name = G_OBJECT_TYPE_NAME (state->link);
 
 	*success = FALSE;
 	for (i = 0 ; i < G_N_ELEMENTS (type); i++) {
@@ -342,14 +343,14 @@
 		gnm_style_set_font_uline (style, UNDERLINE_SINGLE);
 		gnm_style_set_font_color (style, style_color_new_name ("blue"));
 
-		if (state->is_new)
+		if (NULL == state->src_link)
 			cmdname = _("Add Hyperlink");
 		else
 			cmdname = _("Edit Hyperlink");
 		cmd_selection_format (WORKBOOK_CONTROL (state->wbcg), style,
 				      NULL, cmdname);
 		g_free (target);
-	} else if (!state->is_new) {
+	} else if (NULL != state->src_link) {
 		style = gnm_style_new ();
 		gnm_style_set_hlink (style, NULL);
 		cmdname = _("Remove Hyperlink");

Modified: trunk/src/gnm-pane.c
==============================================================================
--- trunk/src/gnm-pane.c	(original)
+++ trunk/src/gnm-pane.c	Sun Jun 22 19:33:49 2008
@@ -2256,8 +2256,8 @@
 			FOO_CANVAS_GROUP (FOO_CANVAS (pane)->root),
 			item_cursor_get_type (),
 			"SheetControlGUI",	pane->simple.scg,
-			"style",		ITEM_CURSOR_BLOCK,
-			"color",		"red",
+			"style",		ITEM_CURSOR_EXPR_RANGE,
+			"color",		"blue",
 			NULL);
 
 	item_cursor_bound_set (pane->cursor.expr_range, r);

Modified: trunk/src/item-cursor.c
==============================================================================
--- trunk/src/item-cursor.c	(original)
+++ trunk/src/item-cursor.c	Sun Jun 22 19:33:49 2008
@@ -271,9 +271,9 @@
 		back          = &gs_white;
 		break;
 
-	case ITEM_CURSOR_BLOCK:
+	case ITEM_CURSOR_EXPR_RANGE:
 		draw_center   = TRUE;
-		draw_thick    = 3;
+		draw_thick    = (item->canvas->current_item == item) ? 3 : 2;
 		draw_xor      = FALSE;
 		break;
 
@@ -1284,14 +1284,26 @@
 }
 
 static gint
+item_cursor_expr_range_event (FooCanvasItem *item, GdkEvent *event)
+{
+	switch (event->type) {
+	case GDK_ENTER_NOTIFY:
+		gnm_widget_set_cursor_type (GTK_WIDGET (item->canvas), GDK_ARROW);
+		/* fall through */
+	case GDK_LEAVE_NOTIFY:
+		foo_canvas_item_request_redraw (item); /* Erase the old cursor */
+		break;
+	default :
+		break;
+	}
+	return FALSE;
+}
+
+static gint
 item_cursor_event (FooCanvasItem *item, GdkEvent *event)
 {
 	ItemCursor *ic = ITEM_CURSOR (item);
 
-	/* While editing nothing should be draggable */
-	if (wbcg_is_editing (scg_wbcg (ic->scg)))
-		return TRUE;
-
 #if 0
 	switch (event->type)
 	{
@@ -1302,6 +1314,13 @@
 	    break;
 	}
 #endif
+	if (ic->style == ITEM_CURSOR_EXPR_RANGE)
+		return item_cursor_expr_range_event (item, event);
+
+	/* While editing nothing should be draggable */
+	if (wbcg_is_editing (scg_wbcg (ic->scg)))
+		return TRUE;
+
 	switch (ic->style) {
 	case ITEM_CURSOR_ANTED:
 		g_warning ("Animated cursors should not receive events, "

Modified: trunk/src/item-cursor.h
==============================================================================
--- trunk/src/item-cursor.h	(original)
+++ trunk/src/item-cursor.h	Sun Jun 22 19:33:49 2008
@@ -15,7 +15,7 @@
 	ITEM_CURSOR_ANTED,
 	ITEM_CURSOR_AUTOFILL,
 	ITEM_CURSOR_DRAG,
-	ITEM_CURSOR_BLOCK
+	ITEM_CURSOR_EXPR_RANGE
 } ItemCursorStyle;
 
 GType item_cursor_get_type (void);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]