|
Lines 10-23
Link Here
|
| 10 |
*******************************************************************************/ |
10 |
*******************************************************************************/ |
| 11 |
package org.eclipse.e4.workbench.ui.renderers.swt; |
11 |
package org.eclipse.e4.workbench.ui.renderers.swt; |
| 12 |
|
12 |
|
| 13 |
import org.eclipse.e4.core.services.events.IEventBroker; |
|
|
| 14 |
|
| 15 |
import java.util.ArrayList; |
13 |
import java.util.ArrayList; |
| 16 |
import java.util.List; |
14 |
import java.util.List; |
|
|
15 |
import org.eclipse.e4.core.services.events.IEventBroker; |
| 17 |
import org.eclipse.e4.ui.model.application.MElementContainer; |
16 |
import org.eclipse.e4.ui.model.application.MElementContainer; |
| 18 |
import org.eclipse.e4.ui.model.application.MGenericStack; |
17 |
import org.eclipse.e4.ui.model.application.MGenericStack; |
| 19 |
import org.eclipse.e4.ui.model.application.MPart; |
|
|
| 20 |
import org.eclipse.e4.ui.model.application.MPartStack; |
| 21 |
import org.eclipse.e4.ui.model.application.MPlaceholder; |
18 |
import org.eclipse.e4.ui.model.application.MPlaceholder; |
| 22 |
import org.eclipse.e4.ui.model.application.MUIElement; |
19 |
import org.eclipse.e4.ui.model.application.MUIElement; |
| 23 |
import org.eclipse.e4.ui.model.application.MWindow; |
20 |
import org.eclipse.e4.ui.model.application.MWindow; |
|
Lines 130-163
Link Here
|
| 130 |
protected void createTab(MElementContainer<MUIElement> me, MUIElement part) { |
127 |
protected void createTab(MElementContainer<MUIElement> me, MUIElement part) { |
| 131 |
} |
128 |
} |
| 132 |
|
129 |
|
| 133 |
@Override |
|
|
| 134 |
public void hookControllerLogic(final MUIElement me) { |
| 135 |
super.hookControllerLogic(me); |
| 136 |
|
| 137 |
if (!(me instanceof MPartStack)) |
| 138 |
return; |
| 139 |
|
| 140 |
final MPartStack sm = (MPartStack) me; |
| 141 |
|
| 142 |
// Detect activation...picks up cases where the user clicks on the |
| 143 |
// (already active) part |
| 144 |
if (sm.getWidget() instanceof Control) { |
| 145 |
Control ctrl = (Control) sm.getWidget(); |
| 146 |
ctrl.addListener(SWT.Activate, |
| 147 |
new org.eclipse.swt.widgets.Listener() { |
| 148 |
public void handleEvent( |
| 149 |
org.eclipse.swt.widgets.Event event) { |
| 150 |
CTabFolder ctf = (CTabFolder) event.widget; |
| 151 |
MPartStack stack = (MPartStack) ctf |
| 152 |
.getData(OWNING_ME); |
| 153 |
MPart selPart = stack.getSelectedElement(); |
| 154 |
if (selPart != null) |
| 155 |
activate(selPart); |
| 156 |
} |
| 157 |
}); |
| 158 |
} |
| 159 |
} |
| 160 |
|
| 161 |
protected void showTab(MUIElement element) { |
130 |
protected void showTab(MUIElement element) { |
| 162 |
// Now process any newly visible elements |
131 |
// Now process any newly visible elements |
| 163 |
List<MUIElement> becomingVisible = new ArrayList<MUIElement>(); |
132 |
List<MUIElement> becomingVisible = new ArrayList<MUIElement>(); |