app/actions/view-actions.c added actions and callbacks for scrolling the

2004-07-07  Michael Natterer  <mitch@gimp.org>

	* app/actions/view-actions.c
	* app/actions/view-commands.[ch]: added actions and callbacks for
	scrolling the view. Not used in menus but useful for controllers.
This commit is contained in:
Michael Natterer 2004-07-07 01:15:41 +00:00 committed by Michael Natterer
parent 9f25f8608b
commit 2086cf17cc
4 changed files with 134 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2004-07-07 Michael Natterer <mitch@gimp.org>
* app/actions/view-actions.c
* app/actions/view-commands.[ch]: added actions and callbacks for
scrolling the view. Not used in menus but useful for controllers.
2004-07-07 Sven Neumann <sven@gimp.org>
* app/tools/gimpeditselectiontool.c

View File

@ -275,6 +275,70 @@ static GimpEnumActionEntry view_padding_color_actions[] =
GIMP_HELP_VIEW_PADDING_COLOR }
};
static GimpEnumActionEntry view_scroll_horizontal_actions[] =
{
{ "view-scroll-horizontal", NULL,
"Set horizontal scroll offset", NULL, NULL,
GIMP_ACTION_SELECT_SET,
NULL },
{ "view-scroll-left-border", NULL,
"Scroll to left border", NULL, NULL,
GIMP_ACTION_SELECT_FIRST,
NULL },
{ "view-scroll-right-border", NULL,
"Scroll to right border", NULL, NULL,
GIMP_ACTION_SELECT_LAST,
NULL },
{ "view-scroll-left", NULL,
"Scroll left", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS,
NULL },
{ "view-scroll-right", NULL,
"Scroll right", NULL, NULL,
GIMP_ACTION_SELECT_NEXT,
NULL },
{ "view-scroll-page-left", NULL,
"Scroll page left", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS,
NULL },
{ "view-scroll-page-right", NULL,
"Scroll page right", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_NEXT,
NULL }
};
static GimpEnumActionEntry view_scroll_vertical_actions[] =
{
{ "view-scroll-vertical", NULL,
"Set vertical scroll offset", NULL, NULL,
GIMP_ACTION_SELECT_SET,
NULL },
{ "view-scroll-top-border", NULL,
"Scroll to top border", NULL, NULL,
GIMP_ACTION_SELECT_FIRST,
NULL },
{ "view-scroll-bottom-border", NULL,
"Scroll to bottom border", NULL, NULL,
GIMP_ACTION_SELECT_LAST,
NULL },
{ "view-scroll-up", NULL,
"Scroll up", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS,
NULL },
{ "view-scroll-down", NULL,
"Scroll down", NULL, NULL,
GIMP_ACTION_SELECT_NEXT,
NULL },
{ "view-scroll-page-up", NULL,
"Scroll page up", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS,
NULL },
{ "view-scroll-page-down", NULL,
"Scroll page down", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_NEXT,
NULL }
};
void
view_actions_setup (GimpActionGroup *group)
@ -300,6 +364,16 @@ view_actions_setup (GimpActionGroup *group)
G_N_ELEMENTS (view_padding_color_actions),
G_CALLBACK (view_padding_color_cmd_callback));
gimp_action_group_add_enum_actions (group,
view_scroll_horizontal_actions,
G_N_ELEMENTS (view_scroll_horizontal_actions),
G_CALLBACK (view_scroll_horizontal_cmd_callback));
gimp_action_group_add_enum_actions (group,
view_scroll_vertical_actions,
G_N_ELEMENTS (view_scroll_vertical_actions),
G_CALLBACK (view_scroll_vertical_cmd_callback));
/* connect "activate" of view-zoom-other manually so it can be
* selected even if it's the active item of the radio group
*/

View File

@ -200,6 +200,52 @@ view_dot_for_dot_cmd_callback (GtkAction *action,
}
}
void
view_scroll_horizontal_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
gdouble offset;
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
offset = action_select_value ((GimpActionSelectType) value,
shell->hsbdata->value,
shell->hsbdata->lower,
shell->hsbdata->upper -
shell->hsbdata->page_size,
shell->hsbdata->step_increment,
shell->hsbdata->page_increment,
FALSE);
gtk_adjustment_set_value (shell->hsbdata, offset);
}
void
view_scroll_vertical_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
gdouble offset;
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
offset = action_select_value ((GimpActionSelectType) value,
shell->vsbdata->value,
shell->vsbdata->lower,
shell->vsbdata->upper -
shell->vsbdata->page_size,
shell->vsbdata->step_increment,
shell->vsbdata->page_increment,
FALSE);
gtk_adjustment_set_value (shell->vsbdata, offset);
}
void
view_info_window_cmd_callback (GtkAction *action,
gpointer data)

View File

@ -40,6 +40,14 @@ void view_zoom_other_cmd_callback (GtkAction *action,
gpointer data);
void view_dot_for_dot_cmd_callback (GtkAction *action,
gpointer data);
void view_scroll_horizontal_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void view_scroll_vertical_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void view_info_window_cmd_callback (GtkAction *action,
gpointer data);
void view_navigation_window_cmd_callback (GtkAction *action,