Package schrodinger :: Package ui :: Package qt :: Module filedialog :: Class ProjectOpenDialog
[hide private]
[frames] | no frames]

Class ProjectOpenDialog

       object --+                            
                |                            
sip.simplewrapper --+                        
                    |                        
          sip.wrapper --+                    
                        |                    
     PyQt4.QtCore.QObject --+                
                            |                
           object --+       |                
                    |       |                
    sip.simplewrapper --+   |                
                        |   |                
 PyQt4.QtGui.QPaintDevice --+                
                            |                
          PyQt4.QtGui.QWidget --+            
                                |            
              PyQt4.QtGui.QDialog --+        
                                    |        
              PyQt4.QtGui.QFileDialog --+    
                                        |    
                      OpenDirAsFileDialog --+
                                            |
                                           ProjectOpenDialog

A file dialog tailored to opening Projects.

Differences from a typical Open File Dialog:

The dialog should first be created, then the getFilename method called. ie:

   dialog = ProjectOpenDialog()
   project_path = dialog.getFilename()
   if project_path:
       Do stuff

Because QFileDialogs normally cannot handle accepting either a directory OR a file, this uses a few tricks noted throughout the code to make the process of selecting either a project directory or a zip file invisible to the user.

Nested Classes [hide private]

Inherited from PyQt4.QtGui.QFileDialog: AcceptMode, DialogLabel, FileMode, Option, Options, ViewMode

Inherited from PyQt4.QtGui.QDialog: DialogCode

Inherited from PyQt4.QtGui.QWidget: RenderFlag, RenderFlags

Inherited from PyQt4.QtGui.QPaintDevice: PaintDeviceMetric

Instance Methods [hide private]
 
__init__(self, parent=None, caption='Open Project', directory='.', accept='Open', filter='Projects (*.prj *.prjzip *.prj.zip)')
Create a ProjectOpenDialog instance
 
setExtensionChecker(self)
Set a callable function that takes a path as input and returns True if that path is one of the "special" directories/files that this dialog treats as a "file".
 
setMyIconProvider(self)
Sets the IconProvider to a custom class that provides project icons

Inherited from OpenDirAsFileDialog: accept, exec_, getFilename

Inherited from PyQt4.QtGui.QFileDialog: acceptMode, changeEvent, confirmOverwrite, currentChanged, defaultSuffix, directory, directoryEntered, done, fileMode, fileSelected, filesSelected, filter, filterSelected, filters, getExistingDirectory, getOpenFileName, getOpenFileNameAndFilter, getOpenFileNames, getOpenFileNamesAndFilter, getSaveFileName, getSaveFileNameAndFilter, history, iconProvider, isNameFilterDetailsVisible, isReadOnly, itemDelegate, labelText, nameFilters, open, options, proxyModel, resolveSymlinks, restoreState, saveState, selectFile, selectFilter, selectNameFilter, selectedFiles, selectedFilter, selectedNameFilter, setAcceptMode, setConfirmOverwrite, setDefaultSuffix, setDirectory, setFileMode, setFilter, setFilters, setHistory, setIconProvider, setItemDelegate, setLabelText, setNameFilter, setNameFilterDetailsVisible, setNameFilters, setOption, setOptions, setProxyModel, setReadOnly, setResolveSymlinks, setSidebarUrls, setViewMode, setVisible, sidebarUrls, testOption, viewMode

Inherited from PyQt4.QtGui.QDialog: accepted, closeEvent, contextMenuEvent, eventFilter, extension, finished, isSizeGripEnabled, keyPressEvent, minimumSizeHint, orientation, reject, rejected, resizeEvent, result, setExtension, setModal, setOrientation, setResult, setSizeGripEnabled, showEvent, showExtension, sizeHint

