// -*- c++ -*-
/*  Generated by gensig from fontselection.gen_h. DO NOT MODIFY!!! */
#ifndef GTKMM_FONTSELECTION_HEADER
#define GTKMM_FONTSELECTION_HEADER
/* $Id: fontselection.gen_h,v 1.22.2.2 1999/04/06 16:40:36 terop Exp $ */

/* fontselection.h
 * 
 * Copyright (C) 1998-1999 
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 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
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this library; if not, write to the Free
 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#include <gtk--/window.h>
#include <gtk--/entry.h>
#include <gtk--/label.h>
#include <gtk--/box.h>
#include <gtk--/button.h>
#include <gtk--/clist.h>
#include <gtk--/radiobutton.h>
#include <gtk--/notebook.h>
#include <gtk/gtkfontsel.h>

class Gtk_FontSelection_Class;
class Gtk_FontSelectionDialog_Class;
#line 32 "fontselection.gen_h"

class Gtk_FontSelection : public Gtk_Notebook {
public:
protected:
  typedef Gtk_FontSelection_Class    CppClassType;
  typedef GtkFontSelection           BaseObjectType;
  typedef GtkFontSelectionClass      BaseClassType;

  virtual void *get_parent_class();

private:
  friend CppClassType;
  static CppClassType font_selection_class; 
  GtkType get_type(); 

public:


  Gtk_FontSelection();
  Gtk_FontSelection(GtkFontSelection *castitem);
  ~Gtk_FontSelection();

  string   get_font_name       () const;
  Gdk_Font get_font            () const;
  void     set_font_name       (const string &fontname);

  string   get_preview_text    () const;
  void     set_preview_text    (const string &fontname);

  void     set_filter          (GtkFontFilterType filter_type,
				GtkFontType	font_type,
				const vector<string>	&foundries,
				const vector<string>	&weights,
				const vector<string>	&slants,
				const vector<string>	&setwidths,
				const vector<string>	&spacings,
				const vector<string>	&charsets);
  

  Gtk_Label* get_font_label() { return font_label_; }
  Gtk_Entry* get_font_entry() { return font_entry_; }
  Gtk_CList* get_font_clist() { return font_clist_; }
  Gtk_Entry* get_font_style_entry() { return font_style_entry_; }
  Gtk_CList* get_font_style_clist() { return font_style_clist_; }
  Gtk_Entry* get_size_entry() { return size_entry_; }
  Gtk_CList* get_size_clist() { return size_clist_; }
  Gtk_RadioButton* get_pixels_button() { return pixels_button_; }
  Gtk_RadioButton* get_points_button() { return points_button_; }
  Gtk_Button* get_filter_button() { return filter_button_; }
  Gtk_CheckButton* get_scaled_bitmaps_button() { return scaled_bitmaps_button_; }
  Gtk_Entry* get_preview_entry() { return preview_entry_; }
  Gtk_Label* get_message_label() { return message_label_; }
  Gtk_CList* get_info_clist() { return info_clist_; }
  Gtk_Entry* get_requested_font_name() { return requested_font_name_; }
  Gtk_Entry* get_actual_font_name() { return actual_font_name_; }
  Gtk_CList** get_filter_clists() { return filter_clists_; }

  const Gtk_Label* get_font_label() const { return font_label_; }
  const Gtk_Entry* get_font_entry() const { return font_entry_; }
  const Gtk_CList* get_font_clist() const { return font_clist_; }
  const Gtk_Entry* get_font_style_entry() const { return font_style_entry_; }
  const Gtk_CList* get_font_style_clist() const { return font_style_clist_; }
  const Gtk_Entry* get_size_entry() const { return size_entry_; }
  const Gtk_CList* get_size_clist() const { return size_clist_; }
  const Gtk_RadioButton* get_pixels_button() const { return pixels_button_; }
  const Gtk_RadioButton* get_points_button() const { return points_button_; }
  const Gtk_Button* get_filter_button() const { return filter_button_; }
  const Gtk_CheckButton* get_scaled_bitmaps_button() const { return scaled_bitmaps_button_; }
  const Gtk_Entry* get_preview_entry() const { return preview_entry_; }
  const Gtk_Label* get_message_label() const { return message_label_; }
  const Gtk_CList* get_info_clist() const { return info_clist_; }
  const Gtk_Entry* get_requested_font_name() const { return requested_font_name_; }
  const Gtk_Entry* get_actual_font_name() const { return actual_font_name_; }
  const Gtk_CList*const * get_filter_clists() const { return filter_clists_; }

protected:
  /* impl functions */
