//
// C++ Interface: vectorfactorytool
//
// Description:
//
//
// Author: Hans Oischinger <hans.oischinger@kdemail.net>, (C) 2005
//
// Copyright: See COPYING file that comes with this distribution
//
//
#ifndef VECTORFACTORYTOOL_H
#define VECTORFACTORYTOOL_H

#include "generictool.h"

class VSetAnimValues;
class VectorElement;
/**
Creates vector elements
 
@author Hans Oischinger
*/
class VectorFactoryTool : public GenericTool
{
public:
  VectorFactoryTool( VectorElement* prototype );
  virtual ~VectorFactoryTool();

  virtual void activate();

  virtual QString name() const;
  virtual QString icon() const { return "14_select"; }
  virtual QString category() const { return "manipulation"; }
  virtual QString statusText() const;
  virtual uint priority() const { return 1; }
  virtual QString contextHelp() const;

protected:
  virtual void setCursor() const;

  virtual void mouseButtonPress();
  virtual void mouseButtonRelease();
  virtual void mouseDrag();
  virtual void mouseDragRelease();

  void updateStatusBar() const;

private:
  QString m_name;
  VectorElement* m_prototype;
  VSetAnimValues* m_vSetAnimValues;
};

#endif
