Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ENH: Improve Python autocomplete list ordering
Before this change, a strict alphabetical sorting was used, which means that order of attributes was: - uppercase letters: constants + internal classes + VTK methods - underscore: private attributes - lowercase letters: Python and Qt attributes and methods For example attributes of a Qt class: ``` AllowNestedDocks AllowTabbedDocks AnimatedDocks DockOption() ... PdmPhysicalDpiY PdmWidth PdmWidthMM RenderFlag() RenderFlags() VerticalTabs __bool__() __class__() __delattr__() __dict__ __dir__() __doc__ __eq__() __format__() ... __setattr__() __sizeof__() __str__() __subclasshook__() __weakref__ acceptDrops accessibleDescription accessibleName actionEvent() addToolBar() ... windowRole() windowState() windowTitle windowTitleChanged() windowType() x y ``` This means that the user must scroll through a lot of irrelevant parts before gets to method names. After this change, attributes are grouped into the following categories and displayed in this order: - Python and Qt attributes and methods (starts with lowercase letter) - VTK methods + static classes and types (starts with uppercase letter, ends with parenthesis) - constants (starts with uppercase letter, does not end with parenthesis) - private attributes (starts with underscore) Case insensitive comparison is used within each group. Example: ``` acceptDrops accessibleDescription accessibleName actionEvent() actions() activateWindow() addAction() ... windowType() winId() x y DockOption() DockOptions() PaintDeviceMetric() RenderFlag() RenderFlags() AllowNestedDocks AllowTabbedDocks AnimatedDocks DrawChildren ... PdmWidthMM VerticalTabs __bool__() __class__() __delattr__() ... __str__() __subclasshook__() __weakref__ ```
- Loading branch information