org.gnome.gtk

## Interface TreeModelFilter.Visible

- Enclosing class:
    TreeModelFilter

      public static interface TreeModelFilter.Visible

  The callback invoked when a TreeModelFilter wants to ask if a given row in its child TreeModel should be considered visible in the TreeModelFilter.

  Typically when you receive this callback you will reach into the underlying model and query a column by which you will determine whether or not to include this row. This grants the opportunity to put some very complex logic into the `TextModelFilter.Visible` callback. We tend to prefer this approach, but if you're rather pre-calculate such states, then you can always add a DataColumnBoolean to the model and simply return the state of that column as the return value from this interface when it is invoked.

  If you are researching the GTK API documentation, see `(*GtkTreeModelFilterVisibleFunc)`. Creating and invoking this "visible" signal is how java-gnome has implemented the function pointer expected by `gtk_tree_model_filter_set_visible_func()`.

  Since:
    4.0.6
  Author:
    Andrew Cowie

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `onVisible(TreeModelFilter source, TreeModel base, TreeIter row)` Answer the question "is this row to be visible?"

- - ### Method Detail

    - #### onVisible

          boolean onVisible(TreeModelFilter source,
                          TreeModel base,
                          TreeIter row)

      Answer the question "is this row to be visible?" Return `true` for the row to be included in the model, or `false` for the row to be filtered out.

      Warning!
      `row` is a valid TreeIter in `base`, not `source`. This makes sense if you consider that you will need to ask the underlying proxied TreeModel for information about a row; the only rows you can see in the `source` TreeModelFilter are, of course, the ones that have passed this test.

      Since:
        4.0.6