Пример #1
0
    def GetWndMenu(self):
        if uicore.registry.GetModalWindow():
            return
        import menu
        if not getattr(
                self, 'chooseWndMenu', None
        ) or self.chooseWndMenu.destroyed or self.chooseWndMenu.state == uiconst.UI_HIDDEN:
            menu.KillAllMenus()
            wnds = [
                each for each in uicore.registry.GetWindows()
                if not getattr(each, 'defaultExcludeFromWindowMenu', 0)
            ]
            showhide = uicore.layer.main.state == uiconst.UI_PICKCHILDREN
            m = []
            for each in wnds:
                if not hasattr(each, 'Maximize'):
                    continue
                if hasattr(each, 'GetCaption'):
                    label = each.GetCaption()
                else:
                    label = each.name
                m.append((label, each.Maximize))

            if m:
                mv = menu.CreateMenuView(menu.CreateMenuFromList(m), None,
                                         None)
                mv.left, mv.top = (uicore.desktop.width - mv.width) // 2, (
                    uicore.desktop.height - mv.height) // 2
                uicore.layer.menu.children.insert(0, mv)
                self.chooseWndMenu = mv
                self.wmTimer = base.AutoTimer(10, self._CheckWndMenu)
            else:
                self.chooseWndMenu = None
        return self.chooseWndMenu
Пример #2
0
 def MakeMenu(self, list = None, anchor = None):
     if list is None:
         return
     if anchor is None:
         return
     mv = menu.CreateMenuView(menu.CreateMenuFromList(list), None, None)
     anchorwindow = self
     x = max(uiutil.GetChild(anchorwindow, anchor).GetAbsolute()[0], 0)
     y = anchorwindow.top + anchorwindow.height
     if anchorwindow.top + anchorwindow.height + mv.height > uicore.desktop.height:
         mv.top = min(form.InsiderWnd.GetIfOpen().top - mv.height, y)
     else:
         mv.top = min(uicore.desktop.width - mv.height, y)
     mv.left = min(uicore.desktop.width - mv.width, x)
     uicontrols.Frame(parent=mv, color=(1.0, 1.0, 1.0, 0.2))
     uicore.layer.menu.children.insert(0, mv)
Пример #3
0
 def ExportMenu(*args):
     exportMenu = []
     exportMenu.append(('Generate List Dump', self.Dump))
     exportMenu.append(('Generate POSer', self.DumpPOSer))
     mv = menu.CreateMenuView(menu.CreateMenuFromList(exportMenu), None,
                              None)
     anchorwindow = DestroyableItemsWindow.GetIfOpen()
     anchor = u'Export'
     anchoritem = uiutil.GetChild(anchorwindow, anchor)
     x, y, w, h = anchoritem.GetAbsolute()
     x = max(x, 0)
     y = y + h
     if y + mv.height > uicore.desktop.height:
         mv.top = anchoritem.GetAbsolute()[1] - mv.height
     else:
         mv.top = y
     mv.left = min(uicore.desktop.width - mv.width, x)
     uicontrols.Frame(parent=mv, color=(1.0, 1.0, 1.0, 0.2))
     uicore.layer.menu.children.insert(0, mv)
