T3D 1.1 Beta 3 - GuiMessageVectorCtrl does not display messages if initially hidden
by Dennis Trevillyan · in Torque 3D Professional · 04/18/2011 (3:51 pm) · 0 replies
EDIT - Corrected Title to show Beta 3 and not Beta 2.
Build: 1.1 Beta 3 Pro.
Platform: Windows XP, 32
Target: during game execution
Issue: GuiMessageVectorCtrl does not display contents of message vector if initially hidden. With two GuiMessageVectorCtrl gui's (each with their own message vector) where one of the gui's is hidden and one is visible the visible GuiMessageVectorCtrl displays messages. The one that was created hidden will not show the messages. Inspecting the contents of the message vectors using getNumLines() and getLineText() show that there are messages in both vectors.
Steps to Repeat:
1. Create two GuiMessageVectorCtrl each with their own message vector. Use chatHud dialog structure.
2. Set one of the two so that it will not be visible when it is pushed onto the canvas.
3. Send a message to both vectors.
4. Display the hidden gui.
Suggested work-around:
Push the dialog onto the canvas so that it is visible. Hide it using a schedule call. Contents of the message vector will be visible when it is unhidden.
Build: 1.1 Beta 3 Pro.
Platform: Windows XP, 32
Target: during game execution
Issue: GuiMessageVectorCtrl does not display contents of message vector if initially hidden. With two GuiMessageVectorCtrl gui's (each with their own message vector) where one of the gui's is hidden and one is visible the visible GuiMessageVectorCtrl displays messages. The one that was created hidden will not show the messages. Inspecting the contents of the message vectors using getNumLines() and getLineText() show that there are messages in both vectors.
Steps to Repeat:
1. Create two GuiMessageVectorCtrl each with their own message vector. Use chatHud dialog structure.
2. Set one of the two so that it will not be visible when it is pushed onto the canvas.
3. Send a message to both vectors.
4. Display the hidden gui.
Suggested work-around:
Push the dialog onto the canvas so that it is visible. Hide it using a schedule call. Contents of the message vector will be visible when it is unhidden.
.
.
.
Canvas.pushdialog(gui1); //push as visible based on gui definition
Canvas.pushdialog(gui2); //push as visible based on gui definition
Gui2.schedule(1000, "setstate", false); // want it hidden so hide it in 1 sec
.
.
.
Function gui2.setstate(%this, %state)
{
%this.setVisible(%state);
}