wip: finished alias, alias ID and alias action editing framework.

This commit is contained in:
denny
2016-03-04 09:33:46 -05:00
parent 2c3dbe1b22
commit 00d2b43c2a
68 changed files with 1472 additions and 647 deletions

51
src/alias/id/AliasID.java Normal file
View File

@@ -0,0 +1,51 @@
/*******************************************************************************
* SDR Trunk
* Copyright (C) 2014-2016 Dennis Sheirer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>
******************************************************************************/
package alias.id;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSeeAlso;
import alias.Group;
import alias.id.esn.Esn;
import alias.id.fleetsync.FleetsyncID;
import alias.id.lojack.LoJackFunctionAndID;
import alias.id.mdc.MDC1200ID;
import alias.id.mobileID.Min;
import alias.id.mpt1327.MPT1327ID;
import alias.id.nonrecordable.NonRecordable;
import alias.id.priority.Priority;
import alias.id.siteID.SiteID;
import alias.id.status.StatusID;
import alias.id.talkgroup.TalkgroupID;
import alias.id.uniqueID.UniqueID;
@XmlSeeAlso( { Esn.class, FleetsyncID.class, Group.class, LoJackFunctionAndID.class,
MDC1200ID.class, Min.class, MPT1327ID.class, NonRecordable.class,
Priority.class, SiteID.class, StatusID.class, TalkgroupID.class,
UniqueID.class } )
@XmlRootElement( name = "id" )
public abstract class AliasID
{
public AliasID()
{
}
public abstract AliasIDType getType();
public abstract boolean matches( AliasID id );
}

View File

@@ -0,0 +1,36 @@
/*******************************************************************************
* SDR Trunk
* Copyright (C) 2014 Dennis Sheirer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>
******************************************************************************/
package alias.id;
import playlist.PlaylistManager;
import controller.ConfigurableNode;
public class AliasIDNode extends ConfigurableNode
{
private static final long serialVersionUID = 1L;
public AliasIDNode( PlaylistManager playlistManager, AliasID id )
{
super( playlistManager, id );
}
public void save()
{
getPlaylistManager().save();
}
}

View File

@@ -0,0 +1,49 @@
/*******************************************************************************
* SDR Trunk
* Copyright (C) 2014-2016 Dennis Sheirer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>
******************************************************************************/
package alias.id;
public enum AliasIDType
{
ESN( "ESN" ),
Fleetsync( "Fleetsync" ),
LoJack( "LoJack" ),
LTRNetUID( "LTR-Net UID" ),
MDC1200( "MDC-1200" ),
MIN( "Passport MIN" ),
MPT1327( "MPT-1327" ),
Site( "Site" ),
Status( "Status" ),
Talkgroup( "Talkgroup" ),
Invert( "Audio Inversion" ),
Priority( "Audio Priority" ),
NonRecordable( "Audio Non-Recordable" ),
Streaming( "Audio Streaming" );
private String mLabel;
private AliasIDType( String label )
{
mLabel = label;
}
public String toString()
{
return mLabel;
}
}

View File

