提交 e2918275 编写于 作者: B Benjamin Pasero

get rid of another container array

上级 4cc1afab
...@@ -102,7 +102,6 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti ...@@ -102,7 +102,6 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti
private containers: Builder[]; private containers: Builder[];
private titleContainer: Builder[];
private titleAreaControl: ITitleAreaControl[]; private titleAreaControl: ITitleAreaControl[];
private progressBar: ProgressBar[]; private progressBar: ProgressBar[];
...@@ -148,7 +147,6 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti ...@@ -148,7 +147,6 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti
this.containers = []; this.containers = [];
this.titleContainer = [];
this.titleAreaControl = []; this.titleAreaControl = [];
this.progressBar = []; this.progressBar = [];
...@@ -176,7 +174,7 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti ...@@ -176,7 +174,7 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti
POSITIONS.forEach(position => { POSITIONS.forEach(position => {
// TItle Container // TItle Container
const titleContainer = this.titleContainer[position]; const titleContainer = $(this.titleAreaControl[position].getContainer());
if (useTabs) { if (useTabs) {
titleContainer.addClass('tabs'); titleContainer.addClass('tabs');
} else { } else {
...@@ -191,10 +189,10 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti ...@@ -191,10 +189,10 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti
// Dispose old // Dispose old
titleControl.dispose(); titleControl.dispose();
this.titleContainer[position].empty(); titleContainer.empty();
// Create new // Create new
this.createTitleControl(position); this.createTitleControl(position, titleContainer);
} }
} }
}); });
...@@ -755,14 +753,14 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti ...@@ -755,14 +753,14 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti
// Title containers // Title containers
const useTabs = !!this.configurationService.getConfiguration<IWorkbenchEditorConfiguration>().workbench.editor.showTabs; const useTabs = !!this.configurationService.getConfiguration<IWorkbenchEditorConfiguration>().workbench.editor.showTabs;
POSITIONS.forEach(position => { POSITIONS.forEach(position => {
this.titleContainer[position] = $(this.containers[position]).div({ 'class': 'title' }); const titleContainer = $(this.containers[position]).div({ 'class': 'title' });
if (useTabs) { if (useTabs) {
this.titleContainer[position].addClass('tabs'); titleContainer.addClass('tabs');
} }
this.hookTitleDragListener(position); this.hookTitleDragListener(position, titleContainer);
// Title Control // Title Control
this.createTitleControl(position); this.createTitleControl(position, titleContainer);
}); });
// Progress Bars per position // Progress Bars per position
...@@ -1018,20 +1016,20 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti ...@@ -1018,20 +1016,20 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti
}); });
} }
private createTitleControl(position: Position): void { private createTitleControl(position: Position, container: Builder): void {
const useTabs = !!this.configurationService.getConfiguration<IWorkbenchEditorConfiguration>().workbench.editor.showTabs; const useTabs = !!this.configurationService.getConfiguration<IWorkbenchEditorConfiguration>().workbench.editor.showTabs;
this.titleAreaControl[position] = this.instantiationServices[position].createInstance<ITitleAreaControl>(useTabs ? TabsTitleControl : NoTabsTitleControl); this.titleAreaControl[position] = this.instantiationServices[position].createInstance<ITitleAreaControl>(useTabs ? TabsTitleControl : NoTabsTitleControl);
this.titleAreaControl[position].create(this.titleContainer[position].getHTMLElement()); this.titleAreaControl[position].create(container.getHTMLElement());
this.titleAreaControl[position].setContext(this.stacks.groupAt(position)); this.titleAreaControl[position].setContext(this.stacks.groupAt(position));
this.titleAreaControl[position].refresh(); this.titleAreaControl[position].refresh();
} }
private hookTitleDragListener(position: Position): void { private hookTitleDragListener(position: number, container: Builder): void {
let wasDragged = false; let wasDragged = false;
// Allow to reorder positions by dragging the title // Allow to reorder positions by dragging the title
this.titleContainer[position].on(DOM.EventType.MOUSE_DOWN, (e: MouseEvent) => { container.on(DOM.EventType.MOUSE_DOWN, (e: MouseEvent) => {
if (!this.titleAreaControl[position].allowDragging(<any>e.target || e.srcElement)) { if (!this.titleAreaControl[position].allowDragging(<any>e.target || e.srcElement)) {
return; // return early if we are not in the drag zone of the title widget return; // return early if we are not in the drag zone of the title widget
} }
......
...@@ -44,6 +44,7 @@ export interface ITitleAreaControl { ...@@ -44,6 +44,7 @@ export interface ITitleAreaControl {
setContext(group: IEditorGroup): void; setContext(group: IEditorGroup): void;
allowDragging(element: HTMLElement): boolean; allowDragging(element: HTMLElement): boolean;
create(parent: HTMLElement): void; create(parent: HTMLElement): void;
getContainer(): HTMLElement;
refresh(instant?: boolean): void; refresh(instant?: boolean): void;
update(instant?: boolean): void; update(instant?: boolean): void;
layout(): void; layout(): void;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册