(self, parent, dataToAdd=None)
| 118 | class ImplantSetEditor(AuxiliaryFrame): |
| 119 | |
| 120 | def __init__(self, parent, dataToAdd=None): |
| 121 | super().__init__( |
| 122 | parent, id=wx.ID_ANY, title=_t("Implant Set Editor"), resizeable=True, |
| 123 | size=wx.Size(950, 500) if "wxGTK" in wx.PlatformInfo else wx.Size(850, 420)) |
| 124 | |
| 125 | self.block = False |
| 126 | self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) |
| 127 | |
| 128 | mainSizer = wx.BoxSizer(wx.VERTICAL) |
| 129 | |
| 130 | self.entityEditor = ImplantSetEntityEditor(self) |
| 131 | mainSizer.Add(self.entityEditor, 0, wx.ALL | wx.EXPAND, 2) |
| 132 | |
| 133 | self.sl = wx.StaticLine(self) |
| 134 | mainSizer.Add(self.sl, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5) |
| 135 | |
| 136 | self.iview = ImplantSetEditorView(self) |
| 137 | mainSizer.Add(self.iview, 1, wx.ALL | wx.EXPAND, 5) |
| 138 | |
| 139 | self.slfooter = wx.StaticLine(self) |
| 140 | mainSizer.Add(self.slfooter, 0, wx.EXPAND | wx.TOP, 5) |
| 141 | |
| 142 | footerSizer = wx.BoxSizer(wx.HORIZONTAL) |
| 143 | |
| 144 | self.stNotice = wx.StaticText(self, wx.ID_ANY, "") |
| 145 | self.stNotice.Wrap(-1) |
| 146 | footerSizer.Add(self.stNotice, 1, wx.BOTTOM | wx.TOP | wx.LEFT, 5) |
| 147 | |
| 148 | importExport = ((_t("Import implant sets from clipboard"), wx.ART_FILE_OPEN, "Import"), |
| 149 | (_t("Export implant sets to clipboard"), wx.ART_FILE_SAVE_AS, "Export")) |
| 150 | |
| 151 | for tooltip, art, attr in importExport: |
| 152 | bitmap = wx.ArtProvider.GetBitmap(art, wx.ART_BUTTON) |
| 153 | btn = wx.BitmapButton(self, wx.ID_ANY, bitmap) |
| 154 | |
| 155 | btn.SetMinSize(btn.GetSize()) |
| 156 | btn.SetMaxSize(btn.GetSize()) |
| 157 | |
| 158 | btn.Layout() |
| 159 | setattr(self, attr, btn) |
| 160 | btn.Enable(True) |
| 161 | btn.SetToolTip(tooltip) |
| 162 | footerSizer.Add(btn, 0) |
| 163 | |
| 164 | mainSizer.Add(footerSizer, 0, wx.ALL | wx.EXPAND, 5) |
| 165 | |
| 166 | self.SetSizer(mainSizer) |
| 167 | self.Layout() |
| 168 | |
| 169 | if dataToAdd: |
| 170 | name, implants = dataToAdd |
| 171 | newSet = self.entityEditor.DoNew(name) |
| 172 | ImplantSets.getInstance().addImplants(newSet.ID, *[i.item.ID for i in implants]) |
| 173 | self.entityEditor.refreshEntityList(newSet) |
| 174 | wx.PostEvent(self.entityEditor.entityChoices, wx.CommandEvent(wx.wxEVT_COMMAND_CHOICE_SELECTED)) |
| 175 | elif not self.entityEditor.checkEntitiesExist(): |
| 176 | self.Close() |
| 177 | return |
no test coverage detected