MCPcopy Index your code
hub / github.com/pyfa-org/Pyfa / TogglePanel

Class TogglePanel

gui/toggle_panel.py:18–143  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16
17
18class TogglePanel(wx.Panel):
19 def __init__(self, parent, force_layout=False, *args, **kargs):
20 super().__init__(parent, *args, **kargs)
21
22 self._toggled = True
23 self.parent = parent
24 self.force_layout = force_layout
25
26 # Create the main sizer of this panel
27 self.main_sizer = wx.BoxSizer(wx.VERTICAL)
28 self.SetSizer(self.main_sizer)
29
30 # Create the header panel, set sizer, and add to main sizer
31 self.header_panel = wx.Panel(self)
32 header_sizer = wx.BoxSizer(wx.HORIZONTAL)
33 self.header_panel.SetSizer(header_sizer)
34
35 self.main_sizer.Add(self.header_panel, 0, wx.EXPAND | wx.TOP |
36 wx.BOTTOM | wx.RIGHT, 1)
37
38 # Add arrow
39 self.header_arrow = wx.StaticText(self.header_panel, wx.ID_ANY,
40 "\u25bc", size=wx.Size((10, -1)))
41 header_sizer.Add(self.header_arrow, 0, wx.RIGHT, 5)
42
43 # Add header text
44 self.header_label = wx.StaticText(self.header_panel, wx.ID_ANY, "")
45 font = parent.GetFont()
46 font.SetWeight(wx.BOLD)
47 self.header_label.SetFont(font)
48 header_sizer.Add(self.header_label, 0, wx.RIGHT, 5)
49
50 # Add a sizer for additional header items if we need it
51 self.hcontent_sizer = wx.BoxSizer(wx.HORIZONTAL)
52 header_sizer.Add(self.hcontent_sizer, 1, wx.RIGHT, 5)
53
54 # Create the content panel, set sizer, and add to main sizer
55 self.content_panel = wx.Panel(self)
56 self.content_sizer = wx.BoxSizer(wx.VERTICAL)
57 self.content_panel.SetSizer(self.content_sizer)
58
59 self.main_sizer.Add(self.content_panel, 0, wx.EXPAND | wx.RIGHT |
60 wx.LEFT, 5)
61
62 self.Layout()
63
64 # Connect Events
65 self.header_label.Bind(wx.EVT_LEFT_UP, self.ToggleContent)
66 self.header_arrow.Bind(wx.EVT_LEFT_UP, self.ToggleContent)
67 self.header_panel.Bind(wx.EVT_LEFT_UP, self.ToggleContent)
68
69 def __del__(self):
70 pass
71
72 def AddToggleItem(self, item):
73 item.Bind(wx.EVT_LEFT_UP, self.ToggleContent)
74
75 def GetHeaderContentSizer(self):

Callers 1

__init__Method · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected