/* LIBPIKA - The PIKA Library
 * Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
 *
 * pikawidgetstypes.h
 *
 * 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/>.
 */

#ifndef __PIKA_WIDGETS_TYPES_H__
#define __PIKA_WIDGETS_TYPES_H__

#include <libpikaconfig/pikaconfigtypes.h>

#include <libpikawidgets/pikawidgetsenums.h>

G_BEGIN_DECLS

/* For information look into the html documentation */


typedef struct _PikaBrowser                   PikaBrowser;
typedef struct _PikaBusyBox                   PikaBusyBox;
typedef struct _PikaButton                    PikaButton;
typedef struct _PikaCellRendererColor         PikaCellRendererColor;
typedef struct _PikaCellRendererToggle        PikaCellRendererToggle;
typedef struct _PikaChainButton               PikaChainButton;
typedef struct _PikaColorArea                 PikaColorArea;
typedef struct _PikaColorButton               PikaColorButton;
typedef struct _PikaColorDisplay              PikaColorDisplay;
typedef struct _PikaColorDisplayStack         PikaColorDisplayStack;
typedef struct _PikaColorHexEntry             PikaColorHexEntry;
typedef struct _PikaColorNotebook             PikaColorNotebook;
typedef struct _PikaColorProfileChooserDialog PikaColorProfileChooserDialog;
typedef struct _PikaColorProfileComboBox      PikaColorProfileComboBox;
typedef struct _PikaColorProfileStore         PikaColorProfileStore;
typedef struct _PikaColorProfileView          PikaColorProfileView;
typedef struct _PikaColorScale                PikaColorScale;
typedef struct _PikaColorScaleEntry           PikaColorScaleEntry;
typedef struct _PikaColorScales               PikaColorScales;
typedef struct _PikaColorSelector             PikaColorSelector;
typedef struct _PikaColorSelect               PikaColorSelect;
typedef struct _PikaColorSelection            PikaColorSelection;
typedef struct _PikaController                PikaController;
typedef struct _PikaDialog                    PikaDialog;
typedef struct _PikaEnumStore                 PikaEnumStore;
typedef struct _PikaEnumComboBox              PikaEnumComboBox;
typedef struct _PikaEnumLabel                 PikaEnumLabel;
typedef struct _PikaFileEntry                 PikaFileEntry;
typedef struct _PikaFrame                     PikaFrame;
typedef struct _PikaHintBox                   PikaHintBox;
typedef struct _PikaIntComboBox               PikaIntComboBox;
typedef struct _PikaIntRadioFrame             PikaIntRadioFrame;
typedef struct _PikaIntStore                  PikaIntStore;
typedef struct _PikaLabeled                   PikaLabeled;
typedef struct _PikaLabelColor                PikaLabelColor;
typedef struct _PikaLabelEntry                PikaLabelEntry;
typedef struct _PikaLabelSpin                 PikaLabelSpin;
typedef struct _PikaMemsizeEntry              PikaMemsizeEntry;
typedef struct _PikaNumberPairEntry           PikaNumberPairEntry;
typedef struct _PikaOffsetArea                PikaOffsetArea;
typedef struct _PikaPageSelector              PikaPageSelector;
typedef struct _PikaPathEditor                PikaPathEditor;
typedef struct _PikaPickButton                PikaPickButton;
typedef struct _PikaPreview                   PikaPreview;
typedef struct _PikaPreviewArea               PikaPreviewArea;
typedef struct _PikaRuler                     PikaRuler;
typedef struct _PikaScaleEntry                PikaScaleEntry;
typedef struct _PikaScrolledPreview           PikaScrolledPreview;
typedef struct _PikaSizeEntry                 PikaSizeEntry;
typedef struct _PikaSpinButton                PikaSpinButton;
typedef struct _PikaStringComboBox            PikaStringComboBox;
typedef struct _PikaUnitComboBox              PikaUnitComboBox;
typedef struct _PikaUnitStore                 PikaUnitStore;
typedef struct _PikaZoomModel                 PikaZoomModel;


/**
 * PikaHelpFunc:
 * @help_id:   the help ID
 * @help_data: the help user data
 *
 * This is the prototype for all functions you pass as @help_func to
 * the various PIKA dialog constructors like pika_dialog_new(),
 * pika_query_int_box() etc.
 *
 * Help IDs are textual identifiers the help system uses to figure
 * which page to display.
 *
 * All these dialog constructors functions call pika_help_connect().
 *
 * In most cases it will be ok to use pika_standard_help_func() which
 * does nothing but passing the @help_id string to pika_help(). If
 * your plug-in needs some more sophisticated help handling you can
 * provide your own @help_func which has to call pika_help() to
 * actually display the help.
 **/
typedef void (* PikaHelpFunc) (const gchar *help_id,
                               gpointer     help_data);


G_END_DECLS

#endif /* __PIKA_WIDGETS_TYPES_H__ */
