Пример #1
0
    def __handle_window_set_closed(self, event: QChildEvent):
        RegionSetManager.__LOG.debug(
            "__handle_window_set_closed called for window set: {}",
            event.child())
        window_set = event.child()
        if window_set in self.__window_sets:
            region_set_list = self.__window_sets.pop(window_set, None)
            while len(region_set_list) > 0:
                region_set = region_set_list.pop()
                region_set.display_item().close()

                region = region_set.region()
                self.__region_display_items.pop(region)
                self.__region_window.remove_item(region)
Пример #2
0
    def __handle_image_closed(self, event: WindowCloseEvent):
        target_window = event.target()
        if target_window == self.__main_image_window or target_window == self.__zoom_image_window:
            WindowSet.__LOG.debug("__handle_image_closed target: {}",
                                  target_window)
            if self.__zoom_image_window is not None:
                # disconnect so we don't get a second event
                self.__zoom_image_window.closed.disconnect(
                    self.__handle_image_closed)
                self.__zoom_image_window.close()
                self.__zoom_image_window = None

            if self.__main_image_window is not None:
                # disconnect so we don't get a second event
                self.__main_image_window.closed.disconnect(
                    self.__handle_image_closed)
                self.__main_image_window.close()
                self.__main_image_window = None

            if self.__histogram_window is not None:
                self.__histogram_window.close()
                self.__histogram_window = None

            if self.__spec_plot_window is not None:
                # It should have been closed when the main window, it's parent closed
                self.__spec_plot_window.close()
                self.__spec_plot_window = None

            while len(self.__band_stats_windows) > 0:
                key, window = self.__band_stats_windows.popitem()
                window.close()

            self.closed.emit(QChildEvent(QChildEvent.ChildRemoved, self))
Пример #3
0
    def __handle_windowset_closed(self, event: QChildEvent):
        window_set = event.child()
        # if the file was closed the window_set will have been closed already
        if window_set in self.__window_sets:
            self.__window_sets.remove(window_set)
            del window_set

        FileManager.__LOG.debug("WindowSets open {0}", len(self.__window_sets))
Пример #4
0
 def eventFilter(self, obj, event):
     # might be useful events to know
     # 103 window blocked by modal dialog
     # 99 activation changed
     # 25 deactivated
     # 24 activated
     #print event,'parent',self.parent
     #print event,'Event Type',self.event.type()
     if obj == self.parent:
         #Catches resize and child events from the parent widget
         if event.type() == QEvent.Resize:
             #print 'resize'
             self.resize(QResizeEvent.size(event))
         elif event.type() == QEvent.Move:
             self.move(QMoveEvent.pos(event))
         elif(event.type() == QEvent.ChildAdded):
             #print 'CHILD',QChildEvent.child(event)
             if not QChildEvent.child(event) is QDialog:
                 self.raise_()
         if event.type() == QEvent.Close:
             self.hide()
             self.closeEvent(event)
             event.accept()
     return super(OverlayWidget, self).eventFilter(obj, event)
Пример #5
0
 def eventFilter(self, obj, event):
     # might be useful events to know
     # 103 window blocked by modal dialog
     # 99 activation changed
     # 25 deactivated
     # 24 activated
     #print event,'parent',self.parent
     #print event,'Event Type',self.event.type()
     if obj == self.parent:
         #Catches resize and child events from the parent widget
         if event.type() == QEvent.Resize:
             #print 'resize'
             self.resize(QResizeEvent.size(event))
         #elif event.type() == QEvent.Move:
             #self.move(QMoveEvent.pos(event))
         elif(event.type() == QEvent.ChildAdded):
             #print 'CHILD',QChildEvent.child(event)
             if not QChildEvent.child(event) is QDialog:
                 self.raise_()
         if event.type() == QEvent.Close:
             self.hide()
             self.closeEvent(event)
             event.accept()
     return super(OverlayWidget, self).eventFilter(obj, event)