code: private void buildWidget(VectorLayer layer) {
  		mapModel = layer.getMapModel();
  
  		setTitle(I18nProvider.getAttribute().getAttributeWindowTitle(""));
  		setCanDragReposition(true);
  		setCanDragResize(true);
  
  		attributeTable = new FeatureAttributeEditor(layer, true, factory);
  
  		toolStrip = new ToolStrip();
  		toolStrip.setWidth100();
  		toolStrip.setPadding(WidgetLayout.marginSmall);
  
  		toolStrip.addMember(new ZoomButton());
  		editButton = new EditButton();
  		LayoutSpacer spacer = new LayoutSpacer();
  		spacer.setWidth(2);
  		toolStrip.addMember(spacer);
  		if (editingAllowed) {
  			toolStrip.addMember(editButton);
  		}
  
  		savePanel = new HLayout(WidgetLayout.marginSmall);
  		saveButton = new SaveButton();
  		IButton resetButton = new ResetButton();
  		IButton cancelButton = new CancelButton();
  		savePanel.addMember(saveButton);
  		savePanel.addMember(resetButton);
  		savePanel.addMember(cancelButton);
  		savePanel.setVisible(false);
  		savePanel.setAlign(Alignment.CENTER);
  		savePanel.setPadding(WidgetLayout.marginSmall);
  
  		VLayout layout = new VLayout();
  		layout.addMember(toolStrip);
  		layout.addMember(attributeTable);
  		layout.addMember(savePanel);
  		layout.setWidth(WidgetLayout.featureAttributeWindowLayoutWidth);
  		addItem(layout);
  
  		// Set the save button as disabled at startup:
  		addDrawHandler(new DrawHandler() {
  
  			public void onDraw(DrawEvent event) {
  				saveButton.setDisabled(true);
  			}
  		});
  	}
docs: Build the entire widget.
  
  @param layer layer