package com.jackwink.tweakabledemo;

import com.jackwink.tweakable.annotations.TwkBoolean;
import com.jackwink.tweakable.annotations.TwkString;

/**
 *
 */
public class Settings {
    private static final String SUBSCREEN = "And Subscreens!";
    private static final String SUBCATEGORY = "With Subcategories!";

    @TwkBoolean(title = "Some Feature", defaultsTo = true)
    public static boolean featureFlag;

    @TwkBoolean(category = "Categories are cool too!", title = "Some Feature 2",
            onSummary = "Some feature 2 enabled", offSummary = "Some feature 2 disabled")
    public static boolean featureFlag2;

    @TwkBoolean(screen = SUBSCREEN, category = SUBCATEGORY, title = "Some Feature 3",
            onSummary = "Some feature 3 enabled", offSummary = "Some feature 3 disabled")
    public static Boolean featureFlag3;

    @TwkBoolean(screen = SUBSCREEN, defaultsTo = true,
            onSummary = "See how easy it is to add options?")
    public static boolean featureFlag4;

    @TwkString(screen = SUBSCREEN, category = SUBCATEGORY, title = "Selectable Things",
            options = {"Thing 1", "Thing 2", "Thing 3"}, defaultsTo = "Thing 1")
    public static String stringOptions;

}

@@ -222,112 +222,290 @@
  = %22
-And Subscreens!%22;%0A    private static final String SUBCATEGORY = %22With Subcategories!%22;%0A%0A    @TwkBoolean(
+Nested Screen%22;%0A    private static final String SUBCATEGORY = %22Subscreen Feature Flags%22;%0A    private static final String FEATURE_FLAG_CATEGORY = %22Feature Flags%22;%0A    private static final String STRINGS_CATEGORY = %22String Options%22;%0A%0A    @TwkBoolean(category = FEATURE_FLAG_CATEGORY, 
 titl
@@ -509,28 +509,30 @@
 itle = %22
-Some 
 Feature
+ Flag 1
 %22, defau
@@ -616,34 +616,29 @@
 y = 
-%22Categories are cool too!%22
+FEATURE_FLAG_CATEGORY
 , ti
@@ -644,29 +644,24 @@
 itle = %22
-Some 
 Feature 
 2%22,%0A    
@@ -652,16 +652,21 @@
 Feature 
+Flag 
 2%22,%0A    
@@ -678,38 +678,33 @@
    onSummary = %22
-Some f
+F
 eature 2 enabled
@@ -695,32 +695,33 @@
 eature 2 enabled
+!
 %22, offSummary = 
@@ -713,37 +713,32 @@
 , offSummary = %22
-Some 
 feature 2 disabl
@@ -731,32 +731,35 @@
 ature 2 disabled
+ :(
 %22)%0A    public st
@@ -859,21 +859,16 @@
  = %22
-Some 
 Feature 
 3%22,%0A
@@ -863,16 +863,21 @@
 Feature 
+Flag 
 3%22,%0A    
@@ -889,38 +889,33 @@
    onSummary = %22
-Some f
+F
 eature 3 enabled
@@ -914,16 +914,17 @@
  enabled
+!
 %22, offSu
@@ -936,14 +936,9 @@
  = %22
-Some f
+F
 eatu
@@ -950,16 +950,19 @@
 disabled
+ :(
 %22)%0A    p
@@ -1037,87 +1037,49 @@
 EN, 
-defaultsTo = true,%0A            onSummary = %22See how easy it is to add options?%22
+category = SUBCATEGORY, defaultsTo = true
 )%0A  
@@ -1132,36 +1132,16 @@
 kString(
-screen = SUBSCREEN, 
 category
@@ -1136,34 +1136,39 @@
 ing(category = S
-UB
+TRINGS_
 CATEGORY, title 
@@ -1181,18 +1181,19 @@
 ectable 
-Th
+Str
 ings%22,%0A 

clean up settings example