garcon-menu-node: garcon Reference Manual

## garcon-menu-node garcon-menu-node |

## Functions

GarconMenuNode * | garcon_menu_node_new ()
GarconMenuNodeType | garcon_menu_node_get_node_type ()
GarconMenuNode * | garcon_menu_node_create ()
GarconMenuNode * | garcon_menu_node_copy ()
const gchar * | garcon_menu_node_get_string ()
void | garcon_menu_node_set_string ()
GarconMenuMergeFileType | garcon_menu_node_get_merge_file_type ()
void | garcon_menu_node_set_merge_file_type ()
const gchar * | garcon_menu_node_get_merge_file_filename ()
void | garcon_menu_node_set_merge_file_filename ()
GNode * | garcon_menu_node_tree_get_child_node ()
GList * | garcon_menu_node_tree_get_child_nodes ()
GList * | garcon_menu_node_tree_get_string_children ()
gboolean | garcon_menu_node_tree_get_boolean_child ()
const gchar * | garcon_menu_node_tree_get_string_child ()
gboolean | garcon_menu_node_tree_rule_matches ()
GarconMenuNodeType | garcon_menu_node_tree_get_node_type ()
const gchar * | garcon_menu_node_tree_get_string ()
void | garcon_menu_node_tree_set_string ()
GarconMenuLayoutMergeType | garcon_menu_node_tree_get_layout_merge_type ()
GarconMenuMergeFileType | garcon_menu_node_tree_get_merge_file_type ()
const gchar * | garcon_menu_node_tree_get_merge_file_filename ()
void | garcon_menu_node_tree_set_merge_file_filename ()
gint | garcon_menu_node_tree_compare ()
GNode * | garcon_menu_node_tree_copy ()
void | garcon_menu_node_tree_free ()
void | garcon_menu_node_tree_free_data ()

## Properties

GarconMenuNodeType | node-type | Read / Write

## Types and Values

enum | GarconMenuNodeType
enum | GarconMenuLayoutMergeType
enum | GarconMenuMergeFileType
| GarconMenuNodeData

## Object Hierarchy

        GEnum
        ╰── GarconMenuNodeType
        GObject
        ╰── GarconMenuNode

## Description

## Functions

### garcon_menu_node_new ()

    GarconMenuNode *
    garcon_menu_node_new (GarconMenuNodeType node_type);

### garcon_menu_node_get_node_type ()

    GarconMenuNodeType
    garcon_menu_node_get_node_type (GarconMenuNode *node);

### garcon_menu_node_create ()

    GarconMenuNode *
    garcon_menu_node_create (GarconMenuNodeType node_type,
                             gpointer first_value,
                             ...);

#### Parameters

node_type | a GarconMenuNodeType |

#### Returns

a GarconMenuNode.

[transfer full]

### garcon_menu_node_copy ()

    GarconMenuNode *
    garcon_menu_node_copy (GarconMenuNode *node,
                           gpointer data);

#### Parameters

node | a GarconMenuNode |

#### Returns

a GarconMenuNode.

[transfer full]

### garcon_menu_node_get_string ()

    const gchar *
    garcon_menu_node_get_string (GarconMenuNode *node);

### garcon_menu_node_set_string ()

    void
    garcon_menu_node_set_string (GarconMenuNode *node,
                                 const gchar *value);

### garcon_menu_node_get_merge_file_type ()

    GarconMenuMergeFileType
    garcon_menu_node_get_merge_file_type (GarconMenuNode *node);

### garcon_menu_node_set_merge_file_type ()

    void
    garcon_menu_node_set_merge_file_type (GarconMenuNode *node,
                                          GarconMenuMergeFileType type);

### garcon_menu_node_get_merge_file_filename ()

    const gchar *
    garcon_menu_node_get_merge_file_filename
                                   (GarconMenuNode *node);

### garcon_menu_node_set_merge_file_filename ()

    void
    garcon_menu_node_set_merge_file_filename
                                   (GarconMenuNode *node,
                                    const gchar *filename);

### garcon_menu_node_tree_get_child_node ()

    GNode *
    garcon_menu_node_tree_get_child_node (GNode *tree,
                                          GarconMenuNodeType type,
                                          gboolean reverse);

[skip]

#### Parameters

tree | GNode instance |
type | type for the menu nodes |

#### Returns

a GNode if `type` is valid menu nodes type.

### garcon_menu_node_tree_get_child_nodes ()

    GList *
    garcon_menu_node_tree_get_child_nodes (GNode *tree,
                                           GarconMenuNodeType type,
                                           gboolean reverse);

#### Parameters

tree | a GNode |
type | type for the menu nodes |

#### Returns

list of GNode.

[element-type GNode][transfer full]

### garcon_menu_node_tree_get_string_children ()

    GList *
    garcon_menu_node_tree_get_string_children
                                   (GNode *tree,
                                    GarconMenuNodeType type,
                                    gboolean reverse);

#### Parameters

tree | a GNode instance |
type | type for the menu nodes |

#### Returns

list of GNode.

[element-type GNode][transfer container]

### garcon_menu_node_tree_get_boolean_child ()

    gboolean
    garcon_menu_node_tree_get_boolean_child
                                   (GNode *tree,
                                    GarconMenuNodeType type);

