// -*- c++ -*-
/*  Generated by gensig from editable.gen_h. DO NOT MODIFY!!! */
#ifndef GTKMM_EDITABLE_HEADER
#define GTKMM_EDITABLE_HEADER
/* $Id: editable.gen_h,v 1.24.2.1 1999/03/20 04:59:25 terop Exp $ */

/* editable.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--/widget.h>
#include <gtk/gtkeditable.h>
class Gtk_Editable_Class;
#line 24 "editable.gen_h"

//: Abstract class for objects that user can edit.
class Gtk_Editable : public Gtk_Widget {
public:
protected:
  typedef Gtk_Editable_Class    CppClassType;
  typedef GtkEditable           BaseObjectType;
  typedef GtkEditableClass      BaseClassType;

  virtual void *get_parent_class();

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

public:

  Signal_proxy0<BaseObjectType> changed;
  Signal_proxy0<BaseObjectType> activate;
#line 32 "editable.gen_h"
  Signal_proxy3<BaseObjectType,const gchar*, gint, gint*> insert_text;
  Signal_proxy2<BaseObjectType,gint, gint> delete_text;

  Signal_proxy1<BaseObjectType,gboolean> set_editable;
  Signal_proxy2<BaseObjectType,gint, gint> move_cursor;
  Signal_proxy1<BaseObjectType,gint> move_word;
  Signal_proxy2<BaseObjectType,gint, gint> move_page;
  Signal_proxy1<BaseObjectType,gint> move_to_row;
  Signal_proxy1<BaseObjectType,gint> move_to_column;
  Signal_proxy1<BaseObjectType,gint> kill_char;
  Signal_proxy1<BaseObjectType,gint> kill_word;
  Signal_proxy1<BaseObjectType,gint> kill_line;
  Signal_proxy0<BaseObjectType> cut_clipboard;
  Signal_proxy0<BaseObjectType> copy_clipboard;
  Signal_proxy0<BaseObjectType> paste_clipboard;





#line 53 "editable.gen_h"
  

  Gtk_Editable();
  Gtk_Editable(GtkEditable *castitem);
    
  void select_region(gint start, gint end);
#line 60 "editable.gen_h"
  /* no function for 1.1, we'll use signal instead */
  gint get_position     () const;
#line 72 "editable.gen_h"

  string get_chars      (gint start_pos, gint end_pos) const;

  void claim_selection  (gboolean claim, guint32 time);
  void delete_selection ();

protected:
  /* impl functions */
  virtual void changed_impl();
  virtual void activate_impl();
  virtual void insert_text_impl(const gchar* p1, gint p2, gint* p3);
  virtual void delete_text_impl(gint p1, gint p2);
  virtual void set_editable_impl(gboolean p1);
  virtual void move_cursor_impl(gint p1, gint p2);
  virtual void move_word_impl(gint p1);
  virtual void move_page_impl(gint p1, gint p2);
  virtual void move_to_row_impl(gint p1);
  virtual void move_to_column_impl(gint p1);
  virtual void kill_char_impl(gint p1);
  virtual void kill_word_impl(gint p1);
  virtual void kill_line_impl(gint p1);
  virtual void cut_clipboard_impl();
  virtual void copy_clipboard_impl();
  virtual void paste_clipboard_impl();
  virtual void update_text_impl(gint p1, gint p2);
  virtual gchar* get_chars_impl(gint p1, gint p2);
  virtual void set_selection_impl(gint p1, gint p2);
  virtual void set_position_impl(gint p1);
public:
  GtkEditable* gtkobj() { return GTK_EDITABLE(gtkobject); }
  const GtkEditable* gtkobj() const { return GTK_EDITABLE(gtkobject); }
  static bool isGtkEditable(Gtk_Object *checkcast);
#line 78 "editable.gen_h"


};

#endif
