1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-05 19:42:17 +02:00

опции более глвая версия

git-svn-id: https://only.mawhrin.net/repos/FBReaderJ/trunk@42 6a642e6f-84f6-412e-ac94-c4a38d5a04b0
This commit is contained in:
EugeniyVlasov 2007-10-15 10:56:22 +00:00
parent 60f9764b99
commit 877a108cbb
14 changed files with 386 additions and 0 deletions

11
.project Normal file
View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>FBReaderJ</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>

View file

@ -0,0 +1,8 @@
package org.zlibrary.options;
public enum OptionType {
TYPE_BOOLEAN,
TYPE_BOOLEAN3,
//TYPE_COLOR,
TYPE_STRING;
}

View file

@ -0,0 +1,16 @@
package org.zlibrary.options;
public interface ZLOption {
public static final String LOOK_AND_FEEL_CATEGORY = "UI";
public static final String CONFIG_CATEGORY = "options";
public static final String STATE_CATEGORY = "state";
public void clearGroup(String group);
//public boolean isAutoSavingSupported();
//public void startAutoSave(int seconds);
//protected ZLOption(String category, String group, String optionName);
/*private ZLOption(const ZLOption&);
*private final ZLOption& operator = (const ZLOption&);*/
}

View file

@ -0,0 +1,8 @@
package org.zlibrary.options;
public interface ZLSimpleOption extends ZLOption{
public OptionType getType();
}

View file

@ -0,0 +1,27 @@
package org.zlibrary.options.impl;
import org.zlibrary.options.*;
import org.zlibrary.options.util.*;
public final class ZLBoolean3Option extends ZLSimpleOptionImpl{
private ZLBoolean3 myValue;
private ZLBoolean3 myDefaultValue;
public OptionType getType(){
return OptionType.TYPE_BOOLEAN3;
}
public ZLBoolean3 getValue(){
return myValue;
}
public void setValue(ZLBoolean3 value){
}
public ZLBoolean3Option(String category, String group, String optionName, ZLBoolean3 defaultValue){
super(category, group, optionName);
myDefaultValue = defaultValue;
}
}

View file

@ -0,0 +1,27 @@
package org.zlibrary.options.impl;
import org.zlibrary.options.*;
public final class ZLBooleanOption extends ZLSimpleOptionImpl{
private boolean myValue;
private boolean myDefaultValue;
public OptionType getType(){
return OptionType.TYPE_BOOLEAN;
}
public boolean getValue(){
return true;
}
public void setValue(boolean value){
}
public ZLBooleanOption (String category, String group, String optionName, boolean defaultValue){
super(category, group, optionName);
myDefaultValue = defaultValue;
}
}

View file

@ -0,0 +1,25 @@
package org.zlibrary.options.impl;
import org.zlibrary.options.util.*;
public final class ZLColorOption extends ZLOptionImpl{
private long myIntValue;
private long myDefaultIntValue;
public long getValue(){
return 0;
}
public void setValue(ZLColor value){
}
public ZLColorOption (String category, String group, String optionName, ZLColor defaultValue){
super(category, group, optionName);
//convert?
//myDefaultIntValue = defaultValue;
}
}

View file

@ -0,0 +1,21 @@
package org.zlibrary.options.impl;
public final class ZLDoubleOption extends ZLOptionImpl{
private double myValue;
private double myDefaultValue;
public double getValue(){
return 1.0;
}
public void setValue(double value){
}
public ZLDoubleOption (String category, String group, String optionName, double defaultValue){
super(category, group, optionName);
myDefaultValue = defaultValue;
}
}

View file

@ -0,0 +1,20 @@
package org.zlibrary.options.impl;
public final class ZLIntegerOption extends ZLOptionImpl{
private long myValue;
private long myDefaultValue;
public long getValue(){
return 0;
}
public void setValue(long value){
}
public ZLIntegerOption (String category, String group, String optionName, int defaultValue){
super(category, group, optionName);
myDefaultValue = defaultValue;
}
}

View file

@ -0,0 +1,32 @@
package org.zlibrary.options.impl;
public final class ZLIntegerRangeOption extends ZLOptionImpl{
private long myValue;
private long myDefaultValue;
private long myMinValue;
private long myMaxValue;
public long getValue(){
return 0;
}
public long getMinValue(){
return 0;
}
public long getMaxValue(){
return 0;
}
public void setValue(long value){
}
public ZLIntegerRangeOption (String category, String group, String optionName, long minValue, long maxValue, long defaultValue){
super(category, group, optionName);
myDefaultValue = defaultValue;
myMinValue = minValue;
myMaxValue = maxValue;
}
}

View file

@ -0,0 +1,21 @@
package org.zlibrary.options.impl;
import org.zlibrary.options.*;
abstract class ZLOptionImpl implements ZLOption{
public String myCategory;
public String myGroup;
public String myOptionName;
public boolean myIsSynchronized;
public void clearGroup(String group){
}
//private final ZLOption& operator = (final ZLOptions options);
public ZLOptionImpl (String category, String group, String optionName){
}
}

View file

