//# 0 errors, 78 messages
//#
/*
    //#SearchBar.java:1:1: class: com.dmdirc.ui.interfaces.SearchBar$Direction
    //#SearchBar.java:1:1: class: com.dmdirc.ui.interfaces.SearchBar
    //#SearchBar.java:1:1: method: com.dmdirc.ui.interfaces.SearchBar.com.dmdirc.ui.interfaces.SearchBar__static_init
 * Copyright (c) 2006-2009 Chris Smith, Shane Mc Cormack, Gregory Holmes
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

package com.dmdirc.ui.interfaces;

/**
 * Search bar interface.
 */
public interface SearchBar {

    /** Direction used for searching. */
    public enum Direction {
    //#SearchBar.java:31: method: SearchBar$Direction[] com.dmdirc.ui.interfaces.SearchBar$Direction.values()
    //#input(SearchBar$Direction[] values()): $VALUES
    //#input(SearchBar$Direction[] values()): $VALUES.length
    //#input(SearchBar$Direction[] values()): $VALUES[0..2]
    //#output(SearchBar$Direction[] values()): new SearchBar$Direction[](values#1) num objects
    //#output(SearchBar$Direction[] values()): return_value.length
    //#output(SearchBar$Direction[] values()): return_value[0..2]
    //#output(SearchBar$Direction[] values()): return_value
    //#new obj(SearchBar$Direction[] values()): new SearchBar$Direction[](values#1)
    //#pre[1] (SearchBar$Direction[] values()): (soft) init'ed($VALUES[0..2])
    //#post(SearchBar$Direction[] values()): return_value == &new SearchBar$Direction[](values#1)
    //#post(SearchBar$Direction[] values()): new SearchBar$Direction[](values#1) num objects == 1
    //#post(SearchBar$Direction[] values()): return_value.length == 2
    //#post(SearchBar$Direction[] values()): return_value[0..2] == One-of{$VALUES[0..2], undefined}
    //#SearchBar.java:31: end of method: SearchBar$Direction[] com.dmdirc.ui.interfaces.SearchBar$Direction.values()
    //#SearchBar.java:31: method: SearchBar$Direction com.dmdirc.ui.interfaces.SearchBar$Direction.valueOf(String)
    //#input(SearchBar$Direction valueOf(String)): __Descendant_Table[com/dmdirc/ui/interfaces/SearchBar$Direction]
    //#input(SearchBar$Direction valueOf(String)): __Descendant_Table[others]
    //#input(SearchBar$Direction valueOf(String)): name
    //#output(SearchBar$Direction valueOf(String)): return_value
    //#presumption(SearchBar$Direction valueOf(String)): java.lang.Enum:valueOf(...).__Tag@31 == com/dmdirc/ui/interfaces/SearchBar$Direction
    //#post(SearchBar$Direction valueOf(String)): init'ed(return_value)
    //#SearchBar.java:31: end of method: SearchBar$Direction com.dmdirc.ui.interfaces.SearchBar$Direction.valueOf(String)
    //#SearchBar.java:31: method: void com.dmdirc.ui.interfaces.SearchBar$Direction.com.dmdirc.ui.interfaces.SearchBar$Direction(String, int)
    //#input(void com.dmdirc.ui.interfaces.SearchBar$Direction(String, int)): Param_1
    //#input(void com.dmdirc.ui.interfaces.SearchBar$Direction(String, int)): Param_2
    //#input(void com.dmdirc.ui.interfaces.SearchBar$Direction(String, int)): this
    //#SearchBar.java:31: end of method: void com.dmdirc.ui.interfaces.SearchBar$Direction.com.dmdirc.ui.interfaces.SearchBar$Direction(String, int)

