13 import pyfbsdk_additions
16 def BtnUpdateCallback(control, event):
18 nPositionX.Value = posX
19 nPositionY.Value = posY
25 nSizeMinW.Value = toolObj.MinSizeX
26 nSizeMinH.Value = toolObj.MinSizeY
27 nSizeMaxW.Value = toolObj.MaxSizeX
28 nSizeMaxH.Value = toolObj.MaxSizeY
31 def BtnApplyCallback(control, event):
35 toolObj.MinSizeX = (int)(nSizeMinW.Value)
36 toolObj.MinSizeY = (int)(nSizeMinH.Value)
37 toolObj.MaxSizeX = (int)(nSizeMaxW.Value)
38 toolObj.MaxSizeY = (int)(nSizeMaxH.Value)
41 def PopulateLayout(mainLyt):
47 l.Caption =
"Tool Position:"
53 mainLyt.AddRegion(
"LabelPosition",
"LabelPosition", x, y, w, h)
54 mainLyt.SetControl(
"LabelPosition",l)
64 mainLyt.AddRegion(
"LabelPositionX",
"LabelPositionX", x, y, w, h)
65 mainLyt.SetControl(
"LabelPositionX",l)
70 nPositionX.Precision = 0
76 mainLyt.AddRegion(
"EditPositionX",
"EditPositionX", x, y, w, h)
77 mainLyt.SetControl(
"EditPositionX",nPositionX)
88 mainLyt.AddRegion(
"LabelPositionY",
"LabelPositionY", x, y, w, h)
89 mainLyt.SetControl(
"LabelPositionY",l)
94 nPositionY.Precision = 0
100 mainLyt.AddRegion(
"EditPositionY",
"EditPositionY", x, y, w, h)
101 mainLyt.SetControl(
"EditPositionY",nPositionY)
109 l.Caption =
"Tool Size:"
115 mainLyt.AddRegion(
"LabelSize",
"LabelSize", x, y, w, h)
116 mainLyt.SetControl(
"LabelSize",l)
126 mainLyt.AddRegion(
"LabelSizeW",
"LabelSizeW", x, y, w, h)
127 mainLyt.SetControl(
"LabelSizeW",l)
138 mainLyt.AddRegion(
"EditSizeW",
"EditSizeW", x, y, w, h)
139 mainLyt.SetControl(
"EditSizeW",nSizeW)
150 mainLyt.AddRegion(
"LabelSizeH",
"LabelSizeH", x, y, w, h)
151 mainLyt.SetControl(
"LabelSizeH",l)
162 mainLyt.AddRegion(
"EditSizeH",
"EditSizeH", x, y, w, h)
163 mainLyt.SetControl(
"EditSizeH",nSizeH)
171 l.Caption =
"Tool Size Width:"
177 mainLyt.AddRegion(
"LabelSizeWidth",
"LabelSizeWidth", x, y, w, h)
178 mainLyt.SetControl(
"LabelSizeWidth",l)
188 mainLyt.AddRegion(
"LabelSizeMinW",
"LabelSizeMinW", x, y, w, h)
189 mainLyt.SetControl(
"LabelSizeMinW",l)
194 nSizeMinW.Precision = 0
200 mainLyt.AddRegion(
"EditSizeMinW",
"EditSizeMinW", x, y, w, h)
201 mainLyt.SetControl(
"EditSizeMinW",nSizeMinW)
212 mainLyt.AddRegion(
"LabelSizeMaxW",
"LabelSizeMaxW", x, y, w, h)
213 mainLyt.SetControl(
"LabelSizeMaxW",l)
218 nSizeMaxW.Precision = 0
224 mainLyt.AddRegion(
"EditSizeMaxW",
"EditSizeMaxW", x, y, w, h)
225 mainLyt.SetControl(
"EditSizeMaxW",nSizeMaxW)
233 l.Caption =
"Tool Size Height:"
239 mainLyt.AddRegion(
"LabelSizeHeight",
"LabelSizeHeight", x, y, w, h)
240 mainLyt.SetControl(
"LabelSizeHeight",l)
250 mainLyt.AddRegion(
"LabelSizeMinH",
"LabelSizeMinH", x, y, w, h)
251 mainLyt.SetControl(
"LabelSizeMinH",l)
256 nSizeMinH.Precision = 0
262 mainLyt.AddRegion(
"EditSizeMinH",
"EditSizeMinH", x, y, w, h)
263 mainLyt.SetControl(
"EditSizeMinH",nSizeMinH)
274 mainLyt.AddRegion(
"LabelSizeMaxH",
"LabelSizeMaxH", x, y, w, h)
275 mainLyt.SetControl(
"LabelSizeMaxH",l)
280 nSizeMaxH.Precision = 0
286 mainLyt.AddRegion(
"EditSizeMaxH",
"EditSizeMaxH", x, y, w, h)
287 mainLyt.SetControl(
"EditSizeMaxH",nSizeMaxH)
294 b.Caption =
"Update Values!"
300 mainLyt.AddRegion(
"BtnUpdate",
"BtnUpdate", x, y, w, h)
301 mainLyt.SetControl(
"BtnUpdate",b)
303 b.OnClick.Add(BtnUpdateCallback)
307 b.Caption =
"Apply Changes!"
313 mainLyt.AddRegion(
"BtnApply",
"BtnApply", x, y, w, h)
314 mainLyt.SetControl(
"BtnApply",b)
316 b.OnClick.Add(BtnApplyCallback)
324 l.Caption =
"Known issue:\nWhen the Tool width/height values are near its related min/max limit values,\nthe width/height values returned are different than the values get."
330 mainLyt.AddRegion(
"LabelSizeKnownIssue",
"LabelSizeKnownIssue", x, y, w, h)
331 mainLyt.SetControl(
"LabelSizeKnownIssue",l)
335 toolname =
"Move & Resize Tool Example"
339 t = pyfbsdk_additions.FBCreateUniqueTool(toolname)
346 if toolname
in pyfbsdk_additions.FBToolList:
349 toolObj = CreateTool()