# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.12
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.

from sys import version_info as _swig_python_version_info
if _swig_python_version_info >= (2, 7, 0):
    def swig_import_helper():
        import importlib
        pkg = __name__.rpartition('.')[0]
        mname = '.'.join((pkg, '_smartcols')).lstrip('.')
        try:
            return importlib.import_module(mname)
        except ImportError:
            return importlib.import_module('_smartcols')
    _smartcols = swig_import_helper()
    del swig_import_helper
elif _swig_python_version_info >= (2, 6, 0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_smartcols', [dirname(__file__)])
        except ImportError:
            import _smartcols
            return _smartcols
        try:
            _mod = imp.load_module('_smartcols', fp, pathname, description)
        finally:
            if fp is not None:
                fp.close()
        return _mod
    _smartcols = swig_import_helper()
    del swig_import_helper
else:
    import _smartcols
del _swig_python_version_info

try:
    _swig_property = property
except NameError:
    pass  # Python < 2.2 doesn't have 'property'.

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
    if (name == "thisown"):
        return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name, None)
    if method:
        return method(self, value)
    if (not static):
        if _newclass:
            object.__setattr__(self, name, value)
        else:
            self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)


def _swig_setattr(self, class_type, name, value):
    return _swig_setattr_nondynamic(self, class_type, name, value, 0)


def _swig_getattr(self, class_type, name):
    if (name == "thisown"):
        return self.this.own()
    method = class_type.__swig_getmethods__.get(name, None)
    if method:
        return method(self)
    raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))


def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)

try:
    _object = object
    _newclass = 1
except __builtin__.Exception:
    class _object:
        pass
    _newclass = 0

