home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2002 April / pcpro0402.iso / essentials / graphics / Gimp / gimp-src-20001226.exe / src / gimp / app / ops_buttons.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-03-03  |  1.8 KB  |  57 lines

  1. /* The GIMP -- an image manipulation program
  2.  * Copyright (C) 1995 Spencer Kimball and Peter Mattis
  3.  *
  4.  * This program is free software; you can redistribute it and/or modify
  5.  * it under the terms of the GNU General Public License as published by
  6.  * the Free Software Foundation; either version 2 of the License, or
  7.  * (at your option) any later version.
  8.  *
  9.  * This program is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  * GNU General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU General Public License
  15.  * along with this program; if not, write to the Free Software
  16.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  17.  */
  18. #ifndef __OPS_BUTTONS_H__
  19. #define __OPS_BUTTONS_H__
  20.  
  21. typedef enum
  22. {
  23.   OPS_BUTTON_MODIFIER_NONE,
  24.   OPS_BUTTON_MODIFIER_SHIFT,
  25.   OPS_BUTTON_MODIFIER_CTRL,
  26.   OPS_BUTTON_MODIFIER_ALT,
  27.   OPS_BUTTON_MODIFIER_SHIFT_CTRL,
  28.   OPS_BUTTON_MODIFIER_LAST
  29. } OpsButtonModifier;
  30.  
  31. typedef enum
  32. {
  33.   OPS_BUTTON_NORMAL,
  34.   OPS_BUTTON_RADIO
  35. } OpsButtonType;
  36.  
  37. typedef struct _OpsButton OpsButton;
  38.  
  39. struct _OpsButton 
  40. {
  41.   gchar         **xpm_data;       /*  xpm data for the button  */
  42.   GtkSignalFunc   callback;       /*  callback function        */
  43.   GtkSignalFunc  *ext_callbacks;  /*  callback functions when
  44.                    *  modifiers are pressed    */
  45.   gchar          *tooltip;
  46.   gchar          *private_tip;
  47.   GtkWidget      *widget;         /*  the button widget        */
  48.   gint            modifier;
  49. };
  50.  
  51. /* Function declarations */
  52.  
  53. GtkWidget * ops_button_box_new (OpsButton     *ops_button,
  54.                 OpsButtonType  ops_type);
  55.  
  56. #endif /* __OPS_BUTTONS_H__ */
  57.