Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.omnicomm.pegasus.gadgets.movementsummaryreportgadget.client;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import ru.omnicomm.pegasus.gadgets.movementsummaryreportgadget.client.dao.ReportTableData;
- import com.extjs.gxt.ui.client.data.BaseModel;
- import com.extjs.gxt.ui.client.data.BaseModelData;
- import com.extjs.gxt.ui.client.data.ModelData;
- import com.extjs.gxt.ui.client.dnd.ListViewDragSource;
- import com.extjs.gxt.ui.client.dnd.ListViewDropTarget;
- import com.extjs.gxt.ui.client.store.ListStore;
- import com.extjs.gxt.ui.client.store.StoreSorter;
- import com.extjs.gxt.ui.client.widget.CheckBoxListView;
- import com.extjs.gxt.ui.client.widget.HorizontalPanel;
- import com.extjs.gxt.ui.client.widget.LayoutContainer;
- import com.extjs.gxt.ui.client.widget.Text;
- import com.extjs.gxt.ui.client.widget.VerticalPanel;
- import com.extjs.gxt.ui.client.widget.button.Button;
- import com.extjs.gxt.ui.client.widget.form.CheckBox;
- import com.extjs.gxt.ui.client.widget.form.ComboBox;
- import com.extjs.gxt.ui.client.widget.form.DateField;
- import com.extjs.gxt.ui.client.widget.form.FormPanel;
- import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
- import com.extjs.gxt.ui.client.dnd.DND.Feedback;
- import com.extjs.gxt.ui.client.event.ButtonEvent;
- import com.extjs.gxt.ui.client.event.SelectionListener;
- import com.extjs.gxt.ui.client.widget.Dialog;
- import com.google.gwt.core.client.GWT;
- public final class SettingsPanel extends Dialog {
- /** Количество минут в одном часе. */
- private final static int MINUTES = 60;
- /** Кличество часов в сутках. */
- private final static int HOURS = 24;
- private final Constants constants = (Constants) GWT.create(Constants.class);
- private CheckBoxListView<ModelData> columnView = new CheckBoxListView<ModelData>();
- private DateField startDate = new DateField();
- private ComboBox<Hour> startHour = new ComboBox<Hour>();
- private ComboBox<Minute> startMinute = new ComboBox<Minute>();
- private DateField endDate = new DateField();
- private ComboBox<Hour> endHour = new ComboBox<Hour>();
- private ComboBox<Minute> endMinute = new ComboBox<Minute>();
- public SettingsPanel() {
- super();
- setWidth(270);
- VerticalPanel vPanel = new VerticalPanel();
- vPanel.setSpacing(10);
- vPanel.setBorders(false);
- //Колонки
- Text columnTxt = new Text("Колонки таблицы");
- vPanel.add(columnTxt);
- ListStore<ModelData> columnStore = new ListStore<ModelData>();
- columnStore.add(getListModel());
- columnView.setStore(columnStore);
- columnView.setDisplayProperty("columnName");
- columnView.setWidth(230);
- columnView.setSelectOnOver(true);
- List<ModelData> elems = columnView.getStore().getModels();
- for (ModelData elem: elems) {
- columnView.setChecked(elem, true);
- }
- ListViewDragSource listViewDragSource = new ListViewDragSource(columnView);
- ListViewDropTarget target = new ListViewDropTarget(columnView);
- target.setAllowSelfAsSource(true);
- target.setFeedback(Feedback.INSERT);
- vPanel.add(columnView);
- //Период
- Text periodTxt = new Text("Период по умолчанию");
- vPanel.add(periodTxt);
- HorizontalPanel startDatePanel = new HorizontalPanel();
- Text startTxt = new Text("с");
- startTxt.setWidth(40);
- startDatePanel.add(startTxt);
- //дата
- startDate.setWidth(90);
- startDatePanel.add(startDate);
- // TimeField startTime = new TimeField();
- // startTime.setWidth(60);
- // startTime.setTypeAhead(true);
- // startTime.setTriggerAction(TriggerAction.ALL);
- // startDatePanel.add(startTime);
- // часы
- ListStore<Hour> hours = new ListStore<Hour>();
- hours.add(getHours());
- // минуты
- ListStore<Minute> minutes = new ListStore<Minute>();
- minutes.add(getMinutes());
- //часы
- startHour.setStore(hours);
- startHour.setDisplayField("hour");
- startHour.setTypeAhead(true);
- startHour.setTriggerAction(TriggerAction.ALL);
- startHour.setWidth(50);
- startDatePanel.add(startHour);
- //минуты
- startMinute.setStore(minutes);
- startMinute.setDisplayField("minute");
- startMinute.setTypeAhead(true);
- startMinute.setTriggerAction(TriggerAction.ALL);
- startMinute.setWidth(50);
- startDatePanel.add(startMinute);
- vPanel.add(startDatePanel);
- HorizontalPanel endDatePanel = new HorizontalPanel();
- Text endTxt = new Text("по");
- endTxt.setWidth(40);
- endDatePanel.add(endTxt);
- endDate.setWidth(90);
- endDatePanel.add(endDate);
- // TimeField finTime = new TimeField();
- // finTime.setWidth(60);
- // finTime.setTypeAhead(true);
- // finTime.setTriggerAction(TriggerAction.ALL);
- // finDatePanel.add(finTime);
- // часы
- endHour.setStore(hours);
- endHour.setDisplayField("hour");
- endHour.setTypeAhead(true);
- endHour.setTriggerAction(TriggerAction.ALL);
- endHour.setWidth(50);
- endDatePanel.add(endHour);
- // минуты
- endMinute.setStore(minutes);
- endMinute.setDisplayField("minute");
- endMinute.setTypeAhead(true);
- endMinute.setTriggerAction(TriggerAction.ALL);
- endMinute.setWidth(50);
- endDatePanel.add(endMinute);
- vPanel.add(endDatePanel);
- //критерии фильтрации поиска ТС
- Text criteriaTxt = new Text("Критерии фильтрации поиска ТС");
- vPanel.add(criteriaTxt);
- CheckBox criteriaShow = new CheckBox();
- criteriaShow.setBoxLabel("Показать");
- vPanel.add(criteriaShow);
- //формат сохраняемого файла
- Text formatTxt = new Text("Формат сохраняемого файла");
- vPanel.add(formatTxt);
- ListStore<ExportType> types = new ListStore<ExportType>();
- types.add(getExportTypes());
- ComboBox<ExportType> exportCombo = new ComboBox<ExportType>();
- exportCombo.setStore(types);
- exportCombo.setDisplayField("typeName");
- exportCombo.setTriggerAction(TriggerAction.ALL);
- exportCombo.setWidth(230);
- vPanel.add(exportCombo);
- //адрес по умолчанию
- Text contactTxt = new Text("Адрес по умолчанию");
- vPanel.add(contactTxt);
- ListStore<UserContact> contacts = new ListStore<UserContact>();
- contacts.add(getUserContacts());
- ComboBox<UserContact> contactCombo = new ComboBox<UserContact>();
- contactCombo.setStore(contacts);
- contactCombo.setDisplayField("user");
- contactCombo.setTriggerAction(TriggerAction.ALL);
- contactCombo.setWidth(230);
- contactCombo.setSelectOnFocus(true);
- vPanel.add(contactCombo);
- // setHideOnButtonClick(true);
- add(vPanel);
- }
- @Override
- public void show() {
- setChecks();
- // setOrder();
- super.show();
- }
- @Override
- protected void createButtons() {
- Button okButton = new Button("Ok");
- okButton.addSelectionListener(new SelectionListener<ButtonEvent>() {
- public void componentSelected(ButtonEvent ce) {
- //колонки
- List<String> visibleColumnsId = new ArrayList<String>();
- List<String> allColumns = new ArrayList<String>();
- for (ModelData elem: columnView.getStore().getModels()) {
- if (columnView.getChecked().contains(elem)) {
- visibleColumnsId.add((String)elem.get("columnId"));
- }
- allColumns.add((String)elem.get("columnId"));
- }
- ServiceLocator.getReportTable().setVisibleColumns(visibleColumnsId);
- ServiceLocator.getReportTable().setColumnOrder(allColumns);
- /* DateHourMinute start = new DateHourMinute(startDate.getValue(),startHour.getValue(),startMinute.getValue());
- DateHourMinute end = new DateHourMinute(endDate.getValue(),endHour.getValue(),endMinute.getValue());
- ServiceLocator.getDateIntervalCriteria().setPeriod(start, end);*/
- hide();
- }
- });
- addButton(okButton);
- }
- private void setChecks() {
- List<String> visibleColumns = ServiceLocator.getReportTable().getVisibleColumns();
- for (ModelData elem : columnView.getStore().getModels()) {
- if (visibleColumns.contains(elem.get("columnId"))) {
- columnView.setChecked(elem, true);
- } else {
- columnView.setChecked(elem, false);
- }
- }
- }
- // private void setOrder() {
- // List<String> order = ServiceLocator.getReportTable().getColumnOrder();
- // // columnView.getStore().getModels().
- //
- // }
- public List<ListModel> getListModel() {
- List<ListModel> listModel = new ArrayList<ListModel>();
- // for exampls
- listModel.add(new ListModel("numRow", constants.numRow()));
- listModel.add(new ListModel("number", constants.number()));
- listModel.add(new ListModel("driver", constants.driver()));
- listModel.add(new ListModel("run", constants.run()));
- listModel.add(new ListModel("averageSpeed", constants.averageSpeed()));
- listModel.add(new ListModel("maximumSpeed", constants.maximumSpeed()));
- listModel.add(new ListModel("movementTime", constants.movementTime()));
- listModel.add(new ListModel("downTime", constants.downTime()));
- listModel.add(new ListModel("absenceDate", constants.absenceDate()));
- return listModel;
- }
- private static List<Hour> getHours() {
- List<Hour> hours = new ArrayList<Hour>();
- for (int i = 0; i < HOURS; i++) {
- hours.add(new Hour(String.valueOf(i)));
- }
- return hours;
- }
- private static List<Minute> getMinutes() {
- List<Minute> minutes = new ArrayList<Minute>();
- for (int i = 0; i < MINUTES; i++) {
- minutes.add(new Minute(String.valueOf(i)));
- }
- return minutes;
- }
- private static List<ExportType> getExportTypes() {
- List<ExportType> exportTypes = new ArrayList<ExportType>();
- exportTypes.add(new ExportType("Microsoft Word .docx"));
- exportTypes.add(new ExportType("Microsoft Excell .xlsx"));
- exportTypes.add(new ExportType("Adobe Acrobat .pdf"));
- exportTypes.add(new ExportType("Rich Text Format .RTF"));
- exportTypes.add(new ExportType("XML-документ .xml"));
- exportTypes.add(new ExportType("Веб-страница .html"));
- return exportTypes;
- }
- // TODO: откуда загружать e-mail ?
- private static List<UserContact> getUserContacts() {
- List<UserContact> contacs = new ArrayList<UserContact>();
- contacs.add(new UserContact("Петров <petrov@gmail.com>"));
- contacs.add(new UserContact("Сидоров <sidoroff@ya.ru>"));
- contacs.add(new UserContact("Ленский <lensk@gmail.com>"));
- contacs.add(new UserContact("Онегин <zhenya.o@gmail.com>"));
- contacs.add(new UserContact("Ларина <tanya777@mail.ru>"));
- return contacs;
- }
- }
- class ListModel extends BaseModel {
- // private SimpleDateFormat dateFormat = new SimpleDateFormat("hh:mm:ss");
- public ListModel() {
- }
- public ListModel(String columnId, String columnName) {
- set("columnId", columnId);
- set("columnName", columnName);
- }
- public String getColumnId() {
- return get("columnId");
- }
- public void setColumnId(String columnId) {
- set("columnId", columnId);
- }
- public String getColumnName() {
- return get("columnName");
- }
- public void setColumnName(String columnName) {
- set("columnName", columnName);
- }
- }
- class ExportType extends BaseModelData {
- public ExportType() {
- }
- public ExportType(String typeName) {
- setTypeName(typeName);
- }
- public String getTypeName() {
- return get("typeName");
- }
- public void setTypeName(String typeName) {
- set("typeName",typeName);
- }
- }
- class UserContact extends BaseModelData {
- public UserContact() {
- }
- public UserContact(String user) {
- setUser(user);
- }
- public String getUser() {
- return get("user");
- }
- public void setUser(String user) {
- set("user",user);
- }
- }
Add Comment
Please, Sign In to add comment