Example #1
0
        public GuiTreeviewRowRenderer(
            IGuiLayout guiLayout,
            ITreeviewIconRenderer <TSource> iconRenderer,
            IRowClickableLocations <TSource> rowClickableLocations,
            ITreeviewHierarchyLinesRenderer <TSource> hierarchyLinesRenderer)
        {
            if (guiLayout == null)
            {
                throw new ArgumentNullException("guiLayout");
            }

            if (iconRenderer == null)
            {
                throw new ArgumentNullException("iconRenderer");
            }

            if (rowClickableLocations == null)
            {
                throw new ArgumentNullException("rowClickableLocations");
            }

            if (hierarchyLinesRenderer == null)
            {
                throw new ArgumentNullException("hierarchyLinesRenderer");
            }

            this.guiLayout              = guiLayout;
            this.iconRenderer           = iconRenderer;
            this.rowClickableLocations  = rowClickableLocations;
            this.hierarchyLinesRenderer = hierarchyLinesRenderer;
        }
    private void DefaultInit()
    {
        if (this.treeviewIcons == null)
        {
            this.treeviewIcons = new TextureAssetTreeviewIcons <Treeview_DataModel>();
        }

        this.iconRenderer           = new GuiTreeviewIconRenderer <Treeview_DataModel>(this.gui, this.treeviewIcons);
        this.hierarchyLinesRenderer = new TreeviewHierarchyLinesRenderer <Treeview_DataModel>(this.iconRenderer);
        this.rowRenderer            = new GuiTreeviewRowRenderer <Treeview_DataModel>(this.guiLayout, this.iconRenderer, this.rowClickableLocations, this.hierarchyLinesRenderer);

        this.treeviewRenderer = new GuiTreeviewRenderer <Treeview_DataModel>(this.guiLayout, this.rowClickableLocations, this.cachingObserver, this.rowRenderer);

        this.treeview = new Treeview <Treeview_DataModel>();
    }