Add a menu icon to stat panels which have a context menu associated with them
This commit is contained in:
@@ -47,10 +47,10 @@ class FirepowerViewFull(StatsView):
|
||||
parent = self.panel = contentPanel
|
||||
|
||||
self.headerPanel = headerPanel
|
||||
hsizer = self.headerPanel.GetSizer()
|
||||
hsizer = self.headerPanel.Parent.GetHeaderContentSizer()
|
||||
self.stEff = wx.StaticText(self.headerPanel, wx.ID_ANY, "( Effective )")
|
||||
hsizer.Add(self.stEff)
|
||||
self.headerPanel.GetParent().AddToggleItem(self.stEff)
|
||||
# self.headerPanel.GetParent().AddToggleItem(self.stEff)
|
||||
|
||||
panel = "full"
|
||||
|
||||
|
||||
@@ -55,9 +55,8 @@ class ResistancesViewFull(StatsView):
|
||||
|
||||
self.headerPanel = headerPanel
|
||||
# Custom header EHP
|
||||
headerContentSizer = wx.BoxSizer(wx.HORIZONTAL)
|
||||
hsizer = headerPanel.GetSizer()
|
||||
hsizer.Add(headerContentSizer, 0, 0, 0)
|
||||
headerContentSizer = self.headerPanel.Parent.GetHeaderContentSizer()
|
||||
|
||||
self.stEff = wx.StaticText(headerPanel, wx.ID_ANY, "( Effective HP: ")
|
||||
headerContentSizer.Add(self.stEff)
|
||||
headerPanel.GetParent().AddToggleItem(self.stEff)
|
||||
|
||||
@@ -114,7 +114,7 @@ class StatsPane(wx.Panel):
|
||||
tp.SetLabel(view.getHeaderText(None))
|
||||
view.refreshPanel(None)
|
||||
|
||||
contentPanel.Bind(wx.EVT_CONTEXT_MENU, self.contextHandler(contentPanel))
|
||||
contentPanel.Bind(wx.EVT_CONTEXT_MENU, self.contextHandler(contentPanel, tp))
|
||||
|
||||
mainSizer.Add(tp, 0, wx.EXPAND | wx.LEFT, 3)
|
||||
if i < maxviews - 1:
|
||||
@@ -130,14 +130,25 @@ class StatsPane(wx.Panel):
|
||||
self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)
|
||||
|
||||
@staticmethod
|
||||
def contextHandler(contentPanel):
|
||||
def contextHandler(contentPanel, tp):
|
||||
viewName = contentPanel.viewName
|
||||
|
||||
def handler(event):
|
||||
menu = ContextMenu.getMenu(None, (viewName,))
|
||||
|
||||
if menu is not None:
|
||||
contentPanel.PopupMenu(menu)
|
||||
|
||||
event.Skip()
|
||||
|
||||
if ContextMenu.hasMenu(None, (viewName,)):
|
||||
sizer = tp.GetHeaderContentSizer()
|
||||
sizer.AddStretchSpacer()
|
||||
# Add menu
|
||||
header_menu = wx.StaticText(tp.GetHeaderPanel(), wx.ID_ANY, "\u2630", size=wx.Size((10, -1)))
|
||||
sizer.Add(header_menu , 0, wx.EXPAND | wx.RIGHT | wx.ALIGN_RIGHT, 5)
|
||||
|
||||
header_menu.Bind(wx.EVT_CONTEXT_MENU, handler)
|
||||
header_menu.Bind(wx.EVT_LEFT_UP, handler)
|
||||
|
||||
return handler
|
||||
|
||||
@@ -49,7 +49,7 @@ class TogglePanel (wx.Panel):
|
||||
|
||||
# Add a sizer for additional header items if we need it
|
||||
self.hcontent_sizer = wx.BoxSizer(wx.HORIZONTAL)
|
||||
header_sizer.Add(self.hcontent_sizer, 0, wx.RIGHT, 5)
|
||||
header_sizer.Add(self.hcontent_sizer, 1, wx.RIGHT, 5)
|
||||
|
||||
# Create the content panel, set sizer, and add to main sizer
|
||||
self.content_panel = wx.Panel(self)
|
||||
|
||||
Reference in New Issue
Block a user