Esempio n. 1
0
        /// <summary>
        /// コントロールにアンカーをセットする
        /// </summary>
        private void SetAnchorControl()
        {
            anchorControlList.Add(new AnchorLayout(updateButton, AnchorStyles.Top | AnchorStyles.Left, PodcasCoInfo.FormBaseWidth, PodcasCoInfo.FormBaseHight));
            anchorControlList.Add(new AnchorLayout(clipButton, AnchorStyles.Top | AnchorStyles.Left, PodcasCoInfo.FormBaseWidth, PodcasCoInfo.FormBaseHight));
            anchorControlList.Add(new AnchorLayout(playButton, AnchorStyles.Top | AnchorStyles.Right, PodcasCoInfo.FormBaseWidth, PodcasCoInfo.FormBaseHight));
            anchorControlList.Add(new AnchorLayout(stationFilterComboBox, AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right, PodcasCoInfo.FormBaseWidth, PodcasCoInfo.FormBaseHight));
            AnchorLayout clipFilterPanelLayout = new AnchorLayout(clipFilterPanel, AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right, PodcasCoInfo.FormBaseWidth, PodcasCoInfo.FormBaseHight);

            anchorControlList.Add(clipFilterPanelLayout);
            clipFilterPanelLayout.LayoutControl();
            anchorControlList.Add(new AnchorLayout(allClipRadioButton, AnchorStyles.Top | AnchorStyles.Left));
            anchorControlList.Add(new AnchorLayout(clipedRadioButton, AnchorStyles.Top | AnchorStyles.Left));
            anchorControlList.Add(new AnchorLayout(unclipedRadioButton, AnchorStyles.Top | AnchorStyles.Left));
            anchorControlList.Add(new AnchorLayout(channelListView, AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Bottom, PodcasCoInfo.FormBaseWidth, PodcasCoInfo.FormBaseHight));
        }
Esempio n. 2
0
    public override void OnInspectorGUI()
    {
        AnchorLayout layout = (AnchorLayout)target;

        List <RectTransform> elements = layout.GetComponentsInDirectChildren();

        //foreach(RectTransform rt in layout.transform.GetComponentsInChildren<RectTransform>())
        //	elements.Add(rt);

        //elements.RemoveAt(0);

        layout.nOfColums = EditorGUILayout.IntField("Colums", layout.nOfColums);
        if (layout.nOfColums <= 0)
        {
            layout.nOfColums = 1;
        }

        layout.nOfRows = Mathf.CeilToInt((float)elements.Count / (float)layout.nOfColums);
        if (layout.nOfRows <= 0)
        {
            layout.nOfRows = 1;
        }

        layout.elementH = EditorGUILayout.Slider("Element Height", layout.elementH, 0, 1);
        layout.elementL = EditorGUILayout.Slider("Element Lenght", layout.elementL, 0, 1);

        EditorGUILayout.Space();

        layout.leftBorder  = EditorGUILayout.Slider("Left Border", layout.leftBorder, 0, 1);
        layout.rightBorder = EditorGUILayout.Slider("Right Border", layout.rightBorder, 0, 1);

        EditorGUILayout.Space();

        layout.topBorder    = EditorGUILayout.Slider("Top Border", layout.topBorder, 0, 1);
        layout.bottomBorder = EditorGUILayout.Slider("Bottom Border", layout.bottomBorder, 0, 1);

        layout.centerFinalLine = EditorGUILayout.Toggle("Center Final Line", layout.centerFinalLine);

        int nOfElementsOnLast = elements.Count % layout.nOfColums;

        //Posicionamento

        int column = 0;
        int row    = 0;


        float xGap;
        float yGap;

        if (layout.nOfColums > 1)
        {
            xGap = (1 - (layout.nOfColums * layout.elementL) - (layout.rightBorder + layout.leftBorder)) / (layout.nOfColums - 1);
        }
        else
        {
            xGap = 0;
        }

        if (xGap < 0)
        {
            xGap = 0;
        }

        if (layout.nOfRows > 1)
        {
            yGap = (1 - (layout.nOfRows * layout.elementH) - (layout.topBorder + layout.bottomBorder)) / (layout.nOfRows - 1);
        }
        else
        {
            yGap = 0;
        }

        if (yGap < 0)
        {
            yGap = 0;
        }

        for (int i = 0; i < elements.Count; i++)
        {
            column = i % layout.nOfColums;
            row    = Mathf.FloorToInt(i / layout.nOfColums);

            RectTransform e = elements[i];

            float xMin;

            if (layout.centerFinalLine && row == layout.nOfRows - 1 && nOfElementsOnLast > 0)
            {
                float normalLine = (layout.nOfColums * layout.elementL) + ((layout.nOfColums - 1) * xGap);
                float lastLine   = nOfElementsOnLast * layout.elementL + ((nOfElementsOnLast - 1) * xGap);
                xMin = layout.leftBorder + ((normalLine - lastLine) / 2) + (column * (layout.elementL + xGap));
            }
            else
            {
                xMin = layout.leftBorder + (column * (layout.elementL + xGap));
            }

            float xMax = xMin + layout.elementL;

            float yMin = layout.bottomBorder + (row * (layout.elementH + yGap));
            float yMax = yMin + layout.elementH;

            e.anchorMin = new Vector2(xMin, yMin);
            e.anchorMax = new Vector2(xMax, yMax);
        }

        EditorGUILayout.Space();
        EditorGUILayout.LabelField("Debug");
        EditorGUILayout.FloatField("xGap", xGap);
        EditorGUILayout.FloatField("yGap", yGap);
        EditorGUILayout.IntField("Number of Colums", layout.nOfColums);
        EditorGUILayout.IntField("Number of Rows", layout.nOfRows);
    }
