def postUndockedEvent(self): """ Post a DockItemUndocked event to the root dock area. """ root_area = self.manager().dock_area() if root_area.dockEventsEnabled(): event = QDockItemEvent(DockItemUndocked, self.objectName()) QApplication.postEvent(root_area, event)
def _onSlideOutFinished(self): """ Handle the 'finished' signal from a slide out animation. """ item = self.sender().targetObject() item.setAnimation(None) container = item.widget() area = container.manager().dock_area() if area.dockEventsEnabled(): event = QDockItemEvent(DockItemExtended, container.objectName()) QApplication.postEvent(area, event)
def _onSlideInFinished(self): """ Handle the 'finished' signal from a slide in animation. """ item = self.sender().targetObject() item.setAnimation(None) item.hide() self._untrackForResize(item) container = item.widget() area = container.manager().dock_area() if area.dockEventsEnabled(): event = QDockItemEvent(DockItemRetracted, container.objectName()) QApplication.postEvent(area, event)
def post_docked_event(self, container): """ Post the docked event for the given container. Parameters ---------- container : QDockContainer The dock container which was undocked. """ root_area = container.manager().dock_area() if root_area.dockEventsEnabled(): event = QDockItemEvent(DockItemDocked, container.objectName()) QApplication.postEvent(root_area, event)
def closeEvent(self, event): """ Handle the close event for the dock item. This handler will reject the event if the item is not closable. """ event.ignore() if self._closable: event.accept() area = self.rootDockArea() if area is not None and area.dockEventsEnabled(): event = QDockItemEvent(DockItemClosed, self.objectName()) QApplication.postEvent(area, event)
def _onVisibilityTimer(self): """ Handle the visibility timer timeout. This handler will post the dock item visibility event to the root dock area. """ area = self.rootDockArea() if area is not None and area.dockEventsEnabled(): timer, visible = self._vis_changed evt_type = DockItemShown if visible else DockItemHidden event = QDockItemEvent(evt_type, self.objectName()) QApplication.postEvent(area, event) self._vis_changed = None
def _onCurrentChanged(self, index): """ Handle the 'currentChanged' signal for the tab widget. """ # These checks protect against the signal firing during close. container = self.widget(index) if container is None: return manager = container.manager() if manager is None: return area = manager.dock_area() if area is None: return if area.dockEventsEnabled(): event = QDockItemEvent(DockTabSelected, container.objectName()) QApplication.postEvent(area, event)