/* * Copyright 2015 JBoss, by Red Hat, Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.uberfire.client.docks.view; import org.uberfire.client.docks.view.bars.DocksCollapsedBar; import org.uberfire.client.docks.view.bars.DocksExpandedBar; import org.uberfire.client.docks.view.items.AbstractDockItem; import org.uberfire.client.workbench.docks.UberfireDock; import org.uberfire.client.workbench.docks.UberfireDockPosition; import org.uberfire.mvp.ParameterizedCommand; public class DocksBar { private UberfireDockPosition position; private DocksCollapsedBar collapsedBar; private Double collapsedDefaultSize = 35.0; private DocksExpandedBar expandedBar; private Double expandedDefaultSize = 150.0; private Double expandedSize = expandedDefaultSize; private DockResizeBar dockResizeBar; private Double dockResizeBarDefaultSize = 2.0; public DocksBar(UberfireDockPosition position) { this.position = position; setupChildBars(position); } protected void setupChildBars(UberfireDockPosition position) { this.collapsedBar = new DocksCollapsedBar(position); this.expandedBar = new DocksExpandedBar(position); dockResizeBar = new DockResizeBar(this); } public DocksCollapsedBar getCollapsedBar() { return collapsedBar; } public boolean isCollapsedBarInSingleMode() { return collapsedBar.singleDockMode(); } public DocksExpandedBar getExpandedBar() { return expandedBar; } public Double getCollapsedBarSize() { return collapsedDefaultSize; } public double getExpandedBarSize() { return expandedSize; } public void setExpandedSize(Double expandedSize) { this.expandedSize = expandedSize; } public void clearAll() { collapsedBar.clear(); expandedBar.clear(); } public void addDock(UberfireDock dock, final ParameterizedCommand<String> selectCommand, final ParameterizedCommand<String> deselectCommand) { if (collapsedBar != null) { collapsedBar.addDock(dock, selectCommand, deselectCommand); } } public UberfireDockPosition getPosition() { return position; } public boolean hasDocksItems() { return !collapsedBar.getDocksItems().isEmpty(); } public void setupDnD() { collapsedBar.setupDnD(); } public DockResizeBar getDockResizeBar() { return dockResizeBar; } public Double getDockResizeBarDefaultSize() { return dockResizeBarDefaultSize; } public void configureResizeBar(ParameterizedCommand<Double> resizeCommand) { dockResizeBar.setup(resizeCommand); } public void expand(UberfireDock dock) { collapsedBar.expand(dock); AbstractDockItem docksItems = collapsedBar.getDocksItems().get(0); docksItems.select(); } }