Gimp/app/widgets/gimpwindow.h
Michael Natterer 5880685472 Bug 675549 - image region does not have focus unless clicked on
We cannot simply randomy move the focus from e.g. a text entry back to
the canvas. Instead introduce global handling of "Escape" and a
"primary_focus_widget" that is always set the the image window's
active canvas. When Escape is pressed, move the focus to that primary
focus widget, or beep if it is already there. Text widgets still get
the key events before that logic and can consume the Escape.
2013-04-09 15:41:20 +02:00

54 lines
1.9 KiB
C

/* GIMP - The GNU Image Manipulation Program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* gimpwindow.h
*
* 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
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __GIMP_WINDOW_H__
#define __GIMP_WINDOW_H__
#define GIMP_TYPE_WINDOW (gimp_window_get_type ())
#define GIMP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_WINDOW, GimpWindow))
#define GIMP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_WINDOW, GimpWindowClass))
#define GIMP_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_WINDOW))
#define GIMP_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_WINDOW))
#define GIMP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_WINDOW, GimpWindowClass))
typedef struct _GimpWindowClass GimpWindowClass;
struct _GimpWindow
{
GtkWindow parent_instance;
GtkWidget *primary_focus_widget;
};
struct _GimpWindowClass
{
GtkWindowClass parent_class;
};
GType gimp_window_get_type (void) G_GNUC_CONST;
void gimp_window_set_primary_focus_widget (GimpWindow *window,
GtkWidget *primary_focus);
GtkWidget * gimp_window_get_primary_focus_widget (GimpWindow *window);
#endif /* __GIMP_WINDOW_H__ */