@ -0,0 +1,19 @@
package org.zlibrary.options.impl;
import org.zlibrary.options.OptionType;
import org.zlibrary.options.ZLSimpleOption;
abstract class ZLSimpleOptionImpl extends ZLOptionImpl implements ZLSimpleOption {
public abstract OptionType getType();
public ZLSimpleOptionImpl(String category, String group, String optionName){
super(category, group, optionName);
}
/*public void clearGroup(String group) {
// TODO Auto-generated method stub
}*/
}

View file

@ -0,0 +1,28 @@
package org.zlibrary.options.impl;
import org.zlibrary.options.OptionType;
public final class ZLStringOption extends ZLSimpleOptionImpl {
private String myValue;
private String myDefaultValue;
public OptionType getType(){
return OptionType.TYPE_STRING;
}
public String getValue(){
return myValue;
}
public void setValue(String value){
}
public ZLStringOption (String category, String group, String optionName, String defaultValue){
super(category, group, optionName);
myDefaultValue = defaultValue;
}
}

View file

@ -0,0 +1,123 @@
package org.zlibrary.options.util;
import org.zlibrary.options.util.exceptions.*;
import java.awt.Color;
public class ZLColor {
private byte myRed;
private byte myGreen;
private byte myBlue;
public int getBlue() {
return myBlue;
}
public int getGreen() {
return myGreen;
}
public int getRed() {
return myRed;
}
public void setBlue(byte mask) throws InvalidValueException{
setColor(myRed, myGreen, mask);
}
public void setGreen(byte mask) throws InvalidValueException{
setColor(myRed, mask, myBlue);
}
public void setRed(byte mask) throws InvalidValueException{
setColor(mask, myGreen, myBlue);
}
public boolean isInitialized(){
return (myRed != -1);
}
/**
* ïåðåêðûâàåì ìåòîä toString,
* ïî ñóòè - êîäèðîâêà â äåñÿòè÷íóþ çàïèñü
*/
public String toString(){
if (!isInitialized()){
return "not initialized";
} else {
return "" + myRed + ", " + myGreen + ", " + myBlue;
}
}
/**
* êîíñòðóêòîð ïî óìîë÷àíèþ äåëàåò öâåò ÷åðíûì
*/
public ZLColor (){
myRed = 0;
myGreen = 0;
myBlue = 0;
}
/**
* ñ èíèöèàëèçàöèåé ñðàçó òðåõ êîìïîíåíò öâåòà åñòü îäíà ïðîáëåìà
* îíà ñîñòîèò â òîì ÷òî åñëè ìû ñíà÷àëà óäà÷íî ïðî÷ëè êðàñíûé
* à ïîòîì íåóäà÷íî ïðî÷ëè ñèíèé, òî êðàñíûé òî ìû óæå óñïåëè
* ïîìåíÿòü à âîò íà ñèíåì âûëåòåëè ñ èêñåïøîíîì è òàêèì îáðàçîì
* ïîëó÷èëè ïîëóòîðíûé íåïîíÿòíûé öâåò, ÿâíî íå òî ÷åãî õîòåëè
* ïîýòîìó ïðèõîäèòñÿ îïðåäåëÿòü òàêîé ìåòîä, à îñòàëüíûå ÷åðåç íåãî
* @param red
* @param green
* @param blue
*/
public void setColor (byte red, byte green, byte blue) throws InvalidValueException{
if (! ((red >= -1) && (red < 256)) ){
throw new InvalidValueException
(" Red Mask Value must stay between 0 and 255");
}
if (! ((green >= 0) && (green < 256)) ){
throw new InvalidValueException
(" Green Mask Value must stay between 0 and 255");
}
if (! ((blue >= 0) && (blue < 256)) ){
throw new InvalidValueException
(" Blue Mask Value must stay between 0 and 255");
}
myRed = red;
myGreen = green;
myBlue = blue;
}
/**
* êîíñòðóêòîð ñ ïàðàìåòðàìè
*/
public ZLColor (byte red, byte green, byte blue) throws InvalidValueException{
setColor(red, green, blue);
}
/**
* ýòîò ìåòîä îòëè÷íî îòðàæàåò áåññìûñëåííîñòü
* äàííîé ñòðóêòóðû. êîãäà âûÿñíèëîñü ÷òî RGBColor íàäî ðèñîâàòü
* ïðèøëîñü íàó÷èòüñÿ ïðèâîäèòü ìîé öâåò â àâò-øíûé
* @param color
*/
public void convertFromColor(Color color){
myRed = (byte)color.getRed();
myGreen = (byte)color.getGreen();
myBlue = (byte)color.getBlue();
}
/**
* è êîíñòðóêòîð ñîîòâåòñòâåííî äëÿ óäîáñòâà
* @param color
* @throws InvalidValueException
*/
public ZLColor (Color color) throws InvalidValueException{
setColor((byte)color.getRed(), (byte)color.getGreen(), (byte)color.getBlue());
}
/**
* @return íàø öâåò êàê ÷åëîâå÷åñêèé öâåò èç awt
*/
public Color convertToColor(){
return new Color(myRed, myGreen, myBlue);
}
}