AirControl  1.3.0
Open Source, Modular, and Extensible Flight Simulator For Deep Learning Research
ComponentThemeDrawer.cs
1 /************************************************/
2 /* */
3 /* Copyright (c) 2018 - 2021 monitor1394 */
4 /* https://github.com/monitor1394 */
5 /* */
6 /************************************************/
7 
8 using System.Collections.Generic;
9 using UnityEditor;
10 using UnityEngine;
11 #if dUI_TextMeshPro
12 using TMPro;
13 #endif
14 
15 namespace XCharts
16 {
17  [CustomPropertyDrawer(typeof(ComponentTheme), true)]
19  {
20  public override string ClassName { get { return ""; } }
21  public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label)
22  {
23  base.OnGUI(pos, prop, label);
24  if (MakeFoldout(prop, ""))
25  {
26  ++EditorGUI.indentLevel;
27 #if dUI_TextMeshPro
28  PropertyField(prop, "m_TMPFont");
29 #else
30  PropertyField(prop, "m_Font");
31 #endif
32  PropertyField(prop, "m_FontSize");
33  PropertyField(prop, "m_TextColor");
34  //PropertyField(prop, "m_TextBackgroundColor");
35  DrawExtendeds(prop);
36  --EditorGUI.indentLevel;
37  }
38  }
39  }
40 
41  [CustomPropertyDrawer(typeof(BaseAxisTheme), true)]
43  {
44  public override string ClassName { get { return "Axis"; } }
45  protected override void DrawExtendeds(SerializedProperty prop)
46  {
47  base.DrawExtendeds(prop);
48  PropertyField(prop, "m_LineType");
49  PropertyField(prop, "m_LineWidth");
50  PropertyField(prop, "m_LineLength");
51  PropertyField(prop, "m_LineColor");
52  PropertyField(prop, "m_SplitLineType");
53  PropertyField(prop, "m_SplitLineWidth");
54  PropertyField(prop, "m_SplitLineLength");
55  PropertyField(prop, "m_SplitLineColor");
56  PropertyField(prop, "m_TickWidth");
57  PropertyField(prop, "m_TickLength");
58  PropertyField(prop, "m_TickColor");
59  PropertyField(prop, "m_SplitAreaColors");
60  }
61  }
62 
63  [CustomPropertyDrawer(typeof(AxisTheme), true)]
65  {
66  public override string ClassName { get { return "Axis"; } }
67  }
68  [CustomPropertyDrawer(typeof(RadiusAxisTheme), true)]
70  {
71  public override string ClassName { get { return "Radius Axis"; } }
72  public override List<string> IngorePropertys
73  {
74  get
75  {
76  return new List<string> {
77  "m_TextBackgroundColor" ,
78  "m_LineLength",
79  "m_SplitLineLength",
80  };
81  }
82  }
83  }
84  [CustomPropertyDrawer(typeof(GaugeAxisTheme), true)]
86  {
87  public override string ClassName { get { return "Gauge Axis"; } }
88  public override List<string> IngorePropertys
89  {
90  get
91  {
92  return new List<string> {
93  "m_TextBackgroundColor" ,
94  "m_LineLength",
95  };
96  }
97  }
98  protected override void DrawExtendeds(SerializedProperty prop)
99  {
100  base.DrawExtendeds(prop);
101  PropertyField(prop, "m_BarBackgroundColor");
102  PropertyField(prop, "m_StageColor");
103  }
104  }
105 
106  [CustomPropertyDrawer(typeof(DataZoomTheme), true)]
108  {
109  public override string ClassName { get { return "DataZoom"; } }
110  protected override void DrawExtendeds(SerializedProperty prop)
111  {
112  base.DrawExtendeds(prop);
113  PropertyField(prop, "m_BackgroundColor");
114  PropertyField(prop, "m_BorderWidth");
115  PropertyField(prop, "m_BorderColor");
116  PropertyField(prop, "m_DataLineWidth");
117  PropertyField(prop, "m_DataLineColor");
118  PropertyField(prop, "m_FillerColor");
119  PropertyField(prop, "m_DataAreaColor");
120 
121  }
122  }
123 
124  [CustomPropertyDrawer(typeof(LegendTheme), true)]
126  {
127  public override string ClassName { get { return "Legend"; } }
128  protected override void DrawExtendeds(SerializedProperty prop)
129  {
130  base.DrawExtendeds(prop);
131  PropertyField(prop, "m_UnableColor");
132  }
133  }
134 
135  [CustomPropertyDrawer(typeof(TooltipTheme), true)]
137  {
138  public override string ClassName { get { return "Tooltip"; } }
139  protected override void DrawExtendeds(SerializedProperty prop)
140  {
141  base.DrawExtendeds(prop);
142  PropertyField(prop, "m_LineType");
143  PropertyField(prop, "m_LineWidth");
144  PropertyField(prop, "m_LineColor");
145  PropertyField(prop, "m_AreaColor");
146  PropertyField(prop, "m_LabelTextColor");
147  PropertyField(prop, "m_LabelBackgroundColor");
148  }
149  }
150 
151  [CustomPropertyDrawer(typeof(VisualMapTheme), true)]
153  {
154  public override string ClassName { get { return "VisualMap"; } }
155  protected override void DrawExtendeds(SerializedProperty prop)
156  {
157  base.DrawExtendeds(prop);
158  // PropertyField(prop, "m_BorderWidth");
159  // PropertyField(prop, "m_BorderColor");
160  // PropertyField(prop, "m_BackgroundColor");
161  }
162  }
163 
164  [CustomPropertyDrawer(typeof(SerieTheme), true)]
166  {
167  public override string ClassName { get { return "Serie"; } }
168  public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label)
169  {
170  base.OnGUI(pos, prop, label);
171  if (MakeFoldout(prop, ""))
172  {
173  ++EditorGUI.indentLevel;
174  PropertyField(prop, "m_LineWidth");
175  PropertyField(prop, "m_LineSymbolSize");
176  PropertyField(prop, "m_LineSymbolSelectedSize");
177  PropertyField(prop, "m_ScatterSymbolSize");
178  PropertyField(prop, "m_ScatterSymbolSelectedSize");
179  PropertyField(prop, "m_PieTooltipExtraRadius");
180  PropertyField(prop, "m_PieSelectedOffset");
181  PropertyField(prop, "m_CandlestickColor");
182  PropertyField(prop, "m_CandlestickColor0");
183  PropertyField(prop, "m_CandlestickBorderColor");
184  PropertyField(prop, "m_CandlestickBorderColor0");
185  PropertyField(prop, "m_CandlestickBorderWidth");
186  --EditorGUI.indentLevel;
187  }
188  }
189  }
190 }
XCharts.AxisTheme
Definition: AxisTheme.cs:201
XCharts.GaugeAxisThemeDrawer
Definition: ComponentThemeDrawer.cs:85
XCharts.BasePropertyDrawer
Definition: BasePropertyDrawer.cs:15
XCharts.VisualMapTheme
Definition: VisualMapTheme.cs:14
XCharts.GaugeAxisTheme
Definition: GaugeAxisTheme.cs:15
XCharts.VisualMapThemeDrawer
Definition: ComponentThemeDrawer.cs:152
XCharts.DataZoomThemeDrawer
Definition: ComponentThemeDrawer.cs:107
XCharts.AxisThemeDrawer
Definition: ComponentThemeDrawer.cs:64
XCharts
Definition: RewardChart.cs:14
XCharts.BaseAxisThemeDrawer
Definition: ComponentThemeDrawer.cs:42
XCharts.DataZoomTheme
Definition: DataZoomTheme.cs:14
XCharts.LegendTheme
Definition: LegendTheme.cs:17
XCharts.SerieThemeDrawer
Definition: ComponentThemeDrawer.cs:165
XCharts.TooltipTheme
Definition: TooltipTheme.cs:14
XCharts.RadiusAxisTheme
Definition: AxisTheme.cs:209
XCharts.SerieTheme
Definition: SerieTheme.cs:14
XCharts.RadiusAxisThemeDrawer
Definition: ComponentThemeDrawer.cs:69
XCharts.ComponentThemeDrawer
Definition: ComponentThemeDrawer.cs:18
XCharts.SerieSymbolType.Rect
@ Rect
正方形。可通过设置itemStyle的cornerRadius变成圆角矩形。
XCharts.TooltipThemeDrawer
Definition: ComponentThemeDrawer.cs:136
XCharts.BaseAxisTheme
Definition: AxisTheme.cs:18
XCharts.LegendThemeDrawer
Definition: ComponentThemeDrawer.cs:125