Inherited from PyQt4.QtGui.QWidget: acceptDrops, accessibleDescription, accessibleName, actionEvent, actions, activateWindow, addAction, addActions, adjustSize, autoFillBackground, backgroundRole, baseSize, childAt, childrenRect, childrenRegion, clearFocus, clearMask, close, contentsMargins, contentsRect, contextMenuPolicy, create, cursor, customContextMenuRequested, destroy, devType, dragEnterEvent, dragLeaveEvent, dragMoveEvent, dropEvent, effectiveWinId, enabledChange, ensurePolished, enterEvent, event, find, focusInEvent, focusNextChild, focusNextPrevChild, focusOutEvent, focusPolicy, focusPreviousChild, focusProxy, focusWidget, font, fontChange, fontInfo, fontMetrics, foregroundRole, frameGeometry, frameSize, geometry, getContentsMargins, grabGesture, grabKeyboard, grabMouse, grabShortcut, graphicsEffect, graphicsProxyWidget, handle, hasFocus, hasMouseTracking, height, heightForWidth, hide, hideEvent, inputContext, inputMethodEvent, inputMethodHints, inputMethodQuery, insertAction, insertActions, isActiveWindow, isAncestorOf, isEnabled, isEnabledTo, isEnabledToTLW, isFullScreen, isHidden, isLeftToRight, isMaximized, isMinimized, isModal, isRightToLeft, isTopLevel, isVisible, isVisibleTo, isWindow, isWindowModified, keyReleaseEvent, keyboardGrabber, languageChange, layout, layoutDirection, leaveEvent, locale, lower, mapFrom, mapFromGlobal, mapFromParent, mapTo, mapToGlobal, mapToParent, mask, maximumHeight, maximumSize, maximumWidth, metric, minimumHeight, minimumSize, minimumWidth, mouseDoubleClickEvent, mouseGrabber, mouseMoveEvent, mousePressEvent, mouseReleaseEvent, move, moveEvent, nativeParentWidget, nextInFocusChain, normalGeometry, overrideWindowFlags, overrideWindowState, paintEngine, paintEvent, palette, paletteChange, parentWidget, pos, previousInFocusChain, raise_, rect, releaseKeyboard, releaseMouse, releaseShortcut, removeAction, render, repaint, resetInputContext, resize, restoreGeometry, saveGeometry, scroll, setAcceptDrops, setAccessibleDescription, setAccessibleName, setAttribute, setAutoFillBackground, setBackgroundRole, setBaseSize, setContentsMargins, setContextMenuPolicy, setCursor, setDisabled, setEnabled, setFixedHeight, setFixedSize, setFixedWidth, setFocus, setFocusPolicy, setFocusProxy, setFont, setForegroundRole, setGeometry, setGraphicsEffect, setHidden, setInputContext, setInputMethodHints, setLayout, setLayoutDirection, setLocale, setMask, setMaximumHeight, setMaximumSize, setMaximumWidth, setMinimumHeight, setMinimumSize, setMinimumWidth, setMouseTracking, setPalette, setParent, setShortcutAutoRepeat, setShortcutEnabled, setShown, setSizeIncrement, setSizePolicy, setStatusTip, setStyle, setStyleSheet, setTabOrder, setToolTip, setUpdatesEnabled, setWhatsThis, setWindowFilePath, setWindowFlags, setWindowIcon, setWindowIconText, setWindowModality, setWindowModified, setWindowOpacity, setWindowRole, setWindowState, setWindowTitle, show, showFullScreen, showMaximized, showMinimized, showNormal, size, sizeIncrement, sizePolicy, stackUnder, statusTip, style, styleSheet, tabletEvent, testAttribute, toolTip, topLevelWidget, underMouse, ungrabGesture, unsetCursor, unsetLayoutDirection, unsetLocale, update, updateGeometry, updateMicroFocus, updatesEnabled, visibleRegion, whatsThis, wheelEvent, width, winId, window, windowActivationChange, windowFilePath, windowFlags, windowIcon, windowIconText, windowModality, windowOpacity, windowRole, windowState, windowTitle, windowType, x, x11Info, x11PictureHandle, y

Inherited from PyQt4.QtCore.QObject: __getattr__, blockSignals, childEvent, children, connect, connectNotify, customEvent, deleteLater, destroyed, disconnect, disconnectNotify, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, emit, findChild, findChildren, inherits, installEventFilter, isWidgetType, killTimer, metaObject, moveToThread, objectName, parent, property, pyqtConfigure, receivers, removeEventFilter, sender, senderSignalIndex, setObjectName, setProperty, signalsBlocked, startTimer, thread, timerEvent, tr, trUtf8

Inherited from PyQt4.QtGui.QPaintDevice: colorCount, depth, heightMM, logicalDpiX, logicalDpiY, numColors, paintingActive, physicalDpiX, physicalDpiY, widthMM

Inherited from sip.simplewrapper: __new__

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]

Inherited from PyQt4.QtGui.QFileDialog: Accept, AcceptOpen, AcceptSave, AnyFile, Detail, Directory, DirectoryOnly, DontConfirmOverwrite, DontResolveSymlinks, DontUseNativeDialog, DontUseSheet, ExistingFile, ExistingFiles, FileName, FileType, HideNameFilterDetails, List, LookIn, ReadOnly, Reject, ShowDirsOnly

Inherited from PyQt4.QtGui.QDialog: Accepted, Rejected

Inherited from PyQt4.QtGui.QWidget: DrawChildren, DrawWindowBackground, IgnoreMask

Inherited from PyQt4.QtCore.QObject: staticMetaObject

Inherited from PyQt4.QtGui.QPaintDevice: PdmDepth, PdmDpiX, PdmDpiY, PdmHeight, PdmHeightMM, PdmNumColors, PdmPhysicalDpiX, PdmPhysicalDpiY, PdmWidth, PdmWidthMM

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, parent=None, caption='Open Project', directory='.', accept='Open', filter='Projects (*.prj *.prjzip *.prj.zip)')
(Constructor)

 

Create a ProjectOpenDialog instance

Parameters:
  • parent (QWidget) - The parent widget for this dialog
  • caption (str) - The caption for this dialog
  • directory (str) - The directory this dialog starts in
  • accept (str) - The text that appears on the Open/Accept/Choose button that the user clicks to select a file and close the dialog
  • filter (str) - The file name filter used by the dialog
Overrides: object.__init__

setExtensionChecker(self)

 

Set a callable function that takes a path as input and returns True if that path is one of the "special" directories/files that this dialog treats as a "file".

Overrides: OpenDirAsFileDialog.setExtensionChecker

setMyIconProvider(self)

 

Sets the IconProvider to a custom class that provides project icons

Overrides: OpenDirAsFileDialog.setMyIconProvider