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

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

/* dialog.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--/window.h>
#include <gtk--/box.h>
#include <gtk/gtkdialog.h>

namespace Gtk {
class Dialog;
class Dialog_Class;
}
namespace Gtk { Gtk::Dialog *wrap (GtkDialog *o); }
namespace Gtk
{
//: Create popup windows.
//- Dialog boxes are a convenient way to prompt the user for a small amount of input,
//- eg. to display a message, ask a question, or anything else that does not require
//- extensive effort on the user's part.
//-
//- Gtk-- treats a dialog as a window split horizontally. The top section is a
//- {\class Gtk::VBox}, and is where widgets such as a {\class Gtk::Label} or a
//- {\class Gtk::Entry} should be packed. The second area is known as the
//- action_area. This is generally used for packing buttons into the dialog which may
//- perform functions such as cancel, ok, or apply. The two areas are separated by a
//- {\class Gtk::HSeparator}.
//-
//- A 'modal' dialog (that is, one which freezes the rest of the application from
//- user input), can be created by calling {Gtk::Window::set_modal()} on the dialog.
class Dialog : public Window {

public:
  typedef Dialog          CppObjectType;
  typedef Dialog_Class    CppClassType;
  typedef GtkDialog           BaseObjectType;
  typedef GtkDialogClass      BaseClassType;

private:
  friend class Dialog_Class;
  static CppClassType dialog_class;

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

protected:
  void   initialize_class();
  explicit Dialog(GtkDialog *castitem);

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

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

  virtual ~Dialog();

private:

public:

  Dialog();

  Gtk::VBox* get_vbox() const;

  Gtk::HBox* get_action_area() const;

public:

protected:
  // impl functions

};

}


//+ PROPERTIES(gtkdialog)
//. name: vbox
//. type: Gtk_Widget*
//. get:
//. set:
//. desc:

//. name: action_area
//. type: Gtk_Widget*
//. get:
//. set:
//. desc:

#endif
