dmolony-DiskBrowser/src/com/bytezone/diskbrowser/gui/SectorSelectedEvent.java

66 lines
2.5 KiB
Java
Raw Normal View History

2020-02-08 22:20:08 +00:00
package com.bytezone.diskbrowser.gui;
import java.util.EventObject;
import java.util.List;
import com.bytezone.diskbrowser.disk.DiskAddress;
import com.bytezone.diskbrowser.disk.FormattedDisk;
import com.bytezone.diskbrowser.disk.SectorListConverter;
// -----------------------------------------------------------------------------------//
class SectorSelectedEvent extends EventObject
// -----------------------------------------------------------------------------------//
{
private final List<DiskAddress> sectors;
2021-05-21 03:34:33 +00:00
private final FormattedDisk owner; // for dual-format disks
2020-02-08 22:20:08 +00:00
boolean redo;
// ---------------------------------------------------------------------------------//
SectorSelectedEvent (Object source, List<DiskAddress> sectors, FormattedDisk owner)
// ---------------------------------------------------------------------------------//
{
super (source);
2021-05-21 03:34:33 +00:00
2020-02-08 22:20:08 +00:00
this.sectors = sectors;
// always store the parent if this disk is part of a dual-dos disk
this.owner = owner.getParent () == null ? owner : owner.getParent ();
}
// ---------------------------------------------------------------------------------//
public List<DiskAddress> getSectors ()
// ---------------------------------------------------------------------------------//
{
return sectors;
}
// ---------------------------------------------------------------------------------//
public FormattedDisk getFormattedDisk ()
// ---------------------------------------------------------------------------------//
{
return owner;
}
// ---------------------------------------------------------------------------------//
public String toText ()
// ---------------------------------------------------------------------------------//
{
StringBuilder text = new StringBuilder ();
2021-05-21 03:34:33 +00:00
SectorListConverter sectorListConverter = new SectorListConverter (sectors);
text.append (sectorListConverter.sectorText);
2020-02-08 22:20:08 +00:00
return text.toString ();
}
// ---------------------------------------------------------------------------------//
public static SectorSelectedEvent create (Object source, FormattedDisk owner,
String sectorsText)
// ---------------------------------------------------------------------------------//
{
if (sectorsText.startsWith ("$"))
sectorsText = sectorsText.substring (3); // only for old records
SectorListConverter slc = new SectorListConverter (sectorsText, owner.getDisk ());
return new SectorSelectedEvent (source, slc.sectors, owner);
}
2015-06-01 09:35:51 +00:00
}