mirror of
https://github.com/dmolony/DiskBrowser.git
synced 2025-02-20 04:29:02 +00:00
check for nulls
This commit is contained in:
parent
474603617c
commit
4baf2ea51e
@ -30,7 +30,7 @@ class DiskLayoutSelection implements Iterable<DiskAddress>
|
|||||||
if ((!extend && !append) || highlights.size () == 0)
|
if ((!extend && !append) || highlights.size () == 0)
|
||||||
{
|
{
|
||||||
highlights.clear ();
|
highlights.clear ();
|
||||||
highlights.add (da);
|
addHighlight (da);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -49,7 +49,7 @@ class DiskLayoutSelection implements Iterable<DiskAddress>
|
|||||||
*/
|
*/
|
||||||
if (append)
|
if (append)
|
||||||
{
|
{
|
||||||
highlights.add (da);
|
addHighlight (da);
|
||||||
Collections.sort (highlights);
|
Collections.sort (highlights);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -93,33 +93,39 @@ class DiskLayoutSelection implements Iterable<DiskAddress>
|
|||||||
int block = first.getBlock () - 1;
|
int block = first.getBlock () - 1;
|
||||||
if (block < 0)
|
if (block < 0)
|
||||||
block = totalBlocks - 1;
|
block = totalBlocks - 1;
|
||||||
highlights.add (disk.getDiskAddress (block));
|
addHighlight (disk.getDiskAddress (block));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case KeyEvent.VK_RIGHT:
|
case KeyEvent.VK_RIGHT:
|
||||||
block = last.getBlock () + 1;
|
block = last.getBlock () + 1;
|
||||||
if (block >= totalBlocks)
|
if (block >= totalBlocks)
|
||||||
block = 0;
|
block = 0;
|
||||||
highlights.add (disk.getDiskAddress (block));
|
addHighlight (disk.getDiskAddress (block));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case KeyEvent.VK_UP:
|
case KeyEvent.VK_UP:
|
||||||
block = first.getBlock () - rowSize;
|
block = first.getBlock () - rowSize;
|
||||||
if (block < 0)
|
if (block < 0)
|
||||||
block += totalBlocks;
|
block += totalBlocks;
|
||||||
highlights.add (disk.getDiskAddress (block));
|
addHighlight (disk.getDiskAddress (block));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case KeyEvent.VK_DOWN:
|
case KeyEvent.VK_DOWN:
|
||||||
block = last.getBlock () + rowSize;
|
block = last.getBlock () + rowSize;
|
||||||
if (block >= totalBlocks)
|
if (block >= totalBlocks)
|
||||||
block -= totalBlocks;
|
block -= totalBlocks;
|
||||||
highlights.add (disk.getDiskAddress (block));
|
addHighlight (disk.getDiskAddress (block));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Collections.sort (highlights);
|
Collections.sort (highlights);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void addHighlight (DiskAddress da)
|
||||||
|
{
|
||||||
|
assert da != null;
|
||||||
|
highlights.add (da);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Iterator<DiskAddress> iterator ()
|
public Iterator<DiskAddress> iterator ()
|
||||||
{
|
{
|
||||||
@ -135,16 +141,19 @@ class DiskLayoutSelection implements Iterable<DiskAddress>
|
|||||||
public boolean isSelected (DiskAddress da)
|
public boolean isSelected (DiskAddress da)
|
||||||
{
|
{
|
||||||
for (DiskAddress selection : highlights)
|
for (DiskAddress selection : highlights)
|
||||||
if (da.matches (selection))
|
if (selection != null && da.matches (selection))
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSelection (List<DiskAddress> list)
|
public void setSelection (List<DiskAddress> list)
|
||||||
{
|
{
|
||||||
|
// for some reason list sometimes contains nulls
|
||||||
highlights.clear ();
|
highlights.clear ();
|
||||||
if (list != null)
|
if (list != null)
|
||||||
highlights.addAll (list);
|
for (DiskAddress da : list)
|
||||||
|
if (da != null)
|
||||||
|
highlights.add (da);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean checkContiguous ()
|
private boolean checkContiguous ()
|
||||||
@ -172,7 +181,7 @@ class DiskLayoutSelection implements Iterable<DiskAddress>
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (int i = lo; i <= hi; i++)
|
for (int i = lo; i <= hi; i++)
|
||||||
highlights.add (disk.getDiskAddress (i));
|
addHighlight (disk.getDiskAddress (i));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void adjustHighlights (Disk disk, DiskAddress da)
|
private void adjustHighlights (Disk disk, DiskAddress da)
|
||||||
@ -186,6 +195,6 @@ class DiskLayoutSelection implements Iterable<DiskAddress>
|
|||||||
}
|
}
|
||||||
|
|
||||||
// just treat it like a ctrl-click (hack!!)
|
// just treat it like a ctrl-click (hack!!)
|
||||||
highlights.add (da);
|
addHighlight (da);
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user