toolbarstatemessages.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) 2004-2006 * 00009 * Umbrello UML Modeller Authors <uml-devel@uml.sf.net> * 00010 ***************************************************************************/ 00011 00012 #ifndef TOOLBARSTATEMESSAGES_H 00013 #define TOOLBARSTATEMESSAGES_H 00014 00015 #include "toolbarstatepool.h" 00016 #include <qpoint.h> 00017 00018 class QCanvasLine; 00019 class ObjectWidget; 00020 00050 class ToolBarStateMessages : public ToolBarStatePool { 00051 Q_OBJECT 00052 public: 00053 00059 ToolBarStateMessages(UMLView *umlView); 00060 00064 virtual ~ToolBarStateMessages(); 00065 00069 virtual void init(); 00070 00075 virtual void cleanBeforeChange(); 00076 00082 virtual void mouseMove(QMouseEvent* ome); 00083 00084 public slots: 00085 00092 virtual void slotWidgetRemoved(UMLWidget* widget); 00093 00094 protected: 00095 00103 virtual void setCurrentElement(); 00104 00116 virtual void mouseReleaseWidget(); 00117 00123 virtual void mouseReleaseEmpty(); 00124 00125 protected: 00126 00130 enum MessageType { 00131 NormalMessage, 00132 CreationMessage 00133 }; 00134 00142 void setFirstWidget(ObjectWidget* firstObject); 00143 00153 void setSecondWidget(ObjectWidget* secondObject, MessageType messageType); 00154 00160 Uml::Sequence_Message_Type getMessageType(); 00161 00166 void cleanMessage(); 00167 00171 ObjectWidget* m_firstObject; 00172 00177 QCanvasLine* m_messageLine; 00178 00183 bool m_isObjectWidgetLine; 00184 00185 }; 00186 00187 #endif //TOOLBARSTATEMESSAGES_H
