Changeset 450

Show
Ignore:
Timestamp:
08/13/08 11:41:16 (5 years ago)
Author:
goldfd
Message:

SampleListEx?- Now displays a check or an X for public data.

Deleting a sample, subsample, or chemical analysis will redirect you to a page up in the heirarchy (chemical analysis -> subsample, subsample -> sample, sample -> all my samples).

Added a message for no samples returning from the All My Samples page, and a message for no projects from the projects page.

SubsampleDetails? now displays the image viewer class.

Location:
trunk
Files:
2 added
13 modified

Legend:

Unmodified
Added
Removed
  • trunk/mpdb-client/src/edu/rpi/metpetdb/client/ui/TokenSpace.java

    r426 r450  
    130130 
    131131                public void execute(final long id) { 
    132                         show(new ImageListViewer(id)); 
     132                        show(new ImageListViewer(id, true)); 
    133133                } 
    134134        }; 
  • trunk/mpdb-client/src/edu/rpi/metpetdb/client/ui/image/browser/ImageListViewer.java

    r341 r450  
    22 
    33import java.util.ArrayList; 
     4import java.util.Collection; 
    45import java.util.HashSet; 
    56import java.util.Iterator; 
     
    78import com.google.gwt.user.client.History; 
    89import com.google.gwt.user.client.ui.Button; 
     10import com.google.gwt.user.client.ui.ChangeListener; 
    911import com.google.gwt.user.client.ui.ClickListener; 
    1012import com.google.gwt.user.client.ui.FlexTable; 
     
    1416import com.google.gwt.user.client.ui.Image; 
    1517import com.google.gwt.user.client.ui.Label; 
     18import com.google.gwt.user.client.ui.ListBox; 
    1619import com.google.gwt.user.client.ui.Widget; 
    17 import com.google.gwt.widgetideas.table.client.FixedWidthFlexTable; 
    1820 
    1921import edu.rpi.metpetdb.client.model.ImageDTO; 
     22import edu.rpi.metpetdb.client.model.SubsampleDTO; 
    2023import edu.rpi.metpetdb.client.ui.MpDb; 
    2124import edu.rpi.metpetdb.client.ui.ServerOp; 
     
    2730public class ImageListViewer extends FlowPanel implements ClickListener { 
    2831        private ArrayList images; 
    29  
    30         public ImageListViewer(final long subsampleId) { 
     32        private final long id; 
     33        private FlowPanel fp; 
     34        private ListBox lb; 
     35        private Label imagesLabel; 
     36        private FlexTable noImagesContainer = new FlexTable(); 
     37 
     38        public ImageListViewer(final long subsampleId, final boolean isScreen) { 
     39                this(subsampleId, isScreen, null); 
     40        } 
     41 
     42        public ImageListViewer(final long subsampleId, final String type) { 
     43                this(subsampleId, true, type); 
     44        } 
     45 
     46        private ImageListViewer(final long subsampleId, final boolean isScreen, 
     47                        final String type) { 
     48                id = subsampleId; 
     49                fp = new FlowPanel(); 
    3150                new ServerOp() { 
    3251                        public void begin() { 
    33                                 MpDb.image_svc.allImages(subsampleId, this); 
     52                                MpDb.image_svc.allImages(id, this); 
    3453                        } 
    3554                        public void onSuccess(final Object result) { 
     
    3958                                        images = (ArrayList) ((ArrayList) result).clone(); 
    4059                                        if (images == null || images.size() <= 0) { 
    41                                                 add(new Label("No Image")); 
     60                                                add(new Label( 
     61                                                                "There are no images associated with this subsample")); 
    4262                                        } else { 
    4363                                                ((ImageDTO) images.get(0)).getSubsample().setImages( 
    4464                                                                new HashSet(images)); 
    45                                                 buildInterface(); 
     65                                                buildInterface(isScreen, type); 
    4666                                        } 
    4767                                } 
     
    5171        } 
    5272 
    53         private void buildInterface() { 
    54  
    55                 final FlexTable header2 = new FlexTable(); 
    56                 final Label title = new Label(((ImageDTO) images.get(0)).getSubsample() 
    57                                 .getName() 
    58                                 + " Images"); 
    59                 final Label title2 = new Label("Images attached to"); 
    60                 final MLink subsampleLink = new MLink(((ImageDTO) images.get(0)) 
    61                                 .getSubsample().getName(), TokenSpace 
    62                                 .detailsOf(((ImageDTO) images.get(0)).getSubsample())); 
    63                 final Button addImage = new Button("Add Image", new ClickListener() { 
    64                         public void onClick(Widget sender) { 
    65                                 History.newItem(TokenSpace.edit(((ImageDTO) images.get(0)) 
    66                                                 .getSubsample())); 
    67                         } 
    68                 }); 
    69                 title.addStyleName("big"); 
    70                 header2.setWidget(0, 0, title); 
    71                 header2.setWidget(1, 0, title2); 
    72                 header2.setWidget(1, 1, subsampleLink); 
    73                 header2.setWidget(0, 1, addImage); 
    74                 header2.getFlexCellFormatter().setColSpan(0, 1, 2); 
    75                 header2.getFlexCellFormatter().setRowSpan(0, 1, 2); 
    76                 header2.getFlexCellFormatter().setAlignment(0, 1, 
    77                                 HasHorizontalAlignment.ALIGN_RIGHT, 
    78                                 HasVerticalAlignment.ALIGN_MIDDLE); 
    79                 header2.getFlexCellFormatter().setColSpan(0, 0, 2); 
    80                 header2.getFlexCellFormatter().setWidth(1, 0, "130px"); 
    81                 header2.addStyleName("subsample-header"); 
    82                 addImage.addStyleName("addlink"); 
     73        private void buildInterface(final boolean isScreen, final String type) { 
     74                if (isScreen) { 
     75                        final FlexTable header2 = new FlexTable(); 
     76                        final Label title = new Label(((ImageDTO) images.get(0)) 
     77                                        .getSubsample().getName() 
     78                                        + " Images"); 
     79                        final Label title2 = new Label("Images attached to"); 
     80                        final MLink subsampleLink = new MLink(((ImageDTO) images.get(0)) 
     81                                        .getSubsample().getName(), TokenSpace 
     82                                        .detailsOf(((ImageDTO) images.get(0)).getSubsample())); 
     83                        final Button addImage = new Button("Add Image", 
     84                                        new ClickListener() { 
     85                                                public void onClick(Widget sender) { 
     86                                                        History.newItem(TokenSpace.edit(((ImageDTO) images 
     87                                                                        .get(0)).getSubsample())); 
     88                                                } 
     89                                        }); 
     90                        title.addStyleName("big"); 
     91                        header2.setWidget(0, 0, title); 
     92                        header2.setWidget(1, 0, title2); 
     93                        header2.setWidget(1, 1, subsampleLink); 
     94                        header2.setWidget(0, 1, addImage); 
     95                        header2.getFlexCellFormatter().setColSpan(0, 1, 2); 
     96                        header2.getFlexCellFormatter().setRowSpan(0, 1, 2); 
     97                        header2.getFlexCellFormatter().setAlignment(0, 1, 
     98                                        HasHorizontalAlignment.ALIGN_RIGHT, 
     99                                        HasVerticalAlignment.ALIGN_MIDDLE); 
     100                        header2.getFlexCellFormatter().setColSpan(0, 0, 2); 
     101                        header2.getFlexCellFormatter().setWidth(1, 0, "130px"); 
     102                        header2.addStyleName("subsample-header"); 
     103                        addImage.addStyleName("addlink"); 
     104                        add(header2); 
     105                        if (type == null) 
     106                                createListBox(MpDb.doc.Image_imageType.getValues(), null); 
     107                        else 
     108                                createListBox(MpDb.doc.Image_imageType.getValues(), type); 
     109                } 
     110 
    83111                final FlexTable header = new FlexTable(); 
    84  
    85                 final FixedWidthFlexTable ft = new FixedWidthFlexTable(); 
    86                 final Label imagesLabel = new Label("Images"); 
     112                imagesLabel = new Label(); 
    87113                imagesLabel.addStyleName("bold"); 
    88114                header.setWidget(1, 0, imagesLabel); 
    89115                header.getFlexCellFormatter().setHeight(1, 0, "38px"); 
    90116                header.setWidth("100%"); 
    91                 ft.setWidth("100%"); 
    92                 ft.addStyleName("subsample-imagetypes"); 
    93                 ft.setCellSpacing(10); 
    94117                header.getRowFormatter().setStyleName(1, "mpdb-dataTableLightBlue"); 
    95                 int row = 0; 
    96                 ft.setHeight("500px"); 
    97                 for (int i = 0; i < 5; i++) { 
    98                         ft.insertRow(i); 
    99                         ft.getFlexCellFormatter().setHeight(i, 0, "90px"); 
    100                 } 
    101                 for (int i = 0; i < 3; i++) 
    102                         ft.addCell(0); 
    103                 final Iterator itr = images.iterator(); 
     118 
     119                add(header); 
     120 
     121                loadimages(isScreen, type); 
     122        } 
     123 
     124        private void createListBox(final Collection<?> items, final String selected) { 
     125                lb = new ListBox(); 
     126 
     127                lb.setVisibleItemCount(1); 
     128 
     129                final Iterator<?> itr = items.iterator(); 
     130                lb.addItem("All"); 
     131                int index = 1; 
    104132                while (itr.hasNext()) { 
    105                         for (int i = 0; i < 4; i++) { 
    106                                 if (itr.hasNext()) { 
    107                                         final FlexTable cell = new FlexTable(); 
    108                                         final ImageDTO currentImage = (ImageDTO) itr.next(); 
    109                                         final Image image = new Image(); 
    110                                         image.setUrl(currentImage.get64x64ServerPath()); 
    111                                         final Image bigImage = new Image(); 
    112                                         bigImage.setUrl(currentImage.getServerPath()); 
    113                                         final int index = (row * 4) + i; 
    114                                         final ImageHyperlink imageLink = new ImageHyperlink(image, 
    115                                                         new ClickListener() { 
    116                                                                 public void onClick(final Widget sender) { 
    117                                                                         new ViewImage(images, bigImage, index) 
    118                                                                                         .show(); 
    119                                                                 } 
    120                                                         }); 
    121                                         // final MLink imageLink = new MLink("hi", 
    122                                         // new ClickListener() { 
    123                                         // public void onClick(final Widget sender) { 
    124                                         // new ViewImage(images, bigImage).show(); 
    125                                         // } 
    126                                         // }); 
    127                                         // imageLink.setStyleName("ssimg"); 
    128                                         cell.setWidget(0, 0, imageLink); 
    129                                         cell.getFlexCellFormatter().setRowSpan(0, 0, 2); 
    130                                         final Label imageTitle = new Label( 
    131                                                         parseFilename(currentImage.getFilename())); 
    132                                         final Label imageType = new Label(currentImage 
    133                                                         .getImageType()); 
    134                                         imageTitle.addStyleName("bold"); 
    135                                         imageTitle.addStyleName("white"); 
    136                                         imageType.addStyleName("white"); 
    137                                         cell.setWidget(0, 1, imageTitle); 
    138                                         cell.setWidget(1, 0, imageType); 
    139                                         cell.setCellSpacing(5); 
    140                                         cell.getFlexCellFormatter().setAlignment(0, 0, 
    141                                                         HasHorizontalAlignment.ALIGN_CENTER, 
    142                                                         HasVerticalAlignment.ALIGN_MIDDLE); 
    143                                         ft.setWidget(row, i, cell); 
     133                        final Object o = itr.next(); 
     134                        lb.addItem(o.toString()); 
     135                        if (selected != null && o.equals(selected)) { 
     136                                lb.setItemSelected(index, true); 
     137                        } 
     138                        ++index; 
     139                } 
     140 
     141                lb.setItemSelected(lb.getSelectedIndex(), true); 
     142 
     143                lb.addChangeListener(new ChangeListener() { 
     144                        public void onChange(final Widget w) { 
     145                                loadimages(true, lb.getValue(lb.getSelectedIndex())); 
     146                        } 
     147                }); 
     148 
     149                add(lb); 
     150        } 
     151 
     152        private void loadimages(final boolean isScreen, final String type) { 
     153                if (noImagesContainer.isAttached()) 
     154                        remove(noImagesContainer); 
     155                fp.clear(); 
     156                fp.addStyleName("subsample-imagetypes"); 
     157                final ArrayList imagesToDisplay = new ArrayList(); 
     158                imagesLabel.setText("Images"); 
     159                if (type != null && !type.equals("All")) { 
     160                        imagesLabel.setText(type); 
     161                        for (int i = 0; i < images.size(); i++) { 
     162                                if (((ImageDTO) images.get(i)).getImageType().equals(type)) { 
     163                                        imagesToDisplay.add(images.get(i)); 
    144164                                } 
    145165                        } 
    146                         ++row; 
    147                 } 
    148                 add(header2); 
    149                 add(header); 
    150                 add(ft); 
     166                } else { 
     167                        imagesToDisplay.addAll(images); 
     168                } 
     169 
     170                final Iterator itr = imagesToDisplay.iterator(); 
     171                int i = 0; 
     172                while (itr.hasNext()) { 
     173                        final FlexTable cell = new FlexTable(); 
     174                        cell.setStyleName("inline"); 
     175                        final ImageDTO currentImage = (ImageDTO) itr.next(); 
     176                        final Image image = new Image(); 
     177                        image.setUrl(currentImage.get64x64ServerPath()); 
     178                        final Image bigImage = new Image(); 
     179                        bigImage.setUrl(currentImage.getServerPath()); 
     180                        final int index = i; 
     181                        final ImageHyperlink imageLink; 
     182                        if (isScreen) { 
     183                                imageLink = new ImageHyperlink(image, new ClickListener() { 
     184                                        public void onClick(final Widget sender) { 
     185                                                new ViewImage(imagesToDisplay, bigImage, index).show(); 
     186                                        } 
     187                                }); 
     188                        } else { 
     189                                imageLink = new ImageHyperlink(image, new ClickListener() { 
     190                                        public void onClick(final Widget sender) { 
     191                                                new ServerOp<SubsampleDTO>() { 
     192                                                        public void begin() { 
     193                                                                MpDb.subsample_svc.details(id, this); 
     194                                                        } 
     195                                                        public void onSuccess(final SubsampleDTO s) { 
     196                                                                History.newItem(TokenSpace.ViewOf(s)); 
     197                                                        } 
     198                                                }.begin(); 
     199                                        } 
     200                                }); 
     201                        } 
     202                        cell.setWidget(0, 0, imageLink); 
     203                        cell.getFlexCellFormatter().setRowSpan(0, 0, 2); 
     204                        final Label imageTitle = new Label(parseFilename(currentImage 
     205                                        .getFilename())); 
     206                        final Label imageType = new Label(currentImage.getImageType()); 
     207                        imageTitle.addStyleName("bold"); 
     208                        imageTitle.addStyleName("white"); 
     209                        imageType.addStyleName("white"); 
     210                        cell.setWidget(0, 1, imageTitle); 
     211                        cell.setWidget(1, 0, imageType); 
     212                        cell.setCellSpacing(5); 
     213                        cell.getFlexCellFormatter().setAlignment(0, 0, 
     214                                        HasHorizontalAlignment.ALIGN_CENTER, 
     215                                        HasVerticalAlignment.ALIGN_MIDDLE); 
     216                        fp.add(cell); 
     217                        i++; 
     218                } 
     219                if (imagesToDisplay.size() == 0) { 
     220                        noImagesContainer.setWidth("100%"); 
     221                        noImagesContainer 
     222                                        .setWidget( 
     223                                                        0, 
     224                                                        0, 
     225                                                        new Label( 
     226                                                                        "There are no images of this type associated with this subsample")); 
     227                        noImagesContainer.getFlexCellFormatter().setAlignment(0, 0, 
     228                                        HasHorizontalAlignment.ALIGN_CENTER, 
     229                                        HasVerticalAlignment.ALIGN_MIDDLE); 
     230                        add(noImagesContainer); 
     231                } 
     232                add(fp); 
    151233        } 
    152234 
  • trunk/mpdb-client/src/edu/rpi/metpetdb/client/ui/input/ObjectEditorPanel.java

    r362 r450  
    122122                        } 
    123123                        public void onFailure(final Throwable e) { 
    124                                 if (!onFailure2(e)) 
    125                                         super.onFailure(e); 
     124                                super.onFailure(e); 
    126125                        } 
    127126                }.begin(); 
     
    196195                Window.alert("deleted"); 
    197196        } 
    198         protected boolean onFailure2(final Throwable e) { 
    199                 return false; 
    200         } 
    201197} 
  • trunk/mpdb-client/src/edu/rpi/metpetdb/client/ui/objects/details/ChemicalAnalysisDetails.java

    r429 r450  
    11package edu.rpi.metpetdb.client.ui.objects.details; 
    22 
     3import com.google.gwt.user.client.History; 
    34import com.google.gwt.user.client.rpc.AsyncCallback; 
    45import com.google.gwt.user.client.ui.FlowPanel; 
     
    4748 
    4849        private long chemicalAnalysisId; 
     50        private SubsampleDTO subsampleObj; 
    4951 
    5052        public ChemicalAnalysisDetails() { 
     
    6466 
    6567                        protected void deleteBean(final AsyncCallback ac) { 
     68                                subsampleObj = ((ChemicalAnalysisDTO) getBean()).getSubsample(); 
    6669                                MpDb.chemicalAnalysis_svc.delete( 
    6770                                                ((ChemicalAnalysisDTO) getBean()).getId(), ac); 
     
    7982 
    8083                        protected void onSaveCompletion(final MObjectDTO result) { 
    81                                 TokenSpace.dispatch(TokenSpace 
    82                                                 .detailsOf((ChemicalAnalysisDTO) result)); 
     84                                if (History.getToken().equals( 
     85                                                TokenSpace.detailsOf((ChemicalAnalysisDTO) result))) { 
     86                                        TokenSpace.dispatch(TokenSpace 
     87                                                        .detailsOf((ChemicalAnalysisDTO) result)); 
     88                                } else { 
     89                                        History.newItem(TokenSpace 
     90                                                        .detailsOf((ChemicalAnalysisDTO) result)); 
     91                                } 
    8392                        } 
    8493 
    8594                        protected void onLoadCompletion(final MObjectDTO result) { 
    8695                                super.onLoadCompletion(result); 
     96                        } 
     97 
     98                        protected void onDeleteCompletion(final Object result) { 
     99                                History.newItem(TokenSpace.detailsOf((subsampleObj))); 
    87100                        } 
    88101                }; 
  • trunk/mpdb-client/src/edu/rpi/metpetdb/client/ui/objects/details/SampleDetails.java

    r429 r450  
    108108 
    109109                        protected void onSaveCompletion(final MObjectDTO result) { 
    110                                 TokenSpace.dispatch(TokenSpace.detailsOf((SampleDTO) result)); 
     110                                if (History.getToken().equals( 
     111                                                TokenSpace.detailsOf((SampleDTO) result))) { 
     112                                        TokenSpace.dispatch(TokenSpace 
     113                                                        .detailsOf((SampleDTO) result)); 
     114                                } else { 
     115                                        History.newItem(TokenSpace.detailsOf((SampleDTO) result)); 
     116                                } 
    111117                        } 
    112118 
     
    121127                                updateGoogleMaps(); 
    122128                        } 
     129 
     130                        protected void onDeleteCompletion(final Object result) { 
     131                                History.newItem(TokenSpace.samplesForUser.makeToken(null)); 
     132                        } 
    123133                }; 
    124134                final OnEnterPanel.ObjectEditor oep = new OnEnterPanel.ObjectEditor( 
     
    127137                oep.setStylePrimaryName("sd-details"); 
    128138                oep.addStyleName("mpdb-dataTable"); 
     139                oep.addStyleName("inline"); 
    129140                add(oep); 
    130141        } 
  • trunk/mpdb-client/src/edu/rpi/metpetdb/client/ui/objects/details/SubsampleDetails.java

    r429 r450  
    1010import com.google.gwt.user.client.ui.HasHorizontalAlignment; 
    1111import com.google.gwt.user.client.ui.HasVerticalAlignment; 
     12import com.google.gwt.user.client.ui.HorizontalPanel; 
    1213import com.google.gwt.user.client.ui.Label; 
    1314import com.google.gwt.user.client.ui.Widget; 
     
    2526import edu.rpi.metpetdb.client.ui.Styles; 
    2627import edu.rpi.metpetdb.client.ui.TokenSpace; 
     28import edu.rpi.metpetdb.client.ui.image.browser.ImageListViewer; 
    2729import edu.rpi.metpetdb.client.ui.input.ObjectEditorPanel; 
    2830import edu.rpi.metpetdb.client.ui.input.OnEnterPanel; 
     
    3840public class SubsampleDetails extends FlowPanel { 
    3941        private FlexTable ft; 
     42        private HorizontalPanel hp; 
    4043        private MLinkandText Header; 
    4144        final Element sampleHeader; 
     
    5558        private long subsampleId; 
    5659        private long sampleId; 
     60        private SampleDTO sampleObj; 
    5761        private ServerOp continuation; 
    5862        private String sampleAlias; 
    5963        private MLink map; 
     64        private Widget images; 
    6065 
    6166        public SubsampleDetails() { 
     
    7580 
    7681                        protected void deleteBean(final AsyncCallback<Object> ac) { 
     82                                sampleObj = ((SubsampleDTO) getBean()).getSample(); 
    7783                                MpDb.subsample_svc.delete(((SubsampleDTO) getBean()).getId(), 
    7884                                                ac); 
     
    9197                                if (continuation != null) { 
    9298                                        continuation.onSuccess(result); 
    93                                 } else 
    94                                         TokenSpace.dispatch(TokenSpace 
    95                                                         .detailsOf((SubsampleDTO) result)); 
    96                                 // History 
    97                                 // .newItem(TokenSpace 
    98                                 // .detailsOf((SubsampleDTO) result)); 
     99                                } else { 
     100                                        if (History.getToken().equals( 
     101                                                        TokenSpace.detailsOf((SubsampleDTO) result))) { 
     102                                                TokenSpace.dispatch(TokenSpace 
     103                                                                .detailsOf((SubsampleDTO) result)); 
     104                                        } else { 
     105                                                History.newItem(TokenSpace 
     106                                                                .detailsOf((SubsampleDTO) result)); 
     107                                        } 
     108                                } 
     109 
    99110                        } 
    100111 
     
    114125                                DOM.setInnerText(sampleHeader, "Subsample " + s.getName()); 
    115126                                sampleId = s.getSample().getId(); 
     127                                this.getWidget(7).setVisible(false); 
     128                        } 
     129                        protected void onDeleteCompletion(final Object result) { 
     130                                History.newItem(TokenSpace.detailsOf((sampleObj))); 
    116131                        } 
    117132                }; 
     
    122137                final OnEnterPanel.ObjectEditor oep = new OnEnterPanel.ObjectEditor( 
    123138                                p_subsample); 
     139                hp = new HorizontalPanel(); 
     140                hp.setWidth("100%"); 
    124141                ft = new FlexTable(); 
     142                ft.setWidth("95%"); 
    125143                Label details_label = new Label("Attributes"); 
    126144                details_label.addStyleName("bold"); 
     
    135153                                HasHorizontalAlignment.ALIGN_RIGHT, 
    136154                                HasVerticalAlignment.ALIGN_MIDDLE); 
    137                 ft.setWidth("40%"); 
    138155                ft.getFlexCellFormatter().setHeight(0, 0, "35px"); 
    139156                ft.getFlexCellFormatter().setWidth(0, 1, "100px"); 
     
    142159                                HasVerticalAlignment.ALIGN_MIDDLE); 
    143160                ft.getRowFormatter().setStyleName(0, "mpdb-dataTableLightBlue"); 
    144  
    145                 add(ft); 
     161                hp.add(ft); 
     162                add(hp); 
    146163        } 
    147164 
     
    193210                subsampleId = id; 
    194211                p_subsample.load(); 
     212                images = new ImageListViewer(subsampleId, false); 
     213                hp.add(images); 
    195214                showChemicalAnalysis(); 
    196215                return this; 
     
    215234                                        MpDb.subsample_svc.details(s != null && !s.mIsNew() ? s 
    216235                                                        .getId() : subsampleId, this); 
     236 
    217237                                } else { 
    218238                                        onFailure(new LoginRequiredException()); 
  • trunk/mpdb-client/src/edu/rpi/metpetdb/client/ui/objects/list/ProjectListEx.java

    r361 r450  
    2727        public ProjectListEx() { 
    2828                super(new ArrayList<Column>(Arrays.asList(columns))); 
     29        } 
     30 
     31        public ProjectListEx(final String noResultsMessage) { 
     32                super(new ArrayList<Column>(Arrays.asList(columns)), noResultsMessage); 
    2933        } 
    3034 
  • trunk/mpdb-client/src/edu/rpi/metpetdb/client/ui/objects/list/SampleListEx.java

    r417 r450  
    77 
    88import com.google.gwt.user.client.rpc.AsyncCallback; 
     9import com.google.gwt.user.client.ui.Image; 
    910 
    1011import edu.rpi.metpetdb.client.locale.LocaleEntity; 
     
    9293                        }, 
    9394                        new Column(enttxt.Sample_rockType(), SampleProperty.rockType), 
    94                         new Column(enttxt.Sample_publicData(), SampleProperty.publicData), 
     95                        new Column(enttxt.Sample_publicData(), SampleProperty.publicData, 
     96                                        true) { 
     97                                protected Object getWidget(final MObjectDTO data, 
     98                                                final int currentRow) { 
     99                                        if ((Boolean) data.mGet(SampleProperty.publicData)) { 
     100                                                return new Image("images/checkmark.jpg"); 
     101                                        } 
     102                                        return new Image("images/xmark.jpg"); 
     103                                } 
     104                        }, 
    95105                        new Column("Location", SampleProperty.location, true) { 
    96106                                protected Object getText(final MObjectDTO data, 
  • trunk/mpdb-client/src/edu/rpi/metpetdb/client/ui/objects/list/UserProjectsListEx.java

    r426 r450  
    1818import com.google.gwt.widgetideas.table.client.FixedWidthFlexTable; 
    1919 
     20import edu.rpi.metpetdb.client.locale.LocaleHandler; 
    2021import edu.rpi.metpetdb.client.model.ProjectDTO; 
    2122import edu.rpi.metpetdb.client.paging.PaginationParameters; 
     
    124125 
    125126        private void addProjects() { 
    126                 list = new ProjectListEx() { 
     127                list = new ProjectListEx(LocaleHandler.lc_text.noProjectsFound()) { 
    127128                        public void update(final PaginationParameters p, 
    128129                                        final AsyncCallback<Results<ProjectDTO>> ac) { 
  • trunk/mpdb-client/src/edu/rpi/metpetdb/client/ui/objects/list/UserSamplesList.java

    r426 r450  
    148148 
    149149        private void addSamples() { 
    150                 list = new SampleListEx() { 
     150                list = new SampleListEx(LocaleHandler.lc_text.noSamplesFound()) { 
    151151                        public void update(final PaginationParameters p, 
    152152                                        final AsyncCallback<Results<SampleDTO>> ac) { 
  • trunk/mpdb-common/src/edu/rpi/metpetdb/client/locale/LocaleText.java

    r441 r450  
    3333        String addSampleDescription(); 
    3434        String publicDataWarning(); 
     35        String noSamplesFound(); 
    3536 
    3637        /* Subsamples */ 
     
    4748        String addProject(); 
    4849        String addProjectDescription(); 
     50        String noProjectsFound(); 
    4951 
    5052        /* Comments */ 
  • trunk/mpdb-common/src/edu/rpi/metpetdb/client/locale/LocaleText.properties

    r441 r450  
    3636addSampleDescription = Use the form below to enter a sample into MetPetDB. 
    3737publicDataWarning = Public samples cannot be modified. Be sure this what you want. 
     38noSamplesFound = No samples were found. 
    3839 
    3940# Subsamples  
     
    5051addProject = New Project 
    5152addProjectDescription = Enter the name of your new project below. 
     53noProjectsFound = You are not associated with any projects. 
    5254 
    5355# Comments 
  • trunk/mpdb-common/src/edu/rpi/metpetdb/public/style/elements.css

    r412 r450  
    267267        background-color: #FF3300;       
    268268} 
    269