2002-08-03 22:24:37 +00:00
|
|
|
/* widget.c : Glue to access fields in GtkWidget.
|
|
|
|
*
|
2007-04-12 17:17:09 +00:00
|
|
|
* Authors: Rachel Hestilow <hestilow@ximian.com>,
|
|
|
|
* Brad Taylor <brad@getcoded.net>
|
2002-08-03 22:24:37 +00:00
|
|
|
*
|
2007-04-12 17:17:09 +00:00
|
|
|
* Copyright (c) 2007 Brad Taylor
|
2004-06-25 18:42:19 +00:00
|
|
|
* Copyright (c) 2002 Rachel Hestilow, Mike Kestner
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of version 2 of the Lesser GNU General
|
|
|
|
* Public License as published by the Free Software Foundation.
|
|
|
|
*
|
|
|
|
* This program 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
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this program; if not, write to the
|
|
|
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
|
|
* Boston, MA 02111-1307, USA.
|
2002-08-03 22:24:37 +00:00
|
|
|
*/
|
|
|
|
|
2004-12-23 22:59:59 +00:00
|
|
|
#include <gtk/gtkbindings.h>
|
2002-08-03 22:24:37 +00:00
|
|
|
#include <gtk/gtkwidget.h>
|
|
|
|
|
2003-03-22 17:37:43 +00:00
|
|
|
/* Forward declarations */
|
|
|
|
GdkRectangle *gtksharp_gtk_widget_get_allocation (GtkWidget *widget);
|
2004-05-31 18:48:25 +00:00
|
|
|
void gtksharp_gtk_widget_set_window (GtkWidget *widget, GdkWindow *window);
|
2004-02-14 17:28:11 +00:00
|
|
|
int gtksharp_gtk_widget_get_state (GtkWidget *widget);
|
2004-06-07 17:14:35 +00:00
|
|
|
int gtksharp_gtk_widget_get_flags (GtkWidget *widget);
|
|
|
|
void gtksharp_gtk_widget_set_flags (GtkWidget *widget, int flags);
|
2003-03-22 17:37:43 +00:00
|
|
|
/* */
|
|
|
|
|
2002-08-03 22:24:37 +00:00
|
|
|
GdkRectangle*
|
|
|
|
gtksharp_gtk_widget_get_allocation (GtkWidget *widget)
|
|
|
|
{
|
|
|
|
return &widget->allocation;
|
|
|
|
}
|
|
|
|
|
2004-05-31 18:48:25 +00:00
|
|
|
void
|
|
|
|
gtksharp_gtk_widget_set_window (GtkWidget *widget, GdkWindow *window)
|
|
|
|
{
|
* generator/StructBase.cs: update field-generation logic a bit
* generator/CodeGenerator.cs: add a --glue-includes flag
* generator/GenerationInfo.cs: Accept glue_includes value from
Main and output it to the glue_filename.
* generator/FieldBase.cs (Ignored): handle more ignorable cases.
(CheckGlue): New method to figure out what kind of glue we'll need
for a field.
(GenerateImports): generate appropriate imports per CheckGlue.
(GenerateGlue): Generate C glue for accessing a struct field;
either a fully-C-based accessor, or a method to just return the
field's offset in the struct.
(Generate): Use the generated glue to read the field.
* generator/PropertyBase.cs (CType): if the field is a single bit,
set its type to gboolean.
* generator/ObjectGen.cs (Generate):
* generator/OpaqueGen.cs (Generate): Call GenFields.
* generator/StructField.cs: Use FieldBase's glue-generation code
to handle bitfields. [#54489]
* generator/ObjectField.cs: Generates accessors for public fields
of objects and opaque structs. [#69514]
* generator/ClassBase.cs (ClassBase): Parse <fields> nodes and
create ObjectField objects.
(GenFields): Output field properties
(IgnoreMethod): Ignore Get/Set methods that duplicate fields
* generator/Makefile.am (sources): update
* {gdk,gnome,gtk,pango}/*.metadata: Mark some additional fields as
public. Rename/retype some fields for consistency with earlier
hand-coded bindings.
* {gdk,gnome,gtk,pango}/*.custom: Remove custom methods that can
now be autogenerated.
* {gdk,gnome,gtk,pango}/glue/*.c: Remove glue methods that can now
be autogenerated
* {gdk,glade,gnome,gtk,pango,vte}/Makefile.am
* {gdk,glade,gnome,gtk,pango,vte}/glue/Makefile.am
* {gdk,gnome,gtk,pango}/glue/makefile.win32: Update
svn path=/trunk/gtk-sharp/; revision=44563
2005-05-16 14:28:55 +00:00
|
|
|
if (widget->window)
|
|
|
|
g_object_unref (widget->window);
|
2004-09-23 16:50:18 +00:00
|
|
|
widget->window = g_object_ref (window);
|
2004-05-31 18:48:25 +00:00
|
|
|
}
|
|
|
|
|
2004-02-14 17:28:11 +00:00
|
|
|
int
|
|
|
|
gtksharp_gtk_widget_get_state (GtkWidget *widget)
|
|
|
|
{
|
|
|
|
return GTK_WIDGET_STATE (widget);
|
|
|
|
}
|
2004-05-31 18:48:25 +00:00
|
|
|
|
|
|
|
int
|
|
|
|
gtksharp_gtk_widget_get_flags (GtkWidget *widget)
|
|
|
|
{
|
|
|
|
return GTK_WIDGET_FLAGS (widget);
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
gtksharp_gtk_widget_set_flags (GtkWidget *widget, int flags)
|
|
|
|
{
|
2004-06-10 18:37:05 +00:00
|
|
|
GTK_OBJECT(widget)->flags = flags;
|
2004-05-31 18:48:25 +00:00
|
|
|
}
|
2004-06-07 14:26:08 +00:00
|
|
|
|