aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/web/client/view/ArchiveView.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar/web/client/view/ArchiveView.java')
-rw-r--r--src/org/traccar/web/client/view/ArchiveView.java196
1 files changed, 0 insertions, 196 deletions
diff --git a/src/org/traccar/web/client/view/ArchiveView.java b/src/org/traccar/web/client/view/ArchiveView.java
deleted file mode 100644
index 9cc579f..0000000
--- a/src/org/traccar/web/client/view/ArchiveView.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright 2013 Anton Tananaev (anton.tananaev@gmail.com)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.traccar.web.client.view;
-
-import java.util.Date;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.traccar.web.client.ApplicationContext;
-import org.traccar.web.client.model.BaseStoreHandlers;
-import org.traccar.web.client.model.DeviceProperties;
-import org.traccar.web.client.model.PositionProperties;
-import org.traccar.web.shared.model.Device;
-import org.traccar.web.shared.model.Position;
-
-import com.google.gwt.cell.client.DateCell;
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.uibinder.client.UiHandler;
-import com.google.gwt.user.client.ui.Widget;
-import com.sencha.gxt.cell.core.client.NumberCell;
-import com.sencha.gxt.core.client.Style.SelectionMode;
-import com.sencha.gxt.data.shared.ListStore;
-import com.sencha.gxt.data.shared.event.StoreHandlers;
-import com.sencha.gxt.widget.core.client.ContentPanel;
-import com.sencha.gxt.widget.core.client.event.SelectEvent;
-import com.sencha.gxt.widget.core.client.form.ComboBox;
-import com.sencha.gxt.widget.core.client.form.DateField;
-import com.sencha.gxt.widget.core.client.form.TimeField;
-import com.sencha.gxt.widget.core.client.grid.ColumnConfig;
-import com.sencha.gxt.widget.core.client.grid.ColumnModel;
-import com.sencha.gxt.widget.core.client.grid.Grid;
-import com.sencha.gxt.widget.core.client.selection.SelectionChangedEvent;
-
-public class ArchiveView implements SelectionChangedEvent.SelectionChangedHandler<Position> {
-
- private static ArchiveViewUiBinder uiBinder = GWT.create(ArchiveViewUiBinder.class);
-
- interface ArchiveViewUiBinder extends UiBinder<Widget, ArchiveView> {
- }
-
- public interface ArchiveHandler {
- public void onSelected(Position position);
- public void onLoad(Device device, Date from, Date to);
- public void onClear();
- }
-
- private ArchiveHandler archiveHandler;
-
- @UiField
- ContentPanel contentPanel;
-
- public ContentPanel getView() {
- return contentPanel;
- }
-
- ListStore<Device> deviceStore;
-
- @UiField
- DateField fromDate;
-
- @UiField
- TimeField fromTime;
-
- @UiField
- DateField toDate;
-
- @UiField
- TimeField toTime;
-
- @UiField(provided = true)
- ComboBox<Device> deviceCombo;
-
- @UiField(provided = true)
- ColumnModel<Position> columnModel;
-
- @UiField(provided = true)
- ListStore<Position> positionStore;
-
- @UiField
- Grid<Position> grid;
-
- public ArchiveView(ArchiveHandler archiveHandler, ListStore<Position> positionStore, ListStore<Device> deviceStore) {
- this.archiveHandler = archiveHandler;
- this.positionStore = positionStore;
- deviceStore.addStoreHandlers(deviceStoreHandlers);
- this.deviceStore = deviceStore;
-
- DeviceProperties deviceProperties = GWT.create(DeviceProperties.class);
- deviceCombo = new ComboBox<Device>(deviceStore, deviceProperties.label());
-
- PositionProperties positionProperties = GWT.create(PositionProperties.class);
-
- List<ColumnConfig<Position, ?>> columnConfigList = new LinkedList<ColumnConfig<Position, ?>>();
-
- columnConfigList.add(new ColumnConfig<Position, Boolean>(positionProperties.valid(), 0, "Valid"));
-
- ColumnConfig<Position, Date> columnConfigDate = new ColumnConfig<Position, Date>(positionProperties.time(), 0, "Time");
- columnConfigDate.setCell(new DateCell(ApplicationContext.getInstance().getFormatterUtil().getTimeFormat()));
- columnConfigList.add(columnConfigDate);
-
- columnConfigList.add(new ColumnConfig<Position, Double>(positionProperties.latitude(), 0, "Latitude"));
- columnConfigList.add(new ColumnConfig<Position, Double>(positionProperties.longitude(), 0, "Longitude"));
- columnConfigList.add(new ColumnConfig<Position, Double>(positionProperties.altitude(), 0, "Altitude"));
-
- ColumnConfig<Position, Double> columnConfigDouble = new ColumnConfig<Position, Double>(positionProperties.speed(), 0, "Speed");
- columnConfigDouble.setCell(new NumberCell<Double>(ApplicationContext.getInstance().getFormatterUtil().getSpeedFormat()));
- columnConfigList.add(columnConfigDouble);
-
- columnConfigList.add(new ColumnConfig<Position, Double>(positionProperties.course(), 0, "Course"));
- columnConfigList.add(new ColumnConfig<Position, Double>(positionProperties.power(), 0, "Power"));
-
- columnModel = new ColumnModel<Position>(columnConfigList);
-
- uiBinder.createAndBindUi(this);
-
- grid.getSelectionModel().addSelectionChangedHandler(this);
- grid.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
-
- // Initialize with current time
- long min = 60 * 1000;
- Date now = new Date();
- Date to = new Date(((now.getTime() + 15 * min) / (15 * min)) * 15 * min);
- Date from = new Date(to.getTime() - 60 * min);
- fromDate.setValue(from);
- fromTime.setValue(from);
- toDate.setValue(to);
- toTime.setValue(to);
- }
-
- @Override
- public void onSelectionChanged(SelectionChangedEvent<Position> event) {
- if (event.getSelection().isEmpty()) {
- archiveHandler.onSelected(null);
- } else {
- archiveHandler.onSelected(event.getSelection().get(0));
- }
- }
-
- @SuppressWarnings("deprecation")
- private static Date getCombineDate(DateField dateField, TimeField timeField) {
- Date result = null;
- Date date = dateField.getValue();
- Date time = timeField.getValue();
- if (date != null && time != null) {
- result = new Date(
- date.getYear(), date.getMonth(), date.getDate(),
- time.getHours(), time.getMinutes(), time.getSeconds());
- }
- return result;
- }
-
- @UiHandler("loadButton")
- public void onLoadClicked(SelectEvent event) {
- archiveHandler.onLoad(
- deviceCombo.getValue(),
- getCombineDate(fromDate, fromTime),
- getCombineDate(toDate, toTime));
- }
-
- @UiHandler("clearButton")
- public void onClearClicked(SelectEvent event) {
- archiveHandler.onClear();
- }
-
- private StoreHandlers<Device> deviceStoreHandlers = new BaseStoreHandlers<Device>() {
-
- @Override
- public void onAnything() {
- Device oldDevice = deviceCombo.getValue();
- if (oldDevice != null) {
- deviceCombo.setValue(deviceStore.findModel(oldDevice));
- }
- }
-
- };
-
- public void selectPosition(Position position) {
- grid.getSelectionModel().select(positionStore.findModel(position), false);
- }
-
-}