Thread: TitleRegion
View Single Post
09-23-06, 07:16 PM   #4
Nulkris
A Cobalt Mageweaver
 
Nulkris's Avatar
AddOn Author - Click to view addons
Join Date: Sep 2005
Posts: 214
Post

You would make a new skin file in [INSTALLDIR]\Skins, say called Draggable.xml, and put the following code in it:

Code:
<?xml version="1.0" encoding="utf-8" ?>
<Skin name="Draggable" skinid="{8309da78-006d-4401-9d4f-cbc448d08261}">
<Frame name="form" render="FrameRender" onToolbox="false" frameid="{047a5294-fa59-460b-83cb-0c19711baeb7}" icon="Frame">
	<FrameSkin>
	 <Setup>
		<Property name="AnchorOffset" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" value="new System.Drawing.Point(0,0)" category="Layout" visible="true" />
		<Property name="AnchorParent" type="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" value="&quot;UIParent&quot;" category="Layout" visible="true" />
		<Property name="AnchorPoint" type="wowuides.UI.FRAMEPOINT" value="wowuides.UI.FRAMEPOINT.CENTER" category="Layout" visible="true" />
		<Property name="BackdropColor" type="System.Drawing.Color, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" value="System.Drawing.Color.FromArgb(94,94,86)" visible="false" />
		<Property name="clampedToScreen" displayName="Clamped To Screen" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" value="false" category="Behaviour" visible="true" defaultCopy="true" />
		<Property name="EnableKeyboard" displayName="Enable Keyboard" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" value="false" category="Behaviour" visible="true" />
		<Property name="EnableMouse" displayName="Enable Mouse" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" value="false" category="Behaviour" visible="true" />
		<Property name="Moveable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" value="false" category="Behaviour" visible="true" />
		<Property name="Opacity" visible="true" />
		<Property name="parent" displayName="Parent" type="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" value="string.Empty" category="Layout" visible="true" defaultCopy="true" />
		<Property name="Resizeable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" value="false" category="Behaviour" visible="true" />
		<Property name="Size" value="new System.Drawing.Size(400,400)" visible="true" />
	 </Setup>
	 <Script>
		<OnSetupFrame>
		 frame.Size = Dimension.FromSize(control.Size);
		 frame.Anchors.Clear();
		 frame.Anchors.Add(new LayoutFrame.Anchor());
		 frame.Anchors[0].point = (FRAMEPOINT)control.Properties["AnchorPoint"];
		 frame.Anchors[0].Offset = Dimension.FromPoint((System.Drawing.Point)control.Properties["AnchorOffset"]);
		 frame.Anchors[0].relativeTo = (string)control.Properties["AnchorParent"];
		 frame.alpha = (float)control.Opacity;
		 frame.enableKeyboard = (bool)control.Properties["EnableKeyboard"];
		 frame.enableMouse = (bool)control.Properties["EnableMouse"];
		 frame.movable = (bool)control.Properties["Moveable"];
		 frame.resizable = (bool)control.Properties["Resizeable"];
	</OnSetupFrame>
		<OnSetupForm>
			control.Size = frame.Size.ToSize();
			control.Properties["AnchorPoint"] = frame.Anchors[0].point;
			control.Properties["AnchorParent"] = frame.Anchors[0].relativeTo;
			control.Properties["AnchorOffset"] = frame.Anchors[0].Offset.ToPoint();
			control.Opacity = frame.alpha;
			control.Properties["EnableKeyboard"] = frame.enableKeyboard;
			control.Properties["EnableMouse"] = frame.enableMouse;
			control.Properties["Moveable"] = frame.movable;
			control.Properties["Resizeable"] = frame.resizable;
		</OnSetupForm>
	 </Script>
	</FrameSkin>
	<TitleRegion setAllPoints="true" />
	<Backdrop bgFile="Interface\DialogFrame\UI-DialogBox-Background" edgeFile="Interface\DialogFrame\UI-DialogBox-Border" tile="true">
	 <BackgroundInsets>
		<AbsInset left="11" right="12" top="12" bottom="11"/>
	 </BackgroundInsets>
	 <TileSize>
		<AbsValue val="32"/>
	 </TileSize>
	 <EdgeSize>
		<AbsValue val="32"/>
	 </EdgeSize>
	</Backdrop>
</Frame>
</Skin>
For the next release I will add a property to the existing skins to add/remove the TitleRegion automatically.

Nulk
__________________
Nulkris - A80 Rogue - Proudmoore
(Also Drukris, Hamkris on Proudmoore; Hulkris on Jubei'Thos & Khaz Modan)

Last edited by Nulkris : 09-23-06 at 07:37 PM.
  Reply With Quote