## CongEditorArea

CongEditorArea —

## Synopsis

    #define     DEBUG_EDITOR_AREA_LIFETIMES
    struct      CongEditorArea;
    #define     CONG_EDITOR_AREA                (obj)
    #define     CONG_EDITOR_AREA_CLASS          (klass)
    #define     IS_CONG_EDITOR_AREA             (obj)
    gboolean    (*CongEditorAreaCallbackFunc)   (CongEditorArea *editor_area,
                                                 gpointer user_data);
    GType       cong_editor_area_get_type       (void);
    CongEditorArea* cong_editor_area_construct  (CongEditorArea *area,
                                                 CongEditorWidget3 *editor_widget);
    CongEditorWidget3* cong_editor_area_get_widget
                                                (CongEditorArea *area);
    CongDocument* cong_editor_area_get_document (CongEditorArea *area);
    gboolean    cong_editor_area_is_hidden      (CongEditorArea *area);
    void        cong_editor_area_show           (CongEditorArea *area);
    void        cong_editor_area_hide           (CongEditorArea *area);
    GtkStateType cong_editor_area_get_state     (CongEditorArea *editor_area);
    void        cong_editor_area_set_state      (CongEditorArea *editor_area,
                                                 GtkStateType state);
    GdkCursor*  cong_editor_area_get_cursor     (CongEditorArea *area);
    void        cong_editor_area_set_cursor     (CongEditorArea *area,
                                                 GdkCursor *cursor);
    const GdkRectangle* cong_editor_area_get_window_coords
                                                (CongEditorArea *area);
    guint       cong_editor_area_get_requisition
                                                (CongEditorArea *area,
                                                 GtkOrientation orientation,
                                                 int width_hint);
    gint        cong_editor_area_get_requisition_width
                                                (CongEditorArea *area,
                                                 int width_hint);
    gint        cong_editor_area_get_requisition_height
                                                (CongEditorArea *area,
                                                 int width_hint);
    gint        cong_editor_area_get_cached_requisition
                                                (CongEditorArea *area,
                                                 GtkOrientation orientation);
    void        cong_editor_area_debug_render_area
                                                (CongEditorArea *area,
                                                 GdkGC *gc);
    void        cong_editor_area_debug_render_state
                                                (CongEditorArea *area);
    CongEditorArea* cong_editor_area_get_parent (CongEditorArea *area);
    void        cong_editor_area_recursive_render
                                                (CongEditorArea *area,
                                                 const GdkRectangle *widget_rect);
    gboolean    cong_editor_area_on_button_press
                                                (CongEditorArea *editor_area,
                                                 GdkEventButton *event);
    gboolean    cong_editor_area_on_motion_notify
                                                (CongEditorArea *editor_area,
                                                 GdkEventMotion *event);
    gboolean    cong_editor_area_on_key_press   (CongEditorArea *editor_area,
                                                 GdkEventKey *event);
    guint       cong_editor_area_calc_requisition
                                                (CongEditorArea *editor_area,
                                                 GtkOrientation orientation,
                                                 int width_hint);
    gint        cong_editor_area_calc_requisition_width
                                                (CongEditorArea *editor_area,
                                                 int width_hint);
    gint        cong_editor_area_calc_requisition_height
                                                (CongEditorArea *editor_area,
                                                 int width_hint);
    void        cong_editor_area_set_allocation (CongEditorArea *editor_area,
                                                 gint x,
                                                 gint y,
                                                 gint width,
                                                 gint height);
    void        cong_editor_area_queue_redraw   (CongEditorArea *editor_area);
    void        cong_editor_area_flush_requisition_cache
                                                (CongEditorArea *editor_area,
                                                 GtkOrientation orientation);
    CongEditorArea* cong_editor_area_for_all    (CongEditorArea *editor_area,
                                                 CongEditorAreaCallbackFunc func,
                                                 gpointer user_data);
    CongEditorArea* cong_editor_area_recurse    (CongEditorArea *editor_area,
                                                 CongEditorAreaCallbackFunc pre_func,
                                                 CongEditorAreaCallbackFunc post_func,
                                                 gpointer user_data);
    gboolean    cong_editor_area_covers_xy      (CongEditorArea *editor_area,
                                                 gint x,
                                                 gint y);
    CongEditorArea* cong_editor_area_get_immediate_child_at
                                                (CongEditorArea *area,
                                                 gint x,
                                                 gint y);
    CongEditorArea* cong_editor_area_get_deepest_child_at
                                                (CongEditorArea *area,
                                                 gint x,
                                                 gint y);
    GdkWindow*  cong_editor_area_get_gdk_window (CongEditorArea *editor_area);
    void        cong_editor_area_connect_node_signals
                                                (CongEditorArea *area,
                                                 CongEditorNode *editor_node);
    void        cong_editor_area_protected_postprocess_add_internal_child
                                                (CongEditorArea *area,
                                                 CongEditorArea *internal_child);
    void        cong_editor_area_protected_set_parent
                                                (CongEditorArea *area,
                                                 CongEditorArea *parent);

