private void createViewDSInfoPanel() { BorderLayoutData data = new BorderLayoutData(Style.LayoutRegion.EAST, 475, 100, 750); data.setMargins(new Margins(1, 1, 1, 5)); data.setCollapsible(true); viewDsInfoPanel = new ContentPanel(); viewDsInfoPanel.setLayout(new CenterLayout()); viewDsInfoPanel.setLayoutOnChange(true); // filterPanel.setAnimCollapse(true); viewDsInfoPanel.setId("eastPanel"); viewDsInfoPanel.setBodyBorder(false); viewDsInfoPanel.setIcon(HarvesterUI.ICONS.view_info_icon()); viewDsInfoPanel.setHeading(HarvesterUI.CONSTANTS.viewDataSetInformation()); LabelToolItem noDsSelectedLabel = new LabelToolItem(HarvesterUI.CONSTANTS.noDataSetSelected()); noDsSelectedLabel.setStyleName("noDataSetSelected"); viewDsInfoPanel.add(noDsSelectedLabel); mainBorderLayout.addListener( Events.Expand, new Listener<BorderLayoutEvent>() { @Override public void handleEvent(BorderLayoutEvent be) { if (be.getRegion().equals(Style.LayoutRegion.EAST)) setOnExpandDataSet(); } }); mainGridPanel.add(viewDsInfoPanel, data); }
private ContentPanel buildConfigBloc(ConfigGroup configGroup, ImageResource icon) { final ContentPanel cPanel = new ContentPanel(new ColumnLayout()); cPanel.setHeading( "<div class='config-title'>" + I18nUtils.getString(configGroup.key) + "</div>"); cPanel.getHeader().addStyleName("config-header"); cPanel.setCollapsible(true); cPanel.setAnimCollapse(false); cPanel.collapse(); cPanel.setIcon(AbstractImagePrototype.create(icon)); cPanel.addListener( Events.Expand, new Listener<ComponentEvent>() { @Override public void handleEvent(ComponentEvent be) { cPanel.layout(true); } }); cPanel.getHeader().addDomHandler(this, ClickEvent.getType()); mapConfigGroupPanel.put(configGroup, cPanel); mapHeaderGroup.put(cPanel.getHeader(), cPanel); return cPanel; }
private void initUI() { long time = new java.util.Date().getTime(); GWT.log("Initializing the UI ", null); container = new LayoutContainer(); container.setLayout(new CenterLayout()); // Rpc Proxy setup pagingToolBar = setupRpcProxy(); // Audit event grid setup grid = setupGrid(); // Panel ContentPanel cp = new ContentPanel(); cp.setHeading("Entity Event Viewer"); cp.setFrame(true); cp.setIcon(IconHelper.create("images/search_icon_16x16.png")); cp.setLayout(new FormLayout()); cp.setSize(1100, 630); // Search Container ContentPanel searchContainer = new ContentPanel(); searchContainer.setHeaderVisible(false); FormLayout searchFormLayout = new FormLayout(); searchFormLayout.setLabelWidth(130); searchFormLayout.setDefaultWidth(770); searchContainer.setLayout(searchFormLayout); selectedEvenyTypes = new TextField<String>(); selectedEvenyTypes.setFieldLabel("Selected Event Types"); selectedEvenyTypes.setReadOnly(true); evenyTypes = new ListView<AuditEventTypeWeb>(); evenyTypes.setDisplayProperty("auditEventTypeName"); evenyTypes.setWidth(220); evenyTypes.setHeight(110); evenyTypes.setStore(eventTypesStore); evenyTypes .getSelectionModel() .addListener( Events.SelectionChange, new Listener<SelectionChangedEvent<AuditEventTypeWeb>>() { public void handleEvent(SelectionChangedEvent<AuditEventTypeWeb> be) { List<AuditEventTypeWeb> selections = be.getSelection(); String selectedTypes = ""; for (AuditEventTypeWeb type : selections) { if (selectedTypes.isEmpty()) { selectedTypes = type.getAuditEventTypeName(); } else { selectedTypes = selectedTypes + ", " + type.getAuditEventTypeName(); } } selectedEvenyTypes.setValue(selectedTypes); if (selectedTypes.isEmpty()) { searchButton.disable(); } else { searchButton.enable(); } } }); DateTimePropertyEditor dateFormat = new DateTimePropertyEditor("yyyy-MM-dd HH:mm"); startDate = new DateField(); startDate.setFieldLabel("Start Date Time"); startDate.setToolTip("yyyy-MM-dd HH:mm"); startDate.setPropertyEditor(dateFormat); endDate = new DateField(); endDate.setFieldLabel("End Date Time"); endDate.setToolTip("yyyy-MM-dd HH:mm"); endDate.setPropertyEditor(dateFormat); LayoutContainer main = new LayoutContainer(); main.setLayout(new ColumnLayout()); LayoutContainer left = new LayoutContainer(); left.setStyleAttribute("paddingRight", "10px"); FormLayout layout = new FormLayout(); layout.setLabelWidth(130); layout.setDefaultWidth(220); // layout.setLabelAlign(LabelAlign.TOP); left.setLayout(layout); left.add(startDate); LayoutContainer right = new LayoutContainer(); right.setStyleAttribute("paddingLeft", "10px"); layout = new FormLayout(); // layout.setLabelAlign(LabelAlign.TOP); layout.setLabelWidth(130); layout.setDefaultWidth(220); right.setLayout(layout); right.add(endDate); main.add(left, new ColumnData(.5)); main.add(right, new ColumnData(.5)); HBoxLayoutData dataSelectedTypes = new HBoxLayoutData(new Margins(5, 0, 0, 0)); searchContainer.add(selectedEvenyTypes, dataSelectedTypes); HBoxLayoutData dataTypes = new HBoxLayoutData(new Margins(5, 0, 5, 135)); searchContainer.add(evenyTypes, dataTypes); searchContainer.add(main); HBoxLayoutData dataButtons = new HBoxLayoutData(new Margins(0, 0, 5, 0)); searchContainer.add(setupButtonPanel(3), dataButtons); cp.add(searchContainer); cp.add(grid); cp.setBottomComponent(pagingToolBar); container.add(cp); LayoutContainer wrapper = (LayoutContainer) Registry.get(Constants.CENTER_PANEL); wrapper.removeAll(); wrapper.add(container); wrapper.layout(); GWT.log("Done Initializing the UI in " + (new java.util.Date().getTime() - time), null); }
@Override protected void onRender(Element parent, int index) { super.onRender(parent, index); setLayout(new FlowLayout(10)); GridCellRenderer<Stock> buttonRenderer = new GridCellRenderer<Stock>() { private boolean init; public Object render( final Stock model, String property, ColumnData config, final int rowIndex, final int colIndex, ListStore<Stock> store, Grid<Stock> grid) { if (!init) { init = true; grid.addListener( Events.ColumnResize, new Listener<GridEvent<Stock>>() { public void handleEvent(GridEvent<Stock> be) { for (int i = 0; i < be.getGrid().getStore().getCount(); i++) { if (be.getGrid().getView().getWidget(i, be.getColIndex()) != null && be.getGrid().getView().getWidget(i, be.getColIndex()) instanceof BoxComponent) { ((BoxComponent) be.getGrid().getView().getWidget(i, be.getColIndex())) .setWidth(be.getWidth() - 10); } } } }); } Button b = new Button( (String) model.get(property), new SelectionListener<ButtonEvent>() { @Override public void componentSelected(ButtonEvent ce) { Info.display( model.getName(), "<ul><li>" + model.getSymbol() + "</li></ul>"); } }); b.setWidth(grid.getColumnModel().getColumnWidth(colIndex) - 10); b.setToolTip("Click for more information"); return b; } }; final NumberFormat currency = NumberFormat.getCurrencyFormat(); final NumberFormat number = NumberFormat.getFormat("0.00"); GridCellRenderer<Stock> change = new GridCellRenderer<Stock>() { public String render( Stock model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<Stock> store, Grid<Stock> grid) { double val = (Double) model.get(property); String style = val < 0 ? "red" : "green"; return "<span style='color:" + style + "'>" + number.format(val) + "</span>"; } }; GridCellRenderer<Stock> gridNumber = new GridCellRenderer<Stock>() { public String render( Stock model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<Stock> stor, Grid<Stock> grid) { Number value = model.<Number>get(property); return value == null ? null : currency.format(model.<Number>get(property)); } }; List<ColumnConfig> configs = new ArrayList<ColumnConfig>(); ColumnConfig column = new ColumnConfig(); column.setId("name"); column.setHeaderHtml("Company"); column.setWidth(200); configs.add(column); column = new ColumnConfig(); column.setId("symbol"); column.setHeaderHtml("Symbol"); column.setWidth(100); column.setRenderer(buttonRenderer); configs.add(column); column = new ColumnConfig(); column.setId("last"); column.setHeaderHtml("Last"); column.setAlignment(HorizontalAlignment.RIGHT); column.setWidth(75); column.setRenderer(gridNumber); configs.add(column); column = new ColumnConfig("change", "Change", 100); column.setAlignment(HorizontalAlignment.RIGHT); column.setRenderer(change); configs.add(column); column = new ColumnConfig("date", "Last Updated", 100); column.setAlignment(HorizontalAlignment.RIGHT); column.setDateTimeFormat(DateTimeFormat.getFormat("MM/dd/yyyy")); configs.add(column); final ListStore<Stock> store = new ListStore<Stock>(); store.add(Stock.getStocks()); ColumnModel cm = new ColumnModel(configs); ContentPanel cp = new ContentPanel(); cp.setBodyBorder(false); // cp.setIconStyle("icon-printer"); cp.setIcon( AbstractImagePrototype.create( new ImageResource() { public int getHeight() { return 0; } public int getLeft() { return 0; } public SafeUri getSafeUri() { return null; } public int getTop() { return 0; } public String getURL() { return "resources/images/fam/printer.png"; } public int getWidth() { return 0; } public boolean isAnimated() { return false; } public String getName() { return null; } })); // cp.setIcon(Resources.ICONS.table()); cp.setHeadingHtml("Widget Renderer Grid"); cp.setButtonAlign(HorizontalAlignment.CENTER); cp.setLayout(new FitLayout()); cp.setSize(600, 300); Grid<Stock> grid = new Grid<Stock>(store, cm); grid.setStyleAttribute("borderTop", "none"); grid.setAutoExpandColumn("name"); grid.setBorders(true); cp.add(grid); add(cp); }
public static void setIcon(ContentPanel panel, String iconName) { if (HEADER_ICONS && panel != null && iconName != null && iconName.length() > 0) { panel.setIcon(getHeaderIcon(iconName)); } }
@Inject public ProjectIndicatorsContainer( ProjectSiteGridPanel siteEditor, SiteMap siteMap, final DesignPanel designPanel, Dispatcher service, EventBus eventBus) { this.siteEditor = siteEditor; this.siteMap = siteMap; this.designPanel = designPanel; this.service = service; this.eventBus = eventBus; BorderLayout borderLayout = new BorderLayout(); borderLayout.setContainerStyle("x-border-layout-ct main-background"); setLayout(borderLayout); ContentPanel mainPanel = new ContentPanel(); mainPanel.setIcon(null); mainPanel.setLayout(new FitLayout()); mainPanel.setSize(600, 300); // setIcon(IconImageBundle.ICONS.design()); // map tab panel tabPanel = new TabPanel(); tabPanel.setPlain(true); // map tab item mapTabItem = new TabItem("map"); mapTabItem.setLayout(new FitLayout()); mapTabItem.setEnabled(false); mapTabItem.setAutoHeight(true); mapTabItem.setEnabled(true); mapTabItem.add(siteMap); tabPanel.add(mapTabItem); // sites tab item sitesTabItem = new TabItem("sites"); sitesTabItem.setLayout(new FitLayout()); sitesTabItem.setEnabled(false); sitesTabItem.setAutoHeight(true); sitesTabItem.setEnabled(true); sitesTabItem.add(siteEditor); tabPanel.add(sitesTabItem); // buttons for indicator view newIndicatorButton = new Button("new indicator"); newGroupButton = new Button("new group"); reloadButton = new Button("reload button"); mainPanel.add(newIndicatorButton); mainPanel.add(newGroupButton); mainPanel.add(reloadButton); BorderLayoutData centerLayout = new BorderLayoutData(Style.LayoutRegion.CENTER); centerLayout.setMargins(new Margins(0, 0, 0, 0)); centerLayout.setSplit(true); centerLayout.setCollapsible(true); BorderLayoutData layout = new BorderLayoutData(Style.LayoutRegion.EAST); layout.setSplit(true); layout.setCollapsible(true); layout.setSize(375); layout.setMargins(new Margins(0, 0, 0, 5)); add(designPanel, centerLayout); designPanel .getMappedIndicator() .addValueChangeHandler( new ValueChangeHandler<IndicatorDTO>() { @Override public void onValueChange(ValueChangeEvent<IndicatorDTO> event) { onMappedIndicatorChanged(event.getValue()); } }); add(tabPanel, layout); // setHeading(I18N.CONSTANTS.design() + " - " ); siteEditor.addActionListener( new Listener<ComponentEvent>() { @Override public void handleEvent(ComponentEvent be) { if (UIActions.add.equals(be.getComponent().getItemId())) { addSite(); } } }); }
private void createGrid(boolean widget) { List<ColumnConfig> configs = new ArrayList<ColumnConfig>(); ColumnConfig column = new ColumnConfig(); column.setId("name"); column.setHeader("Company"); column.setWidth(200); configs.add(column); column = new ColumnConfig(); column.setId("symbol"); column.setHeader("Symbol"); column.setWidth(100); configs.add(column); column = new ColumnConfig(); column.setId("last"); column.setHeader("Last"); column.setAlignment(HorizontalAlignment.RIGHT); column.setWidth(75); column.setRenderer(gridNumber); configs.add(column); column = new ColumnConfig("change", "Change", 100); column.setAlignment(HorizontalAlignment.RIGHT); column.setRenderer(change); configs.add(column); column = new ColumnConfig("date", 125); if (widget) { Button btn = new Button("Updated"); btn.addListener( Events.OnClick, new Listener<ButtonEvent>() { public void handleEvent(ButtonEvent be) { // stop column from getting click and causing sort be.cancelBubble(); } }); btn.setStyleAttribute("float", "left"); column.setWidget(btn, "Last Updated"); } else { column.setAlignment(HorizontalAlignment.RIGHT); column.setHeader("Last Updated"); } column.setDateTimeFormat(DateTimeFormat.getFormat("MM/dd/yyyy")); configs.add(column); ListStore<Stock> store = new ListStore<Stock>(); store.add(TestData.getStocks()); ColumnModel cm = new ColumnModel(configs); cm.addHeaderGroup(0, 0, new HeaderGroupConfig("Header Grouping Example", 1, 5)); cm.addHeaderGroup(1, 2, new HeaderGroupConfig("Stock Performance", 1, 2)); if (widget) { Slider s = new Slider(); s.setWidth(100); // ugly, but centers slider FlexTable tbl = new FlexTable(); tbl.setWidth("100%"); tbl.setHTML(0, 0, " "); tbl.setHTML( 0, 1, "<span style='white-space: nowrap;font-size: 11px'>Slide Me: </span>"); tbl.setWidget(0, 2, s); tbl.setHTML(0, 3, " "); tbl.getCellFormatter().setWidth(0, 0, "50%"); tbl.getCellFormatter().setWidth(0, 3, "50%"); cm.addHeaderGroup(1, 0, new HeaderGroupConfig(tbl, 1, 2)); } else { cm.addHeaderGroup(1, 0, new HeaderGroupConfig("Stock Information", 1, 2)); } ContentPanel cp = new ContentPanel(); cp.setBodyBorder(false); cp.setIcon(Resources.ICONS.table()); cp.setHeading(widget ? "Column Grouping with Widget" : "Column Grouping"); cp.setButtonAlign(HorizontalAlignment.CENTER); cp.setLayout(new FitLayout()); cp.setSize(600, 300); Grid<Stock> grid = new Grid<Stock>(store, cm); grid.setStyleAttribute("borderTop", "none"); grid.getView().setForceFit(true); grid.setBorders(true); cp.add(grid); vp.add(cp); }