mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 08:37:25 -05:00
* WIP - Adds support for aliasing P25 Phase 2 tones.Playlist editor - adds editor support for alias actions * Playlist editor implementation and integration into application is complete. Adds JavaFX window monitoring to persist window size/location across application runs. Co-authored-by: Denny <denny@denny-desktop>
This commit is contained in:
@@ -27,6 +27,9 @@ import io.github.dsheirer.alias.action.beep.BeepAction;
|
||||
import io.github.dsheirer.alias.action.clip.ClipAction;
|
||||
import io.github.dsheirer.alias.action.script.ScriptAction;
|
||||
import io.github.dsheirer.message.IMessage;
|
||||
import javafx.beans.Observable;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.util.Callback;
|
||||
|
||||
/**
|
||||
* Alias action defines an action to execute when an alias is detected active.
|
||||
@@ -41,10 +44,33 @@ import io.github.dsheirer.message.IMessage;
|
||||
@JacksonXmlRootElement(localName = "action")
|
||||
public abstract class AliasAction
|
||||
{
|
||||
private SimpleStringProperty mValueProperty = new SimpleStringProperty();
|
||||
|
||||
public AliasAction()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* String property representation of this alias ID
|
||||
*/
|
||||
@JsonIgnore
|
||||
public SimpleStringProperty valueProperty()
|
||||
{
|
||||
return mValueProperty;
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the value property for this alias ID. Note: this method is intended to be invoked by all subclasses
|
||||
* each time that any of the subclass member variable values change.
|
||||
*/
|
||||
public void updateValueProperty()
|
||||
{
|
||||
valueProperty().set(toString());
|
||||
|
||||
//Hack: harmless, but the list extractor does not consistently update unless we do this.
|
||||
valueProperty().get();
|
||||
}
|
||||
|
||||
@JsonIgnore
|
||||
public abstract AliasActionType getType();
|
||||
|
||||
@@ -60,4 +86,12 @@ public abstract class AliasAction
|
||||
* Dismiss a persistent alias action
|
||||
*/
|
||||
public abstract void dismiss(boolean reset);
|
||||
|
||||
/**
|
||||
* Creates an observable property extractor for use with observable lists to detect changes internal to this object.
|
||||
*/
|
||||
public static Callback<AliasAction,Observable[]> extractor()
|
||||
{
|
||||
return (AliasAction aliasAction) -> new Observable[] {aliasAction.valueProperty()};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user