## Object Hierarchy

      GObject
       +----CongEditorArea
             +----CongEditorAreaContainer
             +----CongEditorAreaExpander
             +----CongEditorAreaPixbuf
             +----CongEditorAreaSpacer
             +----CongEditorAreaText
             +----CongEditorAreaTextFragment
             +----CongEditorAreaUnderline

## Signal Prototypes

    "button-press-event"
                gboolean    user_function      (CongEditorArea *congeditorarea,
                                                gpointer arg1,
                                                gpointer user_data);
    "children-changed"
                void        user_function      (CongEditorArea *congeditorarea,
                                                gpointer user_data);
    "flush-requisition-cache"
                void        user_function      (CongEditorArea *congeditorarea,
                                                GtkOrientation arg1,
                                                gpointer user_data);
    "key-press-event"
                gboolean    user_function      (CongEditorArea *congeditorarea,
                                                gpointer arg1,
                                                gpointer user_data);
    "motion-notify-event"
                gboolean    user_function      (CongEditorArea *congeditorarea,
                                                gpointer arg1,
                                                gpointer user_data);
    "state-changed"
                void        user_function      (CongEditorArea *congeditorarea,
                                                gpointer user_data);
    "width-changed"
                void        user_function      (CongEditorArea *congeditorarea,
                                                gpointer user_data);

## Description

## Details

### DEBUG_EDITOR_AREA_LIFETIMES

    #define DEBUG_EDITOR_AREA_LIFETIMES 0

### struct CongEditorArea

    struct CongEditorArea;

### CONG_EDITOR_AREA()

    #define CONG_EDITOR_AREA(obj)         G_TYPE_CHECK_INSTANCE_CAST (obj, CONG_EDITOR_AREA_TYPE, CongEditorArea)

`obj` : |

### CONG_EDITOR_AREA_CLASS()

    #define CONG_EDITOR_AREA_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, CONG_EDITOR_AREA_TYPE, CongEditorAreaClass)

`klass` : |

### IS_CONG_EDITOR_AREA()

    #define IS_CONG_EDITOR_AREA(obj)      G_TYPE_CHECK_INSTANCE_TYPE (obj, CONG_EDITOR_AREA_TYPE)

`obj` : |

### CongEditorAreaCallbackFunc ()

    gboolean    (*CongEditorAreaCallbackFunc)   (CongEditorArea *editor_area,
                                                 gpointer user_data);

`editor_area` : |
`user_data` : |
Returns : |

### cong_editor_area_get_type ()

    GType       cong_editor_area_get_type       (void);

Returns : |

### cong_editor_area_construct ()

    CongEditorArea* cong_editor_area_construct  (CongEditorArea *area,
                                                 CongEditorWidget3 *editor_widget);

TODO: Write me

`area` : |
`editor_widget` : |
Returns : |

### cong_editor_area_get_widget ()

    CongEditorWidget3* cong_editor_area_get_widget
                                                (CongEditorArea *area);

TODO: Write me

`area` : |
Returns : |

### cong_editor_area_get_document ()

    CongDocument* cong_editor_area_get_document (CongEditorArea *area);

TODO: Write me

`area` : |
Returns : |

### cong_editor_area_is_hidden ()

    gboolean    cong_editor_area_is_hidden      (CongEditorArea *area);

TODO: Write me

`area` : |
Returns : |

### cong_editor_area_show ()

    void        cong_editor_area_show           (CongEditorArea *area);

TODO: Write me

`area` : |

### cong_editor_area_hide ()

    void        cong_editor_area_hide           (CongEditorArea *area);

TODO: Write me

`area` : |