public:
  GtkFontSelection* gtkobj() { return GTK_FONT_SELECTION(gtkobject); }
  const GtkFontSelection* gtkobj() const { return GTK_FONT_SELECTION(gtkobject); }
  static bool isGtkFontSelection(Gtk_Object *checkcast);
#line 94 "fontselection.gen_h"


protected:
  // we need to have these as pointers, because on digital unix,
  // it gives -fhuge-objects error in compiling gtk--...
  Gtk_Label *font_label_;
  Gtk_Entry *font_entry_;
  Gtk_CList *font_clist_;
  Gtk_Entry *font_style_entry_;
  Gtk_CList *font_style_clist_;
  Gtk_Entry *size_entry_;
  Gtk_CList *size_clist_;
  Gtk_RadioButton *pixels_button_, *points_button_;
  Gtk_Button *filter_button_;
  Gtk_CheckButton *scaled_bitmaps_button_;
  Gtk_Entry *preview_entry_;
  Gtk_Label *message_label_;
  Gtk_CList *info_clist_;
  Gtk_Entry *requested_font_name_, *actual_font_name_;
  Gtk_CList *filter_clists_[GTK_NUM_FONT_PROPERTIES];
};

class Gtk_FontSelectionDialog : public Gtk_Window
{
protected:
  typedef Gtk_FontSelectionDialog_Class    CppClassType;
  typedef GtkFontSelectionDialog           BaseObjectType;
  typedef GtkFontSelectionDialogClass      BaseClassType;

  virtual void *get_parent_class();

private:
  friend CppClassType;
  static CppClassType font_selection_dialog_class; 
  GtkType get_type(); 

public:


  Gtk_FontSelectionDialog(const _gtk_string &title);
  Gtk_FontSelectionDialog(GtkFontSelectionDialog *castitem);

  void     set_font_name   (const string &fontname);
  string   get_font_name   () const;
  Gdk_Font get_font        () const;
  void     set_preview_text(const string &fontname);
  string   get_preview_text() const;

  void     set_filter      (GtkFontFilterType filter_type,
			    GtkFontType		font_type,
			    const vector<string>	&foundries,
			    const vector<string>	&weights,
			    const vector<string>	&slants,
			    const vector<string>	&setwidths,
			    const vector<string>	&spacings,
			    const vector<string>	&charsets);

  Gtk_FontSelection* get_font_selection() { return &fontsel_; }
  Gtk_Button* get_ok_button() { return &ok_button_; }
  Gtk_Button* get_apply_button() { return &apply_button_; }
  Gtk_Button* get_cancel_button() { return &cancel_button_; }

  const Gtk_FontSelection* get_font_selection() const { return &fontsel_; }
  const Gtk_Button* get_ok_button() const { return &ok_button_; }
  const Gtk_Button* get_apply_button() const { return &apply_button_; }
  const Gtk_Button* get_cancel_button() const { return &cancel_button_; }

protected:
  /* impl functions */
public:
  GtkFontSelectionDialog* gtkobj() { return GTK_FONT_SELECTION_DIALOG(gtkobject); }
  const GtkFontSelectionDialog* gtkobj() const { return GTK_FONT_SELECTION_DIALOG(gtkobject); }
  static bool isGtkFontSelectionDialog(Gtk_Object *checkcast);
#line 148 "fontselection.gen_h"


protected:
  Gtk_FontSelection fontsel_;
  Gtk_Button ok_button_, apply_button_, cancel_button_;
};


#endif
