Hello!
Why not a small window opens, and in full screen?
MainPanel class:
Code:
package ru.softded.main.client.Panel;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import ru.softded.main.client.Window.EmployeeWindow;
public class MainPanel extends ContentPanel {
public MainPanel() {
this.setLayout(new FitLayout());
this.setHeaderVisible(false);
}
public void showEmployeeWindow() {
EmployeeWindow employeeWindow = new EmployeeWindow();
this.add(employeeWindow);
}
}
EmployeeWindow class:
Code:
package ru.softded.main.client.Window;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.Label;
import com.extjs.gxt.ui.client.widget.Window;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
import com.extjs.gxt.ui.client.widget.grid.Grid;
import com.extjs.gxt.ui.client.widget.layout.AccordionLayout;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.rpc.AsyncCallback;
import ru.softded.main.client.Forms.EmployeeForm;
import ru.softded.main.client.Model.EmployeeModel;
import ru.softded.main.client.Service.EmployeeService;
import ru.softded.main.shared.Employee;
import java.util.ArrayList;
import java.util.List;
public class EmployeeWindow extends Window {
Grid<EmployeeModel> grid;
public EmployeeWindow() {
setLayout(new FitLayout());
setWidth(650);
setHeight(300);
setHeading("Заказчики");
setMaximizable(true);
ToolBar toolBar = new ToolBar();
final Button addButton = new Button("Добавить");
addButton.setIconStyle("button-add");
final Button editButton = new Button("Редактировать");
editButton.setIconStyle("button-edit");
final Button delButton = new Button("Удалить");
delButton.setIconStyle("button-del");
// final Button openButton = new Button("Открыть");
// openButton.setIconStyle("button-open");
// toolBar.add(openButton);
toolBar.add(addButton);
toolBar.add(editButton);
toolBar.add(delButton);
this.setTopComponent(toolBar);
addButton.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
EmployeeForm employeeForm = new EmployeeForm();
employeeForm.show();
}
});
editButton.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
EmployeeModel employeeModel = grid.getSelectionModel().getSelectedItem();
if (employeeModel != null) {
EmployeeForm employeeForm = new EmployeeForm(employeeModel);
employeeForm.show();
}
}
});
delButton.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
EmployeeModel employeeModel = grid.getSelectionModel().getSelectedItem();
if (employeeModel != null) {
EmployeeService.App.getInstance().delEmployee(employeeModel, new AsyncCallback<Void>() {
public void onFailure(Throwable caught) {
com.google.gwt.user.client.Window.alert("Ошибка удаления");
}
public void onSuccess(Void result) {
com.google.gwt.user.client.Window.alert("Запись удалена");
grid.getStore().remove(grid.getSelectionModel().getSelectedItem());
}
});
}
}
});
final Label labelError = new Label();
final ListStore<EmployeeModel> employeeModelListStore = new ListStore<EmployeeModel>();
EmployeeService.App.getInstance().getAllEmployeeModels(new AsyncCallback<List<EmployeeModel>>() {
public void onFailure(Throwable caught) {
com.google.gwt.user.client.Window.alert(caught.getLocalizedMessage());
}
public void onSuccess(List<EmployeeModel> result) {
employeeModelListStore.add(result);
}
});
List<ColumnConfig> columnConfigs = new ArrayList<ColumnConfig>();
ColumnConfig column = new ColumnConfig("name", "Название организации", 100);
columnConfigs.add(column);
column = new ColumnConfig("codeName", "Обозначение", 100);
columnConfigs.add(column);
column = new ColumnConfig("tel", "Телефон", 100);
columnConfigs.add(column);
column = new ColumnConfig("email", "Email", 100);
columnConfigs.add(column);
column = new ColumnConfig("login", "Логин", 100);
columnConfigs.add(column);
column = new ColumnConfig("pass", "Пароль", 100);
columnConfigs.add(column);
ColumnModel columnModel = new ColumnModel(columnConfigs);
grid = new Grid<EmployeeModel>(employeeModelListStore, columnModel);
grid.setBorders(true);
grid.setAutoExpandColumn("name");
grid.setStyleAttribute("border-Top", "none");
grid.setStripeRows(true);
add(grid);
}
}
And AppView class:
Code:
private void onCenterPanelReady(AppEvent event) {
BorderLayoutData centerLayoutData = new BorderLayoutData(Style.LayoutRegion.CENTER);
centerLayoutData.setCollapsible(true);
Component component = event.getData();
viewport.add(component, centerLayoutData);
}