### cong_editor_area_get_state ()

    GtkStateType cong_editor_area_get_state     (CongEditorArea *editor_area);

TODO: Write me

`editor_area` : |
Returns : |

### cong_editor_area_set_state ()

    void        cong_editor_area_set_state      (CongEditorArea *editor_area,
                                                 GtkStateType state);

TODO: Write me

`editor_area` : |
`state` : |

### cong_editor_area_get_cursor ()

    GdkCursor*  cong_editor_area_get_cursor     (CongEditorArea *area);

TODO: Write me

`area` : |
Returns : |

### cong_editor_area_set_cursor ()

    void        cong_editor_area_set_cursor     (CongEditorArea *area,
                                                 GdkCursor *cursor);

TODO: Write me

`area` : |
`cursor` : |

### cong_editor_area_get_window_coords ()

    const GdkRectangle* cong_editor_area_get_window_coords
                                                (CongEditorArea *area);

TODO: Write me

`area` : |
Returns : |

### cong_editor_area_get_requisition ()

    guint       cong_editor_area_get_requisition
                                                (CongEditorArea *area,
                                                 GtkOrientation orientation,
                                                 int width_hint);

TODO: Write me

`area` : |
`orientation` : |
`width_hint` : |
Returns : |

### cong_editor_area_get_requisition_width ()

    gint        cong_editor_area_get_requisition_width
                                                (CongEditorArea *area,
                                                 int width_hint);

TODO: Write me

`area` : |
`width_hint` : |
Returns : |

### cong_editor_area_get_requisition_height ()

    gint        cong_editor_area_get_requisition_height
                                                (CongEditorArea *area,
                                                 int width_hint);

TODO: Write me

`area` : |
`width_hint` : |
Returns : |

### cong_editor_area_get_cached_requisition ()

    gint        cong_editor_area_get_cached_requisition
                                                (CongEditorArea *area,
                                                 GtkOrientation orientation);

TODO: Write me

`area` : |
`orientation` : |
Returns : |

### cong_editor_area_debug_render_area ()

    void        cong_editor_area_debug_render_area
                                                (CongEditorArea *area,
                                                 GdkGC *gc);

TODO: Write me

`area` : |
`gc` : |

### cong_editor_area_debug_render_state ()

    void        cong_editor_area_debug_render_state
                                                (CongEditorArea *area);

TODO: Write me

`area` : |

### cong_editor_area_get_parent ()

    CongEditorArea* cong_editor_area_get_parent (CongEditorArea *area);

TODO: Write me

`area` : |
Returns : |

### cong_editor_area_recursive_render ()

    void        cong_editor_area_recursive_render
                                                (CongEditorArea *area,
                                                 const GdkRectangle *widget_rect);

TODO: Write me

`area` : |
`widget_rect` : |

### cong_editor_area_on_button_press ()

    gboolean    cong_editor_area_on_button_press
                                                (CongEditorArea *editor_area,
                                                 GdkEventButton *event);

TODO: Write me

`editor_area` : |
`event` : |
Returns : |

### cong_editor_area_on_motion_notify ()

    gboolean    cong_editor_area_on_motion_notify
                                                (CongEditorArea *editor_area,
                                                 GdkEventMotion *event);

TODO: Write me

`editor_area` : |
`event` : |
Returns : |

### cong_editor_area_on_key_press ()

    gboolean    cong_editor_area_on_key_press   (CongEditorArea *editor_area,
                                                 GdkEventKey *event);

TODO: Write me

`editor_area` : |
`event` : |
Returns : |

### cong_editor_area_calc_requisition ()

    guint       cong_editor_area_calc_requisition
                                                (CongEditorArea *editor_area,
                                                 GtkOrientation orientation,
                                                 int width_hint);

TODO: Write me

`editor_area` : |
`orientation` : |
`width_hint` : |
Returns : |

### cong_editor_area_calc_requisition_width ()

    gint        cong_editor_area_calc_requisition_width
                                                (CongEditorArea *editor_area,
                                                 int width_hint);

`editor_area` : |
`width_hint` : |
Returns : |

### cong_editor_area_calc_requisition_height ()

    gint        cong_editor_area_calc_requisition_height
                                                (CongEditorArea *editor_area,
                                                 int width_hint);

`editor_area` : |
`width_hint` : |
Returns : |

### cong_editor_area_set_allocation ()

    void        cong_editor_area_set_allocation (CongEditorArea *editor_area,
                                                 gint x,
                                                 gint y,
                                                 gint width,
                                                 gint height);