SHARED_PTR_DISOWN = _smartcols.SHARED_PTR_DISOWN
class Table(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Table, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Table, name)
    __repr__ = _swig_repr
    TermForce_AUTO = _smartcols.Table_TermForce_AUTO
    TermForce_NEVER = _smartcols.Table_TermForce_NEVER
    TermForce_ALWAYS = _smartcols.Table_TermForce_ALWAYS

    def __init__(self, *args):
        this = _smartcols.new_Table(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _smartcols.delete_Table
    __del__ = lambda self: None

    def setName(self, name):
        return _smartcols.Table_setName(self, name)

    def setColumnSeparator(self, separator):
        return _smartcols.Table_setColumnSeparator(self, separator)

    def setLineSeparator(self, separator):
        return _smartcols.Table_setLineSeparator(self, separator)

    def setSymbols(self, symbols):
        return _smartcols.Table_setSymbols(self, symbols)

    def setDefaultSymbols(self):
        return _smartcols.Table_setDefaultSymbols(self)

    def setStream(self, stream):
        return _smartcols.Table_setStream(self, stream)

    def setTermforce(self, force):
        return _smartcols.Table_setTermforce(self, force)

    def setTermwidth(self, width):
        return _smartcols.Table_setTermwidth(self, width)

    def getName(self):
        return _smartcols.Table_getName(self)

    def getColumnSeparator(self):
        return _smartcols.Table_getColumnSeparator(self)

    def getLineSeparator(self):
        return _smartcols.Table_getLineSeparator(self)

    def getNumberOfColumns(self):
        return _smartcols.Table_getNumberOfColumns(self)

    def getNumberOfLines(self):
        return _smartcols.Table_getNumberOfLines(self)

    def getTitle(self):
        return _smartcols.Table_getTitle(self)

    def getColumn(self, n):
        return _smartcols.Table_getColumn(self, n)

    def getLine(self, n):
        return _smartcols.Table_getLine(self, n)

    def getTermforce(self):
        return _smartcols.Table_getTermforce(self)

    def getSymbols(self):
        return _smartcols.Table_getSymbols(self)

    def getTermwidth(self):
        return _smartcols.Table_getTermwidth(self)

    def getStream(self):
        return _smartcols.Table_getStream(self)

    def isColorsEnabled(self):
        return _smartcols.Table_isColorsEnabled(self)

    def isRaw(self):
        return _smartcols.Table_isRaw(self)

    def isAscii(self):
        return _smartcols.Table_isAscii(self)

    def isJson(self):
        return _smartcols.Table_isJson(self)

    def isNoheadings(self):
        return _smartcols.Table_isNoheadings(self)

    def isEmpty(self):
        return _smartcols.Table_isEmpty(self)

    def isExport(self):
        return _smartcols.Table_isExport(self)

    def isMaxout(self):
        return _smartcols.Table_isMaxout(self)

    def isNowrap(self):
        return _smartcols.Table_isNowrap(self)

    def isNoLineSeparator(self):
        return _smartcols.Table_isNoLineSeparator(self)

    def isTree(self):
        return _smartcols.Table_isTree(self)

    def enableColors(self, enable):
        return _smartcols.Table_enableColors(self, enable)

    def enableRaw(self, enable):
        return _smartcols.Table_enableRaw(self, enable)

    def enableAscii(self, enable):
        return _smartcols.Table_enableAscii(self, enable)

    def enableJson(self, enable):
        return _smartcols.Table_enableJson(self, enable)

    def enableNoheadings(self, enable):
        return _smartcols.Table_enableNoheadings(self, enable)

    def enableExport(self, enable):
        return _smartcols.Table_enableExport(self, enable)

    def enableMaxout(self, enable):
        return _smartcols.Table_enableMaxout(self, enable)

    def enableNowrap(self, enable):
        return _smartcols.Table_enableNowrap(self, enable)

    def enableNolinesep(self, enable):
        return _smartcols.Table_enableNolinesep(self, enable)

    def addColumn(self, column):
        return _smartcols.Table_addColumn(self, column)

    def removeColumn(self, column):
        return _smartcols.Table_removeColumn(self, column)

    def removeColumns(self):
        return _smartcols.Table_removeColumns(self)

    def moveColumn(self, before, toMove):
        return _smartcols.Table_moveColumn(self, before, toMove)

    def newColumn(self, name, widthHint=0, flags=0):
        return _smartcols.Table_newColumn(self, name, widthHint, flags)

    def nextColumn(self, iterator):
        return _smartcols.Table_nextColumn(self, iterator)

    def addLine(self, line):
        return _smartcols.Table_addLine(self, line)

    def removeLine(self, line):
        return _smartcols.Table_removeLine(self, line)

    def removeLines(self):
        return _smartcols.Table_removeLines(self)

    def newLine(self, *args):
        return _smartcols.Table_newLine(self, *args)

    def nextLine(self, iterator):
        return _smartcols.Table_nextLine(self, iterator)

    def reduceTermwidth(self, reduce):
        return _smartcols.Table_reduceTermwidth(self, reduce)

    def sort(self, column):
        return _smartcols.Table_sort(self, column)

    def sortByTree(self):
        return _smartcols.Table_sortByTree(self)

    def _print(self, *args):
        return _smartcols.Table__print(self, *args)

    def toString(self, *args):
        return _smartcols.Table_toString(self, *args)
Table_swigregister = _smartcols.Table_swigregister
Table_swigregister(Table)


def wrapNewlineChunksize(column, data, userdata):
    return _smartcols.wrapNewlineChunksize(column, data, userdata)
wrapNewlineChunksize = _smartcols.wrapNewlineChunksize

def wrapNewlineNextchunk(column, data, userdata):
    return _smartcols.wrapNewlineNextchunk(column, data, userdata)
wrapNewlineNextchunk = _smartcols.wrapNewlineNextchunk
class Column(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Column, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Column, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _smartcols.new_Column(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _smartcols.delete_Column
    __del__ = lambda self: None

    def isTree(self):
        return _smartcols.Column_isTree(self)

    def isTrunc(self):
        return _smartcols.Column_isTrunc(self)

    def isRight(self):
        return _smartcols.Column_isRight(self)

    def isStrictWidth(self):
        return _smartcols.Column_isStrictWidth(self)

    def isHidden(self):
        return _smartcols.Column_isHidden(self)

    def isNoextremes(self):
        return _smartcols.Column_isNoextremes(self)

    def isWrap(self):
        return _smartcols.Column_isWrap(self)

    def isCustomwrap(self):
        return _smartcols.Column_isCustomwrap(self)

    def getFlags(self):
        return _smartcols.Column_getFlags(self)

    def getWidthHint(self):
        return _smartcols.Column_getWidthHint(self)

    def getWidth(self):
        return _smartcols.Column_getWidth(self)

    def getSafechars(self):
        return _smartcols.Column_getSafechars(self)

    def getColor(self):
        return _smartcols.Column_getColor(self)

    def getHeader(self):
        return _smartcols.Column_getHeader(self)

    def setWrap(self, enable):
        return _smartcols.Column_setWrap(self, enable)

    def setColor(self, color):
        return _smartcols.Column_setColor(self, color)

    def setFlags(self, flags):
        return _smartcols.Column_setFlags(self, flags)

    def setSafechars(self, safe):
        return _smartcols.Column_setSafechars(self, safe)

    def setWidthHint(self, hint):
        return _smartcols.Column_setWidthHint(self, hint)

    def setCompareFunction(self, function, data):
        return _smartcols.Column_setCompareFunction(self, function, data)

    def setWrapFunction(self, wrapChunksize, wrapNextchunk, userdata):
        return _smartcols.Column_setWrapFunction(self, wrapChunksize, wrapNextchunk, userdata)

    def setNewlineWrapFunction(self):
        return _smartcols.Column_setNewlineWrapFunction(self)
Column_swigregister = _smartcols.Column_swigregister
Column_swigregister(Column)

class Line(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Line, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Line, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _smartcols.new_Line(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _smartcols.delete_Line
    __del__ = lambda self: None

    def allocCells(self, n):
        return _smartcols.Line_allocCells(self, n)

    def freeCells(self):
        return _smartcols.Line_freeCells(self)

    def addChild(self, child):
        return _smartcols.Line_addChild(self, child)

    def removeChild(self, child):
        return _smartcols.Line_removeChild(self, child)

    def nextChild(self, iter):
        return _smartcols.Line_nextChild(self, iter)

    def referData(self, n, data):
        return _smartcols.Line_referData(self, n, data)

    def referColumnData(self, column, data):
        return _smartcols.Line_referColumnData(self, column, data)

    def hasChildren(self):
        return _smartcols.Line_hasChildren(self)

    def isAncestor(self, parent):
        return _smartcols.Line_isAncestor(self, parent)

    def getCellCount(self):
        return _smartcols.Line_getCellCount(self)

    def getColor(self):
        return _smartcols.Line_getColor(self)

    def getCell(self, n):
        return _smartcols.Line_getCell(self, n)

    def getColumnCell(self, *args):
        return _smartcols.Line_getColumnCell(self, *args)

    def getParent(self):
        return _smartcols.Line_getParent(self)

    def getUserdata(self):
        return _smartcols.Line_getUserdata(self)

    def setUserdata(self, data):
        return _smartcols.Line_setUserdata(self, data)

    def setColor(self, color):
        return _smartcols.Line_setColor(self, color)

    def setData(self, n, data):
        return _smartcols.Line_setData(self, n, data)

    def setColumnData(self, *args):
        return _smartcols.Line_setColumnData(self, *args)
Line_swigregister = _smartcols.Line_swigregister
Line_swigregister(Line)

class Cell(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Cell, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Cell, name)
    __repr__ = _swig_repr

    def __init__(self, cell):
        this = _smartcols.new_Cell(cell)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def reset(self):
        return _smartcols.Cell_reset(self)

    def getFlags(self):
        return _smartcols.Cell_getFlags(self)

    def getAlignment(self):
        return _smartcols.Cell_getAlignment(self)

    def getData(self):
        return _smartcols.Cell_getData(self)

    def getColor(self):
        return _smartcols.Cell_getColor(self)

    def getUserdata(self):
        return _smartcols.Cell_getUserdata(self)

    def setData(self, data):
        return _smartcols.Cell_setData(self, data)

    def setColor(self, color):
        return _smartcols.Cell_setColor(self, color)

    def setFlags(self, flags):
        return _smartcols.Cell_setFlags(self, flags)

    def setUserdata(self, data):
        return _smartcols.Cell_setUserdata(self, data)

    def __eq__(self, cell):
        return _smartcols.Cell___eq__(self, cell)
    __swig_destroy__ = _smartcols.delete_Cell
    __del__ = lambda self: None
Cell_swigregister = _smartcols.Cell_swigregister
Cell_swigregister(Cell)

# This file is compatible with both classic and new-style classes.


