// -*- c++ -*-
//  Generated by gtkmmproc from ./../buttonbox.gen_h -- DO NOT MODIFY!
#ifndef _GTKMM_BUTTONBOX_H
#define _GTKMM_BUTTONBOX_H

/* $Id: buttonbox.gen_h,v 1.36 2000/02/13 02:22:09 kenelson Exp $ */

/* buttonbox.h
 *
 * Copyright (C) 1998-1999 The Gtk-- Development Team
 *
 * 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--/box.h>
#include <gtk/gtkbbox.h>
#include <gtk/gtkhbbox.h>
#include <gtk/gtkvbbox.h>

namespace Gtk {
class ButtonBox;
class ButtonBox_Class;
}
namespace Gtk { Gtk::ButtonBox *wrap (GtkButtonBox *o); }
namespace Gtk {
class VButtonBox;
class VButtonBox_Class;
}
namespace Gtk { Gtk::VButtonBox *wrap (GtkVButtonBox *o); }
namespace Gtk {
class HButtonBox;
class HButtonBox_Class;
}
namespace Gtk { Gtk::HButtonBox *wrap (GtkHButtonBox *o); }
namespace Gtk
{
class ButtonBox : public Box
{

public:
  typedef ButtonBox          CppObjectType;
  typedef ButtonBox_Class    CppClassType;
  typedef GtkButtonBox           BaseObjectType;
  typedef GtkButtonBoxClass      BaseClassType;

private:
  friend class ButtonBox_Class;
  static CppClassType button_box_class;

  ButtonBox(const ButtonBox&);
  ButtonBox& operator=(const ButtonBox&); // not implemented

protected:
  void   initialize_class();
  explicit ButtonBox(GtkButtonBox *castitem);

public:
  static GtkType get_type();
  GtkButtonBox* gtkobj()             { return (GtkButtonBox*)(gtkobject); }
  const GtkButtonBox* gtkobj() const { return (GtkButtonBox*)(gtkobject); }
  static bool isA(Object *checkcast);

  // Hook for proxies
  static const char* const signal_names[];

  virtual ~ButtonBox();

private:

public:


// Per button box

  GtkButtonBoxStyle get_layout() const;




  void set_layout(GtkButtonBoxStyle layout_style);


  gint get_child_size_width() const;

  gint get_child_size_height() const;

  void set_child_size(gint min_width,gint min_height);


  gint get_child_ipadding_x() const;

  gint get_child_ipadding_y() const;

  void set_child_ipadding(gint ipad_x,gint ipad_y);


  gint get_spacing() const;
  void set_spacing(gint spacing);

  // This is our own.
  void set_layout_spacing(GtkButtonBoxStyle layout,
			  gint spacing);



// Global defaults  (layout and spacing in derived classes)

  gint get_child_size_default_width() const;
  gint get_child_size_default_height() const;



  static void set_child_size_default(gint min_width,gint min_height);


  gint get_child_ipadding_default_x() const;
  gint get_child_ipadding_default_y() const;



  static void set_child_ipadding_default(gint ipad_x,gint ipad_y);

public:

protected:
  // impl functions

};

class VButtonBox : public ButtonBox {

public:
  typedef VButtonBox          CppObjectType;
  typedef VButtonBox_Class    CppClassType;
  typedef GtkVButtonBox           BaseObjectType;
  typedef GtkVButtonBoxClass      BaseClassType;

private:
  friend class VButtonBox_Class;
  static CppClassType vbutton_box_class;

  VButtonBox(const VButtonBox&);
  VButtonBox& operator=(const VButtonBox&); // not implemented

protected:
  void   initialize_class();
  explicit VButtonBox(GtkVButtonBox *castitem);

public:
  static GtkType get_type();
  GtkVButtonBox* gtkobj()             { return (GtkVButtonBox*)(gtkobject); }
  const GtkVButtonBox* gtkobj() const { return (GtkVButtonBox*)(gtkobject); }
  static bool isA(Object *checkcast);

  // Hook for proxies
  static const char* const signal_names[];

  virtual ~VButtonBox();

private:

public:


  // GtkButtonBoxStyle layout argument can have the following values:
  // <ul><li>GTK_BUTTONBOX_DEFAULT_STYLE
  // <li> GTK_BUTTONBOX_SPREAD
  // <li>GTK_BUTTONBOX_EDGE
  // <li> GTK_BUTTONBOX_START
  // </ul>
  VButtonBox(GtkButtonBoxStyle layout = GTK_BUTTONBOX_DEFAULT_STYLE,
		 gint spacing = GTK_BUTTONBOX_DEFAULT);




  static gint get_spacing_default();


  static GtkButtonBoxStyle get_layout_default();


  static void set_spacing_default(gint spacing);


  static void set_layout_default(GtkButtonBoxStyle layout);

public:

protected:
  // impl functions

};

class HButtonBox : public ButtonBox {

public:
  typedef HButtonBox          CppObjectType;
  typedef HButtonBox_Class    CppClassType;
  typedef GtkHButtonBox           BaseObjectType;
  typedef GtkHButtonBoxClass      BaseClassType;

private:
  friend class HButtonBox_Class;
  static CppClassType hbutton_box_class;

  HButtonBox(const HButtonBox&);
  HButtonBox& operator=(const HButtonBox&); // not implemented

protected:
  void   initialize_class();
  explicit HButtonBox(GtkHButtonBox *castitem);

public:
  static GtkType get_type();
  GtkHButtonBox* gtkobj()             { return (GtkHButtonBox*)(gtkobject); }
  const GtkHButtonBox* gtkobj() const { return (GtkHButtonBox*)(gtkobject); }
  static bool isA(Object *checkcast);

  // Hook for proxies
  static const char* const signal_names[];

  virtual ~HButtonBox();

private:

public:


  // see <a href="Gtk_VButtonBox.html">VButtonBox</a>
  HButtonBox(GtkButtonBoxStyle layout = GTK_BUTTONBOX_DEFAULT_STYLE,
		 gint spacing = GTK_BUTTONBOX_DEFAULT);




  static gint get_spacing_default();


  static GtkButtonBoxStyle get_layout_default();


  static void set_spacing_default(gint spacing);


  static void set_layout_default(GtkButtonBoxStyle layout);

public:

protected:
  // impl functions

};


}


#endif
