mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2026-02-10 22:17:13 -06:00
Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9026efeb26 | ||
|
|
2ab023beb0 | ||
|
|
8e471fd720 | ||
|
|
13cbbd8bc1 | ||
|
|
b08ccc9767 | ||
|
|
801a7023a4 | ||
|
|
dd06b554da | ||
|
|
23f0504b30 | ||
|
|
262d172cde | ||
|
|
be81cb7876 | ||
|
|
aaf9bd33cb | ||
|
|
7381e2141f | ||
|
|
3923d941c1 | ||
|
|
d134c33499 | ||
|
|
a2b615d4a7 | ||
|
|
2e1acb7871 | ||
|
|
97a1bf90a4 | ||
|
|
7d3ffbc45a | ||
|
|
93ac6fa88a |
17
CHANGELOG.md
17
CHANGELOG.md
@@ -1,6 +1,23 @@
|
||||
FlatLaf Change Log
|
||||
==================
|
||||
|
||||
## 0.32
|
||||
|
||||
- ToggleButton: Compute selected background color based on current component
|
||||
background. (issue #32)
|
||||
- IntelliJ Themes: Fixed button and toggle button colors. (issue #86)
|
||||
- Updated IntelliJ Themes in demo to the latest versions.
|
||||
|
||||
|
||||
## 0.31
|
||||
|
||||
- Focus indication border (or background) no longer hidden when temporary
|
||||
loosing focus (e.g. showing a popup menu).
|
||||
- List, Table and Tree: Item selection color of focused components no longer
|
||||
change from blue to gray when temporary loosing focus (e.g. showing a popup
|
||||
menu).
|
||||
|
||||
|
||||
## 0.30
|
||||
|
||||
- Windows: Fixed rendering of Unicode characters. Previously not all Unicode
|
||||
|
||||
@@ -79,7 +79,13 @@ Projects using FlatLaf
|
||||
- [jclasslib bytecode viewer](https://github.com/ingokegel/jclasslib) 5.5
|
||||
- [KeyStore Explorer](https://keystore-explorer.org/) 5.4.3
|
||||
- [OWASP Zed Attack Proxy (ZAP)](https://www.zaproxy.org/) (in weekly releases)
|
||||
- [XMLmind XML Editor](https://www.xmlmind.com/xmleditor/) 9.3 (commercial)
|
||||
- [Total Validator](https://www.totalvalidator.com/) 15 (commercial)
|
||||
- [j-lawyer](https://github.com/jlawyerorg/j-lawyer-org)
|
||||
- [MegaMek](https://github.com/MegaMek/megamek) v0.47.4 and
|
||||
[MekHQ](https://github.com/MegaMek/mekhq) v0.47.5
|
||||
- [GUIslice Builder](https://github.com/ImpulseAdventure/GUIslice-Builder)
|
||||
0.13.b024
|
||||
- [Rest Suite](https://github.com/supanadit/restsuite)
|
||||
- [ControllerBuddy](https://github.com/bwRavencl/ControllerBuddy)
|
||||
- [SpringRemote](https://github.com/HaleyWang/SpringRemote)
|
||||
@@ -89,6 +95,8 @@ Projects using FlatLaf
|
||||
[mendelson AS2](https://mendelson-e-c.com/as2/),
|
||||
[AS4](https://mendelson-e-c.com/as4/) and
|
||||
[OFTP2](https://mendelson-e-c.com/oftp2) (commercial)
|
||||
- [MeteoInfo](https://github.com/meteoinfo/MeteoInfo) 2.1.6
|
||||
- [lsfusion platform](https://github.com/lsfusion/platform)
|
||||
- and more...
|
||||
|
||||
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
val releaseVersion = "0.30"
|
||||
val developmentVersion = "0.31-SNAPSHOT"
|
||||
val releaseVersion = "0.32"
|
||||
val developmentVersion = "0.33-SNAPSHOT"
|
||||
|
||||
version = if( java.lang.Boolean.getBoolean( "release" ) ) releaseVersion else developmentVersion
|
||||
|
||||
|
||||
@@ -282,9 +282,9 @@ public abstract class FlatLaf
|
||||
// load defaults from properties
|
||||
List<Class<?>> lafClassesForDefaultsLoading = getLafClassesForDefaultsLoading();
|
||||
if( lafClassesForDefaultsLoading != null )
|
||||
UIDefaultsLoader.loadDefaultsFromProperties( lafClassesForDefaultsLoading, addons, getAdditionalDefaults(), defaults );
|
||||
UIDefaultsLoader.loadDefaultsFromProperties( lafClassesForDefaultsLoading, addons, getAdditionalDefaults(), isDark(), defaults );
|
||||
else
|
||||
UIDefaultsLoader.loadDefaultsFromProperties( getClass(), addons, getAdditionalDefaults(), defaults );
|
||||
UIDefaultsLoader.loadDefaultsFromProperties( getClass(), addons, getAdditionalDefaults(), isDark(), defaults );
|
||||
|
||||
// use Aqua MenuBarUI if Mac screen menubar is enabled
|
||||
if( SystemInfo.IS_MAC && Boolean.getBoolean( "apple.laf.useScreenMenuBar" ) )
|
||||
|
||||
@@ -132,6 +132,8 @@ public class IntelliJTheme
|
||||
defaults.put( "Button.paintShadow", true );
|
||||
defaults.put( "Button.shadowWidth", dark ? 2 : 1 );
|
||||
|
||||
Map<Object, Object> themeSpecificDefaults = removeThemeSpecificDefaults( defaults );
|
||||
|
||||
loadNamedColors( defaults );
|
||||
|
||||
// convert Json "ui" structure to UI defaults
|
||||
@@ -183,6 +185,37 @@ public class IntelliJTheme
|
||||
if( !uiKeys.contains( "Spinner.background" ) )
|
||||
defaults.put( "Spinner.background", textFieldBackground );
|
||||
}
|
||||
|
||||
// fix ToggleButton
|
||||
if( !uiKeys.contains( "ToggleButton.startBackground" ) && !uiKeys.contains( "*.startBackground" ) )
|
||||
defaults.put( "ToggleButton.startBackground", defaults.get( "Button.startBackground" ) );
|
||||
if( !uiKeys.contains( "ToggleButton.endBackground" ) && !uiKeys.contains( "*.endBackground" ) )
|
||||
defaults.put( "ToggleButton.endBackground", defaults.get( "Button.endBackground" ) );
|
||||
if( !uiKeys.contains( "ToggleButton.foreground" ) && uiKeys.contains( "Button.foreground" ) )
|
||||
defaults.put( "ToggleButton.foreground", defaults.get( "Button.foreground" ) );
|
||||
|
||||
// apply theme specific UI defaults at the end to allow overwriting
|
||||
defaults.putAll( themeSpecificDefaults );
|
||||
}
|
||||
|
||||
private Map<Object, Object> removeThemeSpecificDefaults( UIDefaults defaults ) {
|
||||
// search for theme specific UI defaults keys
|
||||
ArrayList<String> themeSpecificKeys = new ArrayList<>();
|
||||
for( Object key : defaults.keySet() ) {
|
||||
if( key instanceof String && ((String)key).startsWith( "[" ) )
|
||||
themeSpecificKeys.add( (String) key );
|
||||
}
|
||||
|
||||
// remove theme specific UI defaults and remember only those for current theme
|
||||
Map<Object, Object> themeSpecificDefaults = new HashMap<>();
|
||||
String currentThemePrefix = '[' + name.replace( ' ', '_' ) + ']';
|
||||
for( String key : themeSpecificKeys ) {
|
||||
Object value = defaults.remove( key );
|
||||
if( key.startsWith( currentThemePrefix ) )
|
||||
themeSpecificDefaults.put( key.substring( currentThemePrefix.length() ), value );
|
||||
}
|
||||
|
||||
return themeSpecificDefaults;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -270,7 +303,7 @@ public class IntelliJTheme
|
||||
// (e.g. set ComboBox.buttonEditableBackground to *.background
|
||||
// because it is mapped from ComboBox.ArrowButton.background)
|
||||
String km = uiKeyInverseMapping.getOrDefault( k, (String) k );
|
||||
if( km.endsWith( tail ) && !noWildcardReplace.contains( k ) && !((String)k).startsWith( "CheckBox.icon." ) )
|
||||
if( km.endsWith( tail ) && !((String)k).startsWith( "CheckBox.icon." ) )
|
||||
defaults.put( k, uiValue );
|
||||
}
|
||||
}
|
||||
@@ -412,7 +445,6 @@ public class IntelliJTheme
|
||||
private static Map<String, String> uiKeyInverseMapping = new HashMap<>();
|
||||
private static Map<String, String> checkboxKeyMapping = new HashMap<>();
|
||||
private static Map<String, String> checkboxDuplicateColors = new HashMap<>();
|
||||
private static Set<String> noWildcardReplace = new HashSet<>();
|
||||
|
||||
static {
|
||||
// ComboBox
|
||||
@@ -470,16 +502,6 @@ public class IntelliJTheme
|
||||
Map.Entry<String, String>[] entries = checkboxDuplicateColors.entrySet().toArray( new Map.Entry[checkboxDuplicateColors.size()] );
|
||||
for( Map.Entry<String, String> e : entries )
|
||||
checkboxDuplicateColors.put( e.getValue(), e.getKey() );
|
||||
|
||||
// because FlatLaf uses Button.background and Button.borderColor,
|
||||
// but IDEA uses Button.startBackground and Button.startBorderColor,
|
||||
// our default button background and border colors may be replaced by
|
||||
// wildcard *.background and *.borderColor colors
|
||||
noWildcardReplace.add( "Button.background" );
|
||||
noWildcardReplace.add( "Button.borderColor" );
|
||||
noWildcardReplace.add( "Button.default.background" );
|
||||
noWildcardReplace.add( "Button.default.borderColor" );
|
||||
noWildcardReplace.add( "ToggleButton.background" );
|
||||
}
|
||||
|
||||
//---- class ThemeLaf -----------------------------------------------------
|
||||
|
||||
@@ -69,7 +69,7 @@ class UIDefaultsLoader
|
||||
private static final String GLOBAL_PREFIX = "*.";
|
||||
|
||||
static void loadDefaultsFromProperties( Class<?> lookAndFeelClass, List<FlatDefaultsAddon> addons,
|
||||
Properties additionalDefaults, UIDefaults defaults )
|
||||
Properties additionalDefaults, boolean dark, UIDefaults defaults )
|
||||
{
|
||||
// determine classes in class hierarchy in reverse order
|
||||
ArrayList<Class<?>> lafClasses = new ArrayList<>();
|
||||
@@ -80,11 +80,11 @@ class UIDefaultsLoader
|
||||
lafClasses.add( 0, lafClass );
|
||||
}
|
||||
|
||||
loadDefaultsFromProperties( lafClasses, addons, additionalDefaults, defaults );
|
||||
loadDefaultsFromProperties( lafClasses, addons, additionalDefaults, dark, defaults );
|
||||
}
|
||||
|
||||
static void loadDefaultsFromProperties( List<Class<?>> lafClasses, List<FlatDefaultsAddon> addons,
|
||||
Properties additionalDefaults, UIDefaults defaults )
|
||||
Properties additionalDefaults, boolean dark, UIDefaults defaults )
|
||||
{
|
||||
try {
|
||||
// load core properties files
|
||||
@@ -121,14 +121,28 @@ class UIDefaultsLoader
|
||||
|
||||
// collect all platform specific keys (but do not modify properties)
|
||||
ArrayList<String> platformSpecificKeys = new ArrayList<>();
|
||||
for( Object key : properties.keySet() ) {
|
||||
if( ((String)key).startsWith( "[" ) )
|
||||
platformSpecificKeys.add( (String) key );
|
||||
for( Object okey : properties.keySet() ) {
|
||||
String key = (String) okey;
|
||||
if( key.startsWith( "[" ) &&
|
||||
(key.startsWith( "[win]" ) ||
|
||||
key.startsWith( "[mac]" ) ||
|
||||
key.startsWith( "[linux]" ) ||
|
||||
key.startsWith( "[light]" ) ||
|
||||
key.startsWith( "[dark]" )) )
|
||||
platformSpecificKeys.add( key );
|
||||
}
|
||||
|
||||
// remove platform specific properties and re-add only properties
|
||||
// for current platform, but with platform prefix removed
|
||||
if( !platformSpecificKeys.isEmpty() ) {
|
||||
// handle light/dark specific properties
|
||||
String lightOrDarkPrefix = dark ? "[dark]" : "[light]";
|
||||
for( String key : platformSpecificKeys ) {
|
||||
if( key.startsWith( lightOrDarkPrefix ) )
|
||||
properties.put( key.substring( lightOrDarkPrefix.length() ), properties.remove( key ) );
|
||||
}
|
||||
|
||||
// handle platform specific properties
|
||||
String platformPrefix =
|
||||
SystemInfo.IS_WINDOWS ? "[win]" :
|
||||
SystemInfo.IS_MAC ? "[mac]" :
|
||||
@@ -544,35 +558,37 @@ class UIDefaultsLoader
|
||||
}
|
||||
|
||||
/**
|
||||
* Syntax: lighten([color,]amount[,options]) or darken([color,]amount[,options])
|
||||
* Syntax: lighten(color,amount[,options]) or darken(color,amount[,options])
|
||||
* - color: a color (e.g. #f00) or a color function
|
||||
* - amount: percentage 0-100%
|
||||
* - options: [relative] [autoInverse] [lazy]
|
||||
* - options: [relative] [autoInverse] [lazy] [derived]
|
||||
*/
|
||||
private static Object parseColorLightenOrDarken( boolean lighten, List<String> params,
|
||||
Function<String, String> resolver, boolean reportError )
|
||||
{
|
||||
boolean isDerived = params.get( 0 ).endsWith( "%" );
|
||||
String colorStr = isDerived ? null : params.get( 0 );
|
||||
int nextParam = isDerived ? 0 : 1;
|
||||
int amount = parsePercentage( params.get( nextParam++ ) );
|
||||
String colorStr = params.get( 0 );
|
||||
int amount = parsePercentage( params.get( 1 ) );
|
||||
boolean relative = false;
|
||||
boolean autoInverse = false;
|
||||
boolean lazy = false;
|
||||
boolean derived = false;
|
||||
|
||||
if( params.size() > nextParam ) {
|
||||
String options = params.get( nextParam++ );
|
||||
if( params.size() > 2 ) {
|
||||
String options = params.get( 2 );
|
||||
relative = options.contains( "relative" );
|
||||
autoInverse = options.contains( "autoInverse" );
|
||||
lazy = options.contains( "lazy" );
|
||||
derived = options.contains( "derived" );
|
||||
}
|
||||
|
||||
ColorFunctions.ColorFunction function = lighten
|
||||
? new ColorFunctions.Lighten( amount, relative, autoInverse )
|
||||
: new ColorFunctions.Darken( amount, relative, autoInverse );
|
||||
|
||||
if( isDerived )
|
||||
return new DerivedColor( function );
|
||||
if( derived ) {
|
||||
ColorUIResource color = (ColorUIResource) parseColorOrFunction( resolver.apply( colorStr ), resolver, reportError );
|
||||
return new DerivedColor( ColorFunctions.applyFunctions( color, function ), function );
|
||||
}
|
||||
|
||||
if( lazy ) {
|
||||
return (LazyValue) t -> {
|
||||
|
||||
@@ -96,7 +96,7 @@ public class FlatCheckBoxIcon
|
||||
boolean selected = indeterminate || (c instanceof AbstractButton && ((AbstractButton)c).isSelected());
|
||||
|
||||
// paint focused border
|
||||
if( c.hasFocus() && focusWidth > 0 ) {
|
||||
if( FlatUIUtils.isPermanentFocusOwner( c ) && focusWidth > 0 ) {
|
||||
g2.setColor( focusColor );
|
||||
paintFocusBorder( g2 );
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ public class FlatHelpButtonIcon
|
||||
*/
|
||||
|
||||
boolean enabled = c.isEnabled();
|
||||
boolean focused = c.hasFocus();
|
||||
boolean focused = FlatUIUtils.isPermanentFocusOwner( c );
|
||||
|
||||
// paint focused border
|
||||
if( focused ) {
|
||||
|
||||
@@ -119,7 +119,7 @@ public class FlatBorder
|
||||
JViewport viewport = ((JScrollPane)c).getViewport();
|
||||
Component view = (viewport != null) ? viewport.getView() : null;
|
||||
if( view != null ) {
|
||||
if( view.hasFocus() )
|
||||
if( FlatUIUtils.isPermanentFocusOwner( view ) )
|
||||
return true;
|
||||
|
||||
if( (view instanceof JTable && ((JTable)view).isEditing()) ||
|
||||
@@ -133,17 +133,17 @@ public class FlatBorder
|
||||
return false;
|
||||
} else if( c instanceof JComboBox && ((JComboBox<?>)c).isEditable() ) {
|
||||
Component editorComponent = ((JComboBox<?>)c).getEditor().getEditorComponent();
|
||||
return (editorComponent != null) ? editorComponent.hasFocus() : false;
|
||||
return (editorComponent != null) ? FlatUIUtils.isPermanentFocusOwner( editorComponent ) : false;
|
||||
} else if( c instanceof JSpinner ) {
|
||||
JComponent editor = ((JSpinner)c).getEditor();
|
||||
if( editor instanceof JSpinner.DefaultEditor ) {
|
||||
JTextField textField = ((JSpinner.DefaultEditor)editor).getTextField();
|
||||
if( textField != null )
|
||||
return textField.hasFocus();
|
||||
return FlatUIUtils.isPermanentFocusOwner( textField );
|
||||
}
|
||||
return false;
|
||||
} else
|
||||
return c.hasFocus();
|
||||
return FlatUIUtils.isPermanentFocusOwner( c );
|
||||
}
|
||||
|
||||
protected boolean isTableCellEditor( Component c ) {
|
||||
|
||||
@@ -294,7 +294,9 @@ public class FlatButtonUI
|
||||
|
||||
// paint shadow
|
||||
Color shadowColor = def ? defaultShadowColor : this.shadowColor;
|
||||
if( !isToolBarButton && shadowColor != null && shadowWidth > 0 && focusWidth > 0 && !c.hasFocus() && c.isEnabled() ) {
|
||||
if( !isToolBarButton && shadowColor != null && shadowWidth > 0 && focusWidth > 0 &&
|
||||
!FlatUIUtils.isPermanentFocusOwner( c ) && c.isEnabled() )
|
||||
{
|
||||
g2.setColor( shadowColor );
|
||||
g2.fill( new RoundRectangle2D.Float( focusWidth, focusWidth + UIScale.scale( (float) shadowWidth ),
|
||||
width - focusWidth * 2, height - focusWidth * 2, arc, arc ) );
|
||||
@@ -382,7 +384,7 @@ public class FlatButtonUI
|
||||
if( hoverColor != null && b != null && b.getModel().isRollover() )
|
||||
return hoverColor;
|
||||
|
||||
if( focusedColor != null && c.hasFocus() )
|
||||
if( focusedColor != null && FlatUIUtils.isPermanentFocusOwner( c ) )
|
||||
return focusedColor;
|
||||
|
||||
return enabledColor;
|
||||
|
||||
@@ -81,7 +81,7 @@ public class FlatListUI
|
||||
selectionInactiveBackground = UIManager.getColor( "List.selectionInactiveBackground" );
|
||||
selectionInactiveForeground = UIManager.getColor( "List.selectionInactiveForeground" );
|
||||
|
||||
toggleSelectionColors( list.hasFocus() );
|
||||
toggleSelectionColors();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -100,13 +100,13 @@ public class FlatListUI
|
||||
@Override
|
||||
public void focusGained( FocusEvent e ) {
|
||||
super.focusGained( e );
|
||||
toggleSelectionColors( true );
|
||||
toggleSelectionColors();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void focusLost( FocusEvent e ) {
|
||||
super.focusLost( e );
|
||||
toggleSelectionColors( false );
|
||||
toggleSelectionColors();
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -120,8 +120,8 @@ public class FlatListUI
|
||||
* already used in applications. Then either the inactive colors are not used,
|
||||
* or the application has to be changed to extend a FlatLaf renderer.
|
||||
*/
|
||||
private void toggleSelectionColors( boolean focused ) {
|
||||
if( focused ) {
|
||||
private void toggleSelectionColors() {
|
||||
if( FlatUIUtils.isPermanentFocusOwner( list ) ) {
|
||||
if( list.getSelectionBackground() == selectionInactiveBackground )
|
||||
list.setSelectionBackground( selectionBackground );
|
||||
if( list.getSelectionForeground() == selectionInactiveForeground )
|
||||
|
||||
@@ -168,7 +168,7 @@ public class FlatPasswordFieldUI
|
||||
|
||||
protected void paintCapsLock( Graphics g ) {
|
||||
JTextComponent c = getComponent();
|
||||
if( !c.isFocusOwner() ||
|
||||
if( !FlatUIUtils.isPermanentFocusOwner( c ) ||
|
||||
!Toolkit.getDefaultToolkit().getLockingKeyState( KeyEvent.VK_CAPS_LOCK ) )
|
||||
return;
|
||||
|
||||
|
||||
@@ -201,7 +201,7 @@ public class FlatSliderUI
|
||||
}
|
||||
|
||||
if( coloredTrack != null ) {
|
||||
FlatUIUtils.setColor( g, slider.hasFocus() ? focusColor : (hover ? hoverColor : thumbColor), thumbColor );
|
||||
FlatUIUtils.setColor( g, FlatUIUtils.isPermanentFocusOwner( slider ) ? focusColor : (hover ? hoverColor : thumbColor), thumbColor );
|
||||
((Graphics2D)g).fill( coloredTrack );
|
||||
}
|
||||
|
||||
@@ -212,7 +212,7 @@ public class FlatSliderUI
|
||||
@Override
|
||||
public void paintThumb( Graphics g ) {
|
||||
FlatUIUtils.setColor( g, slider.isEnabled()
|
||||
? (slider.hasFocus() ? focusColor : (hover ? hoverColor : thumbColor))
|
||||
? (FlatUIUtils.isPermanentFocusOwner( slider ) ? focusColor : (hover ? hoverColor : thumbColor))
|
||||
: disabledForeground,
|
||||
thumbColor );
|
||||
|
||||
|
||||
@@ -318,7 +318,7 @@ public class FlatTabbedPaneUI
|
||||
boolean enabled = tabPane.isEnabled();
|
||||
g.setColor( enabled && tabPane.isEnabledAt( tabIndex ) && getRolloverTab() == tabIndex
|
||||
? hoverColor
|
||||
: (enabled && isSelected && tabPane.hasFocus()
|
||||
: (enabled && isSelected && FlatUIUtils.isPermanentFocusOwner( tabPane )
|
||||
? focusColor
|
||||
: (selectedBackground != null && enabled && isSelected
|
||||
? selectedBackground
|
||||
|
||||
@@ -113,7 +113,7 @@ public class FlatTableUI
|
||||
selectionInactiveBackground = UIManager.getColor( "Table.selectionInactiveBackground" );
|
||||
selectionInactiveForeground = UIManager.getColor( "Table.selectionInactiveForeground" );
|
||||
|
||||
toggleSelectionColors( table.hasFocus() );
|
||||
toggleSelectionColors();
|
||||
|
||||
int rowHeight = FlatUIUtils.getUIInt( "Table.rowHeight", 16 );
|
||||
if( rowHeight > 0 )
|
||||
@@ -160,13 +160,13 @@ public class FlatTableUI
|
||||
@Override
|
||||
public void focusGained( FocusEvent e ) {
|
||||
super.focusGained( e );
|
||||
toggleSelectionColors( true );
|
||||
toggleSelectionColors();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void focusLost( FocusEvent e ) {
|
||||
super.focusLost( e );
|
||||
toggleSelectionColors( false );
|
||||
toggleSelectionColors();
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -180,8 +180,8 @@ public class FlatTableUI
|
||||
* already used in applications. Then either the inactive colors are not used,
|
||||
* or the application has to be changed to extend a FlatLaf renderer.
|
||||
*/
|
||||
private void toggleSelectionColors( boolean focused ) {
|
||||
if( focused ) {
|
||||
private void toggleSelectionColors() {
|
||||
if( FlatUIUtils.isPermanentFocusOwner( table ) ) {
|
||||
if( table.getSelectionBackground() == selectionInactiveBackground )
|
||||
table.setSelectionBackground( selectionBackground );
|
||||
if( table.getSelectionForeground() == selectionInactiveForeground )
|
||||
|
||||
@@ -221,7 +221,7 @@ public class FlatTreeUI
|
||||
TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf )
|
||||
{
|
||||
boolean isEditing = (editingComponent != null && editingRow == row);
|
||||
boolean hasFocus = tree.hasFocus();
|
||||
boolean hasFocus = FlatUIUtils.isPermanentFocusOwner( tree );
|
||||
boolean cellHasFocus = hasFocus && (row == getLeadSelectionRow());
|
||||
boolean isSelected = tree.isRowSelected( row );
|
||||
boolean isDropRow = isDropRow( row );
|
||||
|
||||
@@ -24,6 +24,7 @@ import java.awt.Font;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.Insets;
|
||||
import java.awt.KeyboardFocusManager;
|
||||
import java.awt.Rectangle;
|
||||
import java.awt.RenderingHints;
|
||||
import java.awt.Shape;
|
||||
@@ -136,6 +137,10 @@ public class FlatUIUtils
|
||||
return c instanceof JComponent && Boolean.TRUE.equals( ((JComponent)c).getClientProperty( "JComboBox.isTableCellEditor" ) );
|
||||
}
|
||||
|
||||
public static boolean isPermanentFocusOwner( Component c ) {
|
||||
return (KeyboardFocusManager.getCurrentKeyboardFocusManager().getPermanentFocusOwner() == c);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets rendering hints used for painting.
|
||||
*/
|
||||
|
||||
@@ -32,8 +32,8 @@ public class DerivedColor
|
||||
{
|
||||
private final ColorFunction[] functions;
|
||||
|
||||
public DerivedColor( ColorFunction... functions ) {
|
||||
super( Color.red );
|
||||
public DerivedColor( Color defaultColor, ColorFunction... functions ) {
|
||||
super( (defaultColor != null) ? defaultColor : Color.red );
|
||||
this.functions = functions;
|
||||
}
|
||||
|
||||
|
||||
@@ -32,10 +32,6 @@
|
||||
@cellFocusColor=#000000
|
||||
@icon=#adadad
|
||||
|
||||
# Button
|
||||
@buttonHoverBackground=lighten(3%,autoInverse)
|
||||
@buttonPressedBackground=lighten(6%,autoInverse)
|
||||
|
||||
# Drop (use lazy colors for IntelliJ platform themes, which usually do not specify these colors)
|
||||
@dropCellBackground=darken(List.selectionBackground,10%,lazy)
|
||||
@dropCellForeground=lazy(List.selectionForeground)
|
||||
@@ -73,8 +69,8 @@ controlDkShadow=lighten($controlShadow,10%)
|
||||
#---- Button ----
|
||||
|
||||
Button.background=#4c5052
|
||||
Button.hoverBackground=@buttonHoverBackground
|
||||
Button.pressedBackground=@buttonPressedBackground
|
||||
Button.hoverBackground=lighten($Button.background,3%,derived autoInverse)
|
||||
Button.pressedBackground=lighten($Button.background,6%,derived autoInverse)
|
||||
|
||||
Button.borderColor=#5e6060
|
||||
Button.disabledBorderColor=#5e6060
|
||||
@@ -83,16 +79,16 @@ Button.hoverBorderColor=$Button.focusedBorderColor
|
||||
|
||||
Button.default.background=#365880
|
||||
Button.default.foreground=#bbbbbb
|
||||
Button.default.hoverBackground=@buttonHoverBackground
|
||||
Button.default.pressedBackground=@buttonPressedBackground
|
||||
Button.default.hoverBackground=lighten($Button.default.background,3%,derived autoInverse)
|
||||
Button.default.pressedBackground=lighten($Button.default.background,6%,derived autoInverse)
|
||||
Button.default.borderColor=#4c708c
|
||||
Button.default.hoverBorderColor=#537699
|
||||
Button.default.focusedBorderColor=#537699
|
||||
Button.default.focusColor=#43688c
|
||||
Button.default.boldText=true
|
||||
|
||||
Button.toolbar.hoverBackground=#4c5052
|
||||
Button.toolbar.pressedBackground=#555a5d
|
||||
Button.toolbar.hoverBackground=lighten($Button.background,1%,derived autoInverse)
|
||||
Button.toolbar.pressedBackground=lighten($Button.background,4%,derived autoInverse)
|
||||
|
||||
|
||||
#---- CheckBox ----
|
||||
@@ -105,8 +101,8 @@ CheckBox.icon.hoverBorderColor=$CheckBox.icon.focusedBorderColor
|
||||
CheckBox.icon.selectedFocusedBorderColor=#466D94
|
||||
CheckBox.icon.background=#43494A
|
||||
CheckBox.icon.disabledBackground=@background
|
||||
CheckBox.icon.hoverBackground=@buttonHoverBackground
|
||||
CheckBox.icon.pressedBackground=@buttonPressedBackground
|
||||
CheckBox.icon.hoverBackground=lighten($CheckBox.icon.background,3%,derived autoInverse)
|
||||
CheckBox.icon.pressedBackground=lighten($CheckBox.icon.background,6%,derived autoInverse)
|
||||
CheckBox.icon.selectedBackground=#43494A
|
||||
CheckBox.icon.checkmarkColor=#A7A7A7
|
||||
CheckBox.icon.disabledCheckmarkColor=#606060
|
||||
@@ -151,8 +147,8 @@ InternalFrame.inactiveTitleForeground=@disabledText
|
||||
InternalFrame.activeBorderColor=lighten($Component.borderColor,10%)
|
||||
InternalFrame.inactiveBorderColor=$Component.borderColor
|
||||
|
||||
InternalFrame.buttonHoverBackground=lighten(10%,autoInverse)
|
||||
InternalFrame.buttonPressedBackground=lighten(20%,autoInverse)
|
||||
InternalFrame.buttonHoverBackground=lighten($InternalFrame.activeTitleBackground,10%,derived autoInverse)
|
||||
InternalFrame.buttonPressedBackground=lighten($InternalFrame.activeTitleBackground,20%,derived autoInverse)
|
||||
InternalFrame.closeHoverBackground=lazy(Actions.Red)
|
||||
InternalFrame.closePressedBackground=darken(Actions.Red,10%,lazy)
|
||||
InternalFrame.closeHoverForeground=#fff
|
||||
@@ -218,7 +214,7 @@ Separator.foreground=#515151
|
||||
Slider.trackColor=#646464
|
||||
Slider.thumbColor=#A6A6A6
|
||||
Slider.tickColor=#888888
|
||||
Slider.hoverColor=darken(15%,autoInverse)
|
||||
Slider.hoverColor=darken($Slider.thumbColor,15%,derived autoInverse)
|
||||
Slider.disabledForeground=#4c5052
|
||||
|
||||
|
||||
@@ -253,11 +249,11 @@ TableHeader.bottomSeparatorColor=$TableHeader.separatorColor
|
||||
|
||||
#---- ToggleButton ----
|
||||
|
||||
ToggleButton.selectedBackground=#64696C
|
||||
ToggleButton.selectedBackground=lighten($ToggleButton.background,10%,derived autoInverse)
|
||||
ToggleButton.selectedForeground=@foreground
|
||||
ToggleButton.disabledSelectedBackground=#525658
|
||||
ToggleButton.disabledSelectedBackground=lighten($ToggleButton.background,3%,derived autoInverse)
|
||||
|
||||
ToggleButton.toolbar.selectedBackground=#5c6164
|
||||
ToggleButton.toolbar.selectedBackground=lighten($ToggleButton.background,7%,derived autoInverse)
|
||||
|
||||
|
||||
#---- ToolTip ----
|
||||
|
||||
@@ -32,10 +32,6 @@
|
||||
@cellFocusColor=#000000
|
||||
@icon=#afafaf
|
||||
|
||||
# Button
|
||||
@buttonHoverBackground=darken(3%,autoInverse)
|
||||
@buttonPressedBackground=darken(10%,autoInverse)
|
||||
|
||||
# Drop (use lazy colors for IntelliJ platform themes, which usually do not specify these colors)
|
||||
@dropCellBackground=lighten(List.selectionBackground,10%,lazy)
|
||||
@dropCellForeground=lazy(List.selectionForeground)
|
||||
@@ -74,8 +70,8 @@ controlDkShadow=darken($controlShadow,15%)
|
||||
|
||||
Button.background=#ffffff
|
||||
Button.focusedBackground=#e3f1fa
|
||||
Button.hoverBackground=@buttonHoverBackground
|
||||
Button.pressedBackground=@buttonPressedBackground
|
||||
Button.hoverBackground=darken($Button.background,3%,derived autoInverse)
|
||||
Button.pressedBackground=darken($Button.background,10%,derived autoInverse)
|
||||
|
||||
Button.borderColor=$Component.borderColor
|
||||
Button.disabledBorderColor=$Component.disabledBorderColor
|
||||
@@ -85,16 +81,16 @@ Button.hoverBorderColor=$Button.focusedBorderColor
|
||||
Button.default.background=$Button.background
|
||||
Button.default.foreground=@foreground
|
||||
Button.default.focusedBackground=$Button.focusedBackground
|
||||
Button.default.hoverBackground=@buttonHoverBackground
|
||||
Button.default.pressedBackground=@buttonPressedBackground
|
||||
Button.default.hoverBackground=$Button.hoverBackground
|
||||
Button.default.pressedBackground=$Button.pressedBackground
|
||||
Button.default.borderColor=#4F9EE3
|
||||
Button.default.hoverBorderColor=$Button.hoverBorderColor
|
||||
Button.default.focusedBorderColor=$Button.focusedBorderColor
|
||||
Button.default.focusColor=$Component.focusColor
|
||||
Button.default.borderWidth=2
|
||||
|
||||
Button.toolbar.hoverBackground=#dfdfdf
|
||||
Button.toolbar.pressedBackground=#d8d8d8
|
||||
Button.toolbar.hoverBackground=darken($Button.background,12%,derived autoInverse)
|
||||
Button.toolbar.pressedBackground=darken($Button.background,15%,derived autoInverse)
|
||||
|
||||
|
||||
#---- CheckBox ----
|
||||
@@ -107,8 +103,8 @@ CheckBox.icon.hoverBorderColor=$CheckBox.icon.focusedBorderColor
|
||||
CheckBox.icon.background=#FFFFFF
|
||||
CheckBox.icon.disabledBackground=@background
|
||||
CheckBox.icon.focusedBackground=$Button.focusedBackground
|
||||
CheckBox.icon.hoverBackground=@buttonHoverBackground
|
||||
CheckBox.icon.pressedBackground=@buttonPressedBackground
|
||||
CheckBox.icon.hoverBackground=$Button.hoverBackground
|
||||
CheckBox.icon.pressedBackground=$Button.pressedBackground
|
||||
CheckBox.icon.selectedBackground=#FFFFFF
|
||||
CheckBox.icon.checkmarkColor=#4F9EE3
|
||||
CheckBox.icon.disabledCheckmarkColor=#ABABAB
|
||||
@@ -158,8 +154,8 @@ InternalFrame.inactiveTitleForeground=@disabledText
|
||||
InternalFrame.activeBorderColor=darken($Component.borderColor,20%)
|
||||
InternalFrame.inactiveBorderColor=$Component.borderColor
|
||||
|
||||
InternalFrame.buttonHoverBackground=darken(10%,autoInverse)
|
||||
InternalFrame.buttonPressedBackground=darken(20%,autoInverse)
|
||||
InternalFrame.buttonHoverBackground=darken($InternalFrame.activeTitleBackground,10%,derived autoInverse)
|
||||
InternalFrame.buttonPressedBackground=darken($InternalFrame.activeTitleBackground,20%,derived autoInverse)
|
||||
InternalFrame.closeHoverBackground=lazy(Actions.Red)
|
||||
InternalFrame.closePressedBackground=darken(Actions.Red,10%,lazy)
|
||||
InternalFrame.closeHoverForeground=#fff
|
||||
@@ -225,7 +221,7 @@ Separator.foreground=#d1d1d1
|
||||
Slider.trackColor=#c4c4c4
|
||||
Slider.thumbColor=#6e6e6e
|
||||
Slider.tickColor=#888888
|
||||
Slider.hoverColor=lighten(15%,autoInverse)
|
||||
Slider.hoverColor=lighten($Slider.thumbColor,15%,derived autoInverse)
|
||||
Slider.disabledForeground=#c0c0c0
|
||||
|
||||
|
||||
@@ -260,11 +256,11 @@ TableHeader.bottomSeparatorColor=$TableHeader.separatorColor
|
||||
|
||||
#---- ToggleButton ----
|
||||
|
||||
ToggleButton.selectedBackground=#cfcfcf
|
||||
ToggleButton.selectedBackground=darken($ToggleButton.background,20%,derived autoInverse)
|
||||
ToggleButton.selectedForeground=@foreground
|
||||
ToggleButton.disabledSelectedBackground=#dfdfdf
|
||||
ToggleButton.disabledSelectedBackground=darken($ToggleButton.background,13%,derived autoInverse)
|
||||
|
||||
ToggleButton.toolbar.selectedBackground=#cfcfcf
|
||||
ToggleButton.toolbar.selectedBackground=$ToggleButton.selectedBackground
|
||||
|
||||
|
||||
#---- ToolTip ----
|
||||
|
||||
@@ -16,6 +16,16 @@
|
||||
|
||||
#---- Button ----
|
||||
|
||||
Button.startBackground=$Button.background
|
||||
Button.endBackground=$Button.background
|
||||
Button.startBorderColor=$Button.borderColor
|
||||
Button.endBorderColor=$Button.borderColor
|
||||
|
||||
Button.default.startBackground=$Button.default.background
|
||||
Button.default.endBackground=$Button.default.background
|
||||
Button.default.startBorderColor=$Button.default.borderColor
|
||||
Button.default.endBorderColor=$Button.default.borderColor
|
||||
|
||||
Button.hoverBorderColor=null
|
||||
Button.default.hoverBorderColor=null
|
||||
|
||||
@@ -23,3 +33,32 @@ Button.default.hoverBorderColor=null
|
||||
#---- HelpButton ----
|
||||
|
||||
HelpButton.hoverBorderColor=null
|
||||
|
||||
|
||||
#---- ToggleButton ----
|
||||
|
||||
ToggleButton.startBackground=$ToggleButton.background
|
||||
ToggleButton.endBackground=$ToggleButton.background
|
||||
[dark]ToggleButton.selectedBackground=lighten($ToggleButton.background,15%,derived autoInverse)
|
||||
[dark]ToggleButton.disabledSelectedBackground=lighten($ToggleButton.background,5%,derived autoInverse)
|
||||
|
||||
|
||||
#---- theme specific ----
|
||||
|
||||
[Gruvbox_Dark_Hard]ToggleButton.selectedBackground=$ToggleButton.selectedBackground
|
||||
[Gruvbox_Dark_Hard]ToggleButton.toolbar.selectedBackground=$ToggleButton.toolbar.selectedBackground
|
||||
|
||||
[Gruvbox_Dark_Medium]ToggleButton.selectedBackground=$ToggleButton.selectedBackground
|
||||
[Gruvbox_Dark_Medium]ToggleButton.toolbar.selectedBackground=$ToggleButton.toolbar.selectedBackground
|
||||
|
||||
[Gruvbox_Dark_Soft]ToggleButton.selectedBackground=$ToggleButton.selectedBackground
|
||||
[Gruvbox_Dark_Soft]ToggleButton.toolbar.selectedBackground=$ToggleButton.toolbar.selectedBackground
|
||||
|
||||
[Hiberbee_Dark]ToggleButton.selectedBackground=$ToggleButton.selectedBackground
|
||||
[Hiberbee_Dark]ToggleButton.selectedBackground=$ToggleButton.selectedBackground
|
||||
[Hiberbee_Dark]ToggleButton.toolbar.selectedBackground=$ToggleButton.toolbar.selectedBackground
|
||||
|
||||
[High_contrast]ToggleButton.selectedBackground=#fff
|
||||
[High_contrast]ToggleButton.selectedForeground=#000
|
||||
[High_contrast]ToggleButton.disabledSelectedBackground=#444
|
||||
[High_contrast]ToggleButton.toolbar.selectedBackground=#fff
|
||||
|
||||
@@ -30,6 +30,7 @@ plugins {
|
||||
dependencies {
|
||||
implementation( project( ":flatlaf-core" ) )
|
||||
implementation( project( ":flatlaf-extras" ) )
|
||||
implementation( project( ":flatlaf-intellij-themes" ) )
|
||||
implementation( "com.miglayout:miglayout-swing:5.2" )
|
||||
implementation( "com.jgoodies:jgoodies-forms:1.9.0" )
|
||||
}
|
||||
@@ -38,6 +39,7 @@ tasks {
|
||||
jar {
|
||||
dependsOn( ":flatlaf-core:jar" )
|
||||
dependsOn( ":flatlaf-extras:jar" )
|
||||
dependsOn( ":flatlaf-intellij-themes:jar" )
|
||||
|
||||
manifest {
|
||||
attributes( "Main-Class" to "com.formdev.flatlaf.demo.FlatLafDemo" )
|
||||
|
||||
@@ -81,6 +81,11 @@ class DataComponentsPanel
|
||||
JScrollPane scrollPane5 = new JScrollPane();
|
||||
table1 = new JTable();
|
||||
dndCheckBox = new JCheckBox();
|
||||
JPopupMenu popupMenu2 = new JPopupMenu();
|
||||
JMenuItem menuItem3 = new JMenuItem();
|
||||
JMenuItem menuItem4 = new JMenuItem();
|
||||
JMenuItem menuItem5 = new JMenuItem();
|
||||
JMenuItem menuItem6 = new JMenuItem();
|
||||
|
||||
//======== this ========
|
||||
setLayout(new MigLayout(
|
||||
@@ -126,6 +131,7 @@ class DataComponentsPanel
|
||||
@Override
|
||||
public String getElementAt(int i) { return values[i]; }
|
||||
});
|
||||
list1.setComponentPopupMenu(popupMenu2);
|
||||
scrollPane1.setViewportView(list1);
|
||||
}
|
||||
add(scrollPane1, "cell 1 0,growx");
|
||||
@@ -198,6 +204,7 @@ class DataComponentsPanel
|
||||
add(node1);
|
||||
}
|
||||
}));
|
||||
tree1.setComponentPopupMenu(popupMenu2);
|
||||
scrollPane3.setViewportView(tree1);
|
||||
}
|
||||
add(scrollPane3, "cell 1 1,growx");
|
||||
@@ -287,6 +294,7 @@ class DataComponentsPanel
|
||||
}))));
|
||||
}
|
||||
table1.setAutoCreateRowSorter(true);
|
||||
table1.setComponentPopupMenu(popupMenu2);
|
||||
scrollPane5.setViewportView(table1);
|
||||
}
|
||||
add(scrollPane5, "cell 1 2 2 1,growx,width 300");
|
||||
@@ -296,6 +304,27 @@ class DataComponentsPanel
|
||||
dndCheckBox.setMnemonic('D');
|
||||
dndCheckBox.addActionListener(e -> dndChanged());
|
||||
add(dndCheckBox, "cell 0 3 3 1");
|
||||
|
||||
//======== popupMenu2 ========
|
||||
{
|
||||
|
||||
//---- menuItem3 ----
|
||||
menuItem3.setText("Some Action");
|
||||
popupMenu2.add(menuItem3);
|
||||
|
||||
//---- menuItem4 ----
|
||||
menuItem4.setText("More Action");
|
||||
popupMenu2.add(menuItem4);
|
||||
popupMenu2.addSeparator();
|
||||
|
||||
//---- menuItem5 ----
|
||||
menuItem5.setText("No Action");
|
||||
popupMenu2.add(menuItem5);
|
||||
|
||||
//---- menuItem6 ----
|
||||
menuItem6.setText("Noop Action");
|
||||
popupMenu2.add(menuItem6);
|
||||
}
|
||||
// JFormDesigner - End of component initialization //GEN-END:initComponents
|
||||
|
||||
((JComboBox)((DefaultCellEditor)table1.getColumnModel().getColumn( 3 ).getCellEditor()).getComponent()).setEditable( true );
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
JFDML JFormDesigner: "7.0.0.0.194" Java: "13.0.1" encoding: "UTF-8"
|
||||
JFDML JFormDesigner: "7.0.1.0.272" Java: "13.0.2" encoding: "UTF-8"
|
||||
|
||||
new FormModel {
|
||||
contentType: "form/swing"
|
||||
@@ -39,6 +39,7 @@ new FormModel {
|
||||
addElement( "item 14" )
|
||||
addElement( "item 15" )
|
||||
}
|
||||
"componentPopupMenu": new FormReference( "popupMenu2" )
|
||||
auxiliary() {
|
||||
"JavaCodeGenerator.typeParameters": "String"
|
||||
"JavaCodeGenerator.variableLocal": false
|
||||
@@ -143,6 +144,7 @@ new FormModel {
|
||||
} )
|
||||
} )
|
||||
} )
|
||||
"componentPopupMenu": new FormReference( "popupMenu2" )
|
||||
auxiliary() {
|
||||
"JavaCodeGenerator.variableLocal": false
|
||||
}
|
||||
@@ -299,6 +301,7 @@ new FormModel {
|
||||
add( null )
|
||||
} )
|
||||
"autoCreateRowSorter": true
|
||||
"componentPopupMenu": new FormReference( "popupMenu2" )
|
||||
auxiliary() {
|
||||
"JavaCodeGenerator.variableLocal": false
|
||||
}
|
||||
@@ -321,5 +324,29 @@ new FormModel {
|
||||
"location": new java.awt.Point( 0, 0 )
|
||||
"size": new java.awt.Dimension( 790, 715 )
|
||||
} )
|
||||
add( new FormContainer( "javax.swing.JPopupMenu", new FormLayoutManager( class javax.swing.JPopupMenu ) ) {
|
||||
name: "popupMenu2"
|
||||
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||
name: "menuItem3"
|
||||
"text": "Some Action"
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||
name: "menuItem4"
|
||||
"text": "More Action"
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JPopupMenu$Separator" ) {
|
||||
name: "separator1"
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||
name: "menuItem5"
|
||||
"text": "No Action"
|
||||
} )
|
||||
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||
name: "menuItem6"
|
||||
"text": "Noop Action"
|
||||
} )
|
||||
}, new FormLayoutConstraints( null ) {
|
||||
"location": new java.awt.Point( 0, 740 )
|
||||
} )
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ public class DemoPrefs
|
||||
if( IntelliJTheme.ThemeLaf.class.getName().equals( lafClassName ) ) {
|
||||
String theme = state.get( KEY_LAF_THEME, "" );
|
||||
if( theme.startsWith( RESOURCE_PREFIX ) )
|
||||
IntelliJTheme.install( IJThemesPanel.class.getResourceAsStream( theme.substring( RESOURCE_PREFIX.length() ) ) );
|
||||
IntelliJTheme.install( IJThemesPanel.class.getResourceAsStream( IJThemesPanel.THEMES_PACKAGE + theme.substring( RESOURCE_PREFIX.length() ) ) );
|
||||
else if( theme.startsWith( FILE_PREFIX ) )
|
||||
FlatLaf.install( IntelliJTheme.createLaf( new FileInputStream( theme.substring( FILE_PREFIX.length() ) ) ) );
|
||||
else
|
||||
|
||||
@@ -0,0 +1,170 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.demo.intellijthemes;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.StandardOpenOption;
|
||||
|
||||
/**
|
||||
* This tool creates look and feel classes for all themes listed in themes.json.
|
||||
*
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class IJThemesClassGenerator
|
||||
{
|
||||
public static void main( String[] args ) {
|
||||
IJThemesManager themesManager = new IJThemesManager();
|
||||
themesManager.loadBundledThemes();
|
||||
|
||||
String toPath = "../flatlaf-intellij-themes/src/main/java" + IJThemesPanel.THEMES_PACKAGE + "..";
|
||||
|
||||
StringBuilder allInfos = new StringBuilder();
|
||||
|
||||
for( IJThemeInfo ti : themesManager.bundledThemes ) {
|
||||
if( ti.sourceCodeUrl == null || ti.sourceCodePath == null )
|
||||
continue;
|
||||
|
||||
generateClass( ti, toPath, allInfos );
|
||||
}
|
||||
|
||||
Path out = new File( toPath, "FlatAllIJThemes.java" ).toPath();
|
||||
String allThemes = CLASS_HEADER + ALL_THEMES_TEMPLATE.replace( "${allInfos}", allInfos );
|
||||
writeFile( out, allThemes );
|
||||
}
|
||||
|
||||
private static void generateClass( IJThemeInfo ti, String toPath, StringBuilder allInfos ) {
|
||||
String resourceName = ti.resourceName;
|
||||
String resourcePath = null;
|
||||
int resSep = resourceName.indexOf( '/' );
|
||||
if( resSep >= 0 ) {
|
||||
resourcePath = resourceName.substring( 0, resSep );
|
||||
resourceName = resourceName.substring( resSep + 1 );
|
||||
}
|
||||
|
||||
String name = ti.name;
|
||||
int nameSep = name.indexOf( '/' );
|
||||
if( nameSep >= 0 )
|
||||
name = name.substring( nameSep + 1 ).trim();
|
||||
|
||||
StringBuilder buf = new StringBuilder();
|
||||
for( String n : name.split( " " ) ) {
|
||||
if( n.length() == 0 || n.equals( "-" ) )
|
||||
continue;
|
||||
|
||||
if( Character.isUpperCase( n.charAt( 0 ) ) )
|
||||
buf.append( n );
|
||||
else
|
||||
buf.append( Character.toUpperCase( n.charAt( 0 ) ) ).append( n.substring( 1 ) );
|
||||
}
|
||||
|
||||
String subPackage = (resourcePath != null) ? '.' + resourcePath.replace( "-", "" ) : "";
|
||||
String themeClass = "Flat" + buf + "IJTheme";
|
||||
String themeFile = resourceName;
|
||||
|
||||
String classBody = CLASS_HEADER + CLASS_TEMPLATE
|
||||
.replace( "${subPackage}", subPackage )
|
||||
.replace( "${themeClass}", themeClass )
|
||||
.replace( "${themeFile}", themeFile );
|
||||
|
||||
File toDir = new File( toPath );
|
||||
if( resourcePath != null )
|
||||
toDir = new File( toDir, resourcePath.replace( "-", "" ) );
|
||||
|
||||
Path out = new File( toDir, themeClass + ".java" ).toPath();
|
||||
writeFile( out, classBody );
|
||||
|
||||
if( allInfos.length() > 0 )
|
||||
allInfos.append( '\n' );
|
||||
allInfos.append( THEME_TEMPLATE
|
||||
.replace( "${subPackage}", subPackage )
|
||||
.replace( "${themeClass}", themeClass )
|
||||
.replace( "${themeName}", name ) );
|
||||
}
|
||||
|
||||
private static void writeFile( Path out, String content ) {
|
||||
try {
|
||||
Files.write( out, content.getBytes( StandardCharsets.ISO_8859_1 ),
|
||||
StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING );
|
||||
} catch( IOException ex ) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private static final String CLASS_HEADER =
|
||||
"/*\n" +
|
||||
" * Copyright 2020 FormDev Software GmbH\n" +
|
||||
" *\n" +
|
||||
" * Licensed under the Apache License, Version 2.0 (the \"License\");\n" +
|
||||
" * you may not use this file except in compliance with the License.\n" +
|
||||
" * You may obtain a copy of the License at\n" +
|
||||
" *\n" +
|
||||
" * https://www.apache.org/licenses/LICENSE-2.0\n" +
|
||||
" *\n" +
|
||||
" * Unless required by applicable law or agreed to in writing, software\n" +
|
||||
" * distributed under the License is distributed on an \"AS IS\" BASIS,\n" +
|
||||
" * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n" +
|
||||
" * See the License for the specific language governing permissions and\n" +
|
||||
" * limitations under the License.\n" +
|
||||
" */\n" +
|
||||
"\n";
|
||||
|
||||
private static final String CLASS_TEMPLATE =
|
||||
"package com.formdev.flatlaf.intellijthemes${subPackage};\n" +
|
||||
"\n" +
|
||||
"import com.formdev.flatlaf.IntelliJTheme;\n" +
|
||||
"\n" +
|
||||
"/**\n" +
|
||||
" * @author Karl Tauber\n" +
|
||||
" */\n" +
|
||||
"public class ${themeClass}\n" +
|
||||
" extends IntelliJTheme.ThemeLaf\n" +
|
||||
"{\n" +
|
||||
" public static boolean install( ) {\n" +
|
||||
" try {\n" +
|
||||
" return install( new ${themeClass}() );\n" +
|
||||
" } catch( RuntimeException ex ) {\n" +
|
||||
" return false;\n" +
|
||||
" }\n" +
|
||||
" }\n" +
|
||||
"\n" +
|
||||
" public ${themeClass}() {\n" +
|
||||
" super( Utils.loadTheme( \"${themeFile}\" ) );\n" +
|
||||
" }\n" +
|
||||
"}\n";
|
||||
|
||||
private static final String ALL_THEMES_TEMPLATE =
|
||||
"package com.formdev.flatlaf.intellijthemes;\n" +
|
||||
"\n" +
|
||||
"import javax.swing.UIManager.LookAndFeelInfo;\n" +
|
||||
"\n" +
|
||||
"/**\n" +
|
||||
" * @author Karl Tauber\n" +
|
||||
" */\n" +
|
||||
"public class FlatAllIJThemes\n" +
|
||||
"{\n" +
|
||||
" public static final LookAndFeelInfo[] INFOS = {\n" +
|
||||
"${allInfos}\n" +
|
||||
" };\n" +
|
||||
"}\n";
|
||||
|
||||
private static final String THEME_TEMPLATE =
|
||||
" new LookAndFeelInfo( \"${themeName}\", \"com.formdev.flatlaf.intellijthemes${subPackage}.${themeClass}\" ),";
|
||||
}
|
||||
@@ -60,6 +60,8 @@ import net.miginfocom.swing.*;
|
||||
public class IJThemesPanel
|
||||
extends JPanel
|
||||
{
|
||||
public static final String THEMES_PACKAGE = "/com/formdev/flatlaf/intellijthemes/themes/";
|
||||
|
||||
private final IJThemesManager themesManager = new IJThemesManager();
|
||||
private final List<IJThemeInfo> themes = new ArrayList<>();
|
||||
private final HashMap<Integer, String> categories = new HashMap<>();
|
||||
@@ -237,7 +239,7 @@ public class IJThemesPanel
|
||||
showInformationDialog( "Failed to load '" + themeInfo.themeFile + "'.", ex );
|
||||
}
|
||||
} else {
|
||||
IntelliJTheme.install( getClass().getResourceAsStream( themeInfo.resourceName ) );
|
||||
IntelliJTheme.install( getClass().getResourceAsStream( THEMES_PACKAGE + themeInfo.resourceName ) );
|
||||
DemoPrefs.getState().put( DemoPrefs.KEY_LAF_THEME, DemoPrefs.RESOURCE_PREFIX + themeInfo.resourceName );
|
||||
}
|
||||
|
||||
@@ -260,7 +262,7 @@ public class IJThemesPanel
|
||||
|
||||
// save theme
|
||||
try {
|
||||
Files.copy( getClass().getResourceAsStream( themeInfo.resourceName ),
|
||||
Files.copy( getClass().getResourceAsStream( THEMES_PACKAGE + themeInfo.resourceName ),
|
||||
file.toPath(), StandardCopyOption.REPLACE_EXISTING );
|
||||
} catch( IOException ex ) {
|
||||
showInformationDialog( "Failed to save theme to '" + file + "'.", ex );
|
||||
@@ -273,7 +275,7 @@ public class IJThemesPanel
|
||||
File licenseFile = new File( file.getParentFile(),
|
||||
StringUtils.removeTrailing( file.getName(), ".theme.json" ) +
|
||||
themeInfo.licenseFile.substring( themeInfo.licenseFile.indexOf( '.' ) ) );
|
||||
Files.copy( getClass().getResourceAsStream( themeInfo.licenseFile ),
|
||||
Files.copy( getClass().getResourceAsStream( THEMES_PACKAGE + themeInfo.licenseFile ),
|
||||
licenseFile.toPath(), StandardCopyOption.REPLACE_EXISTING );
|
||||
} catch( IOException ex ) {
|
||||
showInformationDialog( "Failed to save theme license to '" + file + "'.", ex );
|
||||
|
||||
@@ -46,7 +46,7 @@ public class IJThemesUpdater
|
||||
else if( fromUrl.contains( "gitlab.com" ) )
|
||||
fromUrl = fromUrl.replace( "/blob/", "/raw/" );
|
||||
|
||||
String toPath = "src/main/resources/com/formdev/flatlaf/demo/intellijthemes/" + ti.resourceName;
|
||||
String toPath = "../flatlaf-intellij-themes/src/main/resources" + IJThemesPanel.THEMES_PACKAGE + ti.resourceName;
|
||||
|
||||
download( fromUrl, toPath );
|
||||
}
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 CloudCannon
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -1,119 +0,0 @@
|
||||
{
|
||||
"name": "IntelliJ Light Preview",
|
||||
"dark": false,
|
||||
"author": "",
|
||||
"editorScheme": "/Light.xml",
|
||||
|
||||
"ui": {
|
||||
"*": {
|
||||
"selectionBackground": "#2675BF",
|
||||
"selectionBackgroundInactive": "#D5D5D5",
|
||||
"selectionInactiveBackground": "#D5D5D5",
|
||||
|
||||
"disabledForeground": "#8C8C8C",
|
||||
"disabledText": "#8C8C8C",
|
||||
"inactiveForeground": "#8C8C8C",
|
||||
|
||||
"infoForeground": "#808080",
|
||||
"modifiedItemForeground": "#005ad9",
|
||||
|
||||
"acceleratorSelectionForeground": "#FFFFFF",
|
||||
|
||||
"separatorColor": "#d1d1d1",
|
||||
"separatorForeground": "#999999"
|
||||
},
|
||||
|
||||
"Borders": {
|
||||
"color": "#D1D1D1",
|
||||
"ContrastBorderColor": "#D1D1D1"
|
||||
},
|
||||
|
||||
"Button": {
|
||||
"shadowColor": "#A6A6A620",
|
||||
"startBorderColor": "#C4C4C4",
|
||||
"endBorderColor": "#C4C4C4",
|
||||
"default": {
|
||||
"foreground": "#FFFFFF",
|
||||
"startBackground": "#528CC7",
|
||||
"endBackground": "#4989CC",
|
||||
"startBorderColor": "#487EB8",
|
||||
"endBorderColor": "#346DAD",
|
||||
"shadowColor": "#A6A6A650",
|
||||
"focusedBorderColor": "#A9C9F5"
|
||||
}
|
||||
},
|
||||
|
||||
"ComboBox": {
|
||||
"background": "#FFFFFF",
|
||||
"nonEditableBackground": "#FFFFFF",
|
||||
"ArrowButton.background": "#fafafa"
|
||||
},
|
||||
|
||||
"ComboBoxButton.background": "#FFFFFF",
|
||||
|
||||
"CompletionPopup": {
|
||||
"selectionBackground": "#c5dffc",
|
||||
"selectionInactiveBackground": "#e0e0e0"
|
||||
},
|
||||
|
||||
"Component.borderColor": "#C4C4C4",
|
||||
|
||||
"DefaultTabs.background": "#F2F2F2",
|
||||
|
||||
"EditorTabs.underlinedTabBackground": "#ffffff",
|
||||
|
||||
"Editor": {
|
||||
"background": "#cccccc",
|
||||
"foreground": "#737373",
|
||||
"shortcutForeground": "#4274A6"
|
||||
},
|
||||
|
||||
"Label.errorForeground": "#C7222D",
|
||||
|
||||
"Link": {
|
||||
"activeForeground": "#2470B3",
|
||||
"hoverForeground": "#2470B3",
|
||||
"pressedForeground": "#2470B3",
|
||||
"visitedForeground": "#2470B3",
|
||||
"secondaryForeground": "#77a8d9"
|
||||
},
|
||||
|
||||
"Notification": {
|
||||
"borderColor": "#D1D1D1"
|
||||
},
|
||||
|
||||
"Menu.borderColor": "#d9d9d9",
|
||||
|
||||
"Panel.background": "#F2F2F2",
|
||||
|
||||
"PasswordField.background": "#FFFFFF",
|
||||
|
||||
"Popup": {
|
||||
"separatorColor": "#d9d9d9",
|
||||
"Advertiser.borderColor": "#D1D1D1",
|
||||
"borderColor": "#adadad"
|
||||
},
|
||||
|
||||
"ProgressBar": {
|
||||
"trackColor": "#D1D1D1",
|
||||
"progressColor": "#1E82E6",
|
||||
"indeterminateStartColor": "#91C5F2",
|
||||
"indeterminateEndColor": "#1E82E6"
|
||||
},
|
||||
|
||||
"StatusBar.borderColor": "#D1D1D1",
|
||||
|
||||
"ToolWindow.Header.inactiveBackground": "#F2F2F2",
|
||||
|
||||
"Tree.rowHeight": 20
|
||||
},
|
||||
|
||||
"icons": {
|
||||
|
||||
"ColorPalette": {
|
||||
"Checkbox.Border.Default": "#b0b0b0",
|
||||
"Checkbox.Background.Selected": "#4F9EE3",
|
||||
"Checkbox.Border.Selected": "#4B97D9"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,127 +0,0 @@
|
||||
{
|
||||
"name": "gruvbox-theme",
|
||||
"dark": true,
|
||||
"author": "Vincent Parizet",
|
||||
"editorScheme": "/gruvbox_theme.xml",
|
||||
"ui": {
|
||||
"*": {
|
||||
"background": "#282828",
|
||||
"foreground": "#fbf1c7",
|
||||
|
||||
"infoForeground": "#ebdbb2",
|
||||
|
||||
"lightSelectionBackground": "#3c3836",
|
||||
"selectionBackground": "#4F4945",
|
||||
"selectionForeground": "#fbf1c7",
|
||||
|
||||
"selectionBackgroundInactive": "#3c3836",
|
||||
|
||||
"selectedBackground": "#1d2021",
|
||||
"selectedForeground": "#fbf1c7",
|
||||
"selectedInactiveBackground": "#3c3836",
|
||||
"selectedBackgroundInactive": "#3c3836",
|
||||
|
||||
"hoverBackground": "#28282866",
|
||||
|
||||
"borderColor": "#3c3836",
|
||||
"disabledBorderColor": "#1d2021",
|
||||
|
||||
"separatorColor": "#3c3836"
|
||||
},
|
||||
"ActionButton": {
|
||||
"hoverBackground": "#504945"
|
||||
},
|
||||
"Button": {
|
||||
"startBackground": "#282828",
|
||||
"endBackground": "#282828",
|
||||
"startBorderColor": "#504945",
|
||||
"endBorderColor": "#504945",
|
||||
|
||||
"default": {
|
||||
"foreground": "#fbf1c7",
|
||||
"startBackground": "#32302F",
|
||||
"endBackground": "#32302F",
|
||||
"startBorderColor": "#4F4945",
|
||||
"endBorderColor": "#4F4945",
|
||||
"focusedBorderColor": "#282828"
|
||||
}
|
||||
},
|
||||
"ComboBox": {
|
||||
"nonEditableBackground": "#282828",
|
||||
"ArrowButton": {
|
||||
"iconColor": "#fbf1c7",
|
||||
"disabledIconColor": "#fbf1c7",
|
||||
"nonEditableBackground": "#282828"
|
||||
}
|
||||
},
|
||||
"EditorTabs": {
|
||||
"selectedBackground": "#3c3836",
|
||||
"underlineColor": "#83a598",
|
||||
"inactiveMaskColor": "#28282866"
|
||||
},
|
||||
"ToolWindow": {
|
||||
"Header": {
|
||||
"background": "#3c3836",
|
||||
"inactiveBackground": "#282828"
|
||||
},
|
||||
|
||||
"HeaderTab": {
|
||||
"selectedInactiveBackground": "#1d2021",
|
||||
"hoverInactiveBackground": "#1d2021"
|
||||
}
|
||||
},
|
||||
"Table": {
|
||||
"stripeColor": "#3c3836",
|
||||
"lightSelectionForeground": "#fbf1c7",
|
||||
"lightSelectionInactiveForeground":"#a89984",
|
||||
"lightSelectionBackground": "#504945",
|
||||
"lightSelectionInactiveBackground":"#282828"
|
||||
},
|
||||
"FileColor": {
|
||||
"Yellow": "#fabd2f22",
|
||||
"Green": "#b8bb2622",
|
||||
"Blue": "#83a59822",
|
||||
"Violet": "#d3869b22",
|
||||
"Orange": "#fe801922",
|
||||
"Rose": "#cc241d22"
|
||||
},
|
||||
"Link": {
|
||||
"activeForeground": "#83a598",
|
||||
"hoverForeground": "#83a598",
|
||||
"pressedForeground": "#83a598",
|
||||
"visitedForeground": "#83a598"
|
||||
}
|
||||
},
|
||||
"icons": {
|
||||
"ColorPalette": {
|
||||
"Actions.Grey": "#928374",
|
||||
"Actions.Red": "#fb4934",
|
||||
"Actions.Yellow": "#fabd2f",
|
||||
"Actions.Green": "#98971a",
|
||||
"Actions.Blue": "#458588",
|
||||
"Actions.GreyInline.Dark": "#fbf1c7",
|
||||
|
||||
"Objects.Grey": "#928374FF",
|
||||
"Objects.RedStatus": "#fb4934FF",
|
||||
"Objects.Red": "#fb4934FF",
|
||||
"Objects.Pink": "#d3869bFF",
|
||||
"Objects.Yellow": "#fabd2fFF",
|
||||
"Objects.Green": "#98971aFF",
|
||||
"Objects.Blue": "#458588FF",
|
||||
"Objects.Purple": "#b16286FF",
|
||||
"Objects.BlackText": "#000000FF",
|
||||
"Objects.YellowDark": "#d79921FF",
|
||||
"Objects.GreenAndroid": "#b8bb26FF",
|
||||
|
||||
"Checkbox.Background.Default.Dark": "#282828",
|
||||
"Checkbox.Border.Default.Dark": "#fbf1c7",
|
||||
"Checkbox.Foreground.Selected.Dark": "#fbf1c7",
|
||||
"Checkbox.Focus.Wide.Dark": "#458588",
|
||||
"Checkbox.Focus.Thin.Default.Dark": "#458588",
|
||||
"Checkbox.Focus.Thin.Selected.Dark": "#458588",
|
||||
"Checkbox.Background.Disabled.Dark": "#282828",
|
||||
"Checkbox.Border.Disabled.Dark": "#a89984",
|
||||
"Checkbox.Foreground.Disabled.Dark": "#a89984"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -69,19 +69,33 @@
|
||||
"sourceCodeUrl": "https://github.com/OlyaB/GreyTheme",
|
||||
"sourceCodePath": "blob/master/src/Gray.theme.json"
|
||||
},
|
||||
"gruvbox_theme.theme.json": {
|
||||
"name": "Gruvbox",
|
||||
"gruvbox_dark_hard.theme.json": {
|
||||
"name": "Gruvbox Dark Hard",
|
||||
"license": "MIT",
|
||||
"licenseFile": "gruvbox_theme.LICENSE.txt",
|
||||
"sourceCodeUrl": "https://github.com/Vincent-P/gruvbox-intellij-theme",
|
||||
"sourceCodePath": "blob/master/src/main/resources/gruvbox_theme.theme.json"
|
||||
"sourceCodePath": "blob/master/src/main/resources/gruvbox_dark_hard.theme.json"
|
||||
},
|
||||
"Hiberbee.theme.json": {
|
||||
"name": "Hiberbee",
|
||||
"gruvbox_dark_medium.theme.json": {
|
||||
"name": "Gruvbox Dark Medium",
|
||||
"license": "MIT",
|
||||
"licenseFile": "gruvbox_theme.LICENSE.txt",
|
||||
"sourceCodeUrl": "https://github.com/Vincent-P/gruvbox-intellij-theme",
|
||||
"sourceCodePath": "blob/master/src/main/resources/gruvbox_dark_medium.theme.json"
|
||||
},
|
||||
"gruvbox_dark_soft.theme.json": {
|
||||
"name": "Gruvbox Dark Soft",
|
||||
"license": "MIT",
|
||||
"licenseFile": "gruvbox_theme.LICENSE.txt",
|
||||
"sourceCodeUrl": "https://github.com/Vincent-P/gruvbox-intellij-theme",
|
||||
"sourceCodePath": "blob/master/src/main/resources/gruvbox_dark_soft.theme.json"
|
||||
},
|
||||
"HiberbeeDark.theme.json": {
|
||||
"name": "Hiberbee Dark",
|
||||
"license": "MIT",
|
||||
"licenseFile": "Hiberbee.LICENSE.txt",
|
||||
"sourceCodeUrl": "https://github.com/Hiberbee/code-highlight-themes",
|
||||
"sourceCodePath": "blob/master/src/main/resources/Hiberbee.theme.json"
|
||||
"sourceCodePath": "blob/master/src/main/resources/HiberbeeDark.theme.json"
|
||||
},
|
||||
"HighContrast.theme.json": {
|
||||
"name": "High contrast",
|
||||
@@ -90,13 +104,6 @@
|
||||
"sourceCodeUrl": "https://github.com/OlyaB/HighContrastTheme",
|
||||
"sourceCodePath": "blob/master/src/HighContrast.theme.json"
|
||||
},
|
||||
"Light.theme.json": {
|
||||
"name": "IntelliJ Light Preview",
|
||||
"license": "MIT",
|
||||
"licenseFile": "Light.LICENSE.txt",
|
||||
"sourceCodeUrl": "https://github.com/OlyaB/IntelliJLightTheme",
|
||||
"sourceCodePath": "blob/master/src/Light.theme.json"
|
||||
},
|
||||
"LightFlatTheme.theme.json": {
|
||||
"name": "Light Flat",
|
||||
"license": "MIT",
|
||||
|
||||
137
flatlaf-intellij-themes/build.gradle.kts
Normal file
137
flatlaf-intellij-themes/build.gradle.kts
Normal file
@@ -0,0 +1,137 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
plugins {
|
||||
`java-library`
|
||||
`maven-publish`
|
||||
id( "com.jfrog.bintray" )
|
||||
id( "com.jfrog.artifactory" )
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation( project( ":flatlaf-core" ) )
|
||||
}
|
||||
|
||||
tasks {
|
||||
assemble {
|
||||
dependsOn(
|
||||
"sourcesJar",
|
||||
"javadocJar"
|
||||
)
|
||||
}
|
||||
|
||||
javadoc {
|
||||
options {
|
||||
this as StandardJavadocDocletOptions
|
||||
tags = listOf( "uiDefault", "clientProperty" )
|
||||
}
|
||||
isFailOnError = false
|
||||
}
|
||||
|
||||
register( "sourcesJar", Jar::class ) {
|
||||
archiveClassifier.set( "sources" )
|
||||
|
||||
from( sourceSets.main.get().allJava )
|
||||
}
|
||||
|
||||
register( "javadocJar", Jar::class ) {
|
||||
archiveClassifier.set( "javadoc" )
|
||||
|
||||
from( javadoc )
|
||||
}
|
||||
}
|
||||
|
||||
publishing {
|
||||
publications {
|
||||
create<MavenPublication>( "maven" ) {
|
||||
artifactId = "flatlaf-intellij-themes"
|
||||
groupId = "com.formdev"
|
||||
|
||||
from( components["java"] )
|
||||
|
||||
artifact( tasks["sourcesJar"] )
|
||||
artifact( tasks["javadocJar"] )
|
||||
|
||||
pom {
|
||||
name.set( "FlatLaf IntelliJ Themes Pack" )
|
||||
description.set( "Flat Look and Feel IntelliJ Themes Pack" )
|
||||
url.set( "https://github.com/JFormDesigner/FlatLaf" )
|
||||
|
||||
licenses {
|
||||
license {
|
||||
name.set( "The Apache License, Version 2.0" )
|
||||
url.set( "https://www.apache.org/licenses/LICENSE-2.0.txt" )
|
||||
}
|
||||
}
|
||||
|
||||
developers {
|
||||
developer {
|
||||
name.set( "Karl Tauber" )
|
||||
organization.set( "FormDev Software GmbH" )
|
||||
organizationUrl.set( "https://www.formdev.com/" )
|
||||
}
|
||||
}
|
||||
|
||||
scm {
|
||||
url.set( "https://github.com/JFormDesigner/FlatLaf" )
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bintray {
|
||||
user = rootProject.extra["bintray.user"] as String?
|
||||
key = rootProject.extra["bintray.key"] as String?
|
||||
|
||||
setPublications( "maven" )
|
||||
|
||||
with( pkg ) {
|
||||
repo = "flatlaf"
|
||||
name = "flatlaf-intellij-themes"
|
||||
setLicenses( "Apache-2.0" )
|
||||
vcsUrl = "https://github.com/JFormDesigner/FlatLaf"
|
||||
|
||||
with( version ) {
|
||||
name = project.version.toString()
|
||||
}
|
||||
|
||||
publish = rootProject.extra["bintray.publish"] as Boolean
|
||||
dryRun = rootProject.extra["bintray.dryRun"] as Boolean
|
||||
}
|
||||
}
|
||||
|
||||
artifactory {
|
||||
setContextUrl( "https://oss.jfrog.org" )
|
||||
|
||||
publish( closureOf<org.jfrog.gradle.plugin.artifactory.dsl.PublisherConfig> {
|
||||
repository( delegateClosureOf<groovy.lang.GroovyObject> {
|
||||
setProperty( "repoKey", "oss-snapshot-local" )
|
||||
setProperty( "username", rootProject.extra["bintray.user"] as String? )
|
||||
setProperty( "password", rootProject.extra["bintray.key"] as String? )
|
||||
} )
|
||||
|
||||
defaults( delegateClosureOf<groovy.lang.GroovyObject> {
|
||||
invokeMethod( "publications", "maven" )
|
||||
setProperty( "publishArtifacts", true )
|
||||
setProperty( "publishPom", true )
|
||||
} )
|
||||
} )
|
||||
|
||||
resolve( delegateClosureOf<org.jfrog.gradle.plugin.artifactory.dsl.ResolverConfig> {
|
||||
setProperty( "repoKey", "jcenter" )
|
||||
} )
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import javax.swing.UIManager.LookAndFeelInfo;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatAllIJThemes
|
||||
{
|
||||
public static final LookAndFeelInfo[] INFOS = {
|
||||
new LookAndFeelInfo( "Arc", "com.formdev.flatlaf.intellijthemes.FlatArcIJTheme" ),
|
||||
new LookAndFeelInfo( "Arc - Orange", "com.formdev.flatlaf.intellijthemes.FlatArcOrangeIJTheme" ),
|
||||
new LookAndFeelInfo( "Cyan light", "com.formdev.flatlaf.intellijthemes.FlatCyanLightIJTheme" ),
|
||||
new LookAndFeelInfo( "Dark Flat", "com.formdev.flatlaf.intellijthemes.FlatDarkFlatIJTheme" ),
|
||||
new LookAndFeelInfo( "Dark purple", "com.formdev.flatlaf.intellijthemes.FlatDarkPurpleIJTheme" ),
|
||||
new LookAndFeelInfo( "Dracula", "com.formdev.flatlaf.intellijthemes.FlatDraculaIJTheme" ),
|
||||
new LookAndFeelInfo( "Gradianto Dark Fuchsia", "com.formdev.flatlaf.intellijthemes.FlatGradiantoDarkFuchsiaIJTheme" ),
|
||||
new LookAndFeelInfo( "Gradianto Deep Ocean", "com.formdev.flatlaf.intellijthemes.FlatGradiantoDeepOceanIJTheme" ),
|
||||
new LookAndFeelInfo( "Gradianto Midnight Blue", "com.formdev.flatlaf.intellijthemes.FlatGradiantoMidnightBlueIJTheme" ),
|
||||
new LookAndFeelInfo( "Gray", "com.formdev.flatlaf.intellijthemes.FlatGrayIJTheme" ),
|
||||
new LookAndFeelInfo( "Gruvbox Dark Hard", "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkHardIJTheme" ),
|
||||
new LookAndFeelInfo( "Gruvbox Dark Medium", "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkMediumIJTheme" ),
|
||||
new LookAndFeelInfo( "Gruvbox Dark Soft", "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkSoftIJTheme" ),
|
||||
new LookAndFeelInfo( "Hiberbee Dark", "com.formdev.flatlaf.intellijthemes.FlatHiberbeeDarkIJTheme" ),
|
||||
new LookAndFeelInfo( "High contrast", "com.formdev.flatlaf.intellijthemes.FlatHighContrastIJTheme" ),
|
||||
new LookAndFeelInfo( "Light Flat", "com.formdev.flatlaf.intellijthemes.FlatLightFlatIJTheme" ),
|
||||
new LookAndFeelInfo( "Material Design Dark", "com.formdev.flatlaf.intellijthemes.FlatMaterialDesignDarkIJTheme" ),
|
||||
new LookAndFeelInfo( "Monocai", "com.formdev.flatlaf.intellijthemes.FlatMonocaiIJTheme" ),
|
||||
new LookAndFeelInfo( "Nord", "com.formdev.flatlaf.intellijthemes.FlatNordIJTheme" ),
|
||||
new LookAndFeelInfo( "One Dark", "com.formdev.flatlaf.intellijthemes.FlatOneDarkIJTheme" ),
|
||||
new LookAndFeelInfo( "Solarized Dark", "com.formdev.flatlaf.intellijthemes.FlatSolarizedDarkIJTheme" ),
|
||||
new LookAndFeelInfo( "Solarized Light", "com.formdev.flatlaf.intellijthemes.FlatSolarizedLightIJTheme" ),
|
||||
new LookAndFeelInfo( "Spacegray", "com.formdev.flatlaf.intellijthemes.FlatSpacegrayIJTheme" ),
|
||||
new LookAndFeelInfo( "Vuesion", "com.formdev.flatlaf.intellijthemes.FlatVuesionIJTheme" ),
|
||||
new LookAndFeelInfo( "Arc Dark", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatArcDarkIJTheme" ),
|
||||
new LookAndFeelInfo( "Arc Dark Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatArcDarkContrastIJTheme" ),
|
||||
new LookAndFeelInfo( "Atom One Dark", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneDarkIJTheme" ),
|
||||
new LookAndFeelInfo( "Atom One Dark Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneDarkContrastIJTheme" ),
|
||||
new LookAndFeelInfo( "Atom One Light", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneLightIJTheme" ),
|
||||
new LookAndFeelInfo( "Atom One Light Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneLightContrastIJTheme" ),
|
||||
new LookAndFeelInfo( "Dracula", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatDraculaIJTheme" ),
|
||||
new LookAndFeelInfo( "Dracula Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatDraculaContrastIJTheme" ),
|
||||
new LookAndFeelInfo( "GitHub", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubIJTheme" ),
|
||||
new LookAndFeelInfo( "GitHub Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubContrastIJTheme" ),
|
||||
new LookAndFeelInfo( "Light Owl", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatLightOwlIJTheme" ),
|
||||
new LookAndFeelInfo( "Light Owl Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatLightOwlContrastIJTheme" ),
|
||||
new LookAndFeelInfo( "Material Darker", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDarkerIJTheme" ),
|
||||
new LookAndFeelInfo( "Material Darker Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDarkerContrastIJTheme" ),
|
||||
new LookAndFeelInfo( "Material Deep Ocean", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDeepOceanIJTheme" ),
|
||||
new LookAndFeelInfo( "Material Deep Ocean Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDeepOceanContrastIJTheme" ),
|
||||
new LookAndFeelInfo( "Material Lighter", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialLighterIJTheme" ),
|
||||
new LookAndFeelInfo( "Material Lighter Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialLighterContrastIJTheme" ),
|
||||
new LookAndFeelInfo( "Material Oceanic", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialOceanicIJTheme" ),
|
||||
new LookAndFeelInfo( "Material Oceanic Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialOceanicContrastIJTheme" ),
|
||||
new LookAndFeelInfo( "Material Palenight", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialPalenightIJTheme" ),
|
||||
new LookAndFeelInfo( "Material Palenight Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialPalenightContrastIJTheme" ),
|
||||
new LookAndFeelInfo( "Monokai Pro", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMonokaiProIJTheme" ),
|
||||
new LookAndFeelInfo( "Monokai Pro Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMonokaiProContrastIJTheme" ),
|
||||
new LookAndFeelInfo( "Night Owl", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatNightOwlIJTheme" ),
|
||||
new LookAndFeelInfo( "Night Owl Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatNightOwlContrastIJTheme" ),
|
||||
new LookAndFeelInfo( "Solarized Dark", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedDarkIJTheme" ),
|
||||
new LookAndFeelInfo( "Solarized Dark Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedDarkContrastIJTheme" ),
|
||||
new LookAndFeelInfo( "Solarized Light", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedLightIJTheme" ),
|
||||
new LookAndFeelInfo( "Solarized Light Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedLightContrastIJTheme" ),
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatArcIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatArcIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatArcIJTheme() {
|
||||
super( Utils.loadTheme( "arc-theme.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatArcOrangeIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatArcOrangeIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatArcOrangeIJTheme() {
|
||||
super( Utils.loadTheme( "arc-theme-orange.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatCyanLightIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatCyanLightIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatCyanLightIJTheme() {
|
||||
super( Utils.loadTheme( "Cyan.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatDarkFlatIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatDarkFlatIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatDarkFlatIJTheme() {
|
||||
super( Utils.loadTheme( "DarkFlatTheme.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatDarkPurpleIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatDarkPurpleIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatDarkPurpleIJTheme() {
|
||||
super( Utils.loadTheme( "DarkPurple.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatDraculaIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatDraculaIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatDraculaIJTheme() {
|
||||
super( Utils.loadTheme( "Dracula.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatGradiantoDarkFuchsiaIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatGradiantoDarkFuchsiaIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatGradiantoDarkFuchsiaIJTheme() {
|
||||
super( Utils.loadTheme( "Gradianto_dark_fuchsia.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatGradiantoDeepOceanIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatGradiantoDeepOceanIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatGradiantoDeepOceanIJTheme() {
|
||||
super( Utils.loadTheme( "Gradianto_deep_ocean.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatGradiantoMidnightBlueIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatGradiantoMidnightBlueIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatGradiantoMidnightBlueIJTheme() {
|
||||
super( Utils.loadTheme( "Gradianto_midnight_blue.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatGrayIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatGrayIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatGrayIJTheme() {
|
||||
super( Utils.loadTheme( "Gray.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatGruvboxDarkHardIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatGruvboxDarkHardIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatGruvboxDarkHardIJTheme() {
|
||||
super( Utils.loadTheme( "gruvbox_dark_hard.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatGruvboxDarkMediumIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatGruvboxDarkMediumIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatGruvboxDarkMediumIJTheme() {
|
||||
super( Utils.loadTheme( "gruvbox_dark_medium.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatGruvboxDarkSoftIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatGruvboxDarkSoftIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatGruvboxDarkSoftIJTheme() {
|
||||
super( Utils.loadTheme( "gruvbox_dark_soft.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatHiberbeeDarkIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatHiberbeeDarkIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatHiberbeeDarkIJTheme() {
|
||||
super( Utils.loadTheme( "HiberbeeDark.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatHighContrastIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatHighContrastIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatHighContrastIJTheme() {
|
||||
super( Utils.loadTheme( "HighContrast.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatLightFlatIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatLightFlatIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatLightFlatIJTheme() {
|
||||
super( Utils.loadTheme( "LightFlatTheme.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatMaterialDesignDarkIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatMaterialDesignDarkIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatMaterialDesignDarkIJTheme() {
|
||||
super( Utils.loadTheme( "MaterialTheme.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatMonocaiIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatMonocaiIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatMonocaiIJTheme() {
|
||||
super( Utils.loadTheme( "Monocai.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatNordIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatNordIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatNordIJTheme() {
|
||||
super( Utils.loadTheme( "nord.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatOneDarkIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatOneDarkIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatOneDarkIJTheme() {
|
||||
super( Utils.loadTheme( "one_dark.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatSolarizedDarkIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatSolarizedDarkIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatSolarizedDarkIJTheme() {
|
||||
super( Utils.loadTheme( "solarized_dark_theme.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatSolarizedLightIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatSolarizedLightIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatSolarizedLightIJTheme() {
|
||||
super( Utils.loadTheme( "solarized_light_theme.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatSpacegrayIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatSpacegrayIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatSpacegrayIJTheme() {
|
||||
super( Utils.loadTheme( "Spacegray.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatVuesionIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatVuesionIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatVuesionIJTheme() {
|
||||
super( Utils.loadTheme( "vuesion_theme.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import com.formdev.flatlaf.FlatLaf;
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
import com.formdev.flatlaf.json.ParseException;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
class Utils
|
||||
{
|
||||
static final Logger LOG = Logger.getLogger( FlatLaf.class.getName() );
|
||||
|
||||
static IntelliJTheme loadTheme( String name ) {
|
||||
try {
|
||||
return new IntelliJTheme( Utils.class.getResourceAsStream( "themes/" + name ) );
|
||||
} catch( ParseException | IOException ex ) {
|
||||
String msg = "FlatLaf: Failed to load IntelliJ theme '" + name + "'";
|
||||
LOG.log( Level.SEVERE, msg, ex );
|
||||
throw new RuntimeException( msg, ex );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatArcDarkContrastIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatArcDarkContrastIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatArcDarkContrastIJTheme() {
|
||||
super( Utils.loadTheme( "Arc Dark Contrast.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatArcDarkIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatArcDarkIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatArcDarkIJTheme() {
|
||||
super( Utils.loadTheme( "Arc Dark.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatAtomOneDarkContrastIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatAtomOneDarkContrastIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatAtomOneDarkContrastIJTheme() {
|
||||
super( Utils.loadTheme( "Atom One Dark Contrast.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatAtomOneDarkIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatAtomOneDarkIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatAtomOneDarkIJTheme() {
|
||||
super( Utils.loadTheme( "Atom One Dark.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatAtomOneLightContrastIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatAtomOneLightContrastIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatAtomOneLightContrastIJTheme() {
|
||||
super( Utils.loadTheme( "Atom One Light Contrast.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatAtomOneLightIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatAtomOneLightIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatAtomOneLightIJTheme() {
|
||||
super( Utils.loadTheme( "Atom One Light.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatDraculaContrastIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatDraculaContrastIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatDraculaContrastIJTheme() {
|
||||
super( Utils.loadTheme( "Dracula Contrast.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatDraculaIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatDraculaIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatDraculaIJTheme() {
|
||||
super( Utils.loadTheme( "Dracula.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatGitHubContrastIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatGitHubContrastIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatGitHubContrastIJTheme() {
|
||||
super( Utils.loadTheme( "GitHub Contrast.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatGitHubIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatGitHubIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatGitHubIJTheme() {
|
||||
super( Utils.loadTheme( "GitHub.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatLightOwlContrastIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatLightOwlContrastIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatLightOwlContrastIJTheme() {
|
||||
super( Utils.loadTheme( "Light Owl Contrast.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatLightOwlIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatLightOwlIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatLightOwlIJTheme() {
|
||||
super( Utils.loadTheme( "Light Owl.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatMaterialDarkerContrastIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatMaterialDarkerContrastIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatMaterialDarkerContrastIJTheme() {
|
||||
super( Utils.loadTheme( "Material Darker Contrast.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatMaterialDarkerIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatMaterialDarkerIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatMaterialDarkerIJTheme() {
|
||||
super( Utils.loadTheme( "Material Darker.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatMaterialDeepOceanContrastIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatMaterialDeepOceanContrastIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatMaterialDeepOceanContrastIJTheme() {
|
||||
super( Utils.loadTheme( "Material Deep Ocean Contrast.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatMaterialDeepOceanIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatMaterialDeepOceanIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatMaterialDeepOceanIJTheme() {
|
||||
super( Utils.loadTheme( "Material Deep Ocean.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatMaterialLighterContrastIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatMaterialLighterContrastIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatMaterialLighterContrastIJTheme() {
|
||||
super( Utils.loadTheme( "Material Lighter Contrast.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatMaterialLighterIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatMaterialLighterIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatMaterialLighterIJTheme() {
|
||||
super( Utils.loadTheme( "Material Lighter.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatMaterialOceanicContrastIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatMaterialOceanicContrastIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatMaterialOceanicContrastIJTheme() {
|
||||
super( Utils.loadTheme( "Material Oceanic Contrast.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatMaterialOceanicIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatMaterialOceanicIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatMaterialOceanicIJTheme() {
|
||||
super( Utils.loadTheme( "Material Oceanic.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatMaterialPalenightContrastIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatMaterialPalenightContrastIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatMaterialPalenightContrastIJTheme() {
|
||||
super( Utils.loadTheme( "Material Palenight Contrast.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatMaterialPalenightIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatMaterialPalenightIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatMaterialPalenightIJTheme() {
|
||||
super( Utils.loadTheme( "Material Palenight.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatMonokaiProContrastIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatMonokaiProContrastIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatMonokaiProContrastIJTheme() {
|
||||
super( Utils.loadTheme( "Monokai Pro Contrast.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatMonokaiProIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatMonokaiProIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatMonokaiProIJTheme() {
|
||||
super( Utils.loadTheme( "Monokai Pro.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatNightOwlContrastIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatNightOwlContrastIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatNightOwlContrastIJTheme() {
|
||||
super( Utils.loadTheme( "Night Owl Contrast.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatNightOwlIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatNightOwlIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatNightOwlIJTheme() {
|
||||
super( Utils.loadTheme( "Night Owl.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatSolarizedDarkContrastIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatSolarizedDarkContrastIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatSolarizedDarkContrastIJTheme() {
|
||||
super( Utils.loadTheme( "Solarized Dark Contrast.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatSolarizedDarkIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatSolarizedDarkIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatSolarizedDarkIJTheme() {
|
||||
super( Utils.loadTheme( "Solarized Dark.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatSolarizedLightContrastIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatSolarizedLightContrastIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatSolarizedLightContrastIJTheme() {
|
||||
super( Utils.loadTheme( "Solarized Light Contrast.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatSolarizedLightIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static boolean install( ) {
|
||||
try {
|
||||
return install( new FlatSolarizedLightIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public FlatSolarizedLightIJTheme() {
|
||||
super( Utils.loadTheme( "Solarized Light.theme.json" ) );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Copyright 2020 FormDev Software GmbH
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import com.formdev.flatlaf.FlatLaf;
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
import com.formdev.flatlaf.json.ParseException;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
class Utils
|
||||
{
|
||||
static final Logger LOG = Logger.getLogger( FlatLaf.class.getName() );
|
||||
|
||||
static IntelliJTheme loadTheme( String name ) {
|
||||
try {
|
||||
return new IntelliJTheme( Utils.class.getResourceAsStream( "../themes/material-theme-ui-lite/" + name ) );
|
||||
} catch( ParseException | IOException ex ) {
|
||||
String msg = "FlatLaf: Failed to load IntelliJ theme '" + name + "'";
|
||||
LOG.log( Level.SEVERE, msg, ex );
|
||||
throw new RuntimeException( msg, ex );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,8 +10,7 @@
|
||||
"selectionBackground": "#6272a4",
|
||||
"selectionInactiveBackground": "#4E5A82",
|
||||
"inactiveBackground": "#414450",
|
||||
"borderColor": "#282a36",
|
||||
"underlineColor": "#bd93f9"
|
||||
"borderColor": "#282a36"
|
||||
},
|
||||
"Borders": {
|
||||
"color": "#282a36",
|
||||
@@ -82,7 +81,7 @@
|
||||
"background": "#44475a",
|
||||
"underlinedTabBackground": "#313341",
|
||||
"underlineColor": "#bd93f9",
|
||||
"underlineHeight": 2
|
||||
"underlineHeight": 1
|
||||
},
|
||||
"FileColor": {
|
||||
"Blue": "#8be9fd",
|
||||
@@ -175,7 +174,7 @@
|
||||
},
|
||||
"Separator.separatorColor": "#282a35",
|
||||
"TabbedPane": {
|
||||
"tabSelectionHeight": 2,
|
||||
"tabSelectionHeight": 1,
|
||||
"focusColor": "#282a35",
|
||||
"hoverColor": "#282a35",
|
||||
"underlineColor": "#bd93f9",
|
||||
@@ -198,7 +197,7 @@
|
||||
},
|
||||
"HeaderTab": {
|
||||
"underlineColor": "#bd93f9",
|
||||
"underlineHeight": 2,
|
||||
"underlineHeight": 1,
|
||||
"underlinedTabBackground": "#313341",
|
||||
"underlinedTabInactiveBackground": "#313341"
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user