Changeset 1830


Ignore:
Timestamp:
2001-01-11T12:28:05+13:00 (23 years ago)
Author:
paynter
Message:

Improved formatting of thesaurus entries, frequenciy columns, titles.

Location:
trunk/gsdl/src/phind/client
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/src/phind/client/Phind.java

    r1827 r1830  
    481481     
    482482    // The query is finished
    483     setStatus(r.c.numberOfPhrases + " results containing \"" + phrase + "\"");
     483    setStatus(r.c.numberOfItems + " results for \"" + phrase + "\"");
    484484    mode = idleMode;
    485485    searchButton.enable();
  • trunk/gsdl/src/phind/client/ResultBox.java

    r1827 r1830  
    242242    } else {
    243243        // We haven't finished, give some feedback about progress
    244         setStatus("Connected to host, " + c.numberOfPhrases + " results read");
     244        setStatus("Connected to host, " + c.numberOfItems + " results read");
    245245    }
    246246    }
  • trunk/gsdl/src/phind/client/ResultCanvas.java

    r1827 r1830  
    6767    int lineSpacing;
    6868   
    69     // The phrases to display on this canvas
    70     int numberOfPhrases;
    71     int firstPhraseDisplayed;
    72     int phraseSelected;
    73     Vector phrases;
     69    // The items to display on this canvas
     70    int numberOfItems;
     71    int firstItemDisplayed;
     72    int itemSelected;
     73    Vector items;
    7474   
    7575    // the background image
     
    9090    lineSpacing = phind.fontSize + 2;
    9191
    92     phrases = new Vector();
    93     numberOfPhrases = 0;
    94     firstPhraseDisplayed = 0;
    95     phraseSelected = -1;
     92    items = new Vector();
     93    numberOfItems = 0;
     94    firstItemDisplayed = 0;
     95    itemSelected = -1;
    9696   
    9797    if (backgroundImage == null) {
     
    102102
    103103    void resetCanvas( ) {
    104     phrases.removeAllElements();
    105     numberOfPhrases = 0;
     104    items.removeAllElements();
     105    numberOfItems = 0;
    106106    repaint();
    107107    }
     
    117117    // This is not efficient, but I don't care right now.
    118118    int index = 0;
    119     while ((index < numberOfPhrases) &&
    120            ((item.kind > ((ResultItem) phrases.elementAt(index)).kind) ||
    121         ((item.kind == ((ResultItem) phrases.elementAt(index)).kind) &&
    122          (item.frequency <= ((ResultItem) phrases.elementAt(index)).frequency)))) {
     119    while ((index < numberOfItems) &&
     120           ((item.kind > ((ResultItem) items.elementAt(index)).kind) ||
     121        ((item.kind == ((ResultItem) items.elementAt(index)).kind) &&
     122         (item.frequency <= ((ResultItem) items.elementAt(index)).frequency)))) {
    123123        index++;
    124124    }
    125     phrases.insertElementAt(item,index);
    126     numberOfPhrases++;
     125    items.insertElementAt(item,index);
     126    numberOfItems++;
    127127    return true;
    128128    }
     
    145145    boolean found = false;
    146146    int index = 0;
    147     while (!found && (index < numberOfPhrases)) {
    148         if (((ResultItem) phrases.elementAt(index)).isMorePhrases()) {
     147    while (!found && (index < numberOfItems)) {
     148        if (((ResultItem) items.elementAt(index)).isMorePhrases()) {
    149149        found = true;
    150150        } else {
     
    156156        // there should be no marker
    157157        if (found) {
    158         phrases.removeElementAt(index);
    159         numberOfPhrases--;
     158        items.removeElementAt(index);
     159        numberOfItems--;
    160160        }
    161161
     
    177177    boolean found = false;
    178178    int index = 0;
    179     while (!found && (index < numberOfPhrases)) {
    180         if (((ResultItem) phrases.elementAt(index)).isMoreDocuments()) {
     179    while (!found && (index < numberOfItems)) {
     180        if (((ResultItem) items.elementAt(index)).isMoreDocuments()) {
    181181        found = true;
    182182        } else {
     
    188188        // there should be no marker
    189189        if (found) {
    190         phrases.removeElementAt(index);
    191         numberOfPhrases--;
     190        items.removeElementAt(index);
     191        numberOfItems--;
    192192        }
    193193
     
    212212    boolean found = false;
    213213    int index = 0;
    214     while (!found && (index < numberOfPhrases)) {
    215         if (((ResultItem) phrases.elementAt(index)).isMoreLinks()) {
     214    while (!found && (index < numberOfItems)) {
     215        if (((ResultItem) items.elementAt(index)).isMoreLinks()) {
    216216        found = true;
    217217        } else {
     
    223223        // there should be no marker
    224224        if (found) {
    225         phrases.removeElementAt(index);
    226         numberOfPhrases--;
     225        items.removeElementAt(index);
     226        numberOfItems--;
    227227        }
    228228
     
    257257    int margin = g.getFontMetrics().stringWidth(" 8888 ");
    258258
    259     int leftMargin = 0;
    260259    int secondColumn = canvasSize.width - margin;
    261260    int firstColumn = secondColumn - margin;
     261
     262    int leftMargin = 0;
    262263    int rightMargin = firstColumn;
    263264
    264     // calculate the number of values that will fit onscreen
     265    // the number of items that will fit on the canvas
    265266    int visible = canvasSize.height / lineSpacing;
    266267
    267     // get the initial scrollbar setting
    268     // and calculate the first result to output
     268    // calculate the first item to output
    269269    int scrollValue = scrollbar.getValue();
    270     if (numberOfPhrases <= visible) {
     270    if (numberOfItems <= visible) {
    271271        scrollValue = 0;
    272     } else if (scrollValue > (numberOfPhrases - visible)) {
    273         scrollValue = numberOfPhrases - visible;
     272    } else if (scrollValue > (numberOfItems - visible)) {
     273        scrollValue = numberOfItems - visible;
    274274    }
    275     firstPhraseDisplayed = scrollValue;
     275    firstItemDisplayed = scrollValue;
    276276
    277277    // Draw the phrase area
     
    295295   
    296296    // If there are no phrases, output a brief explanation.
    297     if (numberOfPhrases == 0) {
     297    if (numberOfItems == 0) {
    298298        g.drawString("No phrases match this query.", leftMargin + 10, lineSpacing);
    299299    }
     
    305305        + ((rightMargin - leftMargin
    306306        - g.getFontMetrics().stringWidth(parent.searchPhrase)) / 2);
     307    int thesColumn = leftMargin + margin
     308        + g.getFontMetrics().stringWidth("Narrower term");
    307309
    308310    String body, prefix, suffix;
    309311   
    310312    for (i = scrollValue;
    311          (i < numberOfPhrases) && (y + lineSpacing < canvasSize.height); i++) {
     313         (i < numberOfItems) && (y + lineSpacing < canvasSize.height); i++) {
    312314
    313315        // Get the resultItem to output
    314         result = (ResultItem) phrases.elementAt(i);
     316        result = (ResultItem) items.elementAt(i);
    315317       
    316318        // Graphics settings for drawing this line
     
    319321
    320322        // Highlight if the selected phrase.
    321         if (i == phraseSelected) {
     323        if (i == itemSelected) {
    322324        g.setColor(new Color(255, 220, 115));
    323325        g.fillRect(leftMargin, y-lineSpacing+2, rightMargin, lineSpacing);
     
    362364        prefix = result.prefixText() + ":";
    363365        body = result.mainText();
    364 
     366        tab = thesColumn - g.getFontMetrics().stringWidth(prefix) - space;
     367
     368        g.setColor(new Color(0, 100, 0));
    365369        g.setFont(areaPlain);
    366         g.setColor(new Color(0, 100, 0));
    367         tab = center - g.getFontMetrics().stringWidth(prefix) - space;
    368         // tab = margin + margin - g.getFontMetrics().stringWidth(prefix);
    369370        g.drawString(prefix, tab, y);
    370 
    371371        g.setFont(areaBold);
    372         g.drawString(body, center, y);
    373      
     372        g.drawString(body, thesColumn, y);
    374373        }
    375374       
     
    406405    g.setFont(areaPlain);
    407406    y = 0;
     407    String docsText, freqText;
    408408
    409409    for (i = scrollValue;
    410          (i < numberOfPhrases) && (y + lineSpacing < canvasSize.height); i++) {
     410         (i < numberOfItems) && (y + lineSpacing < canvasSize.height); i++) {
    411411       
    412412        // Get the resultItem to output
    413         result = (ResultItem) phrases.elementAt(i);
     413        result = (ResultItem) items.elementAt(i);
     414        docsText = result.docsText();
     415        freqText = result.freqText();
    414416       
    415417        // Graphics settings for drawing this line
     
    417419
    418420        // Write the document frequency
    419         if (result.docsText().length() > 0) {
    420         g.drawString(" " + result.docsText(), firstColumn, y);
     421        if (docsText.length() > 0) {
     422        tab = secondColumn - space - g.getFontMetrics().stringWidth(docsText);
     423        g.drawString(docsText, tab, y);
    421424        }
    422425
    423426        // Write the term frequency
    424         if (result.freqText().length() > 0) {
    425         g.drawString(" " + result.freqText(), secondColumn, y);
     427        if (freqText.length() > 0) {
     428        tab = secondColumn + margin - space - g.getFontMetrics().stringWidth(freqText);
     429        g.drawString(freqText, tab, y);
    426430        }
    427431    }
    428432
    429433    // Adjust the scrollbar
    430     if (visible >= numberOfPhrases) {
     434    if (visible >= numberOfItems) {
    431435        parent.disableScrollbar();
    432436    } else {
    433         scrollbar.setValues(scrollValue, visible, 0, numberOfPhrases);
     437        scrollbar.setValues(scrollValue, visible, 0, numberOfItems);
    434438        // Deprecated - setPageIncrement() has been replaced by
    435439        // setBlockIncrement(), but the latter doesn't work on some
     
    466470        // which Item is selected?
    467471        int rowSelected = event.y / lineSpacing;
    468         int itemSelected = rowSelected + firstPhraseDisplayed;
    469         ResultItem item = (ResultItem) phrases.elementAt(itemSelected);
    470 
    471         if (itemSelected <= numberOfPhrases) {
     472        int itemSelected = rowSelected + firstItemDisplayed;
     473        ResultItem item = (ResultItem) items.elementAt(itemSelected);
     474
     475        if (itemSelected <= numberOfItems) {
    472476   
    473477        //User clicks on a phrase
    474478        if (item.isPhrase()) {
    475479
    476             phraseSelected = itemSelected;
     480            itemSelected = itemSelected;
    477481            update(getGraphics());
    478482     
     
    499503        // Click on a thesaurus link
    500504        else if (item.isLink()) {
    501             phraseSelected = itemSelected;
     505            itemSelected = itemSelected;
    502506            update(getGraphics());
    503507            parent.lookupPhrase(item.hiddenText(), item.toString(), 2);
     
    506510        // The user clicks on a URL; display it.
    507511        else if (item.isDocument()) {
    508             phraseSelected = itemSelected;
     512            itemSelected = itemSelected;
    509513            update(getGraphics());
    510514
  • trunk/gsdl/src/phind/client/ResultItem.java

    r1827 r1830  
    102102    // Return the text of the item components
    103103    public String mainText() { return text; }
    104     public String freqText() { return Integer.toString(frequency); }
     104    public String freqText() {
     105    if (frequency > 0) { return Integer.toString(frequency); }
     106    else { return ""; }
     107    }
    105108    public String docsText() { return ""; }
    106109    public String prefixText() { return ""; }
  • trunk/gsdl/src/phind/client/ResultItemLink.java

    r1827 r1830  
    6868
    6969    // Return the text of the item components
    70     public String docsText() { return Integer.toString(documentFrequency); }
    7170    public String hiddenText() { return id; }
    72 
     71    public String docsText() {
     72    if (documentFrequency <= 0) { return ""; }
     73    else { return Integer.toString(documentFrequency); }
     74    }
    7375    public String prefixText() {
    7476    if (linkType.equals("RT")) { return "Related term"; }
  • trunk/gsdl/src/phind/client/ResultTitle.java

    r1827 r1830  
    143143    status = status + links + ", ";
    144144    }
    145     status = status + links + expansions + ", " + documents + ")";
     145    status = status + expansions + ", " + documents + ")";
    146146
    147147
Note: See TracChangeset for help on using the changeset viewer.