Package weka.gui

Class CostMatrixEditor

  • All Implemented Interfaces:
    PropertyEditor

    public class CostMatrixEditor
    extends Object
    implements PropertyEditor
    Class for editing CostMatrix objects. Brings up a custom editing panel with which the user can edit the matrix interactively, as well as save load cost matrices from files.
    Version:
    $Revision$
    Author:
    Richard Kirkby (rkirkby@cs.waikato.ac.nz)
    • Constructor Detail

      • CostMatrixEditor

        public CostMatrixEditor()
        Constructs a new CostMatrixEditor.
    • Method Detail

      • setValue

        public void setValue​(Object value)
        Sets the value of the CostMatrix to be edited.
        Specified by:
        setValue in interface PropertyEditor
        Parameters:
        value - a CostMatrix object to be edited
      • getValue

        public Object getValue()
        Gets the cost matrix that is being edited.
        Specified by:
        getValue in interface PropertyEditor
        Returns:
        the edited CostMatrix object
      • isPaintable

        public boolean isPaintable()
        Indicates whether the object can be represented graphically. In this case it can.
        Specified by:
        isPaintable in interface PropertyEditor
        Returns:
        true
      • paintValue

        public void paintValue​(Graphics gfx,
                               Rectangle box)
        Paints a graphical representation of the object. For the cost matrix it prints out the text "X x X matrix", where X is the size of the matrix.
        Specified by:
        paintValue in interface PropertyEditor
        Parameters:
        gfx - the graphics context to draw the representation to
        box - the bounds within which the representation should fit.
      • getJavaInitializationString

        public String getJavaInitializationString()
        Returns the Java code that generates an object the same as the one being edited. Unfortunately this can't be done in a single line of code, so the code returned will only build a default cost matrix of the same size.
        Specified by:
        getJavaInitializationString in interface PropertyEditor
        Returns:
        the initialization string
      • getAsText

        public String getAsText()
        Some objects can be represented as text, but a cost matrix cannot.
        Specified by:
        getAsText in interface PropertyEditor
        Returns:
        null
      • setAsText

        public void setAsText​(String text)
        Some objects can be represented as text, but a cost matrix cannot.
        Specified by:
        setAsText in interface PropertyEditor
        Parameters:
        text - ignored
        Throws:
        IllegalArgumentException - always throws an IllegalArgumentException
      • getTags

        public String[] getTags()
        Some objects can return tags, but a cost matrix cannot.
        Specified by:
        getTags in interface PropertyEditor
        Returns:
        null
      • getCustomEditor

        public Component getCustomEditor()
        Gets a GUI component with which the user can edit the cost matrix.
        Specified by:
        getCustomEditor in interface PropertyEditor
        Returns:
        an editor GUI component
      • supportsCustomEditor

        public boolean supportsCustomEditor()
        Indicates whether the cost matrix can be edited in a GUI, which it can.
        Specified by:
        supportsCustomEditor in interface PropertyEditor
        Returns:
        true
      • addPropertyChangeListener

        public void addPropertyChangeListener​(PropertyChangeListener listener)
        Adds an object to the list of those that wish to be informed when the cost matrix changes.
        Specified by:
        addPropertyChangeListener in interface PropertyEditor
        Parameters:
        listener - a new listener to add to the list
      • removePropertyChangeListener

        public void removePropertyChangeListener​(PropertyChangeListener listener)
        Removes an object from the list of those that wish to be informed when the cost matrix changes.
        Specified by:
        removePropertyChangeListener in interface PropertyEditor
        Parameters:
        listener - the listener to remove from the list