00001 /*************************************************************************** 00002 * Copyright (C) 2003-2004 by David Saxton * 00003 * david@bluehaze.org * 00004 * * 00005 * This program is free software; you can redistribute it and/or modify * 00006 * it under the terms of the GNU General Public License as published by * 00007 * the Free Software Foundation; either version 2 of the License, or * 00008 * (at your option) any later version. * 00009 ***************************************************************************/ 00010 00011 #ifndef FLOWCONTAINER_H 00012 #define FLOWCONTAINER_H 00013 00014 #include "flowpart.h" 00015 00016 class RectangularOverlay; 00017 00021 class FlowContainer : public FlowPart 00022 { 00023 Q_OBJECT 00024 public: 00025 FlowContainer( ICNDocument *_icnView, bool newItem, const QString &id ); 00026 virtual ~FlowContainer(); 00027 00028 virtual bool canResize() const { return true; } 00033 void setFullBounds( bool full ); 00034 00035 virtual void updateConnectorPoints( bool add = true ); 00039 bool isExpanded() const { return b_expanded; } 00043 bool parentIsCollapsed() const; 00044 void setExpanded( bool expanded ); 00045 00046 virtual void setSelected( bool yes ); 00047 virtual void setVisible( bool yes ); 00048 00049 virtual QSize minimumSize() const; 00053 void updateContainedVisibility(); 00054 00055 protected: 00056 virtual void itemPointsChanged() {}; 00057 virtual void updateNodeLevels(); 00058 virtual void childAdded( Item *child ); 00059 virtual void childRemoved( Item *child ); 00060 virtual void updateAttachedPositioning(); 00061 virtual void postResize(); 00062 virtual void filterEndPartIDs( QStringList *ids ); 00063 virtual void drawShape( QPainter &p ); 00064 void createTopContainerNode(); 00065 void createBotContainerNode(); 00066 00067 virtual void buttonStateChanged(const QString &id, bool state); 00068 00069 FPNode *m_ext_in; 00070 FPNode *m_int_in; 00071 FPNode *m_int_out; 00072 FPNode *m_ext_out; 00073 RectangularOverlay *m_rectangularOverlay; 00074 00075 bool b_expanded; 00076 }; 00077 00078 #endif
1.5.1