/* (c) 2014 Open Source Geospatial Foundation - all rights reserved
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.geofence.gui.client.widget;
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import org.geoserver.geofence.gui.client.Constants;
import org.geoserver.geofence.gui.client.service.GsUsersManagerRemoteServiceAsync;
import org.geoserver.geofence.gui.client.service.InstancesManagerRemoteServiceAsync;
import org.geoserver.geofence.gui.client.service.ProfilesManagerRemoteServiceAsync;
import org.geoserver.geofence.gui.client.service.RulesManagerRemoteServiceAsync;
import org.geoserver.geofence.gui.client.service.WorkspacesManagerRemoteServiceAsync;
// TODO: Auto-generated Javadoc
/**
* The Class RuleManagementWidget.
*/
public class RuleManagementWidget extends ContentPanel
{
/** The rules info. */
private RuleGridWidget rulesInfo;
/**
* Instantiates a new rule management widget.
*
* @param rulesService
* the rules service
* @param gsUsersService
* the gs users service
* @param profilesService
* the profiles service
* @param instancesService
* the instances service
* @param workspacesService
* the workspaces service
*/
public RuleManagementWidget(RulesManagerRemoteServiceAsync rulesService,
GsUsersManagerRemoteServiceAsync gsUsersService,
ProfilesManagerRemoteServiceAsync profilesService,
InstancesManagerRemoteServiceAsync instancesService,
WorkspacesManagerRemoteServiceAsync workspacesService)
{
setMonitorWindowResize(true);
setHeaderVisible(false);
setFrame(true);
setLayout(new FitLayout());
setScrollMode(Scroll.NONE);
setAutoWidth(true);
setHeight(Constants.SOUTH_PANEL_DIMENSION - 25);
setRulesInfo(new RuleGridWidget(rulesService, gsUsersService, profilesService, instancesService,
workspacesService));
add(getRulesInfo().getGrid());
setBottomComponent(this.getRulesInfo().getToolBar());
}
/*
* (non-Javadoc)
*
* @see com.extjs.gxt.ui.client.widget.Component#onWindowResize(int, int)
*/
@Override
protected void onWindowResize(int width, int height)
{
// TODO Auto-generated method stub
super.setWidth(width - 5);
super.layout();
}
/**
* Sets the rules info.
*
* @param rulesInfo
* the new rules info
*/
public void setRulesInfo(RuleGridWidget rulesInfo)
{
this.rulesInfo = rulesInfo;
}
/**
* Gets the rules info.
*
* @return the rules info
*/
public RuleGridWidget getRulesInfo()
{
return rulesInfo;
}
}