mirror of
https://github.com/dmolony/DiskBrowser.git
synced 2024-09-27 09:55:28 +00:00
66 lines
2.5 KiB
Java
Executable File
66 lines
2.5 KiB
Java
Executable File
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;
|
|
private final FormattedDisk owner; // for dual-format disks
|
|
boolean redo;
|
|
|
|
// ---------------------------------------------------------------------------------//
|
|
SectorSelectedEvent (Object source, List<DiskAddress> sectors, FormattedDisk owner)
|
|
// ---------------------------------------------------------------------------------//
|
|
{
|
|
super (source);
|
|
|
|
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 ();
|
|
|
|
SectorListConverter sectorListConverter = new SectorListConverter (sectors);
|
|
text.append (sectorListConverter.sectorText);
|
|
|
|
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);
|
|
}
|
|
} |