3#include <QStackedWidget> 
    6#include "RubberBandTool.h" 
   10  ToolList::ToolList() {
 
   11    m_activeToolBarStack = NULL;
 
   12    m_rubberBandTool = NULL;
 
   16  ToolList::~ToolList() {
 
   17    delete m_activeToolBarStack;
 
   21  void ToolList::append(Tool *tool) {
 
   27      RubberBandTool *rubberBandTool = 
dynamic_cast<RubberBandTool *
>(tool);
 
   30        m_rubberBandTool = rubberBandTool;
 
   36  int ToolList::count()
 const {
 
   37    return m_tools.count();
 
   41  RubberBandTool *ToolList::rubberBandTool() {
 
   42    return m_rubberBandTool;
 
   46  QStackedWidget *ToolList::toolBarStack() {
 
   47    return m_activeToolBarStack;
 
   51  QStackedWidget *ToolList::toolBarStack(
QToolBar *toolBar) {
 
   52    if(!m_activeToolBarStack) {
 
   53      m_activeToolBarStack = 
new QStackedWidget;
 
   54      toolBar->addWidget(m_activeToolBarStack);
 
   57    return m_activeToolBarStack;
 
   61  Tool *ToolList::operator[](
int index) {
 
   62    return m_tools[index];
 
This is free and unencumbered software released into the public domain.