예제 #1
0
    private void RenderTODOList()
    {
        float TOP_PANEL_MARGING = 40;

        if (TCore.size == TODOListSize.SMALL)
        {
            TOP_PANEL_MARGING = 25;
        }

        int i = 1;

        GUILayout.BeginArea(new Rect(0, TOP_PANEL_MARGING + 2, TAGS_PANLE_WIDTH, position.height - TOP_PANEL_MARGING), ""); {
            foreach (TagTemplate tpl in tags)
            {
                TagRenderer.renderTag(tpl, i);
                i++;
            }
        } GUILayout.EndArea();


        GUILayout.BeginArea(new Rect(TAGS_PANLE_WIDTH, TOP_PANEL_MARGING + 2, position.width - TAGS_PANLE_WIDTH, position.height - TOP_PANEL_MARGING), ""); {
            scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Width(position.width - TAGS_PANLE_WIDTH), GUILayout.Height(position.height - TOP_PANEL_MARGING));
            GUILayout.Box("", GUIStyle.none, new GUILayoutOption[] { GUILayout.ExpandWidth(true), GUILayout.Height(maxYPos) });

            i = 1;

            Rect DrawArea = position;
            DrawArea.width -= TAGS_PANLE_WIDTH;


            foreach (TNode node in TCore.nodes)
            {
                if (!selectedTagName.Equals(string.Empty))
                {
                    if (node.tag != selectedTagName)
                    {
                        continue;
                    }
                }

                if (search != string.Empty)
                {
                    if (node.text.ToLower().Contains(search.ToLower()))
                    {
                        NodeRenderer.renderNode(node, i, DrawArea);
                        i++;
                    }
                }
                else
                {
                    NodeRenderer.renderNode(node, i, DrawArea);
                    i++;
                }
            }

            maxYPos = (i - 1) * NODE_HEIGHT + 20;
            EditorGUILayout.EndScrollView();
        } GUILayout.EndArea();
    }