flowcontainer.h

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

Generated on Tue May 8 17:05:29 2007 for KTechLab by  doxygen 1.5.1