floatingtextwidgetcontroller.h
00001 /*************************************************************************** 00002 * * 00003 * This program is free software; you can redistribute it and/or modify * 00004 * it under the terms of the GNU General Public License as published by * 00005 * the Free Software Foundation; either version 2 of the License, or * 00006 * (at your option) any later version. * 00007 * * 00008 * copyright (C) 2006-2007 * 00009 * Umbrello UML Modeller Authors <uml-devel@uml.sf.net> * 00010 ***************************************************************************/ 00011 00012 #ifndef FLOATINGTEXTWIDGETCONTROLLER_H 00013 #define FLOATINGTEXTWIDGETCONTROLLER_H 00014 00015 #include "umlwidgetcontroller.h" 00016 00017 class FloatingTextWidget; 00018 00038 class FloatingTextWidgetController : public UMLWidgetController { 00039 public: 00040 00046 FloatingTextWidgetController(FloatingTextWidget *floatingTextWidget); 00047 00051 ~FloatingTextWidgetController(); 00052 00053 protected: 00054 00063 virtual void saveWidgetValues(QMouseEvent *me); 00064 00073 virtual bool isInResizeArea(QMouseEvent *me); 00074 00094 virtual void moveWidgetBy(int diffX, int diffY); 00095 00106 virtual void constrainMovementForAllWidgets(int &diffX, int &diffY); 00107 00108 private: 00109 00122 QPoint constrainPosition(int diffX, int diffY); 00123 00127 FloatingTextWidget *m_floatingTextWidget; 00128 00132 int m_unconstrainedPositionX; 00133 00137 int m_unconstrainedPositionY; 00138 00143 int m_movementDirectionX; 00144 00149 int m_movementDirectionY; 00150 }; 00151 00152 #endif