Esempio n. 3
0
        public AnchorLayoutTest(ControlBase parent)
            : base(parent)
        {
            m_Font = new Font(Skin.Renderer, "Arial", 10);

            AnchorLayout layout = new AnchorLayout(this);

            layout.Size         = new Size(445, 165);
            layout.Padding      = Padding.Five;
            layout.AnchorBounds = new Rectangle(0, 0, 445, 165);

            Button button = new Button(layout);

            button.Font         = m_Font;
            button.Text         = "Left Top";
            button.AnchorBounds = new Rectangle(10, 10, 100, 20);
            button.Anchor       = Anchor.LeftTop;

            button              = new Button(layout);
            button.Font         = m_Font;
            button.Text         = "Center Top";
            button.AnchorBounds = new Rectangle(150, 10, 100, 20);
            button.Anchor       = new Anchor(50, 0, 50, 0);

            button              = new Button(layout);
            button.Font         = m_Font;
            button.Text         = "Right Top";
            button.AnchorBounds = new Rectangle(290, 10, 100, 20);
            button.Anchor       = Anchor.RightTop;

            button              = new Button(layout);
            button.Font         = m_Font;
            button.Text         = "Left Center";
            button.AnchorBounds = new Rectangle(10, 50, 100, 20);
            button.Anchor       = new Anchor(0, 50, 0, 50);

            button              = new Button(layout);
            button.Font         = m_Font;
            button.Text         = "Center";
            button.AnchorBounds = new Rectangle(150, 50, 100, 20);
            button.Anchor       = new Anchor(50, 50, 50, 50);

            button              = new Button(layout);
            button.Font         = m_Font;
            button.Text         = "Right Center";
            button.AnchorBounds = new Rectangle(290, 50, 100, 20);
            button.Anchor       = new Anchor(100, 50, 100, 50);

            button              = new Button(layout);
            button.Font         = m_Font;
            button.Text         = "Left Bottom";
            button.AnchorBounds = new Rectangle(10, 90, 100, 20);
            button.Anchor       = Anchor.LeftBottom;

            button              = new Button(layout);
            button.Font         = m_Font;
            button.Text         = "Center Bottom";
            button.AnchorBounds = new Rectangle(150, 90, 100, 20);
            button.Anchor       = new Anchor(50, 100, 50, 100);

            button              = new Button(layout);
            button.Font         = m_Font;
            button.Text         = "Right Bottom";
            button.AnchorBounds = new Rectangle(290, 90, 100, 20);
            button.Anchor       = Anchor.RightBottom;

            HorizontalSlider horz = new HorizontalSlider(layout);

            horz.AnchorBounds = new Rectangle(10, 125, 380, 25);
            horz.Anchor       = new Anchor(0, 100, 100, 100);

            VerticalSlider vert = new VerticalSlider(layout);

            vert.AnchorBounds = new Rectangle(405, 10, 25, 100);
            vert.Anchor       = new Anchor(100, 0, 100, 100);

            HorizontalSlider width = new HorizontalSlider(this);

            width.Min           = 445;
            width.Max           = 800;
            width.Height        = 25;
            width.Dock          = Dock.Bottom;
            width.Padding       = Padding.Five;
            width.ValueChanged += (control, args) => { layout.Width = (int)(control as HorizontalSlider).Value; };

            VerticalSlider height = new VerticalSlider(this);

            height.Min           = 165;
            height.Max           = 400;
            height.Width         = 25;
            height.Dock          = Dock.Right;
            height.Padding       = Padding.Five;
            height.ValueChanged += (control, args) => { layout.Height = (int)(control as VerticalSlider).Value; };
        }