Package weka.gui

# Class CostMatrixEditor

java.lang.Object
weka.gui.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: 15103 $
Author:
  Richard Kirkby (rkirkby@cs.waikato.ac.nz)

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CostMatrixEditor()`
  Constructs a new CostMatrixEditor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addPropertyChangeListener(PropertyChangeListener listener)`
  Adds an object to the list of those that wish to be informed when the cost matrix changes.
  `String`
  `getAsText()`
  Some objects can be represented as text, but a cost matrix cannot.
  `Component`
  `getCustomEditor()`
  Gets a GUI component with which the user can edit the cost matrix.
  `String`
  `getJavaInitializationString()`
  Returns the Java code that generates an object the same as the one being edited.
  `String[]`
  `getTags()`
  Some objects can return tags, but a cost matrix cannot.
  `Object`
  `getValue()`
  Gets the cost matrix that is being edited.
  `boolean`
  `isPaintable()`
  Indicates whether the object can be represented graphically.
  `void`
  `paintValue(Graphics gfx, Rectangle box)`
  Paints a graphical representation of the object.
  `void`
  `removePropertyChangeListener(PropertyChangeListener listener)`
  Removes an object from the list of those that wish to be informed when the cost matrix changes.
  `void`
  `setAsText(String text)`
  Some objects can be represented as text, but a cost matrix cannot.
  `void`
  `setValue(Object value)`
  Sets the value of the CostMatrix to be edited.
  `boolean`
  `supportsCustomEditor()`
  Indicates whether the cost matrix can be edited in a GUI, which it can.

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### CostMatrixEditor

    public CostMatrixEditor()
    Constructs a new CostMatrixEditor.

- ## Method Details

  - ### 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