All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.dashbuilder.displayer.client.widgets.RendererSelector Maven / Gradle / Ivy

There is a newer version: 7.74.1.Final
Show newest version
/*
 * Copyright 2014 Red Hat, Inc. and/or its affiliates.
 * 

* 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.dashbuilder.displayer.client.widgets; import java.util.List; import javax.inject.Inject; import com.google.gwt.user.client.ui.IsWidget; import com.google.gwt.user.client.ui.Widget; import org.dashbuilder.displayer.DisplayerSettings; import org.dashbuilder.displayer.client.RendererLibrary; import org.dashbuilder.displayer.client.RendererManager; import org.uberfire.client.mvp.UberView; import org.uberfire.mvp.Command; public class RendererSelector implements IsWidget { public enum SelectorType { LIST, RADIO, TAB; } public interface View extends UberView { void setVisible(boolean visible); void setWidth(int width); void setHeight(int height); void clearRendererSelector(); void addRendererItem(String renderer); void setSelectedRendererIndex(int index); String getRendererSelected(); } public interface TabListView extends View { } public interface ListBoxView extends View { } public interface RadioListView extends View { } View tabListView; View listBoxView; View radioListView; View view; RendererManager rendererManager; RendererLibrary rendererLibrary; Command selectCommand; @Inject public RendererSelector(TabListView tabListView, ListBoxView listBoxView, RadioListView radioListView, RendererManager rendererManager) { this.tabListView = tabListView; this.listBoxView = listBoxView; this.radioListView = radioListView; this.rendererManager = rendererManager; this.rendererLibrary = null; } @Override public Widget asWidget() { return view.asWidget(); } public RendererLibrary getRendererLibrary() { return rendererLibrary; } public void init(DisplayerSettings displayerSettings, SelectorType selectorType, int width, Command onSelectCommand) { // Choose the target view switch (selectorType) { case LIST: view = listBoxView; break; case RADIO: view = radioListView; break; case TAB: view = tabListView; break; } this.view.init(this); this.selectCommand = onSelectCommand; RendererLibrary rendererLibrary = rendererManager.getRendererForDisplayer(displayerSettings); List renderers = rendererManager.getRenderersForType(displayerSettings.getType(), displayerSettings.getSubtype()); if (renderers != null && renderers.size() > 1) { view.setVisible(true); view.setWidth(width); view.clearRendererSelector(); // Build the selector for (int i=0; i





© 2015 - 2025 Weber Informatics LLC | Privacy Policy