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

/* $Id: separator.h,v 1.2 2003/06/17 16:37:41 pbd Exp $ */

/* separator.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--/widget.h>
#include <gtk/gtkseparator.h>
#include <gtk/gtkhseparator.h>
#include <gtk/gtkvseparator.h>

namespace Gtk {
class Separator;
class Separator_Class;
}
namespace Gtk { Gtk::Separator *wrap (GtkSeparator *o); }
namespace Gtk {
class VSeparator;
class VSeparator_Class;
}
namespace Gtk { Gtk::VSeparator *wrap (GtkVSeparator *o); }
namespace Gtk {
class HSeparator;
class HSeparator_Class;
}
namespace Gtk { Gtk::HSeparator *wrap (GtkHSeparator *o); }
namespace Gtk
{

//: A base class for {Gtk::HSeparator::} and {Gtk::Vseparator::}.
//- The {\class Gtk::Separator} widget is an abstract class, used only for deriving the
//- subclasses {Gtk::HSeparator::} and {Gtk::VSeparator::}.
class Separator : public Widget {

public:
  typedef Separator          CppObjectType;
  typedef Separator_Class    CppClassType;
  typedef GtkSeparator           BaseObjectType;
  typedef GtkSeparatorClass      BaseClassType;

private:
  friend class Separator_Class;
  static CppClassType separator_class;

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

protected:
  void   initialize_class();
  explicit Separator(GtkSeparator *castitem);

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

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

  virtual ~Separator();

private:

public:



protected:
  Separator();

public:

protected:
  // impl functions

};

//: Vertical line widget.
//- Filler widget used to separate widgets with a visible line.
//- This widget has no window and receives on configuration events.
//- It should be considered a leaf widget.
class VSeparator : public Separator {

public:
  typedef VSeparator          CppObjectType;
  typedef VSeparator_Class    CppClassType;
  typedef GtkVSeparator           BaseObjectType;
  typedef GtkVSeparatorClass      BaseClassType;

private:
  friend class VSeparator_Class;
  static CppClassType vseparator_class;

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

protected:
  void   initialize_class();
  explicit VSeparator(GtkVSeparator *castitem);

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

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

  virtual ~VSeparator();

private:

public:
  VSeparator();

public:

protected:
  // impl functions

};


//: Horizontal line widget.
//- Filler widget used to separate widgets with a visible line.
//- This widget has no window and receives no configuration events.
//- It should be considered a leaf widget.
class HSeparator : public Separator {

public:
  typedef HSeparator          CppObjectType;
  typedef HSeparator_Class    CppClassType;
  typedef GtkHSeparator           BaseObjectType;
  typedef GtkHSeparatorClass      BaseClassType;

private:
  friend class HSeparator_Class;
  static CppClassType hseparator_class;

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

protected:
  void   initialize_class();
  explicit HSeparator(GtkHSeparator *castitem);

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

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

  virtual ~HSeparator();

private:

public:
  HSeparator();

public:

protected:
  // impl functions

};

}


#endif
