Toolbar::Toolbar() { // Initialize toolsets for (int iToolSet = 0; iToolSet < mcNumToolSets; iToolSet++) { mToolSets[iToolSet] = new std::vector<Tool*>(); } // Register tools registerTool(0,new SelectionTool()); registerTool(1,new PointTool()); registerTool(1,new LineTool()); registerTool(2,new CoincidentTool()); // Set active tool to be 0,0 mActiveTool.first = 0; mActiveTool.second = 0; }
ToolController::ToolController(net::Client *client, QObject *parent) : QObject(parent), m_client(client), m_toolsettings(nullptr), m_model(nullptr), m_activeTool(nullptr), m_smoothing(0) { Q_ASSERT(client); registerTool(new Pen(*this)); registerTool(new Brush(*this)); registerTool(new Smudge(*this)); registerTool(new Eraser(*this)); registerTool(new ColorPicker(*this)); registerTool(new Line(*this)); registerTool(new Rectangle(*this)); registerTool(new Ellipse(*this)); registerTool(new FloodFill(*this)); registerTool(new Annotation(*this)); registerTool(new LaserPointer(*this)); registerTool(new RectangleSelection(*this)); registerTool(new PolygonSelection(*this)); m_activeTool = m_toolbox[Tool::PEN]; m_activeLayer = 0; m_activeAnnotation = 0; }