blob: b0df66074039f38e2d57199588dfe6d995bc8abd [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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
*
* http://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 org.apache.lucene.luke.app.desktop;
import java.awt.Color;
import java.io.IOException;
import java.util.List;
/** Preference */
public interface Preferences {
List<String> getHistory();
void addHistory(String indexPath) throws IOException;
boolean isReadOnly();
String getDirImpl();
boolean isNoReader();
boolean isUseCompound();
boolean isKeepAllCommits();
void setIndexOpenerPrefs(boolean readOnly, String dirImpl, boolean noReader, boolean useCompound, boolean keepAllCommits) throws IOException;
ColorTheme getColorTheme();
void setColorTheme(ColorTheme theme) throws IOException;
/** color themes */
enum ColorTheme {
/* Gray theme */
GRAY(Color.decode("#e6e6e6")),
/* Classic theme */
CLASSIC(Color.decode("#ece9d0")),
/* Sandstone theme */
SANDSTONE(Color.decode("#ddd9d4")),
/* Navy theme */
NAVY(Color.decode("#e6e6ff"));
private Color backgroundColor;
ColorTheme(Color backgroundColor) {
this.backgroundColor = backgroundColor;
}
public Color getBackgroundColor() {
return backgroundColor;
}
}
}