/* PIKA - Photo and Image Kooker Application * a rebranding of The GNU Image Manipulation Program (created with heckimp) * A derived work which may be trivial. However, any changes may be (C)2023 by Aldercone Studio * * Original copyright, applying to most contents (license remains unchanged): * Copyright (C) 1995 Spencer Kimball and Peter Mattis * * pikaeditor.h * Copyright (C) 2002 Michael Natterer * * 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 . */ #ifndef __PIKA_EDITOR_H__ #define __PIKA_EDITOR_H__ #define PIKA_TYPE_EDITOR (pika_editor_get_type ()) #define PIKA_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PIKA_TYPE_EDITOR, PikaEditor)) #define PIKA_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PIKA_TYPE_EDITOR, PikaEditorClass)) #define PIKA_IS_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PIKA_TYPE_EDITOR)) #define PIKA_IS_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PIKA_TYPE_EDITOR)) #define PIKA_EDITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PIKA_TYPE_EDITOR, PikaEditorClass)) typedef struct _PikaEditorClass PikaEditorClass; typedef struct _PikaEditorPrivate PikaEditorPrivate; struct _PikaEditor { GtkBox parent_instance; PikaEditorPrivate *priv; }; struct _PikaEditorClass { GtkBoxClass parent_class; }; GType pika_editor_get_type (void) G_GNUC_CONST; GtkWidget * pika_editor_new (void); void pika_editor_create_menu (PikaEditor *editor, PikaMenuFactory *menu_factory, const gchar *menu_identifier, const gchar *ui_path, gpointer popup_data); gboolean pika_editor_popup_menu (PikaEditor *editor, PikaMenuPositionFunc position_func, gpointer position_data); gboolean pika_editor_popup_menu_at_pointer (PikaEditor *editor, const GdkEvent *trigger_event); gboolean pika_editor_popup_menu_at_rect (PikaEditor *editor, GdkWindow *window, const GdkRectangle *rect, GdkGravity rect_anchor, GdkGravity menu_anchor, const GdkEvent *trigger_event); GtkWidget * pika_editor_add_button (PikaEditor *editor, const gchar *icon_name, const gchar *tooltip, const gchar *help_id, GCallback callback, GCallback extended_callback, GObject *callback_data); GtkWidget * pika_editor_add_icon_box (PikaEditor *editor, GType enum_type, const gchar *icon_prefix, GCallback callback, gpointer callback_data); GtkWidget * pika_editor_add_action_button (PikaEditor *editor, const gchar *group_name, const gchar *action_name, ...) G_GNUC_NULL_TERMINATED; void pika_editor_set_action_sensitive (PikaEditor *editor, const gchar *group_name, const gchar *action_name, gboolean sensitive, const gchar *reason); void pika_editor_set_show_name (PikaEditor *editor, gboolean show); void pika_editor_set_name (PikaEditor *editor, const gchar *name); void pika_editor_set_box_style (PikaEditor *editor, GtkBox *box); PikaUIManager * pika_editor_get_ui_manager (PikaEditor *editor); GtkBox * pika_editor_get_button_box (PikaEditor *editor); PikaMenuFactory * pika_editor_get_menu_factory (PikaEditor *editor); gpointer * pika_editor_get_popup_data (PikaEditor *editor); gchar * pika_editor_get_ui_path (PikaEditor *editor); #endif /* __PIKA_EDITOR_H__ */