/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2011, 2012, 2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/**
* pspp_sheet_selection_get_tree_view:
* @selection: A #PsppSheetSelection
- *
+ *
* Returns the tree view associated with @selection.
- *
+ *
* Return value: A #PsppSheetView
**/
PsppSheetView *
* Returns the number of rows that have been selected in @tree.
*
* Return value: The number of rows selected.
- *
+ *
* Since: 2.2
**/
gint
G_CALLBACK (model_changed),
&stop);
changed_id = g_signal_connect_swapped (selection->tree_view, "notify::model",
- G_CALLBACK (model_changed),
+ G_CALLBACK (model_changed),
&stop);
RANGE_TOWER_FOR_EACH (node, start, selection->tree_view->priv->selected)
GtkTreePath *path)
{
int node;
- GtkTreeSelectMode mode = 0;
+ PsppSheetSelectMode mode = 0;
g_return_if_fail (PSPP_IS_SHEET_SELECTION (selection));
g_return_if_fail (selection->tree_view != NULL);
path,
&node);
- if (node < 0 || pspp_sheet_view_node_is_selected (selection->tree_view, node))
+ if (node < 0 || pspp_sheet_view_node_is_selected (selection->tree_view, node))
return;
if (selection->type == PSPP_SHEET_SELECTION_MULTIPLE ||
selection->type == PSPP_SHEET_SELECTION_RECTANGLE)
- mode = GTK_TREE_SELECT_MODE_TOGGLE;
+ mode = PSPP_SHEET_SELECT_MODE_TOGGLE;
_pspp_sheet_selection_internal_select_node (selection,
node,
path,
&node);
- if (node < 0 || !pspp_sheet_view_node_is_selected (selection->tree_view, node))
+ if (node < 0 || !pspp_sheet_view_node_is_selected (selection->tree_view, node))
return;
_pspp_sheet_selection_internal_select_node (selection,
node,
path,
- GTK_TREE_SELECT_MODE_TOGGLE,
+ PSPP_SHEET_SELECT_MODE_TOGGLE,
TRUE);
}
* pspp_sheet_selection_path_is_selected:
* @selection: A #PsppSheetSelection.
* @path: A #GtkTreePath to check selection on.
- *
+ *
* Returns %TRUE if the row pointed to by @path is currently selected. If @path
* does not point to a valid location, %FALSE is returned
- *
+ *
* Return value: %TRUE if @path is selected.
**/
gboolean
path,
&node);
- if (node < 0 || !pspp_sheet_view_node_is_selected (selection->tree_view, node))
+ if (node < 0 || !pspp_sheet_view_node_is_selected (selection->tree_view, node))
return FALSE;
return TRUE;
* pspp_sheet_selection_iter_is_selected:
* @selection: A #PsppSheetSelection
* @iter: A valid #GtkTreeIter
- *
+ *
* Returns %TRUE if the row at @iter is currently selected.
- *
+ *
* Return value: %TRUE, if @iter is selected
**/
gboolean
if (selection->tree_view->priv->row_count == 0 || selection->tree_view->priv->model == NULL)
return;
-
+
if (pspp_sheet_selection_real_unselect_all (selection))
g_signal_emit (selection, tree_selection_signals[CHANGED], 0);
}
_pspp_sheet_selection_internal_select_node (PsppSheetSelection *selection,
int node,
GtkTreePath *path,
- GtkTreeSelectMode mode,
+ PsppSheetSelectMode mode,
gboolean override_browse_mode)
{
gint dirty = FALSE;
else if (selection->type == PSPP_SHEET_SELECTION_SINGLE &&
anchor_path && gtk_tree_path_compare (path, anchor_path) == 0)
{
- if ((mode & GTK_TREE_SELECT_MODE_TOGGLE) == GTK_TREE_SELECT_MODE_TOGGLE)
+ if ((mode & PSPP_SHEET_SELECT_MODE_TOGGLE) == PSPP_SHEET_SELECT_MODE_TOGGLE)
{
dirty = pspp_sheet_selection_real_unselect_all (selection);
}
else if (selection->type == PSPP_SHEET_SELECTION_MULTIPLE ||
selection->type == PSPP_SHEET_SELECTION_RECTANGLE)
{
- if ((mode & GTK_TREE_SELECT_MODE_EXTEND) == GTK_TREE_SELECT_MODE_EXTEND
+ if ((mode & PSPP_SHEET_SELECT_MODE_EXTEND) == PSPP_SHEET_SELECT_MODE_EXTEND
&& (anchor_path == NULL))
{
if (selection->tree_view->priv->anchor)
gtk_tree_row_reference_new_proxy (G_OBJECT (selection->tree_view), selection->tree_view->priv->model, path);
dirty = pspp_sheet_selection_real_select_node (selection, node, TRUE);
}
- else if ((mode & (GTK_TREE_SELECT_MODE_EXTEND | GTK_TREE_SELECT_MODE_TOGGLE)) == (GTK_TREE_SELECT_MODE_EXTEND | GTK_TREE_SELECT_MODE_TOGGLE))
+ else if ((mode & (PSPP_SHEET_SELECT_MODE_EXTEND | PSPP_SHEET_SELECT_MODE_TOGGLE)) == (PSPP_SHEET_SELECT_MODE_EXTEND | PSPP_SHEET_SELECT_MODE_TOGGLE))
{
pspp_sheet_selection_select_range (selection,
anchor_path,
path);
}
- else if ((mode & GTK_TREE_SELECT_MODE_TOGGLE) == GTK_TREE_SELECT_MODE_TOGGLE)
+ else if ((mode & PSPP_SHEET_SELECT_MODE_TOGGLE) == PSPP_SHEET_SELECT_MODE_TOGGLE)
{
bool selected = pspp_sheet_view_node_is_selected (selection->tree_view, node);
if (selection->tree_view->priv->anchor)
else
dirty |= pspp_sheet_selection_real_select_node (selection, node, TRUE);
}
- else if ((mode & GTK_TREE_SELECT_MODE_EXTEND) == GTK_TREE_SELECT_MODE_EXTEND)
+ else if ((mode & PSPP_SHEET_SELECT_MODE_EXTEND) == PSPP_SHEET_SELECT_MODE_EXTEND)
{
dirty = pspp_sheet_selection_real_unselect_all (selection);
dirty |= pspp_sheet_selection_real_modify_range (selection,
gtk_tree_path_free (anchor_path);
if (dirty)
- g_signal_emit (selection, tree_selection_signals[CHANGED], 0);
+ g_signal_emit (selection, tree_selection_signals[CHANGED], 0);
}
-void
+void
_pspp_sheet_selection_emit_changed (PsppSheetSelection *selection)
{
- g_signal_emit (selection, tree_selection_signals[CHANGED], 0);
+ g_signal_emit (selection, tree_selection_signals[CHANGED], 0);
}
/* NOTE: Any {un,}selection ever done _MUST_ be done through this function!
pspp_sheet_view_node_unselect (selection->tree_view, node);
_pspp_sheet_view_queue_draw_node (selection->tree_view, node, NULL);
-
+
return TRUE;
}