35 Class that implements a generic dialog containing a preview panel for displaying |
35 Class that implements a generic dialog containing a preview panel for displaying |
36 graphic created by dialog |
36 graphic created by dialog |
37 """ |
37 """ |
38 |
38 |
39 class BlockPreviewDialog(wx.Dialog): |
39 class BlockPreviewDialog(wx.Dialog): |
40 |
40 |
41 def __init__(self, parent, controller, tagname, size, title): |
41 def __init__(self, parent, controller, tagname, size, title): |
42 """ |
42 """ |
43 Constructor |
43 Constructor |
44 @param parent: Parent wx.Window of dialog for modal |
44 @param parent: Parent wx.Window of dialog for modal |
45 @param controller: Reference to project controller |
45 @param controller: Reference to project controller |
88 """ |
88 """ |
89 Destructor |
89 Destructor |
90 """ |
90 """ |
91 # Remove reference to project controller |
91 # Remove reference to project controller |
92 self.Controller = None |
92 self.Controller = None |
|
93 |
|
94 def _init_sizers(self, main_rows, main_growable_row, |
|
95 left_rows, left_growable_row, |
|
96 right_rows, right_growable_row): |
|
97 """ |
|
98 Initialize common sizers |
|
99 @param main_rows: Number of rows in main sizer |
|
100 @param main_growable_row: Row that is growable in main sizer, None if no |
|
101 row is growable |
|
102 @param left_rows: Number of rows in left grid sizer |
|
103 @param left_growable_row: Row that is growable in left grid sizer, None |
|
104 if no row is growable |
|
105 @param right_rows: Number of rows in right grid sizer |
|
106 @param right_growable_row: Row that is growable in right grid sizer, |
|
107 None if no row is growable |
|
108 """ |
|
109 # Create dialog main sizer |
|
110 self.MainSizer = wx.FlexGridSizer(cols=1, hgap=0, |
|
111 rows=main_rows, vgap=10) |
|
112 self.MainSizer.AddGrowableCol(0) |
|
113 if main_growable_row is not None: |
|
114 self.MainSizer.AddGrowableRow(main_growable_row) |
|
115 |
|
116 # Create a sizer for dividing parameters in two columns |
|
117 column_sizer = wx.BoxSizer(wx.HORIZONTAL) |
|
118 self.MainSizer.AddSizer(column_sizer, border=20, |
|
119 flag=wx.GROW|wx.TOP|wx.LEFT|wx.RIGHT) |
|
120 |
|
121 # Create a sizer for left column |
|
122 self.LeftGridSizer = wx.FlexGridSizer(cols=1, hgap=0, |
|
123 rows=left_rows, vgap=5) |
|
124 self.LeftGridSizer.AddGrowableCol(0) |
|
125 if left_growable_row is not None: |
|
126 self.LeftGridSizer.AddGrowableRow(left_growable_row) |
|
127 column_sizer.AddSizer(self.LeftGridSizer, 1, border=5, |
|
128 flag=wx.GROW|wx.RIGHT) |
|
129 |
|
130 # Create a sizer for right column |
|
131 self.RightGridSizer = wx.FlexGridSizer(cols=1, hgap=0, |
|
132 rows=right_rows, vgap=0) |
|
133 self.RightGridSizer.AddGrowableCol(0) |
|
134 if right_growable_row is not None: |
|
135 self.RightGridSizer.AddGrowableRow(right_growable_row) |
|
136 column_sizer.AddSizer(self.RightGridSizer, 1, border=5, |
|
137 flag=wx.GROW|wx.LEFT) |
|
138 |
|
139 self.SetSizer(self.MainSizer) |
93 |
140 |
94 def SetMinElementSize(self, size): |
141 def SetMinElementSize(self, size): |
95 """ |
142 """ |
96 Define minimal graphic element size |
143 Define minimal graphic element size |
97 @param size: Tuple containing minimal size (width, height) |
144 @param size: Tuple containing minimal size (width, height) |