def setColumns(self, columns): if columns == self.getColumns(): return _GafferUI._pathListingWidgetSetColumns( GafferUI._qtAddress(self._qtWidget()), columns)
def __init__( self, path, columns = defaultFileSystemColumns, allowMultipleSelection = False, displayMode = DisplayMode.List, **kw ) : GafferUI.Widget.__init__( self, _TreeView(), **kw ) self._qtWidget().setAlternatingRowColors( True ) self._qtWidget().setUniformRowHeights( True ) self._qtWidget().setEditTriggers( QtWidgets.QTreeView.NoEditTriggers ) self._qtWidget().activated.connect( Gaffer.WeakMethod( self.__activated ) ) if Qt.__binding__ in ( "PySide2", "PyQt5" ) : self._qtWidget().header().setSectionsMovable( False ) else : self._qtWidget().header().setMovable( False ) self._qtWidget().header().setSortIndicator( 0, QtCore.Qt.AscendingOrder ) self._qtWidget().setSortingEnabled( True ) self._qtWidget().expansionChanged.connect( Gaffer.WeakMethod( self.__expansionChanged ) ) # install an empty model, so we an construct our selection model # around it. we'll update the model contents shortly in setPath(). _GafferUI._pathListingWidgetUpdateModel( GafferUI._qtAddress( self._qtWidget() ), None ) _GafferUI._pathListingWidgetSetColumns( GafferUI._qtAddress( self._qtWidget() ), columns ) self.__selectionModel = QtCore.QItemSelectionModel( self._qtWidget().model() ) self._qtWidget().setSelectionModel( self.__selectionModel ) self.__selectionChangedSlot = Gaffer.WeakMethod( self.__selectionChanged ) self._qtWidget().selectionModel().selectionChanged.connect( self.__selectionChangedSlot ) if allowMultipleSelection : self._qtWidget().setSelectionMode( QtWidgets.QAbstractItemView.ExtendedSelection ) self.__pathSelectedSignal = GafferUI.WidgetSignal() self.__selectionChangedSignal = GafferUI.WidgetSignal() self.__displayModeChangedSignal = GafferUI.WidgetSignal() self.__expansionChangedSignal = GafferUI.WidgetSignal() # members for implementing drag and drop self.__emittingButtonPress = False self.__borrowedButtonPress = None self.__buttonPressConnection = self.buttonPressSignal().connect( Gaffer.WeakMethod( self.__buttonPress ) ) self.__buttonReleaseConnection = self.buttonReleaseSignal().connect( Gaffer.WeakMethod( self.__buttonRelease ) ) self.__mouseMoveConnection = self.mouseMoveSignal().connect( Gaffer.WeakMethod( self.__mouseMove ) ) self.__dragBeginConnection = self.dragBeginSignal().connect( Gaffer.WeakMethod( self.__dragBegin ) ) self.__dragEndConnection = self.dragEndSignal().connect( Gaffer.WeakMethod( self.__dragEnd ) ) self.__dragPointer = "paths" self.__path = None self.setDisplayMode( displayMode ) self.setPath( path )
def setColumns( self, columns ) : if columns == self.getColumns() : return _GafferUI._pathListingWidgetSetColumns( GafferUI._qtAddress( self._qtWidget() ), columns )