This file is indexed.

/usr/lib/python2.7/dist-packages/wx-2.6-gtk2-unicode/wx/lib/foldmenu.py is in python-wxgtk2.6 2.6.3.2.2-5ubuntu4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# 12/07/2003 - Jeff Grimmett (grimmtooth@softhome.net)
#
# o 2.5 Compatability changes
#

import wx
from wx.lib.evtmgr import eventManager

class FoldOutWindow(wx.PopupWindow):
    def __init__(self,parent,style=0):
        wx.PopupWindow.__init__(self,parent,style)
        self.SetAutoLayout(True)
        self.sizer=wx.BoxSizer(wx.HORIZONTAL)
        self.SetSizer(self.sizer, deleteOld=False)
        self.handlers={}
        self.InitColors()
        self.inWindow=False
        self.Bind(wx.EVT_ENTER_WINDOW, self.evEnter)
        self.Bind(wx.EVT_LEAVE_WINDOW, self.evLeave)
        
    def InitColors(self):
        faceClr = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)
        self.SetBackgroundColour(faceClr)

    def AddButton(self,bitmap,handler=None):
        id=wx.NewId()
        btn=wx.BitmapButton(self,id,bitmap)
        self.sizer.Add(btn, 1, wx.ALIGN_CENTER|wx.ALL|wx.EXPAND, 2)
        self.Bind(wx.EVT_BUTTON, self.OnBtnClick, btn)
        self.sizer.Fit(self)
        self.Layout()

        if handler:
            self.handlers[id]=handler

        return id

    def Popup(self):
        if not self.IsShown():
            self.Show()

    def OnBtnClick(self,event):
        id=event.GetEventObject().GetId()

        if self.handlers.has_key(id):
            self.handlers[id](event)

        self.Hide()
        self.inWindow=False
        event.Skip()

    def evEnter(self,event):
        self.inWindow=True
        self.rect=self.GetRect()
        event.Skip()
        
    def evLeave(self,event):
        if self.inWindow:
            if not self.rect.Inside(self.ClientToScreen(event.GetPosition())):
                self.Hide()

        event.Skip()


        

        
class FoldOutMenu(wx.BitmapButton):
    def __init__(self,parent,id,bitmap,pos = wx.DefaultPosition,
                 size = wx.DefaultSize, style = wx.BU_AUTODRAW,
                 validator = wx.DefaultValidator, name = "button"):

        wx.BitmapButton.__init__(self, parent, id, bitmap, pos, size, style,
                                 validator, name)

        self.parent=parent
        self.parent.Bind(wx.EVT_BUTTON, self.click, self)
        self.popwin=FoldOutWindow(self.parent)

    def AddButton(self,bitmap,handler=None):
        return self.popwin.AddButton(bitmap,handler=handler)

    def click(self,event):
        pos=self.GetPosition()
        sz=self.GetSize()
        pos.x=pos.x+sz.width
        pos.y=pos.y+sz.height/2
        self.popwin.Position(pos,sz)
        self.popwin.Popup()