@@ -0,0 +1,358 @@
/*******************************************************************************
* SDR Trunk
* Copyright (C) 2014-2016 Dennis Sheirer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>
******************************************************************************/
package alias.id;
import gui.editor.Editor;
import gui.editor.EmptyEditor;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JList;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.ListModel;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import alias.Alias;
import alias.AliasEvent;
import alias.AliasEvent.Event;
import alias.AliasFactory;
import alias.AliasModel;
public class AliasIdentifierEditor extends Editor<Alias>
{
private static final long serialVersionUID = 1L;
private final static Logger mLog = LoggerFactory.getLogger( AliasIdentifierEditor.class );
private static ListModel<AliasID> EMPTY_MODEL = new DefaultListModel<>();
private JList<AliasID> mAliasIDList = new JList<>( EMPTY_MODEL );
private JButton mNewIDButton;
private JButton mCloneIDButton;
private JButton mDeleteIDButton;
private EditorContainer mEditorContainer = new EditorContainer();
private AliasModel mAliasModel;
public AliasIdentifierEditor( AliasModel model )
{
mAliasModel = model;
init();
}
private void init()
{
setLayout( new MigLayout( "fill,wrap 3",
"[grow,fill][grow,fill][grow,fill]", "[][grow,fill][]" ) );
mAliasIDList.setVisibleRowCount( 6 );
mAliasIDList.setSelectionMode( ListSelectionModel.SINGLE_SELECTION );
mAliasIDList.setLayoutOrientation( JList.VERTICAL );
mAliasIDList.addListSelectionListener( new ListSelectionListener()
{
@Override
public void valueChanged( ListSelectionEvent event )
{
if( !event.getValueIsAdjusting() )
{
JList<?> list = (JList<?>)event.getSource();
Object selectedItem = list.getSelectedValue();
if( selectedItem != null && selectedItem instanceof AliasID )
{
AliasID selected = (AliasID)selectedItem;
mEditorContainer.setAliasID( selected );
mCloneIDButton.setEnabled( true );
mDeleteIDButton.setEnabled( true );
}
else
{
mCloneIDButton.setEnabled( false );
mDeleteIDButton.setEnabled( false );
}
}
}
} );
JScrollPane scroller = new JScrollPane( mAliasIDList );
add( scroller, "span,grow" );
add( mEditorContainer, "span,grow" );
mNewIDButton = new JButton( "New ..." );
mNewIDButton.setToolTipText( "Create a new Alias Identifier" );
mNewIDButton.addMouseListener( new MouseAdapter()
{
@Override
public void mouseClicked( MouseEvent e )
{
JPopupMenu menu = new JPopupMenu();
menu.add( new AddAliasIdentifierItem( AliasIDType.ESN ) );
menu.add( new AddAliasIdentifierItem( AliasIDType.Fleetsync ) );
menu.add( new AddAliasIdentifierItem( AliasIDType.LoJack ) );
menu.add( new AddAliasIdentifierItem( AliasIDType.LTRNetUID ) );
menu.add( new AddAliasIdentifierItem( AliasIDType.MDC1200 ) );
menu.add( new AddAliasIdentifierItem( AliasIDType.MPT1327 ) );
menu.add( new AddAliasIdentifierItem( AliasIDType.MIN ) );
menu.add( new AddAliasIdentifierItem( AliasIDType.Site ) );
menu.add( new AddAliasIdentifierItem( AliasIDType.Status ) );
menu.add( new AddAliasIdentifierItem( AliasIDType.Talkgroup ) );
menu.addSeparator();
menu.add( new AddAliasIdentifierItem( AliasIDType.Priority ) );
menu.add( new AddAliasIdentifierItem( AliasIDType.NonRecordable ) );
menu.show( e.getComponent(), e.getX(), e.getY() );
}
} );
add( mNewIDButton );
mCloneIDButton = new JButton( "Clone" );
mCloneIDButton.setToolTipText( "Create a copy of the currently selected identifier" );
mCloneIDButton.setEnabled( false );
mCloneIDButton.addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent e )
{
AliasID selected = mAliasIDList.getSelectedValue();
if( selected != null )
{
AliasID clone = AliasFactory.copyOf( selected );
if( clone != null )
{
addAliasIDToList( clone );
}
}
}
} );
add( mCloneIDButton );
mDeleteIDButton = new JButton( "Delete" );
mDeleteIDButton.setToolTipText( "Delete the currently selected identifier" );
mDeleteIDButton.setEnabled( false );
mDeleteIDButton.addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent e )
{
final AliasID selected = mAliasIDList.getSelectedValue();
if( selected != null )
{
int choice = JOptionPane.showConfirmDialog( mDeleteIDButton,
"Do you want to delete [" + selected.toString() + "]",
"Are you sure?", JOptionPane.YES_NO_OPTION );
if( choice == JOptionPane.YES_OPTION && hasItem() )
{
Alias alias = getItem();
alias.removeAliasID( selected );
mAliasModel.broadcast( new AliasEvent( alias, Event.CHANGE ) );
setItem( alias );
}
}
}
} );
add( mDeleteIDButton, "wrap" );
}
@Override
public void setItem( Alias alias )
{
super.setItem( alias );
if( alias == null || alias.getId().isEmpty() )
{
mAliasIDList.setModel( EMPTY_MODEL );
}
else
{
DefaultListModel<AliasID> model = new DefaultListModel<AliasID>();
List<AliasID> ids = alias.getId();
Collections.sort( ids, new Comparator<AliasID>()
{
@Override
public int compare( AliasID o1, AliasID o2 )
{
return o1.toString().compareTo( o2.toString() );
}
} );
for( AliasID id: ids )
{
model.addElement( id );
}
mAliasIDList.setModel( model );
}
mEditorContainer.setAliasID( null );
}
@Override
public void save()
{
if( mEditorContainer.isModified() )
{
mEditorContainer.save();
if( hasItem() )
{
mAliasModel.broadcast( new AliasEvent( getItem(), Event.CHANGE ) );
}
}
}
public class EditorContainer extends JPanel
{
private static final long serialVersionUID = 1L;
private Editor<AliasID> mEditor = new EmptyEditor<>();
public EditorContainer()
{
setLayout( new MigLayout( "","[grow,fill]", "[grow,fill]" ) );
add( mEditor );
}
public boolean isModified()
{
if( mEditor != null )
{
return mEditor.isModified();
}
return false;
}
public void save()
{
if( mEditor != null )
{
mEditor.save();
}
}
public void setAliasID( AliasID aliasID )
{
if( mEditor != null )
{
if( mEditor.isModified() )
{
int option = JOptionPane.showConfirmDialog(
EditorContainer.this,
"Identifier settings have changed. Do you want to save these changes?",
"Save Changes?",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE );
if( option == JOptionPane.YES_OPTION )
{
mEditor.save();
}
}
}
removeAll();
//This will always give us an editor
mEditor = AliasFactory.getEditor( aliasID );
add( mEditor );
revalidate();
}
}
private void addAliasIDToList( final AliasID id )
{
if( id != null && hasItem() )
{
final Alias alias = getItem();
alias.addAliasID( id );
EventQueue.invokeLater( new Runnable()
{
@Override
public void run()
{
setItem( alias );
mAliasIDList.setSelectedValue( id, true );
}
} );
}
}
public class AddAliasIdentifierItem extends JMenuItem
{
private static final long serialVersionUID = 1L;
private AliasIDType mAliasIDType;
public AddAliasIdentifierItem( AliasIDType type )
{
super( type.toString() );
mAliasIDType = type;
addActionListener( new ActionListener()
{
@Override
public void actionPerformed( ActionEvent e )
{
final AliasID id = AliasFactory.getAliasID( mAliasIDType );
addAliasIDToList( id );
}
} );
}
}
}