### garcon_menu_node_tree_get_string_child ()

    const gchar *
    garcon_menu_node_tree_get_string_child
                                   (GNode *tree,
                                    GarconMenuNodeType type);

### garcon_menu_node_tree_rule_matches ()

    gboolean
    garcon_menu_node_tree_rule_matches (GNode *tree,
                                        GarconMenuItem *item);

### garcon_menu_node_tree_get_node_type ()

    GarconMenuNodeType
    garcon_menu_node_tree_get_node_type (GNode *tree);

### garcon_menu_node_tree_get_string ()

    const gchar *
    garcon_menu_node_tree_get_string (GNode *tree);

### garcon_menu_node_tree_set_string ()

    void
    garcon_menu_node_tree_set_string (GNode *tree,
                                      const gchar *value);

### garcon_menu_node_tree_get_layout_merge_type ()

    GarconMenuLayoutMergeType
    garcon_menu_node_tree_get_layout_merge_type
                                   (GNode *tree);

### garcon_menu_node_tree_get_merge_file_type ()

    GarconMenuMergeFileType
    garcon_menu_node_tree_get_merge_file_type
                                   (GNode *tree);

### garcon_menu_node_tree_get_merge_file_filename ()

    const gchar *
    garcon_menu_node_tree_get_merge_file_filename
                                   (GNode *tree);

### garcon_menu_node_tree_set_merge_file_filename ()

    void
    garcon_menu_node_tree_set_merge_file_filename
                                   (GNode *tree,
                                    const gchar *filename);

### garcon_menu_node_tree_compare ()

    gint
    garcon_menu_node_tree_compare (GNode *tree,
                                   GNode *other_tree);

### garcon_menu_node_tree_copy ()

    GNode *
    garcon_menu_node_tree_copy (GNode *tree);

Recursively copies a GNode.

[skip]

#### Parameters

tree | a GNode |

### garcon_menu_node_tree_free ()

    void
    garcon_menu_node_tree_free (GNode *tree);

### garcon_menu_node_tree_free_data ()

    void
    garcon_menu_node_tree_free_data (GNode *tree);

## Types and Values

### enum GarconMenuNodeType

#### Members

GARCON_MENU_NODE_TYPE_INVALID |  |
GARCON_MENU_NODE_TYPE_MENU |  |
GARCON_MENU_NODE_TYPE_NAME |  |
GARCON_MENU_NODE_TYPE_DIRECTORY |  |
GARCON_MENU_NODE_TYPE_DIRECTORY_DIR |  |
GARCON_MENU_NODE_TYPE_DEFAULT_DIRECTORY_DIRS |  |
GARCON_MENU_NODE_TYPE_APP_DIR |  |
GARCON_MENU_NODE_TYPE_DEFAULT_APP_DIRS |  |
GARCON_MENU_NODE_TYPE_ONLY_UNALLOCATED |  |
GARCON_MENU_NODE_TYPE_NOT_ONLY_UNALLOCATED |  |
GARCON_MENU_NODE_TYPE_DELETED |  |
GARCON_MENU_NODE_TYPE_NOT_DELETED |  |
GARCON_MENU_NODE_TYPE_INCLUDE |  |
GARCON_MENU_NODE_TYPE_EXCLUDE |  |
GARCON_MENU_NODE_TYPE_ALL |  |
GARCON_MENU_NODE_TYPE_FILENAME |  |
GARCON_MENU_NODE_TYPE_CATEGORY |  |
GARCON_MENU_NODE_TYPE_OR |  |
GARCON_MENU_NODE_TYPE_AND |  |
GARCON_MENU_NODE_TYPE_NOT |  |
GARCON_MENU_NODE_TYPE_MOVE |  |
GARCON_MENU_NODE_TYPE_OLD |  |
GARCON_MENU_NODE_TYPE_NEW |  |
GARCON_MENU_NODE_TYPE_DEFAULT_LAYOUT |  |
GARCON_MENU_NODE_TYPE_LAYOUT |  |
GARCON_MENU_NODE_TYPE_MENUNAME |  |
GARCON_MENU_NODE_TYPE_SEPARATOR |  |
GARCON_MENU_NODE_TYPE_MERGE |  |
GARCON_MENU_NODE_TYPE_MERGE_FILE |  |
GARCON_MENU_NODE_TYPE_MERGE_DIR |  |
GARCON_MENU_NODE_TYPE_DEFAULT_MERGE_DIRS |  |

### enum GarconMenuLayoutMergeType

#### Members

GARCON_MENU_LAYOUT_MERGE_MENUS |  |
GARCON_MENU_LAYOUT_MERGE_FILES |  |
GARCON_MENU_LAYOUT_MERGE_ALL |  |

### enum GarconMenuMergeFileType

#### Members

GARCON_MENU_MERGE_FILE_PATH |  |
GARCON_MENU_MERGE_FILE_PARENT |  |

### GarconMenuNodeData

## Property Details

### The `“node-type”` property

      “node-type”                GarconMenuNodeType

node-type.

Owner: GarconMenuNode

Flags: Read / Write

Default value: GARCON_MENU_NODE_TYPE_MENU