Пример #4
0
 def AppOnOpenContextMenu(self, nodeType, linkUrl, imageUrl, pageUrl,
                          frameUrl, editFlags):
     menuData = []
     eventHandlerCanTab = hasattr(self.browserEventHandler, 'AddTab')
     if nodeType & browserConst.selectedPage and not self.isViewSourceMode:
         if len(menuData) > 0:
             menuData.append(None)
         pageUrl = str(pageUrl)
         menuData.append((localization.GetByLabel('UI/Browser/Back'),
                          self.HistoryBack, []))
         menuData.append((localization.GetByLabel('UI/Browser/Forward'),
                          self.HistoryForward, []))
         menuData.append((localization.GetByLabel('UI/Browser/ReloadPage'),
                          self.ReloadPage, []))
         menuData.append((localization.GetByLabel('UI/Browser/Stop'),
                          self.StopLoading, []))
         menuData.append(None)
         menuData.append(
             (localization.GetByLabel('UI/Browser/ViewPageSource'),
              self.ViewSourceOfUrl, [pageUrl]))
     if nodeType & browserConst.selectedFrame and not self.isViewSourceMode:
         if len(menuData) > 0:
             menuData.append(None)
         menuData.append((localization.GetByLabel('UI/Browser/Back'),
                          self.HistoryBack, []))
         menuData.append((localization.GetByLabel('UI/Browser/Forward'),
                          self.HistoryForward, []))
         menuData.append((localization.GetByLabel('UI/Browser/Stop'),
                          self.StopLoading, []))
         menuData.append(None)
         frameUrl = str(frameUrl)
         if eventHandlerCanTab:
             menuData.append(
                 (localization.GetByLabel('UI/Browser/OpenFrameInNewTab'),
                  self.LaunchNewTab, [frameUrl]))
         menuData.append(
             (localization.GetByLabel('UI/Browser/ViewFrameSource'),
              self.ViewSourceOfUrl, [frameUrl]))
         menuData.append(None)
         menuData.append(
             (localization.GetByLabel('UI/Browser/ViewPageSource'),
              self.ViewSourceOfUrl, [pageUrl]))
     if nodeType & browserConst.selectedLink:
         if len(menuData) > 0:
             menuData.append(None)
         linkUrl = str(linkUrl)
         if not self.isViewSourceMode:
             menuData.append(
                 (localization.GetByLabel('UI/Browser/OpenLink'),
                  self.BrowseTo, [linkUrl]))
             if eventHandlerCanTab:
                 menuData.append((
                     localization.GetByLabel('UI/Browser/OpenLinkInNewTab'),
                     self.LaunchNewTab, [linkUrl]))
         menuData.append(
             (localization.GetByLabel('UI/Browser/CopyLinkLocation'),
              self.CopyText, [linkUrl]))
     if nodeType & browserConst.selectedImage and not self.isViewSourceMode:
         if len(menuData) > 0:
             menuData.append(None)
         imageUrl = str(imageUrl)
         menuData.append((localization.GetByLabel('UI/Browser/ViewImage'),
                          self.BrowseTo, [imageUrl]))
         menuData.append(
             (localization.GetByLabel('UI/Browser/CopyImageLocation'),
              self.CopyText, [imageUrl]))
     tempMenu = []
     if editFlags & browserConst.flagCanCut:
         tempMenu.append((uiutil.MenuLabel('UI/Common/Cut'),
                          self.PerformCommand, [browserConst.commandCut]))
     if editFlags & browserConst.flagCanCopy:
         tempMenu.append((uiutil.MenuLabel('UI/Common/Copy'),
                          self.PerformCommand, [browserConst.commandCopy]))
     if editFlags & browserConst.flagCanPaste:
         tempMenu.append((uiutil.MenuLabel('UI/Common/Paste'),
                          self.PerformCommand, [browserConst.commandPaste]))
     if editFlags & browserConst.flagCanDelete:
         tempMenu.append(
             (uiutil.MenuLabel('UI/Common/Delete'), self.PerformCommand,
              [browserConst.commandDelete]))
     if len(tempMenu) > 0:
         if len(menuData) > 0:
             menuData.append(None)
         menuData.extend(tempMenu)
         tempMenu = []
     if editFlags & browserConst.flagCanSelectAll:
         tempMenu.append(
             (uiutil.MenuLabel('UI/Common/SelectAll'), self.PerformCommand,
              [browserConst.commandSelectAll]))
     if len(tempMenu) > 0:
         if len(menuData) > 0:
             menuData.append(None)
         menuData.extend(tempMenu)
         tempMenu = []
     if len(menuData) > 0:
         mv = menu.CreateMenuView(menu.CreateMenuFromList(menuData), None,
                                  None)
         x, y = uicore.uilib.x + 10, uicore.uilib.y
         x, y = min(uicore.desktop.width - mv.width,
                    x), min(uicore.desktop.height - mv.height, y)
         mv.left, mv.top = x, y
         uicore.layer.menu.children.insert(0, mv)