Added freeze option in NetworkView (Modified patch from K. Eisentraut)

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6879 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
thunder2 2013-10-27 23:07:47 +00:00
parent e04283f3af
commit 5304865fc4
5 changed files with 41 additions and 1 deletions

View file

@ -121,7 +121,7 @@ void fourn(double data[],unsigned long nn[],unsigned long ndim,int isign)
#undef SWAP
GraphWidget::GraphWidget(QWidget *)
: timerId(0)
: timerId(0), mIsFrozen(false)
{
// QGraphicsScene *scene = new QGraphicsScene(QRectF(0,0,500,500),this);
// scene->setItemIndexMethod(QGraphicsScene::NoIndex);
@ -305,6 +305,12 @@ void GraphWidget::timerEvent(QTimerEvent *event)
if(!isVisible())
return ;
if (mIsFrozen)
{
update();
return;
}
static const int S = 256 ;
static double *forceMap = new double[2*S*S] ;
@ -437,3 +443,13 @@ void GraphWidget::scaleView(qreal scaleFactor)
scale(scaleFactor, scaleFactor);
}
void GraphWidget::setFreeze(bool freeze)
{
mIsFrozen = freeze;
}
bool GraphWidget::isFrozen() const
{
return mIsFrozen;
}

View file

@ -78,6 +78,10 @@ public:
void snapshotNodesPositions() ;
void clearNodesPositions() ;
void clearGraph() ;
void setFreeze(bool freeze);
bool isFrozen() const;
virtual void itemMoved();
void setEdgeLength(uint32_t l) ;
@ -96,6 +100,7 @@ private:
int timerId;
//Node *centerNode;
bool mDeterminedBB ;
bool mIsFrozen;
std::vector<Node *> _nodes ;
std::map<std::pair<NodeId,NodeId>,Edge *> _edges ;