public ConfigView(final EventBus eventBus, UserBean userBean, int refreshPeriod, String id) { setLayout(new FlowLayout()); setScrollMode(Scroll.AUTOY); setHeaderVisible(false); this.eventBus = eventBus; this.userBean = userBean; groupFieldBinding = new GroupFieldBinding(modelData()); addListener( Events.Resize, new Listener<BaseEvent>() { @Override public void handleEvent(BaseEvent be) { Scheduler.get() .scheduleDeferred( new ScheduledCommand() { @Override public void execute() { ConfigView.this.layout(true); } }); } }); if (null == this.scheduler) { this.scheduler = new AbstractSubModuleScheduler( this.eventBus, this, this, refreshPeriod, id, EventType.OnServiceRefreshEnd); } setTopComponent(initToolBar()); eventBus.addHandler( SubModuleEvent.getType(), new SubModuleHandler() { @Override public void onEvent(SubModuleEvent event) { EventType evt = event.getEventType(); if (evt == EventType.OnClickRefresh) { load(); } } }); build(); register(); loadValues(); }
@Override public ToolBar initToolBar() { SubModuleToolbar toolbar = new SubModuleToolbar(getEventBus(), getSubModule().hasEditRight()); final Button bmToolbarButton = new Button( I18nUtils.getMessages().project_button_BranchManagment(), AbstractImagePrototype.create(Icons.INSTANCE.branches())); AdaptId.adapt(bmToolbarButton, IdElementsAdmResource.INSTANCE.idBranchManagementButton()); bmToolbarButton.disable(); bmToolbarButton.setTitle(I18nUtils.getMessages().project_button_BranchManagment()); bmToolbarButton.addListener( Events.OnClick, new Listener<BaseEvent>() { public void handleEvent(BaseEvent be) { ModelData selected = getSelectedItem(); if (selected != null && bmToolbarButton.isEnabled()) { Object obj = selected.get(ProjectBeanDesc.id.getName()); int projectId = 0; if (obj != null) { projectId = (Integer) obj; } String name = selected.get(ProjectBeanDesc.label.getName()); String warning = selected.get(ProjectBeanDesc.warning.getName()); if (warning == null) { Window window = new BranchManagmentWindow(projectId, name); window.show(); } else { String messageTitle = "<font size='3'>" + "Can't manage branches:" + "<font/><br>"; String messageDetail = "<I><font size='2' style='color:red'>" + warning + "<font/><I/>"; String message = messageTitle + messageDetail; MessageBox.alert("Warning", message, null); } } } }); if (!getSubModule().hasEditRight()) { GXTUtils.hideComponents(bmToolbarButton); } getEventBus() .addHandler( SubModuleEvent.getType(), new SubModuleHandler() { public void onEvent(SubModuleEvent event) { if (event.getEventType() == EventType.OnGridSelect && getSubModule().hasEditRight()) { bmToolbarButton.enable(); } else if (event.getEventType() == EventType.OnGridUnselect || event.getEventType() == EventType.OnClickCancel) { bmToolbarButton.disable(); } } }); toolbar.add(bmToolbarButton); return toolbar; }