code: def collapse( self, direction ):
          
          if ( self.isCollapsed() ):
              return False
          
          splitter = self.parent()
          if ( not splitter ):
              return False
          
          sizes   = splitter.sizes()
          handles = [splitter.handle(i) for i in range(len(sizes))]
          index   = handles.index(self)
          
          self.markCollapsed(direction, sizes)
          
          # determine the sizes to use based on the direction
          if ( direction == XSplitterHandle.CollapseDirection.Before ):
              sizes = [0 for i in range(i)] + sizes[i+1:]
          else:
              sizes = sizes[:i] + [0 for i in range(i, len(sizes))]
          
          splitter.setSizes(sizes)
          return True
docs: Collapses this splitter handle before or after other widgets based on \
          the inputed CollapseDirection.
          
          :param      direction | <XSplitterHandle.CollapseDirection>
          
          :return     <bool> | success