Blame gtk/gtkprinteroption.h

Packit 98cdb6
/* GTK - The GIMP Toolkit
Packit 98cdb6
 * gtkprinteroption.h: printer option
Packit 98cdb6
 * Copyright (C) 2006, Red Hat, Inc.
Packit 98cdb6
 *
Packit 98cdb6
 * This library is free software; you can redistribute it and/or
Packit 98cdb6
 * modify it under the terms of the GNU Lesser General Public
Packit 98cdb6
 * License as published by the Free Software Foundation; either
Packit 98cdb6
 * version 2 of the License, or (at your option) any later version.
Packit 98cdb6
 *
Packit 98cdb6
 * This library is distributed in the hope that it will be useful,
Packit 98cdb6
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 98cdb6
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 98cdb6
 * Lesser General Public License for more details.
Packit 98cdb6
 *
Packit 98cdb6
 * You should have received a copy of the GNU Lesser General Public
Packit 98cdb6
 * License along with this library; if not, write to the
Packit 98cdb6
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Packit 98cdb6
 * Boston, MA 02111-1307, USA.
Packit 98cdb6
 */
Packit 98cdb6
Packit 98cdb6
#ifndef __GTK_PRINTER_OPTION_H__
Packit 98cdb6
#define __GTK_PRINTER_OPTION_H__
Packit 98cdb6
Packit 98cdb6
/* This is a "semi-private" header; it is meant only for
Packit 98cdb6
 * alternate GtkPrintDialog backend modules; no stability guarantees 
Packit 98cdb6
 * are made at this point
Packit 98cdb6
 */
Packit 98cdb6
#ifndef GTK_PRINT_BACKEND_ENABLE_UNSUPPORTED
Packit 98cdb6
#error "GtkPrintBackend is not supported API for general use"
Packit 98cdb6
#endif
Packit 98cdb6
Packit 98cdb6
#include <glib-object.h>
Packit 98cdb6
Packit 98cdb6
G_BEGIN_DECLS
Packit 98cdb6
Packit 98cdb6
#define GTK_TYPE_PRINTER_OPTION             (gtk_printer_option_get_type ())
Packit 98cdb6
#define GTK_PRINTER_OPTION(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PRINTER_OPTION, GtkPrinterOption))
Packit 98cdb6
#define GTK_IS_PRINTER_OPTION(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PRINTER_OPTION))
Packit 98cdb6
Packit 98cdb6
typedef struct _GtkPrinterOption       GtkPrinterOption;
Packit 98cdb6
typedef struct _GtkPrinterOptionClass  GtkPrinterOptionClass;
Packit 98cdb6
Packit 98cdb6
#define GTK_PRINTER_OPTION_GROUP_IMAGE_QUALITY "ImageQuality"
Packit 98cdb6
#define GTK_PRINTER_OPTION_GROUP_FINISHING "Finishing"
Packit 98cdb6
Packit 98cdb6
typedef enum {
Packit 98cdb6
  GTK_PRINTER_OPTION_TYPE_BOOLEAN,
Packit 98cdb6
  GTK_PRINTER_OPTION_TYPE_PICKONE,
Packit 98cdb6
  GTK_PRINTER_OPTION_TYPE_PICKONE_PASSWORD,
Packit 98cdb6
  GTK_PRINTER_OPTION_TYPE_PICKONE_PASSCODE,
Packit 98cdb6
  GTK_PRINTER_OPTION_TYPE_PICKONE_REAL,
Packit 98cdb6
  GTK_PRINTER_OPTION_TYPE_PICKONE_INT,
Packit 98cdb6
  GTK_PRINTER_OPTION_TYPE_PICKONE_STRING,
Packit 98cdb6
  GTK_PRINTER_OPTION_TYPE_ALTERNATIVE,
Packit 98cdb6
  GTK_PRINTER_OPTION_TYPE_STRING,
Packit 98cdb6
  GTK_PRINTER_OPTION_TYPE_FILESAVE
Packit 98cdb6
} GtkPrinterOptionType;
Packit 98cdb6
Packit 98cdb6
struct _GtkPrinterOption
Packit 98cdb6
{
Packit 98cdb6
  GObject parent_instance;
Packit 98cdb6
Packit 98cdb6
  char *name;
Packit 98cdb6
  char *display_text;
Packit 98cdb6
  GtkPrinterOptionType type;
Packit 98cdb6
Packit 98cdb6
  char *value;
Packit 98cdb6
  
Packit 98cdb6
  int num_choices;
Packit 98cdb6
  char **choices;
Packit 98cdb6
  char **choices_display;
Packit 98cdb6
  
Packit 98cdb6
  gboolean activates_default;
Packit 98cdb6
Packit 98cdb6
  gboolean has_conflict;
Packit 98cdb6
  char *group;
Packit 98cdb6
};
Packit 98cdb6
Packit 98cdb6
struct _GtkPrinterOptionClass
Packit 98cdb6
{
Packit 98cdb6
  GObjectClass parent_class;
Packit 98cdb6
Packit 98cdb6
  void (*changed) (GtkPrinterOption *option);
Packit 98cdb6
Packit 98cdb6
  /* Padding for future expansion */
Packit 98cdb6
  void (*_gtk_reserved1) (void);
Packit 98cdb6
  void (*_gtk_reserved2) (void);
Packit 98cdb6
  void (*_gtk_reserved3) (void);
Packit 98cdb6
  void (*_gtk_reserved4) (void);
Packit 98cdb6
  void (*_gtk_reserved5) (void);
Packit 98cdb6
  void (*_gtk_reserved6) (void);
Packit 98cdb6
  void (*_gtk_reserved7) (void);
Packit 98cdb6
};
Packit 98cdb6
Packit 98cdb6
GType   gtk_printer_option_get_type       (void) G_GNUC_CONST;
Packit 98cdb6
Packit 98cdb6
GtkPrinterOption *gtk_printer_option_new                    (const char           *name,
Packit 98cdb6
							     const char           *display_text,
Packit 98cdb6
							     GtkPrinterOptionType  type);
