Вопрос как можно несколько фигур рисовать на одном "листе", ибо при клике на разную фигуру другой "лист" открывается?
Я бы сделал так, что при выборе фигуры, где-нить менялась переменная, вроде canvasSelected, на котором висит наблюдатель и мониторит текущее состояние, а при рисовании, выбирается уже тип канваса в зависимости от выбранной фигуры.