public static void ShowWindow()
 {
     window = GetWindow <PraseExternalDataEditor>();
     window.titleContent = new GUIContent("PraseExternalData");
     window.minSize      = new Vector2(450, 550);
     window.Focus();
     window.Show();
 }
Example #2
0
        public override void OnInspectorGUI()
        {
            var m_Type       = baseProperty.FindPropertyRelative("m_Type");
            var m_LogBase    = baseProperty.FindPropertyRelative("m_LogBase");
            var m_MinMaxType = baseProperty.FindPropertyRelative("m_MinMaxType");
            var type         = (Axis.AxisType)m_Type.enumValueIndex;

            EditorGUI.indentLevel++;
            if (component is ParallelAxis)
            {
                PropertyField("m_ParallelIndex");
            }
            else if (!(component is SingleAxis))
            {
                PropertyField("m_GridIndex");
                PropertyField("m_PolarIndex");
            }
            PropertyField("m_Type");
            PropertyField("m_Position");
            PropertyField("m_Offset");
            if (type == Axis.AxisType.Log)
            {
                PropertyField("m_LogBaseE");
                EditorGUI.BeginChangeCheck();
                PropertyField("m_LogBase");
                if (m_LogBase.floatValue <= 0 || m_LogBase.floatValue == 1)
                {
                    m_LogBase.floatValue = 10;
                }
                EditorGUI.EndChangeCheck();
            }
            if (type == Axis.AxisType.Value || type == Axis.AxisType.Time)
            {
                PropertyField("m_MinMaxType");
                Axis.AxisMinMaxType minMaxType = (Axis.AxisMinMaxType)m_MinMaxType.enumValueIndex;
                switch (minMaxType)
                {
                case Axis.AxisMinMaxType.Default:
                    break;

                case Axis.AxisMinMaxType.MinMax:
                    break;

                case Axis.AxisMinMaxType.Custom:
                    EditorGUI.indentLevel++;
                    PropertyField("m_Min");
                    PropertyField("m_Max");
                    EditorGUI.indentLevel--;
                    break;
                }
                PropertyField("m_CeilRate");
                if (type == Axis.AxisType.Value)
                {
                    PropertyField("m_Inverse");
                }
            }
            PropertyField("m_SplitNumber");
            if (type == Axis.AxisType.Category)
            {
                //PropertyField("m_InsertDataToHead");
                PropertyField("m_MaxCache");
                PropertyField("m_BoundaryGap");
            }
            else
            {
                PropertyField("m_Interval");
                PropertyField("m_BoundaryGap");
            }
            DrawExtendeds();
            PropertyField("m_AxisLine");
            PropertyField("m_AxisName");
            PropertyField("m_AxisTick");
            PropertyField("m_AxisLabel");
            PropertyField("m_SplitLine");
            PropertyField("m_SplitArea");
            PropertyListField("m_Icons", true);
            if (type == Axis.AxisType.Category)
            {
                PropertyListField("m_Data", true, new HeaderMenuInfo("Import ECharts Axis Data", () =>
                {
                    PraseExternalDataEditor.UpdateData(chart, null, component as Axis);
                    PraseExternalDataEditor.ShowWindow();
                }));
            }
            EditorGUI.indentLevel--;
        }
        private void PropertyFieldData()
        {
            m_DataFoldout = ChartEditorHelper.DrawHeader("Data", m_DataFoldout, false, null, null,
                                                         new HeaderMenuInfo("Import ECharts Data", () =>
            {
                PraseExternalDataEditor.UpdateData(chart, serie, null);
                PraseExternalDataEditor.ShowWindow();
            }));
            if (!m_DataFoldout)
            {
                return;
            }
            EditorGUI.indentLevel++;
            var m_Datas         = FindProperty("m_Data");
            var m_DataDimension = FindProperty("m_ShowDataDimension");
            var m_ShowDataName  = FindProperty("m_ShowDataName");

            PropertyField(m_ShowDataName);
            PropertyField(m_DataDimension);
            var listSize = m_Datas.arraySize;

            listSize = EditorGUILayout.IntField("Size", listSize);
            if (listSize < 0)
            {
                listSize = 0;
            }
            if (m_DataDimension.intValue < 1)
            {
                m_DataDimension.intValue = 1;
            }
            int  dimension = m_DataDimension.intValue;
            bool showName  = m_ShowDataName.boolValue;

            if (listSize != m_Datas.arraySize)
            {
                while (listSize > m_Datas.arraySize)
                {
                    m_Datas.arraySize++;
                }
                while (listSize < m_Datas.arraySize)
                {
                    m_Datas.arraySize--;
                }
            }
            if (listSize > 30) // && !XCSettings.editorShowAllListData)
            {
                int num = listSize > 10 ? 10 : listSize;
                for (int i = 0; i < num; i++)
                {
                    DrawSerieData(dimension, m_Datas, i, showName);
                }
                if (num >= 10)
                {
                    ChartEditorHelper.DrawHeader("... ", false, false, null, null);
                    DrawSerieData(dimension, m_Datas, listSize - 1, showName);
                }
            }
            else
            {
                for (int i = 0; i < m_Datas.arraySize; i++)
                {
                    DrawSerieData(dimension, m_Datas, i, showName);
                }
            }
            EditorGUI.indentLevel--;
        }