@staticmethod
def addable_cells(obj):
    """
        No cell should be added in isolation
        except for linear graphs

        TESTS ::

            sage: from sage.graphs.generators.basic import GridGraph
            sage: from sage_widget_adapters.graphs.graph_grid_view_adapter import GraphGridViewAdapter
            sage: g = GridGraph((2,3))
            sage: GraphGridViewAdapter.addable_cells(g)
            []
            sage: g = GridGraph((1,3))
            sage: GraphGridViewAdapter.addable_cells(g)
            [(0, 3)]
        """
    if not obj.num_verts():
        return [(0, 0)]
    row_max, col_max = 0, 0
    for t in obj.vertex_iterator():
        row_max = max(row_max, t[0])
        col_max = max(col_max, t[1])
        if row_max > 0 and col_max > 0:
            return []
    if row_max > 0:
        return [(row_max + 1, 0)]
    elif col_max > 0:
        return [(0, col_max + 1)]
    return [(0, 1), (1, 0)]