        /** Move up through the document. */
        UP,
    //#SearchBar.java:34: method: com.dmdirc.ui.interfaces.SearchBar$Direction.com.dmdirc.ui.interfaces.SearchBar$Direction__static_init
    //#output(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): $VALUES
    //#output(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): DOWN
    //#output(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): UP
    //#output(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): __Descendant_Table[com/dmdirc/ui/interfaces/SearchBar$Direction]
    //#output(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): new SearchBar$Direction(SearchBar$Direction__static_init#1) num objects
    //#output(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): UP.__Tag
    //#output(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): new SearchBar$Direction(SearchBar$Direction__static_init#2) num objects
    //#output(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): DOWN.__Tag
    //#output(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): new SearchBar$Direction[](SearchBar$Direction__static_init#3) num objects
    //#output(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): $VALUES.length
    //#output(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): $VALUES[0]
    //#output(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): $VALUES[1]
    //#new obj(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): new SearchBar$Direction(SearchBar$Direction__static_init#1)
    //#new obj(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): new SearchBar$Direction(SearchBar$Direction__static_init#2)
    //#new obj(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): new SearchBar$Direction[](SearchBar$Direction__static_init#3)
    //#post(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): $VALUES == &new SearchBar$Direction[](SearchBar$Direction__static_init#3)
    //#post(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): DOWN == &new SearchBar$Direction(SearchBar$Direction__static_init#2)
    //#post(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): $VALUES[1] == &new SearchBar$Direction(SearchBar$Direction__static_init#2)
    //#post(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): UP == &new SearchBar$Direction(SearchBar$Direction__static_init#1)
    //#post(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): $VALUES[0] == &new SearchBar$Direction(SearchBar$Direction__static_init#1)
    //#post(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): __Descendant_Table[com/dmdirc/ui/interfaces/SearchBar$Direction] == &__Dispatch_Table
    //#post(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): new SearchBar$Direction(SearchBar$Direction__static_init#1) num objects == 1
    //#post(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): new SearchBar$Direction(SearchBar$Direction__static_init#2) num objects == 1
    //#post(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): new SearchBar$Direction[](SearchBar$Direction__static_init#3) num objects == 1
    //#post(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): UP.__Tag == com/dmdirc/ui/interfaces/SearchBar$Direction
    //#post(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): DOWN.__Tag == com/dmdirc/ui/interfaces/SearchBar$Direction
    //#post(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): $VALUES.length == 2
    //#unanalyzed(com.dmdirc.ui.interfaces.SearchBar$Direction__static_init): Effects-of-calling:java.lang.Enum
        /** Move down through the document. */
        DOWN,
    //#SearchBar.java:36: end of method: com.dmdirc.ui.interfaces.SearchBar$Direction.com.dmdirc.ui.interfaces.SearchBar$Direction__static_init
    }

    /**
     * Opens the search bar.
     */
    void open();

    /**
     * Closes the search bar.
     */
    void close();

    /**
     * Returns the current search phrase for the search bar.
     * 
     * @return Current search phrase
     */
    String getSearchPhrase();

    /**
     * Returns whether the search needs to be case sensitive.
     * 
     * @return true if the search needs to be case sensitive
     */
    boolean isCaseSensitive();

    /**
     * Searches the textpane for text.
     * 
     * @param text the text to search for
     * @param caseSensitive whether the search is case sensitive
     */
    public void search(final String text, final boolean caseSensitive);

    /**
     * Searches the textpane for text.
     *
     * @param direction the direction to search from
     * @param text the text to search for
     * @param caseSensitive whether the search is case sensitive
     */
    public void search(final Direction direction, final String text,
            final boolean caseSensitive);
}
    //#SearchBar.java:: end of class: com.dmdirc.ui.interfaces.SearchBar$Direction
    //#output(com.dmdirc.ui.interfaces.SearchBar__static_init): __Descendant_Table[com/dmdirc/ui/interfaces/SearchBar]
    //#output(com.dmdirc.ui.interfaces.SearchBar__static_init): __Dispatch_Table.close()V
    //#output(com.dmdirc.ui.interfaces.SearchBar__static_init): __Dispatch_Table.getSearchPhrase()Ljava/lang/String;
    //#output(com.dmdirc.ui.interfaces.SearchBar__static_init): __Dispatch_Table.isCaseSensitive()Z
    //#output(com.dmdirc.ui.interfaces.SearchBar__static_init): __Dispatch_Table.open()V
    //#output(com.dmdirc.ui.interfaces.SearchBar__static_init): __Dispatch_Table.search(Lcom/dmdirc/ui/interfaces/SearchBar$Direction;Ljava/lang/String;Z)V
    //#output(com.dmdirc.ui.interfaces.SearchBar__static_init): __Dispatch_Table.search(Ljava/lang/String;Z)V
    //#post(com.dmdirc.ui.interfaces.SearchBar__static_init): __Descendant_Table[com/dmdirc/ui/interfaces/SearchBar] == &__Dispatch_Table
    //#post(com.dmdirc.ui.interfaces.SearchBar__static_init): __Dispatch_Table.close()V == &close
    //#post(com.dmdirc.ui.interfaces.SearchBar__static_init): __Dispatch_Table.getSearchPhrase()Ljava/lang/String; == &getSearchPhrase
    //#post(com.dmdirc.ui.interfaces.SearchBar__static_init): __Dispatch_Table.isCaseSensitive()Z == &isCaseSensitive
    //#post(com.dmdirc.ui.interfaces.SearchBar__static_init): __Dispatch_Table.open()V == &open
    //#post(com.dmdirc.ui.interfaces.SearchBar__static_init): __Dispatch_Table.search(Lcom/dmdirc/ui/interfaces/SearchBar$Direction;Ljava/lang/String;Z)V == &search
    //#post(com.dmdirc.ui.interfaces.SearchBar__static_init): __Dispatch_Table.search(Ljava/lang/String;Z)V == &search
    //#SearchBar.java:: end of method: com.dmdirc.ui.interfaces.SearchBar.com.dmdirc.ui.interfaces.SearchBar__static_init
    //#SearchBar.java:: end of class: com.dmdirc.ui.interfaces.SearchBar
