Panel

From TrillWiki

Jump to: navigation, search

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>
<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.
Mail 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

Personal tools