public void AddGestureToTimeline(TimelineItemData sample)
    {
        GameObject button = GameObject.Instantiate<GameObject>(timelineButtonPrefab) as GameObject;
        TimelineButtonInformation info = new TimelineButtonInformation(nrButtons, sample, button);
        buttons[nrButtons] = info;

        Button btn = button.GetComponent<Button>();
        btn.onClick.AddListener(delegate { OnButtonSelected(btn); });
        button.GetComponentInChildren<Text>().text = (nrButtons++).ToString();
        button.GetComponent<RectTransform>().SetParent(rectTransform);
    }
    public void AddGestureToTimeline(TimelineItemData sample)
    {
        if (TimelineButtonPrefab != null && ScrollableLabel != null)
        {
            GameObject buttonObj = Instantiate(TimelineButtonPrefab) as GameObject;
            TimelineButtonInformation buttonInfo = new TimelineButtonInformation((uint)timelineButtonList.Count, sample, buttonObj);

            timelineButtonList.Add(buttonInfo);

            Button uiButton = buttonObj.GetComponent<Button>();

            // Setup EventTriggers
            uiButton.onClick.AddListener(delegate { TimelineElementClicked(buttonInfo.id); });

            uiButton.GetComponentInChildren<Text>().text = timelineButtonList.Count.ToString();
            uiButton.GetComponent<RectTransform>().SetParent(ScrollableLabel);
            uiButton.GetComponent<RectTransform>().localScale = Vector3.one;
            StartCoroutine(DelayedButtonClick(uiButton));

        }
    }