# Setting component layout runtime

**URL:** <https://forum.inductiveautomation.com/t/setting-component-layout-runtime/9926>\
**Category:** Ignition\
**Created:** [April 17, 2015, 11:37am UTC](https://forum.inductiveautomation.com/t/setting-component-layout-runtime/9926 "2015-04-17T11:37:36Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vita](https://avatars.discourse-cdn.com/v4/letter/v/51bf81/32.png) [@Vita](https://forum.inductiveautomation.com/u/Vita)\
**Post date:** [April 17, 2015, 11:37am UTC](https://forum.inductiveautomation.com/t/setting-component-layout-runtime/9926/1 "2015-04-17T11:37:36Z")

</div>

Hi,

I’m adding component dynamically through TemplateHolder. And I wanna set component layout to Anchored by script. Is there any layout method or property?

Thanks

---

<div class="post-metadata">

**Author:** ![nmudge](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nmudge/32/3394_2.png) [@nmudge](https://forum.inductiveautomation.com/u/nmudge)\
**Post date:** [April 20, 2015, 5:31pm UTC](https://forum.inductiveautomation.com/t/setting-component-layout-runtime/9926/2 "2015-04-20T17:31:56Z")

</div>

Hi Vita,

Here is code for dynamically setting the layout of a component to anchored on all sides.

```auto
from com.inductiveautomation.factorypmi.application.components.util import FPMILayout
layout = component.getClientProperty(FPMILayout.LAYOUT_CONSTRAINTS)
layout.setFlags(FPMILayout.ANCHOR_N | FPMILayout.ANCHOR_E | FPMILayout.ANCHOR_W | FPMILayout.ANCHOR_S)
```

Have you considered using the Template Canvas to dynamically create template instances? Here’s a link to a tutorial: [nickmudge.info/post/ignitions-te … at-runtime](http://nickmudge.info/post/ignitions-template-canvas-dynamically-creating-screens-at-runtime)

Best,

---

<div class="post-metadata">

**Author:** ![Vita](https://avatars.discourse-cdn.com/v4/letter/v/51bf81/32.png) [@Vita](https://forum.inductiveautomation.com/u/Vita)\
**Post date:** [April 22, 2015, 7:56am UTC](https://forum.inductiveautomation.com/t/setting-component-layout-runtime/9926/3 "2015-04-22T07:56:57Z")

</div>

Thanks a lot.

I wanna create an instance of object according to the cursor position. So using the script is a way for me.

---

<div class="post-metadata">

**Author:** ![Vita](https://avatars.discourse-cdn.com/v4/letter/v/51bf81/32.png) [@Vita](https://forum.inductiveautomation.com/u/Vita)\
**Post date:** [April 22, 2015, 9:23am UTC](https://forum.inductiveautomation.com/t/setting-component-layout-runtime/9926/4 "2015-04-22T09:23:14Z")

</div>

So I tested it and for dynamically created component I made small modification:

```auto
from com.inductiveautomation.factorypmi.application.components.util import FPMILayout
from com.inductiveautomation.factorypmi.application.components.util import FPMI_LC
from com.inductiveautomation.factorypmi.application.components.template import TemplateHolder

newobj = TemplateHolder()
...
layout = FPMI_LC()
layout.setFlags(FPMILayout.ANCHOR_N | FPMILayout.ANCHOR_W)	
newobj.putClientProperty(FPMILayout.LAYOUT_CONSTRAINTS,layout)	
```

Once again Nick, thank you
