## XfceMenuLayout

XfceMenuLayout

## Synopsis

    #include <libxfce4menu/libxfce4menu.h>

    enum                XfceMenuLayoutMergeType;
    enum                XfceMenuLayoutNodeType;
                        XfceMenuLayoutNode;
                        XfceMenuLayoutPrivate;
                        XfceMenuLayoutClass;
                        XfceMenuLayout;
    XfceMenuLayout*     xfce_menu_layout_new                (void);
    void                xfce_menu_layout_add_filename       (XfceMenuLayout *layout,
                                                             const gchar *filename);
    void                xfce_menu_layout_add_menuname       (XfceMenuLayout *layout,
                                                             const gchar *menuname);
    void                xfce_menu_layout_add_separator      (XfceMenuLayout *layout);
    void                xfce_menu_layout_add_merge          (XfceMenuLayout *layout,
                                                             XfceMenuLayoutMergeType type);
    GSList*             xfce_menu_layout_get_nodes          (XfceMenuLayout *layout);
    gboolean            xfce_menu_layout_get_filename_used  (XfceMenuLayout *layout,
                                                             const gchar *filename);
    gboolean            xfce_menu_layout_get_menuname_used  (XfceMenuLayout *layout,
                                                             const gchar *menuname);
    XfceMenuLayoutNodeType xfce_menu_layout_node_get_type   (XfceMenuLayoutNode *node);
    const gchar*        xfce_menu_layout_node_get_filename  (XfceMenuLayoutNode *node);
    const gchar*        xfce_menu_layout_node_get_menuname  (XfceMenuLayoutNode *node);
    XfceMenuLayoutMergeType xfce_menu_layout_node_get_merge_type
                                                            (XfceMenuLayoutNode *node);

## Object Hierarchy

      GObject
       +----XfceMenuLayout

## Description

## Details

### enum XfceMenuLayoutMergeType

    typedef enum
    {
      XFCE_MENU_LAYOUT_MERGE_MENUS,
      XFCE_MENU_LAYOUT_MERGE_FILES,
      XFCE_MENU_LAYOUT_MERGE_ALL,
    } XfceMenuLayoutMergeType;

### enum XfceMenuLayoutNodeType

    typedef enum
    {
      XFCE_MENU_LAYOUT_NODE_INVALID,
      XFCE_MENU_LAYOUT_NODE_FILENAME,
      XFCE_MENU_LAYOUT_NODE_MENUNAME,
      XFCE_MENU_LAYOUT_NODE_SEPARATOR,
      XFCE_MENU_LAYOUT_NODE_MERGE,
    } XfceMenuLayoutNodeType;

### XfceMenuLayoutNode

    typedef struct _XfceMenuLayoutNode XfceMenuLayoutNode;

### XfceMenuLayoutPrivate

    typedef struct _XfceMenuLayoutPrivate XfceMenuLayoutPrivate;

### XfceMenuLayoutClass

    typedef struct _XfceMenuLayoutClass XfceMenuLayoutClass;

### XfceMenuLayout

    typedef struct _XfceMenuLayout XfceMenuLayout;

### xfce_menu_layout_new ()

    XfceMenuLayout*     xfce_menu_layout_new                (void);

Returns : |

### xfce_menu_layout_add_filename ()

    void                xfce_menu_layout_add_filename       (XfceMenuLayout *layout,
                                                             const gchar *filename);

`layout` : |
`filename` : |

### xfce_menu_layout_add_menuname ()

    void                xfce_menu_layout_add_menuname       (XfceMenuLayout *layout,
                                                             const gchar *menuname);

`layout` : |
`menuname` : |

### xfce_menu_layout_add_separator ()

    void                xfce_menu_layout_add_separator      (XfceMenuLayout *layout);

`layout` : |

### xfce_menu_layout_add_merge ()

    void                xfce_menu_layout_add_merge          (XfceMenuLayout *layout,
                                                             XfceMenuLayoutMergeType type);

`layout` : |
`type` : |

### xfce_menu_layout_get_nodes ()

    GSList*             xfce_menu_layout_get_nodes          (XfceMenuLayout *layout);

`layout` : |
Returns : |

### xfce_menu_layout_get_filename_used ()

    gboolean            xfce_menu_layout_get_filename_used  (XfceMenuLayout *layout,
                                                             const gchar *filename);

`layout` : |
`filename` : |
Returns : |

### xfce_menu_layout_get_menuname_used ()

    gboolean            xfce_menu_layout_get_menuname_used  (XfceMenuLayout *layout,
                                                             const gchar *menuname);

`layout` : |
`menuname` : |
Returns : |

### xfce_menu_layout_node_get_type ()

    XfceMenuLayoutNodeType xfce_menu_layout_node_get_type   (XfceMenuLayoutNode *node);

`node` : |
Returns : |

### xfce_menu_layout_node_get_filename ()

    const gchar*        xfce_menu_layout_node_get_filename  (XfceMenuLayoutNode *node);

`node` : |
Returns : |

### xfce_menu_layout_node_get_menuname ()

    const gchar*        xfce_menu_layout_node_get_menuname  (XfceMenuLayoutNode *node);

`node` : |
Returns : |

### xfce_menu_layout_node_get_merge_type ()

    XfceMenuLayoutMergeType xfce_menu_layout_node_get_merge_type
                                                            (XfceMenuLayoutNode *node);

`node` : |
Returns : |