{
  "name": "MenuBase",
  "component": "gui",
  "header": "nativeui/menu_base.h",
  "type": "refcounted",
  "namespace": "nu",
  "description": "Base class of menu bar and popup menu.",
  "methods": [
    {
      "signature": {
        "name": "Append",
        "parameters": [
          {
            "type": {
              "name": "scoped_refptr<MenuItem>",
              "id": "menuitem"
            },
            "name": "item"
          }
        ],
        "shortStr": "Append(item)",
        "str": "void Append(scoped_refptr<MenuItem> item)"
      },
      "description": "Append the `item` to the menu.",
      "id": "append-item"
    },
    {
      "signature": {
        "name": "Insert",
        "parameters": [
          {
            "type": {
              "name": "scoped_refptr<MenuItem>",
              "id": "menuitem"
            },
            "name": "item"
          },
          {
            "type": {
              "name": "int"
            },
            "name": "index"
          }
        ],
        "shortStr": "Insert(item, index)",
        "str": "void Insert(scoped_refptr<MenuItem> item, int index)"
      },
      "description": "Insert the `item` at `index` to the menu.",
      "id": "insert-item-index"
    },
    {
      "signature": {
        "name": "Remove",
        "parameters": [
          {
            "type": {
              "name": "MenuItem*",
              "id": "menuitem"
            },
            "name": "item"
          }
        ],
        "shortStr": "Remove(item)",
        "str": "void Remove(MenuItem* item)"
      },
      "description": "Remove the `item` from the menu.",
      "id": "remove-item"
    },
    {
      "signature": {
        "returnType": {
          "name": "int"
        },
        "name": "ItemCount",
        "parameters": [],
        "shortStr": "ItemCount()",
        "str": "int ItemCount() const"
      },
      "description": "Return the count of items in the menu.",
      "id": "itemcount"
    },
    {
      "signature": {
        "returnType": {
          "name": "MenuItem*",
          "id": "menuitem"
        },
        "name": "ItemAt",
        "parameters": [
          {
            "type": {
              "name": "int"
            },
            "name": "index"
          }
        ],
        "shortStr": "ItemAt(index)",
        "str": "MenuItem* ItemAt(int index) const"
      },
      "description": "Return the item at `index`.",
      "id": "itemat-index"
    },
    {
      "signature": {
        "returnType": {
          "name": "NativeMenu",
          "id": "nativemenu"
        },
        "name": "GetNative",
        "parameters": [],
        "shortStr": "GetNative()",
        "str": "NativeMenu GetNative() const"
      },
      "description": "Return the native instance wrapped by the class.",
      "id": "getnative"
    }
  ],
  "id": "menubase"
}