| 172 | #dc.DrawRectangle(rect) |
| 173 | |
| 174 | class CanvasNoteBook(wx.lib.agw.aui.AuiNotebook): |
| 175 | def __init__(self, parent): |
| 176 | wx.lib.agw.aui.AuiNotebook.__init__( self, parent, wx.ID_ANY, |
| 177 | wx.DefaultPosition, wx.DefaultSize, wx.lib.agw.aui.AUI_NB_DEFAULT_STYLE ) |
| 178 | self.Bind( wx.lib.agw.aui.EVT_AUINOTEBOOK_PAGE_CHANGED, self.on_pagevalid) |
| 179 | self.Bind( wx.lib.agw.aui.EVT_AUINOTEBOOK_PAGE_CLOSE, self.on_close) |
| 180 | self.SetArtProvider(aui.AuiSimpleTabArt()) |
| 181 | |
| 182 | def set_background(self, img): |
| 183 | self.GetAuiManager().SetArtProvider(ImgArtProvider(img)) |
| 184 | |
| 185 | def add_page(self, panel, ips): |
| 186 | self.AddPage(panel, ips.title, True, wx.NullBitmap ) |
| 187 | self.Refresh() |
| 188 | panel.set_handler(lambda ips, res, pan=panel: self.set_title(ips, pan)) |
| 189 | |
| 190 | def set_title(self, ips, panel): |
| 191 | title = ips.title + '' if ips.tool==None else ' [%s]'%ips.tool.title |
| 192 | self.SetPageText(self.GetPageIndex(panel), title) |
| 193 | |
| 194 | def on_pagevalid(self, event): |
| 195 | ImageManager.add(event.GetEventObject().GetPage(event.GetSelection()).ips) |
| 196 | WindowsManager.add(event.GetEventObject().GetPage(event.GetSelection())) |
| 197 | |
| 198 | def on_close(self, event): |
| 199 | print('page close') |
| 200 | event.GetEventObject().GetPage(event.GetSelection()).set_handler() |
| 201 | event.GetEventObject().GetPage(event.GetSelection()).canvas.set_handler() |
| 202 | WindowsManager.remove(event.GetEventObject().GetPage(event.GetSelection())) |
| 203 | |
| 204 | class VirturlCanvas: |
| 205 | instance = [] |