Changeset 589

Show
Ignore:
Timestamp:
03-03-12 10:00:12 (2 years ago)
Author:
mark9630@…
Message:

branches in single row prototype - ugly code warning

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

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;}