PIKApp/libpikawidgets/pikaquerybox.h

186 lines
8.2 KiB
C
Raw Permalink Normal View History

2023-09-26 00:35:21 +02:00
/* LIBPIKA - The PIKA Library
* Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
*
* pikaquerybox.h
* Copyright (C) 1999-2000 Michael Natterer <mitch@gimp.org>
*
* This library is free software: you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <https://www.gnu.org/licenses/>.
*/
#if !defined (__PIKA_WIDGETS_H_INSIDE__) && !defined (PIKA_WIDGETS_COMPILATION)
#error "Only <libpikawidgets/pikawidgets.h> can be included directly."
#endif
#ifndef __PIKA_QUERY_BOX_H__
#define __PIKA_QUERY_BOX_H__
G_BEGIN_DECLS
/* For information look into the C source or the html documentation */
/**
* PikaQueryStringCallback:
* @query_box: The query box.
* @string: The entered string.
* @data: (closure): user data.
*
* Note that you must not g_free() the passed string.
**/
typedef void (* PikaQueryStringCallback) (GtkWidget *query_box,
const gchar *string,
gpointer data);
/**
* PikaQueryIntCallback:
* @query_box: The query box.
* @value: The entered integer value.
* @data: (closure): user data.
*
* The callback for an int query box.
**/
typedef void (* PikaQueryIntCallback) (GtkWidget *query_box,
gint value,
gpointer data);
/**
* PikaQueryDoubleCallback:
* @query_box: The query box.
* @value: The entered double value.
* @data: (closure): user data.
*
* The callback for a double query box.
**/
typedef void (* PikaQueryDoubleCallback) (GtkWidget *query_box,
gdouble value,
gpointer data);
/**
* PikaQuerySizeCallback:
* @query_box: The query box.
* @size: The entered size in pixels.
* @unit: The selected unit from the #PikaUnitMenu.
* @data: (closure): user data.
*
* The callback for a size query box.
**/
typedef void (* PikaQuerySizeCallback) (GtkWidget *query_box,
gdouble size,
PikaUnit unit,
gpointer data);
/**
* PikaQueryBooleanCallback:
* @query_box: The query box.
* @value: The entered boolean value.
* @data: (closure): user data.
*
* The callback for a boolean query box.
**/
typedef void (* PikaQueryBooleanCallback) (GtkWidget *query_box,
gboolean value,
gpointer data);
/**
* PIKA_QUERY_BOX_VBOX:
* @qbox: The query box.
*
* A macro to access the vertical #GtkBox in a #libpikawidgets-pikaquerybox.
* Useful if you want to add more widgets.
**/
#define PIKA_QUERY_BOX_VBOX(qbox) g_object_get_data (G_OBJECT (qbox), \
"pika-query-box-vbox")
/* some simple query dialogs */
GtkWidget * pika_query_string_box (const gchar *title,
GtkWidget *parent,
PikaHelpFunc help_func,
const gchar *help_id,
const gchar *message,
const gchar *initial,
GObject *object,
const gchar *signal,
PikaQueryStringCallback callback,
gpointer data,
GDestroyNotify data_destroy);
GtkWidget * pika_query_int_box (const gchar *title,
GtkWidget *parent,
PikaHelpFunc help_func,
const gchar *help_id,
const gchar *message,
gint initial,
gint lower,
gint upper,
GObject *object,
const gchar *signal,
PikaQueryIntCallback callback,
gpointer data,
GDestroyNotify data_destroy);
GtkWidget * pika_query_double_box (const gchar *title,
GtkWidget *parent,
PikaHelpFunc help_func,
const gchar *help_id,
const gchar *message,
gdouble initial,
gdouble lower,
gdouble upper,
gint digits,
GObject *object,
const gchar *signal,
PikaQueryDoubleCallback callback,
gpointer data,
GDestroyNotify data_destroy);
GtkWidget * pika_query_size_box (const gchar *title,
GtkWidget *parent,
PikaHelpFunc help_func,
const gchar *help_id,
const gchar *message,
gdouble initial,
gdouble lower,
gdouble upper,
gint digits,
PikaUnit unit,
gdouble resolution,
gboolean dot_for_dot,
GObject *object,
const gchar *signal,
PikaQuerySizeCallback callback,
gpointer data,
GDestroyNotify data_destroy);
GtkWidget * pika_query_boolean_box (const gchar *title,
GtkWidget *parent,
PikaHelpFunc help_func,
const gchar *help_id,
const gchar *icon_name,
const gchar *message,
const gchar *true_button,
const gchar *false_button,
GObject *object,
const gchar *signal,
PikaQueryBooleanCallback callback,
gpointer data,
GDestroyNotify data_destroy);
G_END_DECLS
#endif /* __PIKA_QUERY_BOX_H__ */