Packit 98cdb6
void              gtk_printer_option_set                    (GtkPrinterOption     *option,
Packit 98cdb6
							     const char           *value);
Packit 98cdb6
void              gtk_printer_option_set_has_conflict       (GtkPrinterOption     *option,
Packit 98cdb6
							     gboolean              has_conflict);
Packit 98cdb6
void              gtk_printer_option_clear_has_conflict     (GtkPrinterOption     *option);
Packit 98cdb6
void              gtk_printer_option_set_boolean            (GtkPrinterOption     *option,
Packit 98cdb6
							     gboolean              value);
Packit 98cdb6
void              gtk_printer_option_allocate_choices       (GtkPrinterOption     *option,
Packit 98cdb6
							     int                   num);
Packit 98cdb6
void              gtk_printer_option_choices_from_array     (GtkPrinterOption     *option,
Packit 98cdb6
							     int                   num_choices,
Packit 98cdb6
							     char                 *choices[],
Packit 98cdb6
							     char                 *choices_display[]);
Packit 98cdb6
gboolean          gtk_printer_option_has_choice             (GtkPrinterOption     *option,
Packit 98cdb6
							    const char           *choice);
Packit 98cdb6
void              gtk_printer_option_set_activates_default (GtkPrinterOption     *option,
Packit 98cdb6
							    gboolean              activates);
Packit 98cdb6
gboolean          gtk_printer_option_get_activates_default (GtkPrinterOption     *option);
Packit 98cdb6
Packit 98cdb6
Packit 98cdb6
G_END_DECLS
Packit 98cdb6
Packit 98cdb6
#endif /* __GTK_PRINTER_OPTION_H__ */
Packit 98cdb6
Packit 98cdb6