Problem:
I called TabSet.disableTab (tab) for a tab that I did not add to the TabSet yet, and I got no error.
I would expect this to fail, and if not, at least log something...
What do you think?
1. the *complete* SmartGWT or SmartClient version from the lower left-hand corner of the Developer Console (see FAQ for how to open Developer Console), for example, \"v8.2p_2012-04-18/PowerEdition Deployment\"
SmartClient Version: v10.0p_2015-07-18/LGPL Development Only (built 2015-07-18)
2. browser(s) and version(s) involved
FF 19
GWT 2.5
3. for a server-side problem, the *complete* logs generated during processing of the failing request (do *not* trim to just the error message)
4. for any problem processing a server response, the actual response as shown in the RPC tab in the Developer Console
5. if there is a JavaScript error, the stack trace logged in the Developer Console (see FAQ)
6. sample code if applicable
I called TabSet.disableTab (tab) for a tab that I did not add to the TabSet yet, and I got no error.
I would expect this to fail, and if not, at least log something...
What do you think?
1. the *complete* SmartGWT or SmartClient version from the lower left-hand corner of the Developer Console (see FAQ for how to open Developer Console), for example, \"v8.2p_2012-04-18/PowerEdition Deployment\"
SmartClient Version: v10.0p_2015-07-18/LGPL Development Only (built 2015-07-18)
2. browser(s) and version(s) involved
FF 19
GWT 2.5
3. for a server-side problem, the *complete* logs generated during processing of the failing request (do *not* trim to just the error message)
4. for any problem processing a server response, the actual response as shown in the RPC tab in the Developer Console
5. if there is a JavaScript error, the stack trace logged in the Developer Console (see FAQ)
6. sample code if applicable
Code:
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.TextItem;
import com.smartgwt.client.widgets.tab.TabSet;
import com.smartgwt.client.widgets.tab.Tab;
import com.smartgwt.client.widgets.layout.VLayout;
import com.smartgwt.client.widgets.IButton;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.google.gwt.core.client.EntryPoint;
public class TestDisableTab implements EntryPoint {
/**
* The EntryPoint interface
* SmartClient Version: v10.0p_2015-07-18/LGPL Development Only (built 2015-07-18)
* tabSet.disableTab (tab) fails silently for a Tab not yet added
*/
public void onModuleLoad () {
// TabSet
final TabSet tabSet = new TabSet();
tabSet.setWidth (600);
tabSet.setHeight (400);
// Tab #1
{
final TextItem nameItem = new TextItem ();
nameItem.setTitle ("Name");
final DynamicForm form = new DynamicForm ();
form.setFields (nameItem);
final Tab tab = new Tab ("Tab #1");
tab.setPane (form);
tabSet.addTab (tab);
}
// Tab #2, disabled before being added to the TabSet
final Tab tab2;
{
final TextItem nameItem = new TextItem ();
nameItem.setTitle ("Name");
final DynamicForm form = new DynamicForm ();
form.setFields (nameItem);
final Tab tab = new Tab ("Tab #1");
tab.setPane (form);
// tabSet.addTab (tab);
tabSet.disableTab (tab); // <------------ I would expect this to fail
tabSet.addTab (tab);
tab2 = tab;
}
final IButton button = new IButton ();
button.setTitle ("Enable Tab #2");
button.addClickHandler (new ClickHandler () {
boolean enableFlag = true;
public void onClick (ClickEvent event) {
if (enableFlag) {
tabSet.enableTab (tab2);
button.setTitle ("Disable Tab #2");
}
else {
tabSet.disableTab (tab2);
button.setTitle ("Enable Tab #2");
}
enableFlag = !enableFlag;
}
});
// layout
final VLayout layout = new VLayout ();
layout.addMember (tabSet);
layout.addMember (button);
layout.draw ();
}
}
Comment