TODO: Write me

`editor_area` : |
`x` : |
`y` : |
`width` : |
`height` : |

### cong_editor_area_queue_redraw ()

    void        cong_editor_area_queue_redraw   (CongEditorArea *editor_area);

TODO: Write me

`editor_area` : |

### cong_editor_area_flush_requisition_cache ()

    void        cong_editor_area_flush_requisition_cache
                                                (CongEditorArea *editor_area,
                                                 GtkOrientation orientation);

TODO: Write me

`editor_area` : |
`orientation` : |

### cong_editor_area_for_all ()

    CongEditorArea* cong_editor_area_for_all    (CongEditorArea *editor_area,
                                                 CongEditorAreaCallbackFunc func,
                                                 gpointer user_data);

TODO: Write me

`editor_area` : |
`func` : |
`user_data` : |
Returns : |

### cong_editor_area_recurse ()

    CongEditorArea* cong_editor_area_recurse    (CongEditorArea *editor_area,
                                                 CongEditorAreaCallbackFunc pre_func,
                                                 CongEditorAreaCallbackFunc post_func,
                                                 gpointer user_data);

`editor_area` : |
`pre_func` : |
`post_func` : |
`user_data` : |
Returns : |

### cong_editor_area_covers_xy ()

    gboolean    cong_editor_area_covers_xy      (CongEditorArea *editor_area,
                                                 gint x,
                                                 gint y);

TODO: Write me

`editor_area` : |
`x` : |
`y` : |
Returns : |

### cong_editor_area_get_immediate_child_at ()

    CongEditorArea* cong_editor_area_get_immediate_child_at
                                                (CongEditorArea *area,
                                                 gint x,
                                                 gint y);

TODO: Write me

`area` : |
`x` : |
`y` : |
Returns : |

### cong_editor_area_get_deepest_child_at ()

    CongEditorArea* cong_editor_area_get_deepest_child_at
                                                (CongEditorArea *area,
                                                 gint x,
                                                 gint y);

TODO: Write me

`area` : |
`x` : |
`y` : |
Returns : |

### cong_editor_area_get_gdk_window ()

    GdkWindow*  cong_editor_area_get_gdk_window (CongEditorArea *editor_area);

TODO: Write me

`editor_area` : |
Returns : |

### cong_editor_area_connect_node_signals ()

    void        cong_editor_area_connect_node_signals
                                                (CongEditorArea *area,
                                                 CongEditorNode *editor_node);

TODO: Write me

`area` : |
`editor_node` : |

### cong_editor_area_protected_postprocess_add_internal_child ()

    void        cong_editor_area_protected_postprocess_add_internal_child
                                                (CongEditorArea *area,
                                                 CongEditorArea *internal_child);

TODO: Write me

`area` : |
`internal_child` : |

### cong_editor_area_protected_set_parent ()

    void        cong_editor_area_protected_set_parent
                                                (CongEditorArea *area,
                                                 CongEditorArea *parent);

TODO: Write me

`area` : |
`parent` : |

## Signals

### The "button-press-event" signal

    gboolean    user_function                  (CongEditorArea *congeditorarea,
                                                gpointer arg1,
                                                gpointer user_data);

`congeditorarea` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.
Returns : |

### The "children-changed" signal

    void        user_function                  (CongEditorArea *congeditorarea,
                                                gpointer user_data);

`congeditorarea` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The "flush-requisition-cache" signal

    void        user_function                  (CongEditorArea *congeditorarea,
                                                GtkOrientation arg1,
                                                gpointer user_data);

`congeditorarea` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.

### The "key-press-event" signal

    gboolean    user_function                  (CongEditorArea *congeditorarea,
                                                gpointer arg1,
                                                gpointer user_data);

`congeditorarea` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.
Returns : |

### The "motion-notify-event" signal

    gboolean    user_function                  (CongEditorArea *congeditorarea,
                                                gpointer arg1,
                                                gpointer user_data);

`congeditorarea` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.
Returns : |

### The "state-changed" signal

    void        user_function                  (CongEditorArea *congeditorarea,
                                                gpointer user_data);

`congeditorarea` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The "width-changed" signal

    void        user_function                  (CongEditorArea *congeditorarea,
                                                gpointer user_data);

`congeditorarea` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.