package org.ovirt.engine.ui.userportal.client.components; import com.smartgwt.client.widgets.Label; import com.smartgwt.client.widgets.layout.HStack; import com.smartgwt.client.widgets.layout.VLayout; public class MonitorBar extends VLayout { HStack bar = new HStack(); Label percentageTitle = new Label("0%"); int currPercentage; int maxWidth; public MonitorBar(String title, String color, int width, int height) { this(title, color, width, height, "monitorBarTitle"); } public MonitorBar(String title, String color, int width, int height, String titleStyle) { setAutoWidth(); setAutoHeight(); maxWidth = width; Label titleLabel = new Label(title + ":"); titleLabel.setAutoHeight(); titleLabel.setAutoWidth(); titleLabel.setWrap(false); titleLabel.setStyleName(titleStyle); bar.setBackgroundColor(color); bar.setHeight(height); bar.hide(); HStack border = new HStack(); border.setHeight(height + 2); border.setWidth(maxWidth + 2); border.setBorder("1px solid #C9D6E6"); border.setPadding(1); border.addMember(bar); HStack box = new HStack(); percentageTitle.setAutoHeight(); percentageTitle.setAutoWidth(); percentageTitle.setStyleName("monitorBarPercentage"); box.addMember(border); box.addMember(percentageTitle); box.setMembersMargin(4); setMembersMargin(2); addMember(titleLabel); addMember(box); } public void setBarPercentage(int percentage) { if (currPercentage != percentage) { if (currPercentage == 0) bar.show(); if (percentage == 0) { bar.hide(); } String width = percentage + "%"; bar.setWidth(width); percentageTitle.setContents(width); currPercentage = percentage; } } }