Content content = (Content) evt.getSource();
if ((Boolean) evt.getNewValue()) {
content.setSelected(false);
content.setMaximized(false);
DockableDescriptor descriptor = toolWindowManager.getDockableDescriptor(content.getId());
if (descriptor == null)
descriptor = toolWindowManager.createDescriptor(content);
// Remove content
// Store constraint
if (tabbedContentPane.getTabCount() != 0)
minimizedContentUIMap.put(content, tabbedContentPane.indexOfContent(content));
else
minimizedContentUIMap.put(content, -1);
// Remove content from tab
int tabIndex = tabbedContentPane.indexOfContent(content);
if (tabIndex != -1) {
tabbedContentPane.removeTabAt(tabIndex);
if (tabbedContentPane.getTabCount() == 0)
toolWindowManager.resetMainContent();
} else {
if (tabbedContentPane.getParent() == null)
toolWindowManager.resetMainContent();
else
throw new IllegalStateException("Invalid Content : " + content);
}
// Put on bar
descriptor.setAvailable(true);
} else {
DockableDescriptor descriptor = toolWindowManager.getDockableDescriptor(content.getId());
// Remove from bar
descriptor.setAvailable(false);
contentValueAdjusting = true;
try {
addUIForContent(content, minimizedContentUIMap.get(content));
content.setSelected(true);