// -*- c++ -*-
//  Generated by gtkmmproc from ./../dock-item.gen_h -- DO NOT MODIFY!
#ifndef _GNOMEMM_DOCK_ITEM_H
#define _GNOMEMM_DOCK_ITEM_H

/* $Id: dock-item.gen_h,v 1.9 2000/08/29 18:36:29 kenelson Exp $ */


/* dock-item.gen_h
 *
 * Copyright (C) 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--/bin.h>
#include <libgnomeui/gnome-dock-item.h>

namespace Gnome {
class DockItem;
class DockItem_Class;
}
namespace Gtk { Gnome::DockItem *wrap (GnomeDockItem *o); }
namespace Gnome
{

class DockItem : public Gtk::Bin
{

public:
  typedef DockItem          CppObjectType;
  typedef DockItem_Class    CppClassType;
  typedef GnomeDockItem           BaseObjectType;
  typedef GnomeDockItemClass      BaseClassType;

private:
  friend class DockItem_Class;
  static CppClassType dock_item_class;

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

protected:
  void   initialize_class();
  explicit DockItem(GnomeDockItem *castitem);

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

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

  virtual ~DockItem();

private:

public:
  DockItem();



  DockItem(const Gtk::nstring &name,
		 GnomeDockItemBehavior behavior);

  // No need to wrap this method because we already do it in the base class (Gtk::Bin).
  // gnome_dock_item_get_child()
  // Gtk_Widget* get_child();



  Gtk::nstring get_name();


  void set_shadow_type(GtkShadowType type);


  GtkShadowType get_shadow_type();


  gboolean set_orientation(GtkOrientation orientation);


  GtkOrientation get_orientation();


  GnomeDockItemBehavior get_behaviour();

  //TODO: Is the dock_drag_detach name change on purpose?

public:

  union
    {
      CppObjectType * dock_item_self;
      Gtk::ProxySignal0<void,CppObjectType,BaseObjectType,0> dock_drag_begin;
      Gtk::ProxySignal2<void,gint,gint,CppObjectType,BaseObjectType,1> dock_drag_motion;
      Gtk::ProxySignal0<void,CppObjectType,BaseObjectType,2> dock_drag_end;
      Gtk::ProxySignal0<void,CppObjectType,BaseObjectType,3> dock_drag_detach;
    };

protected:
  // impl functions
    virtual void dock_drag_begin_impl();
    virtual void dock_drag_motion_impl(gint p0,gint p1);
    virtual void dock_drag_end_impl();
    virtual void dock_drag_detach_impl();

};



}


#endif
