mirror of
https://github.com/SuspiciousActivity/ByteEdit.git
synced 2026-08-13 17:56:17 +00:00
Fixes and updates
This commit is contained in:
1 parent
d1710ea6a5
commit
fb4da77359
211 files changed
+45363
-45571
No files matched your search
@@ -20,37 +20,37 @@ import javax.swing.plaf.basic.BasicListUI;
|
||||
|
||||
/**
|
||||
* A custom list UI, used by the completion choices list. If the number of
|
||||
* completion choices is "large," it does a fast estimate of the preferred
|
||||
* width and height of list items. This allows HTML renderers to be used (such
|
||||
* as {@link CompletionCellRenderer}), with thousands of completion choices,
|
||||
* with no performance penalty. With standard BasicListUI subclasses, this can
|
||||
* cause very poor performance <b>each time</b> the list is displayed, which
|
||||
* is bad for lists that are repeatedly hidden and re-displayed, such as
|
||||
* completion choices. This is all because the calculation to get the
|
||||
* preferred size of each list item, when it is displayed with HTML, is slow.
|
||||
* completion choices is "large," it does a fast estimate of the preferred width
|
||||
* and height of list items. This allows HTML renderers to be used (such as
|
||||
* {@link CompletionCellRenderer}), with thousands of completion choices, with
|
||||
* no performance penalty. With standard BasicListUI subclasses, this can cause
|
||||
* very poor performance <b>each time</b> the list is displayed, which is bad
|
||||
* for lists that are repeatedly hidden and re-displayed, such as completion
|
||||
* choices. This is all because the calculation to get the preferred size of
|
||||
* each list item, when it is displayed with HTML, is slow.
|
||||
*
|
||||
* @author Robert Futrell
|
||||
* @version 1.0
|
||||
*/
|
||||
class FastListUI extends BasicListUI {
|
||||
|
||||
|
||||
/**
|
||||
* Whether the selection background was overridden (usually because of
|
||||
* Nimbus) so we know to manually uninstall the color we installed.
|
||||
* Whether the selection background was overridden (usually because of Nimbus)
|
||||
* so we know to manually uninstall the color we installed.
|
||||
*/
|
||||
private boolean overriddenBackground;
|
||||
/**
|
||||
* Whether the selection foreground was overridden (usually because of
|
||||
* Nimbus) so we know to manually uninstall the color we installed.
|
||||
* Whether the selection foreground was overridden (usually because of Nimbus)
|
||||
* so we know to manually uninstall the color we installed.
|
||||
*/
|
||||
private boolean overriddenForeground;
|
||||
/**
|
||||
* If there are more than this many completions in a single list, this
|
||||
* UI will estimate the cell width and height needed for each item instead
|
||||
* of computing it, for performance reasons.
|
||||
* If there are more than this many completions in a single list, this UI will
|
||||
* estimate the cell width and height needed for each item instead of computing
|
||||
* it, for performance reasons.
|
||||
*/
|
||||
private static final int ESTIMATION_THRESHOLD = 200;
|
||||
|
||||
|
||||
private Color determineSelectionBackground() {
|
||||
Color c = UIManager.getColor("List.selectionBackground");
|
||||
if (c == null) {
|
||||
@@ -68,7 +68,7 @@ class FastListUI extends BasicListUI {
|
||||
// actually be a ColorUIResource
|
||||
return new Color(c.getRGB());// new ColorUIResource(c);
|
||||
}
|
||||
|
||||
|
||||
private Color determineSelectionForeground() {
|
||||
Color c = UIManager.getColor("List.selectionForeground");
|
||||
if (c == null) {
|
||||
@@ -84,12 +84,11 @@ class FastListUI extends BasicListUI {
|
||||
// may actually be a ColorUIResource
|
||||
return new Color(c.getRGB());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Overridden to ensure we have selection background/foreground colors
|
||||
* defined, even if we're in some weirdo LAF such as Nimbus which doesn't
|
||||
* define them. Since FastListUI extends BasicListUI, we need these values
|
||||
* to be defined.
|
||||
* Overridden to ensure we have selection background/foreground colors defined,
|
||||
* even if we're in some weirdo LAF such as Nimbus which doesn't define them.
|
||||
* Since FastListUI extends BasicListUI, we need these values to be defined.
|
||||
*/
|
||||
@Override
|
||||
protected void installDefaults() {
|
||||
@@ -103,7 +102,7 @@ class FastListUI extends BasicListUI {
|
||||
overriddenForeground = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Overridden to work around a Nimbus issue.
|
||||
*/
|
||||
@@ -117,12 +116,11 @@ class FastListUI extends BasicListUI {
|
||||
list.setSelectionForeground(null);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Recalculates the cell width and height of each cell in the list. This
|
||||
* method is overridden to do a fast estimation if the completion list is
|
||||
* too long, to improve performance for lists with huge amounts of
|
||||
* completions.
|
||||
* Recalculates the cell width and height of each cell in the list. This method
|
||||
* is overridden to do a fast estimation if the completion list is too long, to
|
||||
* improve performance for lists with huge amounts of completions.
|
||||
*/
|
||||
@Override
|
||||
protected void updateLayoutState() {
|
||||
|
||||
Reference in new issue
Block a user