Android: extract switchStyle
Task-number: QTBUG-39215 Change-Id: I53c435b80ea2603eb942eac3307654dd0fc0ae12 Reviewed-by: BogDan Vatra <bogdan@kde.org>
This commit is contained in:
parent
46630f866f
commit
f7ac2b446a
@ -1022,6 +1022,11 @@ public class ExtractStyle {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public JSONObject extractTextAppearanceInformations(String styleName, String qtClass, AttributeSet attribSet, int textAppearance )
|
public JSONObject extractTextAppearanceInformations(String styleName, String qtClass, AttributeSet attribSet, int textAppearance )
|
||||||
|
{
|
||||||
|
return extractTextAppearanceInformations(styleName, qtClass, attribSet, textAppearance, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public JSONObject extractTextAppearanceInformations(String styleName, String qtClass, AttributeSet attribSet, int textAppearance, int styleId)
|
||||||
{
|
{
|
||||||
JSONObject json = new JSONObject();
|
JSONObject json = new JSONObject();
|
||||||
try
|
try
|
||||||
@ -1035,8 +1040,10 @@ public class ExtractStyle {
|
|||||||
int styleIndex = -1;
|
int styleIndex = -1;
|
||||||
boolean allCaps = false;
|
boolean allCaps = false;
|
||||||
|
|
||||||
Class<?> attrClass= Class.forName("android.R$attr");
|
if (-1==styleId) {
|
||||||
int styleId = attrClass.getDeclaredField(styleName).getInt(null);
|
Class<?> attrClass= Class.forName("android.R$attr");
|
||||||
|
styleId = attrClass.getDeclaredField(styleName).getInt(null);
|
||||||
|
}
|
||||||
|
|
||||||
extractViewInformations(styleName, styleId, json, qtClass, attribSet);
|
extractViewInformations(styleName, styleId, json, qtClass, attribSet);
|
||||||
|
|
||||||
@ -1393,6 +1400,40 @@ public class ExtractStyle {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void extractSwitch(SimpleJsonWriter jsonWriter, String styleName, String qtClass)
|
||||||
|
{
|
||||||
|
JSONObject json = new JSONObject();
|
||||||
|
try {
|
||||||
|
Class<?> attrClass = Class.forName("com.android.internal.R$attr");
|
||||||
|
int styleId = attrClass.getDeclaredField(styleName).getInt(null);
|
||||||
|
|
||||||
|
int[] switchAttrs = (int[]) styleableClass.getDeclaredField("Switch").get(null);
|
||||||
|
TypedArray a = m_theme.obtainStyledAttributes(null, switchAttrs, styleId, 0);
|
||||||
|
|
||||||
|
Drawable thumb = a.getDrawable(getField(styleableClass,"Switch_thumb"));
|
||||||
|
if (thumb != null)
|
||||||
|
json.put("Switch_thumb", getDrawable(thumb, styleName + "_Switch_thumb"));
|
||||||
|
|
||||||
|
Drawable track = a.getDrawable(getField(styleableClass,"Switch_track"));
|
||||||
|
if (track != null)
|
||||||
|
json.put("Switch_track", getDrawable(track, styleName + "_Switch_track"));
|
||||||
|
|
||||||
|
int textAppearance = a.getResourceId(styleableClass.getDeclaredField("Switch_switchTextAppearance").getInt(null), -1);
|
||||||
|
json.put("Switch_switchTextAppearance", extractTextAppearanceInformations(styleName, null, null, textAppearance, styleId));
|
||||||
|
|
||||||
|
json.put("Switch_textOn", a.getText(getField(styleableClass, "Switch_textOn")));
|
||||||
|
json.put("Switch_textOff", a.getText(getField(styleableClass, "Switch_textOff")));
|
||||||
|
json.put("Switch_switchMinWidth", a.getDimensionPixelSize(getField(styleableClass, "Switch_switchMinWidth"), 0));
|
||||||
|
json.put("Switch_switchPadding", a.getDimensionPixelSize(getField(styleableClass, "Switch_switchPadding"), 0));
|
||||||
|
json.put("Switch_thumbTextPadding", a.getDimensionPixelSize(getField(styleableClass, "Switch_thumbTextPadding"), 0));
|
||||||
|
|
||||||
|
a.recycle();
|
||||||
|
jsonWriter.name(styleName).value(json);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
JSONObject extractCheckedTextView(AttributeSet attribSet, String itemName)
|
JSONObject extractCheckedTextView(AttributeSet attribSet, String itemName)
|
||||||
{
|
{
|
||||||
JSONObject json = extractTextAppearanceInformations("textViewStyle", itemName, attribSet, -1);
|
JSONObject json = extractTextAppearanceInformations("textViewStyle", itemName, attribSet, -1);
|
||||||
@ -1483,6 +1524,9 @@ public class ExtractStyle {
|
|||||||
extractProgressBar(jsonWriter, "progressBarStyleSmall", null);
|
extractProgressBar(jsonWriter, "progressBarStyleSmall", null);
|
||||||
extractProgressBar(jsonWriter, "progressBarStyle", null);
|
extractProgressBar(jsonWriter, "progressBarStyle", null);
|
||||||
extractAbsSeekBar(jsonWriter, "seekBarStyle", "QSlider");
|
extractAbsSeekBar(jsonWriter, "seekBarStyle", "QSlider");
|
||||||
|
if (Build.VERSION.SDK_INT > 13) {
|
||||||
|
extractSwitch(jsonWriter, "switchStyle", null);
|
||||||
|
}
|
||||||
extractCompoundButton(jsonWriter, "checkboxStyle", "QCheckBox");
|
extractCompoundButton(jsonWriter, "checkboxStyle", "QCheckBox");
|
||||||
jsonWriter.name("editTextStyle").value(extractTextAppearanceInformations("editTextStyle", "QLineEdit", null, -1));
|
jsonWriter.name("editTextStyle").value(extractTextAppearanceInformations("editTextStyle", "QLineEdit", null, -1));
|
||||||
extractCompoundButton(jsonWriter, "radioButtonStyle", "QRadioButton");
|
extractCompoundButton(jsonWriter, "radioButtonStyle", "QRadioButton");
|
||||||
|
Loading…
Reference in New Issue
Block a user