magnetic_scattrelease-4.2.2ticket-1009ticket-1094-headlessticket-1242-2d-resolutionticket-1243ticket-1249unittest-saveload
Last change
on this file since 0cf4f84 was
0cf4f84,
checked in by krzywon, 6 years ago
|
Create base report image handler for all images and modify fitting to perspective to use the image handler.
|
-
Property mode set to
100644
|
File size:
1.5 KB
|
Line | |
---|
1 | import wx |
---|
2 | |
---|
3 | |
---|
4 | class ReportImageHandler: |
---|
5 | |
---|
6 | |
---|
7 | class _ReportImageHandler: |
---|
8 | |
---|
9 | def __init__(self): |
---|
10 | self.img_holder = wx.MemoryFSHandler() |
---|
11 | wx.FileSystem.AddHandler(wx.MemoryFSHandler()) |
---|
12 | self.refs = {} |
---|
13 | self.indices = [] |
---|
14 | |
---|
15 | def set_figs(self, figs, bitmaps, perspective): |
---|
16 | imgs = [] |
---|
17 | refs = [] |
---|
18 | if figs is None or len(figs) == 0: |
---|
19 | figs = [None] |
---|
20 | for fig in figs: |
---|
21 | if fig is not None: |
---|
22 | ind = figs.index(fig) |
---|
23 | bitmap = bitmaps[ind] |
---|
24 | |
---|
25 | # name of the fig |
---|
26 | name = self.create_unique_name(perspective) |
---|
27 | # AddFile, image can be retrieved with 'memory:filename' |
---|
28 | ref = 'memory:' + name |
---|
29 | self.refs[ref] = fig |
---|
30 | self.img_holder.AddFile(name, bitmap, wx.BITMAP_TYPE_PNG) |
---|
31 | refs.append(ref) |
---|
32 | imgs.append(fig) |
---|
33 | return imgs, refs |
---|
34 | |
---|
35 | def create_unique_name(self, perspective, index=None): |
---|
36 | if not index: |
---|
37 | index = len(self.indices) |
---|
38 | if index in self.indices: |
---|
39 | name = self.create_unique_name(index + 1) |
---|
40 | else: |
---|
41 | self.indices.append(index) |
---|
42 | name = 'img_{}_{:03d}.png'.format(str(perspective), index) |
---|
43 | return name |
---|
44 | |
---|
45 | |
---|
46 | instance = None |
---|
47 | |
---|
48 | def __init__(self): |
---|
49 | if not ReportImageHandler.instance: |
---|
50 | ReportImageHandler.instance = ReportImageHandler._ReportImageHandler() |
---|
Note: See
TracBrowser
for help on using the repository browser.