27 |
27 |
28 #------------------------------------------------------------------------------- |
28 #------------------------------------------------------------------------------- |
29 # Edit Step Content Dialog |
29 # Edit Step Content Dialog |
30 #------------------------------------------------------------------------------- |
30 #------------------------------------------------------------------------------- |
31 |
31 |
32 [ID_SFCSTEPDIALOG, ID_SFCSTEPDIALOGSPACER, |
|
33 ID_SFCSTEPDIALOGNAME, ID_SFCSTEPDIALOGPREVIEW, |
|
34 ID_SFCSTEPDIALOGCHECKBOX1, ID_SFCSTEPDIALOGCHECKBOX2, |
|
35 ID_SFCSTEPDIALOGCHECKBOX3, ID_SFCSTEPDIALOGSTATICTEXT1, |
|
36 ID_SFCSTEPDIALOGSTATICTEXT2, ID_SFCSTEPDIALOGSTATICTEXT3, |
|
37 ] = [wx.NewId() for _init_ctrls in range(10)] |
|
38 |
|
39 class SFCStepDialog(wx.Dialog): |
32 class SFCStepDialog(wx.Dialog): |
40 |
33 |
41 if wx.VERSION < (2, 6, 0): |
34 def __init__(self, parent, controller, initial = False): |
42 def Bind(self, event, function, id = None): |
35 wx.Dialog.__init__(self, parent, title=_('Edit Step'), |
43 if id is not None: |
36 size=wx.Size(400, 250), style=wx.DEFAULT_DIALOG_STYLE) |
44 event(self, id, function) |
37 |
45 else: |
38 main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10) |
46 event(self, function) |
39 main_sizer.AddGrowableCol(0) |
47 |
40 main_sizer.AddGrowableRow(0) |
48 def _init_coll_flexGridSizer1_Items(self, parent): |
41 |
49 parent.AddSizer(self.MainSizer, 0, border=20, flag=wx.GROW|wx.TOP|wx.LEFT|wx.RIGHT) |
42 column_sizer = wx.BoxSizer(wx.HORIZONTAL) |
50 parent.AddSizer(self.ButtonSizer, 0, border=20, flag=wx.ALIGN_RIGHT|wx.BOTTOM|wx.LEFT|wx.RIGHT) |
43 main_sizer.AddSizer(column_sizer, border=20, |
51 |
44 flag=wx.GROW|wx.TOP|wx.LEFT|wx.RIGHT) |
52 def _init_coll_flexGridSizer1_Growables(self, parent): |
45 |
53 parent.AddGrowableCol(0) |
46 left_gridsizer = wx.FlexGridSizer(cols=1, hgap=0, rows=6, vgap=5) |
54 parent.AddGrowableRow(0) |
47 left_gridsizer.AddGrowableCol(0) |
55 |
48 column_sizer.AddSizer(left_gridsizer, 1, border=5, |
56 def _init_coll_MainSizer_Items(self, parent): |
49 flag=wx.GROW|wx.RIGHT) |
57 parent.AddSizer(self.LeftGridSizer, 1, border=5, flag=wx.GROW|wx.RIGHT) |
50 |
58 parent.AddSizer(self.RightGridSizer, 1, border=5, flag=wx.GROW|wx.LEFT) |
51 name_label = wx.StaticText(self, label=_('Name:')) |
59 |
52 left_gridsizer.AddWindow(name_label, flag=wx.GROW) |
60 def _init_coll_LeftGridSizer_Items(self, parent): |
53 |
61 parent.AddWindow(self.staticText1, 0, border=0, flag=wx.GROW) |
54 self.StepName = wx.TextCtrl(self) |
62 parent.AddWindow(self.StepName, 0, border=0, flag=wx.GROW) |
55 self.Bind(wx.EVT_TEXT, self.OnNameChanged, self.StepName) |
63 parent.AddWindow(self.staticText2, 0, border=0, flag=wx.GROW) |
56 left_gridsizer.AddWindow(self.StepName, flag=wx.GROW) |
64 parent.AddWindow(self.checkBox1, 0, border=0, flag=wx.GROW) |
57 |
65 parent.AddWindow(self.checkBox2, 0, border=0, flag=wx.GROW) |
58 connectors_label = wx.StaticText(self, label=_('Connectors:')) |
66 parent.AddWindow(self.checkBox3, 0, border=0, flag=wx.GROW) |
59 left_gridsizer.AddWindow(connectors_label, flag=wx.GROW) |
67 parent.AddWindow(self.Spacer, 0, border=0, flag=wx.GROW) |
60 |
68 |
61 self.Input = wx.CheckBox(self, label=_("Input")) |
69 def _init_coll_LeftGridSizer_Growables(self, parent): |
62 self.Bind(wx.EVT_CHECKBOX, self.OnConnectorsChanged, self.Input) |
70 parent.AddGrowableCol(0) |
63 left_gridsizer.AddWindow(self.Input, flag=wx.GROW) |
71 parent.AddGrowableRow(6) |
64 |
72 |
65 self.Output = wx.CheckBox(self, label=_("Output")) |
73 def _init_coll_RightGridSizer_Items(self, parent): |
66 self.Bind(wx.EVT_CHECKBOX, self.OnConnectorsChanged, self.Output) |
74 parent.AddWindow(self.staticText3, 0, border=0, flag=wx.GROW) |
67 left_gridsizer.AddWindow(self.Output, flag=wx.GROW) |
75 parent.AddWindow(self.Preview, 0, border=0, flag=wx.GROW) |
68 |
76 |
69 self.Action = wx.CheckBox(self, label=_("Action")) |
77 def _init_coll_RightGridSizer_Growables(self, parent): |
70 self.Bind(wx.EVT_CHECKBOX, self.OnConnectorsChanged, self.Action) |
78 parent.AddGrowableCol(0) |
71 left_gridsizer.AddWindow(self.Action, flag=wx.GROW) |
79 parent.AddGrowableRow(1) |
72 |
80 |
73 right_gridsizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5) |
81 def _init_sizers(self): |
74 right_gridsizer.AddGrowableCol(0) |
82 self.flexGridSizer1 = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10) |
75 right_gridsizer.AddGrowableRow(1) |
83 self.MainSizer = wx.BoxSizer(wx.HORIZONTAL) |
76 column_sizer.AddSizer(right_gridsizer, 1, border=5, |
84 self.LeftGridSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=7, vgap=5) |
77 flag=wx.GROW|wx.LEFT) |
85 self.RightGridSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5) |
78 |
86 |
79 preview_label = wx.StaticText(self, label=_('Preview:')) |
87 self._init_coll_flexGridSizer1_Items(self.flexGridSizer1) |
80 right_gridsizer.AddWindow(preview_label, flag=wx.GROW) |
88 self._init_coll_flexGridSizer1_Growables(self.flexGridSizer1) |
81 |
89 self._init_coll_MainSizer_Items(self.MainSizer) |
82 self.Preview = wx.Panel(self, |
90 self._init_coll_LeftGridSizer_Items(self.LeftGridSizer) |
83 style=wx.TAB_TRAVERSAL|wx.SIMPLE_BORDER) |
91 self._init_coll_LeftGridSizer_Growables(self.LeftGridSizer) |
|
92 self._init_coll_RightGridSizer_Items(self.RightGridSizer) |
|
93 self._init_coll_RightGridSizer_Growables(self.RightGridSizer) |
|
94 |
|
95 self.SetSizer(self.flexGridSizer1) |
|
96 |
|
97 def _init_ctrls(self, prnt, ctrler): |
|
98 wx.Dialog.__init__(self, id=ID_SFCSTEPDIALOG, |
|
99 name='SFCStepDialog', parent=prnt, |
|
100 size=wx.Size(400, 250), style=wx.DEFAULT_DIALOG_STYLE, |
|
101 title=_('Edit Step')) |
|
102 self.SetClientSize(wx.Size(400, 250)) |
|
103 |
|
104 self.staticText1 = wx.StaticText(id=ID_SFCSTEPDIALOGSTATICTEXT1, |
|
105 label=_('Name:'), name='staticText1', parent=self, |
|
106 pos=wx.Point(0, 0), size=wx.Size(0, 17), style=0) |
|
107 |
|
108 self.staticText2 = wx.StaticText(id=ID_SFCSTEPDIALOGSTATICTEXT2, |
|
109 label=_('Connectors:'), name='staticText2', parent=self, |
|
110 pos=wx.Point(0, 0), size=wx.Size(0, 17), style=0) |
|
111 |
|
112 self.staticText3 = wx.StaticText(id=ID_SFCSTEPDIALOGSTATICTEXT3, |
|
113 label=_('Preview:'), name='staticText4', parent=self, |
|
114 pos=wx.Point(0, 0), size=wx.Size(0, 17), style=0) |
|
115 |
|
116 self.StepName = wx.TextCtrl(id=ID_SFCSTEPDIALOGNAME, |
|
117 name='Name', parent=self, pos=wx.Point(0, 0), |
|
118 size=wx.Size(0, 24), style=0) |
|
119 self.Bind(wx.EVT_TEXT, self.OnNameChanged, id=ID_SFCSTEPDIALOGNAME) |
|
120 |
|
121 self.checkBox1 = wx.CheckBox(id=ID_SFCSTEPDIALOGCHECKBOX1, |
|
122 label=_("Input"), name='checkBox1', parent=self, |
|
123 pos=wx.Point(0, 0), size=wx.Size(0, 24), style=0) |
|
124 self.Bind(wx.EVT_CHECKBOX, self.OnConnectorsChanged, id=ID_SFCSTEPDIALOGCHECKBOX1) |
|
125 |
|
126 self.checkBox2 = wx.CheckBox(id=ID_SFCSTEPDIALOGCHECKBOX2, |
|
127 label=_("Output"), name='checkBox2', parent=self, |
|
128 pos=wx.Point(0, 0), size=wx.Size(0, 24), style=0) |
|
129 self.Bind(wx.EVT_CHECKBOX, self.OnConnectorsChanged, id=ID_SFCSTEPDIALOGCHECKBOX2) |
|
130 |
|
131 self.checkBox3 = wx.CheckBox(id=ID_SFCSTEPDIALOGCHECKBOX3, |
|
132 label=_("Action"), name='checkBox3', parent=self, |
|
133 pos=wx.Point(0, 0), size=wx.Size(0, 24), style=0) |
|
134 self.Bind(wx.EVT_CHECKBOX, self.OnConnectorsChanged, id=ID_SFCSTEPDIALOGCHECKBOX3) |
|
135 |
|
136 self.Spacer = wx.Panel(id=ID_SFCSTEPDIALOGSPACER, |
|
137 name='Spacer', parent=self, pos=wx.Point(0, 0), |
|
138 size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL) |
|
139 |
|
140 self.Preview = wx.Panel(id=ID_SFCSTEPDIALOGPREVIEW, |
|
141 name='Preview', parent=self, pos=wx.Point(0, 0), |
|
142 size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL|wx.SIMPLE_BORDER) |
|
143 self.Preview.SetBackgroundColour(wx.Colour(255,255,255)) |
84 self.Preview.SetBackgroundColour(wx.Colour(255,255,255)) |
144 setattr(self.Preview, "GetDrawingMode", lambda:FREEDRAWING_MODE) |
85 setattr(self.Preview, "GetDrawingMode", lambda:FREEDRAWING_MODE) |
145 setattr(self.Preview, "RefreshStepModel", lambda x:None) |
86 setattr(self.Preview, "RefreshStepModel", lambda x:None) |
146 setattr(self.Preview, "GetScaling", lambda:None) |
87 setattr(self.Preview, "GetScaling", lambda:None) |
147 setattr(self.Preview, "IsOfType", ctrler.IsOfType) |
88 setattr(self.Preview, "IsOfType", controller.IsOfType) |
148 |
89 self.Preview.Bind(wx.EVT_PAINT, self.OnPaint) |
149 self.ButtonSizer = self.CreateButtonSizer(wx.OK|wx.CANCEL|wx.CENTRE) |
90 right_gridsizer.AddWindow(self.Preview, flag=wx.GROW) |
150 if wx.VERSION >= (2, 5, 0): |
91 |
151 self.Bind(wx.EVT_BUTTON, self.OnOK, id=self.ButtonSizer.GetAffirmativeButton().GetId()) |
92 button_sizer = self.CreateButtonSizer( |
152 self.Preview.Bind(wx.EVT_PAINT, self.OnPaint) |
93 wx.OK|wx.CANCEL|wx.CENTRE) |
153 else: |
94 self.Bind(wx.EVT_BUTTON, self.OnOK, |
154 self.Bind(wx.EVT_BUTTON, self.OnOK, id=self.ButtonSizer.GetChildren()[0].GetSizer().GetChildren()[0].GetWindow().GetId()) |
95 button_sizer.GetAffirmativeButton()) |
155 wx.EVT_PAINT(self.Preview, self.OnPaint) |
96 main_sizer.AddSizer(button_sizer, border=20, |
156 |
97 flag=wx.ALIGN_RIGHT|wx.BOTTOM|wx.LEFT|wx.RIGHT) |
157 self._init_sizers() |
98 |
158 |
99 self.SetSizer(main_sizer) |
159 def __init__(self, parent, controler, initial = False): |
100 |
160 self._init_ctrls(parent, controler) |
|
161 self.Step = None |
101 self.Step = None |
162 self.Initial = initial |
102 self.Initial = initial |
163 self.MinStepSize = None |
103 self.MinStepSize = None |
164 |
104 |
165 self.PouNames = [] |
105 self.PouNames = [] |