labelAndButtonsPanel.add( new Label( Messages.getString( "usersColon" ) ) );
hSpacer = new SimplePanel();
hSpacer.setWidth( "100%" );
labelAndButtonsPanel.add( hSpacer );
labelAndButtonsPanel.setCellWidth( hSpacer, "100%" );
newUserButton = new ThemeableImageButton( addButtonStyles, null, Messages.getString( "new" ) );
labelAndButtonsPanel.add( newUserButton );
hSpacer = new SimplePanel();
hSpacer.setWidth( "7px" );
labelAndButtonsPanel.add( hSpacer );
deleteUserButton = new ThemeableImageButton( removeButtonStyles, null, Messages.getString( "delete" ) );
labelAndButtonsPanel.add( deleteUserButton );
usersListBox = new ListBox( true );
usersListBox.addStyleName( "users-roles-list" );
availablePanel.add( usersListBox );
usersListBox.setVisibleItemCount( 20 );
hSpacer = new SimplePanel();
hSpacer.setWidth( "24px" );
mainUsersPanel.add( hSpacer );
VerticalPanel detailsPanel = new VerticalPanel();
mainUsersPanel.add( detailsPanel );
mainUsersPanel.setCellWidth( detailsPanel, "100%" );
hSpacer = new SimplePanel();
hSpacer.setHeight( "32px" );
detailsPanel.add( hSpacer );
detailsPanel.add( new Label( Messages.getString( "password" ) + ":" ) );
userPasswordTextBox = new PasswordTextBox();
userPasswordTextBox.setEnabled( false );
userPasswordTextBox.setWidth( "200px" );
HorizontalPanel passwordPanel = new HorizontalPanel();
passwordPanel.add( userPasswordTextBox );
hSpacer = new SimplePanel();
hSpacer.setWidth( "10px" );
passwordPanel.add( hSpacer );
editPasswordButton = new Button( Messages.getString( "edit" ) + "..." );
editPasswordButton.setStylePrimaryName( "pentaho-button" );
editPasswordButton.setEnabled( false );
passwordPanel.add( editPasswordButton );
detailsPanel.add( passwordPanel );
hSpacer = new SimplePanel();
hSpacer.setHeight( "15px" );
detailsPanel.add( hSpacer );
Label roleLabel = new Label( Messages.getString( "roles" ) );
roleLabel.setStyleName( "pentaho-fieldgroup-minor" );
detailsPanel.add( roleLabel );
hSpacer = new SimplePanel();
hSpacer.setHeight( "15px" );
detailsPanel.add( hSpacer );
HorizontalPanel groupsPanel = new HorizontalPanel();
detailsPanel.add( groupsPanel );
VerticalPanel availableRolesPanel = new VerticalPanel();
groupsPanel.add( availableRolesPanel );
availableRolesPanel.add( new Label( Messages.getString( "available" ) + ":" ) );
availableRolesListBox = new ListBox( true );
availableRolesPanel.add( availableRolesListBox );
availableRolesListBox.setVisibleItemCount( 20 );
availableRolesListBox.addStyleName( "users-roles-selection-list" );
VerticalPanel vSpacer = new VerticalPanel();
vSpacer.setWidth( "15px" );
groupsPanel.add( vSpacer );
VerticalPanel arrowsPanel = new VerticalPanel();
groupsPanel.add( arrowsPanel );
arrowsPanel.setWidth( "35px" );
hSpacer = new SimplePanel();
hSpacer.setHeight( "110px" );
arrowsPanel.add( hSpacer );
addRoleButton = new ThemeableImageButton( accumAddButtonStyles, null, null );
arrowsPanel.add( addRoleButton );
hSpacer = new SimplePanel();
hSpacer.setHeight( "10px" );
arrowsPanel.add( hSpacer );
removeRoleButton = new ThemeableImageButton( accumRemoveButtonStyles, null, null );
arrowsPanel.add( removeRoleButton );
hSpacer = new SimplePanel();
hSpacer.setHeight( "30px" );
arrowsPanel.add( hSpacer );
addAllRolesButton = new ThemeableImageButton( accumAddAllButtonStyles, null, null );
arrowsPanel.add( addAllRolesButton );
hSpacer = new SimplePanel();
hSpacer.setHeight( "10px" );
arrowsPanel.add( hSpacer );
removeAllRolesButton = new ThemeableImageButton( accumRemoveAllButtonStyles, null, null );
arrowsPanel.add( removeAllRolesButton );
VerticalPanel selectedRolesPanel = new VerticalPanel();
groupsPanel.add( selectedRolesPanel );
selectedRolesPanel.add( new Label( Messages.getString( "selected" ) + ":" ) );