32
32
public interface IValueVisualizer
35
/// Display name of the visualizer
38
/// This name is shown in a combo box at the top of the visualizer dialog when
39
/// there is more than one visualizer available for a value
34
41
string Name { get; }
44
/// Determines whether this instance can visualize the specified value
47
/// <c>true</c> if this instance can visualize the specified value; otherwise, <c>false</c>.
49
/// <param name='val'>
53
/// This method must check the value and return <c>true</v> if it is able to display that value.
54
/// Typically, this method will check the TypeName of the value.
35
56
bool CanVisualize (ObjectValue val);
59
/// Gets a visualizer widget for a value
62
/// The visualizer widget.
64
/// <param name='val'>
68
/// This method is called to get a widget for displaying the specified value.
69
/// The method should create the widget and load the required information from
70
/// the value. Notice that the ObjectValue.Value property returns a string
71
/// representation of the value. If the visualizer needs to get values from
72
/// the object properties, it can use the ObjectValue.GetRawValue method.
36
74
Gtk.Widget GetVisualizerWidget (ObjectValue val);
77
/// Saves changes done in the visualizer
80
/// <c>true</c> if the changes could be saved
82
/// <param name='val'>
83
/// The value on which to store changes
86
/// This method is called to save changes done in the visualizer.
87
/// The implementation should use ObjectValue.SetRawValue to store the changes.
37
89
bool StoreValue (ObjectValue val);
92
/// Determines whether this instance supports editing the specified value
95
/// <c>true</c> if this instance can edit the specified value; otherwise, <c>false</c>.
97
/// <param name='val'>
101
/// This method is called to determine if this visualizer supports value editing,
102
/// in addition to visualization.
103
/// The method is called only if CanVisualize returns <c>true</c> for the value, and
104
/// if the value doesn't have the ReadOnly flag.
105
/// Editing support is optional.
107
bool CanEdit (ObjectValue val);