View File

@@ -17,6 +17,8 @@
******************************************************************************/
package alias.id.esn;
import gui.editor.DocumentListenerEditor;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.event.MouseAdapter;
@@ -24,15 +26,12 @@ import java.awt.event.MouseEvent;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import net.miginfocom.swing.MigLayout;
import alias.AliasID;
import alias.ComponentEditor;
import alias.id.talkgroup.TalkgroupIDEditor;
import alias.id.AliasID;
public class ESNEditor extends ComponentEditor<AliasID>
public class ESNEditor extends DocumentListenerEditor<AliasID>
{
private static final long serialVersionUID = 1L;
@@ -47,11 +46,9 @@ public class ESNEditor extends ComponentEditor<AliasID>
public ESNEditor( AliasID aliasID )
{
super( aliasID );
initGUI();
setComponent( aliasID );
setItem( aliasID );
}
private void initGUI()
@@ -81,18 +78,18 @@ public class ESNEditor extends ComponentEditor<AliasID>
public Esn getEsn()
{
if( getComponent() instanceof Esn )
if( getItem() instanceof Esn )
{
return (Esn)getComponent();
return (Esn)getItem();
}
return null;
}
@Override
public void setComponent( AliasID aliasID )
public void setItem( AliasID aliasID )
{
mComponent = aliasID;
super.setItem( aliasID );
Esn esn = getEsn();

View File

@@ -26,8 +26,8 @@ import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import playlist.PlaylistManager;
import alias.AliasIDNode;
import alias.AliasNode;
import alias.id.AliasIDNode;
public class ESNNode extends AliasIDNode
{

View File

@@ -19,8 +19,8 @@ package alias.id.esn;
import javax.xml.bind.annotation.XmlAttribute;
import alias.AliasID;
import alias.AliasIDType;
import alias.id.AliasID;
import alias.id.AliasIDType;
public class Esn extends AliasID
{

View File

@@ -19,8 +19,8 @@ package alias.id.fleetsync;
import javax.xml.bind.annotation.XmlAttribute;
import alias.AliasID;
import alias.AliasIDType;
import alias.id.AliasID;
import alias.id.AliasIDType;
public class FleetsyncID extends AliasID

View File

@@ -17,30 +17,27 @@
******************************************************************************/
package alias.id.fleetsync;
import gui.editor.DocumentListenerEditor;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFormattedTextField;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.text.MaskFormatter;
import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import controller.channel.Channel;
import net.miginfocom.swing.MigLayout;
import alias.AliasID;
import alias.ComponentEditor;
import alias.id.esn.ESNEditor;
import alias.id.AliasID;
public class FleetsyncIDEditor extends ComponentEditor<AliasID>
public class FleetsyncIDEditor extends DocumentListenerEditor<AliasID>
{
private final static Logger mLog = LoggerFactory.getLogger( FleetsyncIDEditor.class );
@@ -56,11 +53,9 @@ public class FleetsyncIDEditor extends ComponentEditor<AliasID>
public FleetsyncIDEditor( AliasID aliasID )
{
super( aliasID );
initGUI();
setComponent( aliasID );
setItem( aliasID );
}
private void initGUI()
@@ -104,18 +99,18 @@ public class FleetsyncIDEditor extends ComponentEditor<AliasID>
public FleetsyncID getFleetsyncID()
{
if( getComponent() instanceof FleetsyncID )
if( getItem() instanceof FleetsyncID )
{
return (FleetsyncID)getComponent();
return (FleetsyncID)getItem();
}
return null;
}
@Override
public void setComponent( AliasID aliasID )
public void setItem( AliasID aliasID )
{
mComponent = aliasID;
super.setItem( aliasID );
FleetsyncID fleetsync = getFleetsyncID();

View File

@@ -26,8 +26,8 @@ import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import playlist.PlaylistManager;
import alias.AliasIDNode;
import alias.AliasNode;
import alias.id.AliasIDNode;
public class FleetsyncIDNode extends AliasIDNode
{

View File

@@ -21,8 +21,8 @@ import javax.xml.bind.annotation.XmlAttribute;
import module.decode.lj1200.LJ1200Message;
import module.decode.lj1200.LJ1200Message.Function;
import alias.AliasID;
import alias.AliasIDType;
import alias.id.AliasID;
import alias.id.AliasIDType;
public class LoJackFunctionAndID extends AliasID
{

View File

@@ -17,6 +17,8 @@
******************************************************************************/
package alias.id.lojack;
import gui.editor.DocumentListenerEditor;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.event.ActionEvent;
@@ -34,10 +36,9 @@ import javax.swing.text.MaskFormatter;
import module.decode.lj1200.LJ1200Message;
import module.decode.lj1200.LJ1200Message.Function;
import net.miginfocom.swing.MigLayout;
import alias.AliasID;
import alias.ComponentEditor;
import alias.id.AliasID;
public class LoJackIDEditor extends ComponentEditor<AliasID>
public class LoJackIDEditor extends DocumentListenerEditor<AliasID>
{
private static final long serialVersionUID = 1L;
@@ -61,11 +62,9 @@ public class LoJackIDEditor extends ComponentEditor<AliasID>
public LoJackIDEditor( AliasID aliasID )
{
super( aliasID );
initGUI();
setComponent( aliasID );
setItem( aliasID );
}
private void initGUI()
@@ -121,18 +120,18 @@ public class LoJackIDEditor extends ComponentEditor<AliasID>
public LoJackFunctionAndID getLoJackID()
{
if( getComponent() instanceof LoJackFunctionAndID )
if( getItem() instanceof LoJackFunctionAndID )
{
return (LoJackFunctionAndID)getComponent();
return (LoJackFunctionAndID)getItem();
}
return null;
}
@Override
public void setComponent( AliasID aliasID )
public void setItem( AliasID aliasID )
{
mComponent = aliasID;
super.setItem( aliasID );
LoJackFunctionAndID lojack = getLoJackID();

View File

@@ -26,8 +26,8 @@ import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import playlist.PlaylistManager;
import alias.AliasIDNode;
import alias.AliasNode;
import alias.id.AliasIDNode;
public class LoJackIDNode extends AliasIDNode
{

View File

@@ -19,8 +19,8 @@ package alias.id.mdc;
import javax.xml.bind.annotation.XmlAttribute;
import alias.AliasID;
import alias.AliasIDType;
import alias.id.AliasID;
import alias.id.AliasIDType;
public class MDC1200ID extends AliasID

View File

@@ -17,6 +17,8 @@
******************************************************************************/
package alias.id.mdc;
import gui.editor.DocumentListenerEditor;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.event.MouseAdapter;
@@ -29,10 +31,9 @@ import javax.swing.JTextField;
import javax.swing.text.MaskFormatter;
import net.miginfocom.swing.MigLayout;
import alias.AliasID;
import alias.ComponentEditor;
import alias.id.AliasID;
public class MDC1200IDEditor extends ComponentEditor<AliasID>
public class MDC1200IDEditor extends DocumentListenerEditor<AliasID>
{
private static final long serialVersionUID = 1L;
@@ -47,11 +48,9 @@ public class MDC1200IDEditor extends ComponentEditor<AliasID>
public MDC1200IDEditor( AliasID aliasID )
{
super( aliasID );
initGUI();
setComponent( aliasID );
setItem( aliasID );
}
private void initGUI()
@@ -94,18 +93,18 @@ public class MDC1200IDEditor extends ComponentEditor<AliasID>
public MDC1200ID getMDC1200ID()
{
if( getComponent() instanceof MDC1200ID )
if( getItem() instanceof MDC1200ID )
{
return (MDC1200ID)getComponent();
return (MDC1200ID)getItem();
}
return null;
}
@Override
public void setComponent( AliasID aliasID )
public void setItem( AliasID aliasID )
{
mComponent = aliasID;
super.setItem( aliasID );
MDC1200ID mdc = getMDC1200ID();

View File

@@ -26,8 +26,8 @@ import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import playlist.PlaylistManager;
import alias.AliasIDNode;
import alias.AliasNode;
import alias.id.AliasIDNode;
public class MDC1200IDNode extends AliasIDNode
{

View File

@@ -17,6 +17,8 @@
******************************************************************************/
package alias.id.mobileID;
import gui.editor.DocumentListenerEditor;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.event.MouseAdapter;
@@ -25,16 +27,13 @@ import java.awt.event.MouseEvent;
import javax.swing.JFormattedTextField;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.text.MaskFormatter;
import net.miginfocom.swing.MigLayout;
import alias.AliasID;
import alias.ComponentEditor;
import alias.id.esn.ESNEditor;
import alias.id.AliasID;
public class MINEditor extends ComponentEditor<AliasID>
public class MINEditor extends DocumentListenerEditor<AliasID>
{
private static final long serialVersionUID = 1L;
@@ -49,11 +48,9 @@ public class MINEditor extends ComponentEditor<AliasID>
public MINEditor( AliasID aliasID )
{
super( aliasID );
initGUI();
setComponent( aliasID );
setItem( aliasID );
}
private void initGUI()
@@ -96,18 +93,18 @@ public class MINEditor extends ComponentEditor<AliasID>
public Min getMin()
{
if( getComponent() instanceof Min )
if( getItem() instanceof Min )
{
return (Min)getComponent();
return (Min)getItem();
}
return null;
}
@Override
public void setComponent( AliasID aliasID )
public void setItem( AliasID aliasID )
{
mComponent = aliasID;
super.setItem( aliasID );
Min min = getMin();

View File

@@ -26,8 +26,8 @@ import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import playlist.PlaylistManager;
import alias.AliasIDNode;
import alias.AliasNode;
import alias.id.AliasIDNode;
public class MINNode extends AliasIDNode
{

View File

@@ -19,8 +19,8 @@ package alias.id.mobileID;
import javax.xml.bind.annotation.XmlAttribute;
import alias.AliasID;
import alias.AliasIDType;
import alias.id.AliasID;
import alias.id.AliasIDType;
/**
* Mobile ID Number

View File

@@ -19,8 +19,8 @@ package alias.id.mpt1327;
import javax.xml.bind.annotation.XmlAttribute;
import alias.AliasID;
import alias.AliasIDType;
import alias.id.AliasID;
import alias.id.AliasIDType;
public class MPT1327ID extends AliasID
{

View File

@@ -17,6 +17,8 @@
******************************************************************************/
package alias.id.mpt1327;
import gui.editor.DocumentListenerEditor;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.event.MouseAdapter;
@@ -29,10 +31,9 @@ import javax.swing.JTextField;
import javax.swing.text.MaskFormatter;
import net.miginfocom.swing.MigLayout;
import alias.AliasID;
import alias.ComponentEditor;
import alias.id.AliasID;
public class MPT1327IDEditor extends ComponentEditor<AliasID>
public class MPT1327IDEditor extends DocumentListenerEditor<AliasID>
{
private static final long serialVersionUID = 1L;
@@ -48,11 +49,9 @@ public class MPT1327IDEditor extends ComponentEditor<AliasID>
public MPT1327IDEditor( AliasID aliasID )
{
super( aliasID );
initGUI();
setComponent( aliasID );
setItem( aliasID );
}
private void initGUI()
@@ -96,18 +95,18 @@ public class MPT1327IDEditor extends ComponentEditor<AliasID>
public MPT1327ID getMPT1327ID()
{
if( getComponent() instanceof MPT1327ID )
if( getItem() instanceof MPT1327ID )
{
return (MPT1327ID)getComponent();
return (MPT1327ID)getItem();
}
return null;
}
@Override
public void setComponent( AliasID aliasID )
public void setItem( AliasID aliasID )
{
mComponent = aliasID;
super.setItem( aliasID );
MPT1327ID mpt = getMPT1327ID();

View File

@@ -26,8 +26,8 @@ import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import playlist.PlaylistManager;
import alias.AliasIDNode;
import alias.AliasNode;
import alias.id.AliasIDNode;
public class MPT1327IDNode extends AliasIDNode
{

View File

@@ -1,7 +1,7 @@
package alias.id.nonrecordable;
import alias.AliasID;
import alias.AliasIDType;
import alias.id.AliasID;
import alias.id.AliasIDType;
public class NonRecordable extends AliasID
{
@@ -20,6 +20,6 @@ public class NonRecordable extends AliasID
@Override
public String toString()
{
return "Non-Recordable";
return "Audio Non-Recordable";
}
}

View File

@@ -17,6 +17,8 @@
******************************************************************************/
package alias.id.nonrecordable;
import gui.editor.DocumentListenerEditor;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.event.MouseAdapter;
@@ -26,26 +28,23 @@ import javax.swing.JLabel;
import javax.swing.JOptionPane;
import net.miginfocom.swing.MigLayout;
import alias.AliasID;
import alias.ComponentEditor;
import alias.id.AliasID;
public class NonRecordableEditor extends ComponentEditor<AliasID>
public class NonRecordableEditor extends DocumentListenerEditor<AliasID>
{
private static final long serialVersionUID = 1L;
private static final String HELP_TEXT = "<html>"
+ "<h3>Non-Recordable Example</h3>"
+ "<h3>Audio Non-Recordable Example</h3>"
+ "This identifies an alias as non-recordable.<br><br>"
+ "The alias can still be monitored but it will not be recorded<br>"
+ "The alias can still be monitored but associated audio will not be recorded<br>"
+ "when recording is enabled for the decoding channel.";
public NonRecordableEditor( AliasID aliasID )
{
super( aliasID );
initGUI();
setComponent( aliasID );
setItem( aliasID );
}
private void initGUI()
@@ -63,17 +62,12 @@ public class NonRecordableEditor extends ComponentEditor<AliasID>
public void mouseClicked( MouseEvent e )
{
JOptionPane.showMessageDialog( NonRecordableEditor.this,
HELP_TEXT, "Examples", JOptionPane.INFORMATION_MESSAGE );
HELP_TEXT, "Example", JOptionPane.INFORMATION_MESSAGE );
}
} );
add( example );
}
@Override
public void setComponent( AliasID aliasID )
{
}
@Override
public void save()
{

View File

@@ -26,9 +26,9 @@ import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import playlist.PlaylistManager;
import alias.AliasID;
import alias.AliasIDNode;
import alias.AliasNode;
import alias.id.AliasID;
import alias.id.AliasIDNode;
public class NonRecordableNode extends AliasIDNode
{

View File

@@ -19,8 +19,8 @@ package alias.id.priority;
import javax.xml.bind.annotation.XmlAttribute;
import alias.AliasID;
import alias.AliasIDType;
import alias.id.AliasID;
import alias.id.AliasIDType;
/**
* Specifies an (audio) priority level for this alias.
@@ -60,7 +60,7 @@ public class Priority extends AliasID
public String toString()
{
return "Priority: " + ( isDoNotMonitor() ? "Do Not Monitor" : mPriority );
return "Audio Priority: " + ( isDoNotMonitor() ? "Do Not Monitor" : mPriority );
}
@Override

View File

@@ -17,6 +17,8 @@
******************************************************************************/
package alias.id.priority;
import gui.editor.DocumentListenerEditor;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.event.ActionEvent;
@@ -32,17 +34,16 @@ import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import net.miginfocom.swing.MigLayout;
import alias.AliasID;
import alias.ComponentEditor;
import alias.id.AliasID;
public class PriorityEditor extends ComponentEditor<AliasID>
public class PriorityEditor extends DocumentListenerEditor<AliasID>
{
private static final long serialVersionUID = 1L;
public static final String DO_NOT_MONITOR = "Do Not Monitor";
private static final String HELP_TEXT = "<html>"
+ "<h3>Call Priority Example</h3>"
+ "<h3>Call Audio Priority Example</h3>"
+ "Priority determines which calls have priority for playback<br>"
+ "over your computer speakers, or designates an alias for<br>"
+ "no-monitoring if you don't want to hear calls from an alias.<br><br>"
@@ -55,11 +56,9 @@ public class PriorityEditor extends ComponentEditor<AliasID>
public PriorityEditor( AliasID aliasID )
{
super( aliasID );
initGUI();
setComponent( aliasID );
setItem( aliasID );
}
private void initGUI()
@@ -119,18 +118,18 @@ public class PriorityEditor extends ComponentEditor<AliasID>
public Priority getPriority()
{
if( getComponent() instanceof Priority )
if( getItem() instanceof Priority )
{
return (Priority)getComponent();
return (Priority)getItem();
}
return null;
}
@Override
public void setComponent( AliasID aliasID )
public void setItem( AliasID aliasID )
{
mComponent = aliasID;
super.setItem( aliasID );
Priority priority = getPriority();

View File

@@ -26,8 +26,8 @@ import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import playlist.PlaylistManager;
import alias.AliasIDNode;
import alias.AliasNode;
import alias.id.AliasIDNode;
public class PriorityNode extends AliasIDNode
{

View File

@@ -19,8 +19,8 @@ package alias.id.siteID;
import javax.xml.bind.annotation.XmlAttribute;
import alias.AliasID;
import alias.AliasIDType;
import alias.id.AliasID;
import alias.id.AliasIDType;
public class SiteID extends AliasID
{

View File

@@ -17,6 +17,8 @@
******************************************************************************/
package alias.id.siteID;
import gui.editor.DocumentListenerEditor;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.event.MouseAdapter;
@@ -27,10 +29,9 @@ import javax.swing.JOptionPane;
import javax.swing.JTextField;
import net.miginfocom.swing.MigLayout;
import alias.AliasID;
import alias.ComponentEditor;
import alias.id.AliasID;
public class SiteIDEditor extends ComponentEditor<AliasID>
public class SiteIDEditor extends DocumentListenerEditor<AliasID>
{
private static final long serialVersionUID = 1L;
@@ -47,11 +48,9 @@ public class SiteIDEditor extends ComponentEditor<AliasID>
public SiteIDEditor( AliasID aliasID )
{
super( aliasID );
initGUI();
setComponent( aliasID );
setItem( aliasID );
}
private void initGUI()
@@ -82,18 +81,18 @@ public class SiteIDEditor extends ComponentEditor<AliasID>
public SiteID getSiteID()
{
if( getComponent() instanceof SiteID )
if( getItem() instanceof SiteID )
{
return (SiteID)getComponent();
return (SiteID)getItem();
}
return null;
}
@Override
public void setComponent( AliasID aliasID )
public void setItem( AliasID aliasID )
{
mComponent = aliasID;
super.setItem( aliasID );
SiteID siteID = getSiteID();

View File

@@ -26,8 +26,8 @@ import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import playlist.PlaylistManager;
import alias.AliasIDNode;
import alias.AliasNode;
import alias.id.AliasIDNode;
public class SiteIDNode extends AliasIDNode
{

View File

@@ -19,8 +19,8 @@ package alias.id.status;
import javax.xml.bind.annotation.XmlAttribute;
import alias.AliasID;
import alias.AliasIDType;
import alias.id.AliasID;
import alias.id.AliasIDType;
public class StatusID extends AliasID
{

View File

@@ -17,6 +17,8 @@
******************************************************************************/
package alias.id.status;
import gui.editor.DocumentListenerEditor;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.event.MouseAdapter;
@@ -29,10 +31,9 @@ import javax.swing.JTextField;
import javax.swing.text.MaskFormatter;
import net.miginfocom.swing.MigLayout;
import alias.AliasID;
import alias.ComponentEditor;
import alias.id.AliasID;
public class StatusIDEditor extends ComponentEditor<AliasID>
public class StatusIDEditor extends DocumentListenerEditor<AliasID>
{
private static final long serialVersionUID = 1L;
@@ -49,11 +50,9 @@ public class StatusIDEditor extends ComponentEditor<AliasID>
public StatusIDEditor( AliasID aliasID )
{
super( aliasID );
initGUI();
setComponent( aliasID );
setItem( aliasID );
}
private void initGUI()
@@ -96,18 +95,18 @@ public class StatusIDEditor extends ComponentEditor<AliasID>
public StatusID getStatusID()
{
if( getComponent() instanceof StatusID )
if( getItem() instanceof StatusID )
{
return (StatusID)getComponent();
return (StatusID)getItem();
}
return null;
}
@Override
public void setComponent( AliasID aliasID )
public void setItem( AliasID aliasID )
{
mComponent = aliasID;
super.setItem( aliasID );
StatusID statusID = getStatusID();

View File

@@ -26,8 +26,8 @@ import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import playlist.PlaylistManager;
import alias.AliasIDNode;
import alias.AliasNode;
import alias.id.AliasIDNode;
public class StatusIDNode extends AliasIDNode
{

View File

@@ -19,8 +19,8 @@ package alias.id.talkgroup;
import javax.xml.bind.annotation.XmlAttribute;
import alias.AliasID;
import alias.AliasIDType;
import alias.id.AliasID;
import alias.id.AliasIDType;
import audio.inverted.AudioType;

View File

@@ -17,6 +17,8 @@
******************************************************************************/
package alias.id.talkgroup;
import gui.editor.DocumentListenerEditor;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.event.MouseAdapter;
@@ -27,10 +29,9 @@ import javax.swing.JOptionPane;
import javax.swing.JTextField;
import net.miginfocom.swing.MigLayout;
import alias.AliasID;
import alias.ComponentEditor;
import alias.id.AliasID;
public class TalkgroupIDEditor extends ComponentEditor<AliasID>
public class TalkgroupIDEditor extends DocumentListenerEditor<AliasID>
{
private static final long serialVersionUID = 1L;
@@ -47,11 +48,9 @@ public class TalkgroupIDEditor extends ComponentEditor<AliasID>
public TalkgroupIDEditor( AliasID aliasID )
{
super( aliasID );
initGUI();
setComponent( aliasID );
setItem( aliasID );
}
private void initGUI()
@@ -82,18 +81,18 @@ public class TalkgroupIDEditor extends ComponentEditor<AliasID>
public TalkgroupID getTalkgroupID()
{
if( getComponent() instanceof TalkgroupID )
if( getItem() instanceof TalkgroupID )
{
return (TalkgroupID)getComponent();
return (TalkgroupID)getItem();
}
return null;
}
@Override
public void setComponent( AliasID aliasID )
public void setItem( AliasID aliasID )
{
mComponent = aliasID;
super.setItem( aliasID );
TalkgroupID talkgroup = getTalkgroupID();

View File

@@ -26,8 +26,8 @@ import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import playlist.PlaylistManager;
import alias.AliasIDNode;
import alias.AliasNode;
import alias.id.AliasIDNode;
public class TalkgroupIDNode extends AliasIDNode
{

View File

@@ -19,8 +19,8 @@ package alias.id.uniqueID;
import javax.xml.bind.annotation.XmlAttribute;
import alias.AliasID;
import alias.AliasIDType;
import alias.id.AliasID;
import alias.id.AliasIDType;
public class UniqueID extends AliasID
{

View File

@@ -17,6 +17,8 @@
******************************************************************************/
package alias.id.uniqueID;
import gui.editor.DocumentListenerEditor;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.event.MouseAdapter;
@@ -27,10 +29,9 @@ import javax.swing.JOptionPane;
import javax.swing.JTextField;
import net.miginfocom.swing.MigLayout;
import alias.AliasID;
import alias.ComponentEditor;
import alias.id.AliasID;
public class UniqueIDEditor extends ComponentEditor<AliasID>
public class UniqueIDEditor extends DocumentListenerEditor<AliasID>
{
private static final long serialVersionUID = 1L;
@@ -44,11 +45,9 @@ public class UniqueIDEditor extends ComponentEditor<AliasID>
public UniqueIDEditor( AliasID aliasID )
{
super( aliasID );
initGUI();
setComponent( aliasID );
setItem( aliasID );
}
private void initGUI()
@@ -78,18 +77,18 @@ public class UniqueIDEditor extends ComponentEditor<AliasID>
public UniqueID getUniqueID()
{
if( getComponent() instanceof UniqueID )
if( getItem() instanceof UniqueID )
{
return (UniqueID)getComponent();
return (UniqueID)getItem();
}
return null;
}
@Override
public void setComponent( AliasID aliasID )
public void setItem( AliasID aliasID )
{
mComponent = aliasID;
super.setItem( aliasID );
UniqueID uid = getUniqueID();

View File

@@ -26,8 +26,8 @@ import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import playlist.PlaylistManager;
import alias.AliasIDNode;
import alias.AliasNode;
import alias.id.AliasIDNode;
public class UniqueIDNode extends AliasIDNode
{