155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project/*
255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * Copyright (C) 2008 The Android Open Source Project
355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project *
455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * you may not use this file except in compliance with the License.
655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * You may obtain a copy of the License at
755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project *
855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project *
1055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software
1155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
1255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * See the License for the specific language governing permissions and
1455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * limitations under the License.
1555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project */
1655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
1755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectpackage com.android.ddmuilib.location;
1855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
1955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectimport org.eclipse.jface.viewers.ILabelProviderListener;
2055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectimport org.eclipse.jface.viewers.ITableLabelProvider;
2155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectimport org.eclipse.swt.graphics.Image;
2255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectimport org.eclipse.swt.widgets.Table;
2355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
2455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project/**
2555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project * Label Provider for {@link Table} objects displaying {@link WayPoint} objects.
2655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project */
2755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectpublic class WayPointLabelProvider implements ITableLabelProvider {
2855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
29ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
3055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public Image getColumnImage(Object element, int columnIndex) {
3155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return null;
3255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
3355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
34ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
3555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public String getColumnText(Object element, int columnIndex) {
3655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        if (element instanceof WayPoint) {
3755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            WayPoint wayPoint = (WayPoint)element;
3855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            switch (columnIndex) {
3955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project                case 0:
4055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project                    return wayPoint.getName();
4155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project                case 1:
4255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project                    return String.format("%.6f", wayPoint.getLongitude());
4355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project                case 2:
4455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project                    return String.format("%.6f", wayPoint.getLatitude());
4555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project                case 3:
4655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project                    if (wayPoint.hasElevation()) {
4755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project                        return String.format("%.1f", wayPoint.getElevation());
4855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project                    } else {
4955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project                        return "-";
5055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project                    }
5155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project                case 4:
5255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project                    return wayPoint.getDescription();
5355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project            }
5455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        }
5555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
5655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return null;
5755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
5855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
59ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
6055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public void addListener(ILabelProviderListener listener) {
6155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        // pass
6255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
6355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
64ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
6555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public void dispose() {
6655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        // pass
6755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
6855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
69ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
7055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public boolean isLabelProperty(Object element, String property) {
7155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        // pass
7255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        return false;
7355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
7455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project
75ab36f4e7488358dea4ab6b54ee2b7bef3da0232bTor Norbye    @Override
7655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    public void removeListener(ILabelProviderListener listener) {
7755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project        // pass
7855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project    }
7955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project}
80