Changeset 589


Ignore:
Timestamp:
Mar 3, 2012, 10:00:12 AM (5 years ago)
Author:
mark9630@…
Message:

branches in single row prototype - ugly code warning

Location:
trunk/code/conceptwiki/web/web-gwt/src/main
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/code/conceptwiki/web/web-gwt/src/main/java/nl/nbic/conceptwiki/web/gwt/client/ui/impl/ConceptEditViewImpl.java

    r587 r589  
    2929import com.google.gwt.user.client.ui.CheckBox;
    3030import com.google.gwt.user.client.ui.Grid;
     31import com.google.gwt.user.client.ui.HorizontalPanel;
    3132import com.google.gwt.user.client.ui.ListBox;
    3233import com.google.gwt.user.client.ui.TextBox;
     
    8788    }
    8889   
    89     private void setRow(int row, boolean check, Label l, Set<Integer> branches) {
     90    private com.google.gwt.user.client.ui.Label buildLabel(int branch, boolean isPref) {
     91        final String[] branchNames = {"Mixed", "Community", "UMLS", "SwissProt", "ChemSpider"};
     92        final com.google.gwt.user.client.ui.Label l = new com.google.gwt.user.client.ui.Label();
     93        l.setText(branchNames[branch]);
     94        l.setStyleName((isPref) ? "stylePrimary" : "styleAlternative");
     95        if(branch == 1) { // allow type change for community
     96                l.addClickHandler(new ClickHandler() {
     97                        public void onClick(ClickEvent event) {
     98                                l.setStyleName( (l.getStyleName().equals("stylePrimary")) ?
     99                                                "styleAlternative" : "stylePrimary");
     100                        }
     101                });
     102        }
     103        return l;
     104    }
     105       
     106    private void setRow(int row, boolean check, Label l, Set<Integer> prefBranches) {
    90107        artaTable.setWidget(row, 0, new CheckBox());
    91 //        (new CheckBox()).
    92108        final TextBox editLabelBox = new TextBox();
    93109        editLabelBox.setText(l.getText());
     
    109125        languageSelect.addItem("Swedish", "se");
    110126        artaTable.setWidget(row, 3, languageSelect);
    111 
    112         final String[] branchNames = {"Mixed", "Community", "UMLS", "SwissProt", "ChemSpider"};
    113         Collection<String> branchStrings =
    114                         Collections2.transform(branches, new Function<Integer, String>() {
     127Log.info("prefB: " + prefBranches.size());
     128        Set<Integer> altBranches = new HashSet<Integer>();
     129        Label altLabel = new LabelImpl(LabelType.ALTERNATIVE, l.getText(), new LanguageImpl("en"));
     130        if(labels.containsKey(altLabel)) {
     131                Log.info("This label also exists as alternative in other branches: " + l.getText());
     132                altBranches = labels.get(altLabel);
     133        }
     134        if(! prefBranches.contains(new Integer(1)) /*|| !l.getText().isEmpty() */) { // label is implicitly alternative in community
     135                Log.info("Not explicit community preferred, or just added empty label: " + l.getText());
     136                altBranches.add(new Integer(1));
     137        }
     138Log.info("altB: " + altBranches.size());
     139     
     140        Collection<com.google.gwt.user.client.ui.Label> prefBranchLabels =
     141                        Collections2.transform(prefBranches, new Function<Integer,com.google.gwt.user.client.ui.Label>() {
    115142                                @Override
    116                                 public String apply(final Integer input) {
    117                                         return branchNames[input.intValue()];
     143                                public com.google.gwt.user.client.ui.Label apply(final Integer input) {
     144                                        return buildLabel(input.intValue(), true);
    118145                                }
    119146                        });
    120         artaTable.setText(row, 4, Joiner.on(", ").join(branchStrings));
     147        Collection<com.google.gwt.user.client.ui.Label> altBranchLabels =
     148                        Collections2.transform(altBranches, new Function<Integer,com.google.gwt.user.client.ui.Label>() {
     149                                @Override
     150                                public com.google.gwt.user.client.ui.Label apply(final Integer input) {
     151                                        return buildLabel(input.intValue(), false);
     152                                }
     153                        });
     154        Log.info("altB: " + altBranchLabels.size());
     155        Log.info("prefB: " + prefBranchLabels.size());
     156     
     157        //prefBranchLabels.addAll(altBranchLabels); // put all labels in the artaTable
     158        HorizontalPanel branchPanel = new HorizontalPanel();
     159        artaTable.setWidget(row, 4, branchPanel);
     160        for(Object labelWidget: prefBranchLabels.toArray()) {
     161                Log.info("put pref");
     162                branchPanel.add((com.google.gwt.user.client.ui.Label) labelWidget);
     163        }
     164        for(Object labelWidget: altBranchLabels.toArray()) {
     165                branchPanel.add((com.google.gwt.user.client.ui.Label) labelWidget);
     166                Log.info("put alt");
     167
     168        }
    121169    }
    122170   
     
    152200        artaTable.setWidth("60%");
    153201        artaTable.setBorderWidth(0);
    154         artaTable.resize(labels.size() + 2, 5);  // +2 for header and delete/add buttons
     202        artaTable.resize(2, 5);  // +2 for header and delete/add buttons
    155203
    156204        String[] headers = {"", "Token", "Token type", "Language", "Authority"};
     
    161209        int row = 1;
    162210        for (Label label: labels.keySet()) {
    163                 setRow(row, false, label, labels.get(label));
    164                 colorRows();
    165                 row++;
     211                if(label.getType().equals(LabelType.PREFERRED)) {
     212                        insertRow(row, false, label, labels.get(label));
     213                        row++;
     214                }
    166215        }
    167216
  • trunk/code/conceptwiki/web/web-gwt/src/main/resources/nl/nbic/conceptwiki/web/gwt/client/ui/General.ui.xml

    r408 r589  
    22<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
    33                xmlns:g="urn:import:com.google.gwt.user.client.ui">
    4 
     4        <ui:style>
     5                div.stylePrimary { font-weight: bold; }
     6                div.styleAlternative { font-weight: normal; }
     7        </ui:style>
    58        <g:DockLayoutPanel unit="PX">
    69                <g:north size="80">
  • trunk/code/conceptwiki/web/web-gwt/src/main/resources/nl/nbic/conceptwiki/web/gwt/client/ui/impl/conceptwiki.css

    r587 r589  
    44tr.light { background-color: lightgrey; }
    55tr.header { font-size: large; }
     6div.stylePrimary { font-weight: bold; margin-left: 1ex; margin-right: 1ex; }
     7                div.styleAlternative { font-weight: normal; margin-left: 1ex; margin-right: 1ex;}
Note: See TracChangeset for help on using the changeset viewer.