{
  "name": "TableModel",
  "component": "gui",
  "header": "nativeui/table_model.h",
  "type": "Class",
  "namespace": "nu",
  "description": "Base class for models of Table.",
  "methods": [
    {
      "signature": {
        "returnType": {
          "name": "Integer"
        },
        "name": "getRowCount",
        "parameters": [],
        "shortStr": "getRowCount()",
        "str": "getRowCount()"
      },
      "abstract": true,
      "description": "Return how many rows are in the model.",
      "id": "getrowcount"
    },
    {
      "signature": {
        "returnType": {
          "name": "Any"
        },
        "name": "getValue",
        "parameters": [
          {
            "type": {
              "name": "Integer"
            },
            "name": "column"
          },
          {
            "type": {
              "name": "Integer"
            },
            "name": "row"
          }
        ],
        "shortStr": "getValue(column, row)",
        "str": "getValue(column, row)"
      },
      "abstract": true,
      "description": "Return the data at `column` and `row`.",
      "detail": "Note that the returned value will be stored as primary types, native\nobjects (for example `Image`s) can not be passed to renderer.\n",
      "id": "getvalue-column-row"
    },
    {
      "signature": {
        "name": "setValue",
        "parameters": [
          {
            "type": {
              "name": "Integer"
            },
            "name": "column"
          },
          {
            "type": {
              "name": "Integer"
            },
            "name": "row"
          },
          {
            "type": {
              "name": "Any"
            },
            "name": "value"
          }
        ],
        "shortStr": "setValue(column, row, value)",
        "str": "setValue(column, row, value)"
      },
      "abstract": true,
      "description": "Change the `value` at `column` and `row`.",
      "detail": "\nNote that the value will be stored as primary types, native objects (for\nexample `Image`s) can not be saved.\n",
      "id": "setvalue-column-row-value"
    },
    {
      "signature": {
        "name": "notifyRowInsertion",
        "parameters": [
          {
            "type": {
              "name": "Integer"
            },
            "name": "row"
          }
        ],
        "shortStr": "notifyRowInsertion(row)",
        "str": "notifyRowInsertion(row)"
      },
      "description": "Called by implementers to notify the table that a row is inserted.\n",
      "id": "notifyrowinsertion-row"
    },
    {
      "signature": {
        "name": "notifyRowDeletion",
        "parameters": [
          {
            "type": {
              "name": "Integer"
            },
            "name": "row"
          }
        ],
        "shortStr": "notifyRowDeletion(row)",
        "str": "notifyRowDeletion(row)"
      },
      "description": "Called by implementers to notify the table that a row is removed.\n",
      "id": "notifyrowdeletion-row"
    },
    {
      "signature": {
        "name": "notifyValueChange",
        "parameters": [
          {
            "type": {
              "name": "Integer"
            },
            "name": "column"
          },
          {
            "type": {
              "name": "Integer"
            },
            "name": "row"
          }
        ],
        "shortStr": "notifyValueChange(column, row)",
        "str": "notifyValueChange(column, row)"
      },
      "description": "Called by implementers to notify the table that the value at `column` and\n`row` has been changed.\n",
      "id": "notifyvaluechange-column-row"
    }
  ],
  "module": "gui",
  "detail": "\nFor simple use cases, the `<!type>SimpleTableModel` can be used.\n\nFor implementing a custom `TableModel`, please see\n`<!type>AbstractTableModel`.\n",
  "id": "tablemodel"
}