Panel
From TrillWiki
Trillian 3 introduces a new feature to us: Paneling.
In this feature, we just skin so-called "panel"s, which the user can move around and even completely rearrange without having the skinner code every single way. Just try to move the NickList in a message window over to the left and you will see what I am talking about.
The promise of panels is even more than that, however. One of the oldest feature requests (See the last post) was to be able to pull pieces of the interface from one place to another. With panels, this may just become a reality in a future release. Imagine moving a plugin's contact list entries into another window, or an often used chat window into the contact list. The possibilities are endless.
[edit] Code
The code is actually simple:
- <control name="" type="PanelZone">
- <column width="#">
- <include-panel source="panelname" visible="1|0"/>
- <include-panel source="anotherpanel" visible="1|0"/>
- </column>
- <column width="#">
- <include-panel source="panelname" visible="1|0"/>
- <include-panel source="anotherpanel" visible="1|0"/>
- </column>
- <column width="#">
- <settings name="AutoResizeWindow" value="yes|no"/>
- <settings name="Vertical-Spacing" value="#"/>
- <settings name="Horizontal-Spacing" value="#"/>
- </control>
each include-panel statement within the <column> tag is stacked on top of the previous panels. Effectively giving you rows
and
- <panel type="<type>" name="name" source="component" phase="phase" description="Shows up in View Menu"/>
| Type | Description |
| Audio | Houses audio controls and PAR controls |
|---|---|
| Contacts | Houses the contact list control |
| Default | A template panel for use in contact list |
| FileTransfer | This is not implemented yet. |
| Houses the list control for My Mail panel on contact list. | |
| Music | Houses the list control for My Music panel on contact list. Doesnt skin the audio toolbar yet. |
| Search | This is not implemented yet. |
| Telephone | This is not implemented yet. |
| TextDisplay | Houses the text conversation display controls. |
| TextEdit | Houses the text editing controls. |
| UsersList | Houses the list control for users list in conference windows. |
| Video | House video controls and PVR controls. |
| Web | Houses the list control for My Web panel on contact list. |
The "panel" is just another icontrol inserted inside a component. But, here comes the interesting part: It uses other components which can be moved around between columns, and up and down in the order of one. In fact, Trillian is even willing to create another column for us!
But, let us get started!
- Fill in the name on your own. Type will be PanelZone.
- The column width should be a number.
- the include-panel source has to be a defined component.
- The include-panel visibility variable is either 0 or 1(maybe non-zero too, not sure). Sometimes you might want to use some Arithmetic and System Variables for that.
Some special settings:
| Name | Description |
| AutoResizeWindow | Not sure, but I think this will resize the window MSN-style for when a user adds webcam to the conversation or closes it. |
|---|---|
| Vertical-Spacing | Most likely, the vertical margin between panels, just a number which you will most likely want to be 0. |
| Horizontal-Spacing | See Vertical. s/vertical/horizontal. |
A new button action, setwindowphase, allows you to set the window phase from within a panel.
[edit] See also
- Skinning Tips: Paneling the contact list in 3.0
- New/revamped Button actions for panels in 3.0
