treecanvas.hh
Go to the documentation of this file.
/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
/*
* Main authors:
* Guido Tack <tack@gecode.org>
*
* Copyright:
* Guido Tack, 2006
*
* This file is part of Gecode, the generic constraint
* development environment:
* http://www.gecode.org
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*/
#ifndef GECODE_GIST_TREECANVAS_HH
#define GECODE_GIST_TREECANVAS_HH
#include <QtGui>
#if QT_VERSION >= 0x050000
#include <QtWidgets>
#endif
#include <gecode/kernel.hh>
#include <gecode/gist.hh>
#include <gecode/gist/visualnode.hh>
namespace Gecode { namespace Gist {
namespace LayoutConfig {
const int minScale = 10;
const int maxScale = 400;
const int defScale = 100;
const int maxAutoZoomScale = defScale;
}
class TreeCanvas;
class SearcherThread : public QThread {
Q_OBJECT
private:
VisualNode* node;
int depth;
bool a;
TreeCanvas* t;
void updateCanvas(void);
public:
void search(VisualNode* n, bool all, TreeCanvas* ti);
Q_SIGNALS:
void update(int w, int h, int scale0);
void statusChanged(bool);
void scaleChanged(int);
void solution(const Space*);
void searchFinished(void);
void moveToNode(VisualNode* n,bool);
protected:
void run(void);
};
class GECODE_GIST_EXPORT TreeCanvas : public QWidget {
Q_OBJECT
friend class SearcherThread;
friend class Gist;
public:
TreeCanvas(Space* rootSpace, bool bab, QWidget* parent,
const Options& opt);
~TreeCanvas(void);
void addDoubleClickInspector(Inspector* i);
void activateDoubleClickInspector(int i, bool active);
void addSolutionInspector(Inspector* i);
void activateSolutionInspector(int i, bool active);
void addMoveInspector(Inspector* i);
void activateMoveInspector(int i, bool active);
void addComparator(Comparator* c);
void activateComparator(int i, bool active);
public Q_SLOTS:
void scaleTree(int scale0, int zoomx=-1, int zoomy=-1);
void searchAll(void);
void searchOne(void);
void toggleHidden(void);
void hideFailed(void);
void unhideAll(void);
void toggleStop(void);
void unstopAll(void);
void exportPDF(void);
void exportWholeTreePDF(void);
void print(void);
void zoomToFit(void);
void centerCurrentNode(void);
void inspectCurrentNode(bool fix=true, int inspectorNo=-1);
void inspectBeforeFP(void);
void labelBranches(void);
void labelPath(void);
void stopSearch(void);
void reset(void);
void navUp(void);
void navDown(void);
void navLeft(void);
void navRight(void);
void navRoot(void);
void navNextSol(bool back = false);
void navPrevSol(void);
void bookmarkNode(void);
void setPath(void);
void inspectPath(void);
void startCompareNodes(void);
void startCompareNodesBeforeFP(void);
void emitStatusChanged(void);
void setRecompDistances(int c_d, int a_d);
void setAutoHideFailed(bool b);
void setAutoZoom(bool b);
bool getAutoHideFailed(void);
bool getAutoZoom(void);
void setShowCopies(bool b);
bool getShowCopies(void);
void setRefresh(int i);
void setRefreshPause(int i);
bool getSmoothScrollAndZoom(void);
void setSmoothScrollAndZoom(bool b);
bool getMoveDuringSearch(void);
void setMoveDuringSearch(bool b);
void resizeToOuter(void);
bool finish(void);
Q_SIGNALS:
void scaleChanged(int);
void autoZoomChanged(bool);
void contextMenu(QContextMenuEvent*);
void statusChanged(VisualNode*,const Statistics&, bool);
void solution(const Space*);
void searchFinished(void);
void addedBookmark(const QString& id);
void removedBookmark(int idx);
protected:
QMutex mutex;
QMutex layoutMutex;
SearcherThread searcher;
bool stopSearchFlag;
bool finishedFlag;
Node::NodeAllocator* na;
VisualNode* root;
BestNode* curBest;
VisualNode* currentNode;
VisualNode* pathHead;
QVector<QPair<Inspector*,bool> > doubleClickInspectors;
QVector<QPair<Inspector*,bool> > solutionInspectors;
QVector<QPair<Inspector*,bool> > moveInspectors;
QVector<QPair<Comparator*,bool> > comparators;
QVector<VisualNode*> bookmarks;
bool compareNodes;
bool compareNodesBeforeFP;
QSlider* scaleBar;
Statistics stats;
double scale;
int xtrans;
bool autoHideFailed;
bool autoZoom;
bool showCopies;
int refresh;
int refreshPause;
bool smoothScrollAndZoom;
bool moveDuringSearch;
int c_d;
int a_d;
VisualNode* eventNode(QEvent *event);
bool event(QEvent *event);
void paintEvent(QPaintEvent* event);
void mousePressEvent(QMouseEvent* event);
void mouseDoubleClickEvent(QMouseEvent* event);
void contextMenuEvent(QContextMenuEvent* event);
void resizeEvent(QResizeEvent* event);
void wheelEvent(QWheelEvent* event);
QTimeLine zoomTimeLine;
QTimeLine scrollTimeLine;
int targetX;
int sourceX;
int targetY;
int sourceY;
int targetW;
int targetH;
int targetScale;
int layoutDoneTimerId;
virtual void timerEvent(QTimerEvent* e);
public Q_SLOTS:
void update(void);
void scroll(void);
void layoutDone(int w, int h, int scale0);
void setCurrentNode(VisualNode* n, bool finished=true, bool update=true);
private Q_SLOTS:
void statusChanged(bool);
void exportNodePDF(VisualNode* n);
void inspectSolution(const Space* s);
void scroll(int i);
};
}}
#endif
// STATISTICS: gist-any
Gecode::Gist::BestNode
Static reference to the currently best space.
Definition spacenode.hh:80
Gecode::Gist::Comparator
Abstract base class for comparators.
Definition gist.hh:119
Gecode::Gist::Inspector
Abstract base class for inspectors.
Definition gist.hh:99
Gecode::Gist::Node::NodeAllocator
NodeAllocatorBase< VisualNode > NodeAllocator
Definition node.hh:143
Gecode::Gist::Options
Options for Gist
Definition gist.hh:234
Gecode::Gist::SearcherThread
A thread that concurrently explores the tree.
Definition treecanvas.hh:64
Gecode::Gist::SearcherThread::statusChanged
void statusChanged(bool)
Gecode::Gist::SearcherThread::update
void update(int w, int h, int scale0)
Gecode::Gist::SearcherThread::solution
void solution(const Space *)
Gecode::Gist::SearcherThread::searchFinished
void searchFinished(void)
Gecode::Gist::SearcherThread::search
void search(VisualNode *n, bool all, TreeCanvas *ti)
Definition treecanvas.cpp:282
Gecode::Gist::SearcherThread::run
void run(void)
Definition treecanvas.cpp:364
Gecode::Gist::SearcherThread::scaleChanged
void scaleChanged(int)
Gecode::Gist::SearcherThread::moveToNode
void moveToNode(VisualNode *n, bool)
Gecode::Gist::Statistics
Statistics about the search tree
Definition spacenode.hh:59
Gecode::Gist::TreeCanvas
A canvas that displays the search tree.
Definition treecanvas.hh:87
Gecode::Gist::TreeCanvas::scale
double scale
Current scale factor.
Definition treecanvas.hh:289
Gecode::Gist::TreeCanvas::navNextSol
void navNextSol(bool back=false)
Move selection to next solution (in DFS order).
Definition treecanvas.cpp:996
Gecode::Gist::TreeCanvas::update
void update(void)
Update display.
Definition treecanvas.cpp:224
Gecode::Gist::TreeCanvas::zoomToFit
void zoomToFit(void)
Zoom the canvas so that the whole tree fits.
Definition treecanvas.cpp:528
Gecode::Gist::TreeCanvas::Gist
friend class Gist
Definition treecanvas.hh:91
Gecode::Gist::TreeCanvas::resizeToOuter
void resizeToOuter(void)
Resize to the outer widget size if auto zoom is enabled.
Definition treecanvas.cpp:1172
Gecode::Gist::TreeCanvas::activateComparator
void activateComparator(int i, bool active)
Set active comparator.
Definition treecanvas.cpp:174
Gecode::Gist::TreeCanvas::exportPDF
void exportPDF(void)
Export pdf of the current subtree.
Definition treecanvas.cpp:1064
Gecode::Gist::TreeCanvas::targetX
int targetX
Target x coordinate after smooth scrolling.
Definition treecanvas.hh:335
Gecode::Gist::TreeCanvas::wheelEvent
void wheelEvent(QWheelEvent *event)
Handle mouse wheel events.
Definition treecanvas.cpp:1264
Gecode::Gist::TreeCanvas::stats
Statistics stats
Statistics about the search tree.
Definition treecanvas.hh:286
Gecode::Gist::TreeCanvas::resizeEvent
void resizeEvent(QResizeEvent *event)
Handle resize event.
Definition treecanvas.cpp:1250
Gecode::Gist::TreeCanvas::targetScale
int targetScale
Target scale after layout.
Definition treecanvas.hh:348
Gecode::Gist::TreeCanvas::bookmarks
QVector< VisualNode * > bookmarks
The bookmarks map.
Definition treecanvas.hh:275
Gecode::Gist::TreeCanvas::searcher
SearcherThread searcher
Search engine thread.
Definition treecanvas.hh:250
Gecode::Gist::TreeCanvas::currentNode
VisualNode * currentNode
The currently selected node.
Definition treecanvas.hh:262
Gecode::Gist::TreeCanvas::finish
bool finish(void)
Stop search and wait for it to finish.
Definition treecanvas.cpp:1276
Gecode::Gist::TreeCanvas::exportWholeTreePDF
void exportWholeTreePDF(void)
Export pdf of the whole tree.
Definition treecanvas.cpp:1057
Gecode::Gist::TreeCanvas::xtrans
int xtrans
Offset on the x axis so that the tree is centered.
Definition treecanvas.hh:291
Gecode::Gist::TreeCanvas::activateDoubleClickInspector
void activateDoubleClickInspector(int i, bool active)
Set active inspector.
Definition treecanvas.cpp:141
Gecode::Gist::TreeCanvas::navUp
void navUp(void)
Move selection to the parent of the selected node.
Definition treecanvas.cpp:925
Gecode::Gist::TreeCanvas::autoHideFailed
bool autoHideFailed
Whether to hide failed subtrees automatically.
Definition treecanvas.hh:294
Gecode::Gist::TreeCanvas::labelBranches
void labelBranches(void)
Label all branches in subtree under current node.
Definition treecanvas.cpp:759
Gecode::Gist::TreeCanvas::eventNode
VisualNode * eventNode(QEvent *event)
Return the node corresponding to the event position.
Definition treecanvas.cpp:1103
Gecode::Gist::TreeCanvas::contextMenuEvent
void contextMenuEvent(QContextMenuEvent *event)
Handle context menu event.
Definition treecanvas.cpp:1234
Gecode::Gist::TreeCanvas::startCompareNodesBeforeFP
void startCompareNodesBeforeFP(void)
Wait for click on node to compare with current node before fixpoint.
Definition treecanvas.cpp:912
Gecode::Gist::TreeCanvas::startCompareNodes
void startCompareNodes(void)
Wait for click on node to compare with current node.
Definition treecanvas.cpp:904
Gecode::Gist::TreeCanvas::addComparator
void addComparator(Comparator *c)
Add comparator c.
Definition treecanvas.cpp:169
Gecode::Gist::TreeCanvas::mutex
QMutex mutex
Mutex for synchronizing acccess to the tree.
Definition treecanvas.hh:246
Gecode::Gist::TreeCanvas::inspectBeforeFP
void inspectBeforeFP(void)
Calls inspectCurrentNode(false).
Definition treecanvas.cpp:754
Gecode::Gist::TreeCanvas::hideFailed
void hideFailed(void)
Hide failed subtrees of selected node.
Definition treecanvas.cpp:470
Gecode::Gist::TreeCanvas::getAutoZoom
bool getAutoZoom(void)
Return preference whether to automatically zoom to fit.
Definition treecanvas.cpp:1421
Gecode::Gist::TreeCanvas::setRefreshPause
void setRefreshPause(int i)
Set refresh pause in msec.
Definition treecanvas.cpp:1431
Gecode::Gist::TreeCanvas::bookmarkNode
void bookmarkNode(void)
Bookmark current node.
Definition treecanvas.cpp:849
Gecode::Gist::TreeCanvas::searchAll
void searchAll(void)
Explore complete subtree of selected node.
Definition treecanvas.cpp:449
Gecode::Gist::TreeCanvas::refresh
int refresh
Refresh rate.
Definition treecanvas.hh:300
Gecode::Gist::TreeCanvas::scrollTimeLine
QTimeLine scrollTimeLine
Timer for smooth scrolling.
Definition treecanvas.hh:333
Gecode::Gist::TreeCanvas::layoutDoneTimerId
int layoutDoneTimerId
Timer id for delaying the update.
Definition treecanvas.hh:350
Gecode::Gist::TreeCanvas::addSolutionInspector
void addSolutionInspector(Inspector *i)
Add inspector i.
Definition treecanvas.cpp:147
Gecode::Gist::TreeCanvas::targetH
int targetH
Target height after layout.
Definition treecanvas.hh:346
Gecode::Gist::TreeCanvas::smoothScrollAndZoom
bool smoothScrollAndZoom
Whether to use smooth scrolling and zooming.
Definition treecanvas.hh:304
Gecode::Gist::TreeCanvas::zoomTimeLine
QTimeLine zoomTimeLine
Timer for smooth zooming.
Definition treecanvas.hh:331
Gecode::Gist::TreeCanvas::setPath
void setPath(void)
Set the current node to be the head of the path.
Definition treecanvas.cpp:874
Gecode::Gist::TreeCanvas::navRoot
void navRoot(void)
Move selection to the root node.
Definition treecanvas.cpp:989
Gecode::Gist::TreeCanvas::statusChanged
void statusChanged(VisualNode *, const Statistics &, bool)
Status bar update.
Gecode::Gist::TreeCanvas::TreeCanvas
TreeCanvas(Space *rootSpace, bool bab, QWidget *parent, const Options &opt)
Constructor.
Definition treecanvas.cpp:52
Gecode::Gist::TreeCanvas::event
bool event(QEvent *event)
General event handler, used for displaying tool tips.
Definition treecanvas.cpp:1153
Gecode::Gist::TreeCanvas::setMoveDuringSearch
void setMoveDuringSearch(bool b)
Set preference whether to move cursor during search.
Definition treecanvas.cpp:1453
Gecode::Gist::TreeCanvas::searchOne
void searchOne(void)
Find next solution below selected node.
Definition treecanvas.cpp:455
Gecode::Gist::TreeCanvas::scroll
void scroll(void)
React to scroll events.
Definition treecanvas.cpp:254
Gecode::Gist::TreeCanvas::navDown
void navDown(void)
Move selection to the first child of the selected node.
Definition treecanvas.cpp:938
Gecode::Gist::TreeCanvas::comparators
QVector< QPair< Comparator *, bool > > comparators
The registered comparators, and whether they are active.
Definition treecanvas.hh:272
Gecode::Gist::TreeCanvas::SearcherThread
friend class SearcherThread
Definition treecanvas.hh:90
Gecode::Gist::TreeCanvas::compareNodes
bool compareNodes
Whether node comparison action is running.
Definition treecanvas.hh:278
Gecode::Gist::TreeCanvas::scaleTree
void scaleTree(int scale0, int zoomx=-1, int zoomy=-1)
Set scale factor to scale0.
Definition treecanvas.cpp:180
Gecode::Gist::TreeCanvas::activateSolutionInspector
void activateSolutionInspector(int i, bool active)
Set active inspector.
Definition treecanvas.cpp:152
Gecode::Gist::TreeCanvas::c_d
int c_d
The recomputation distance.
Definition treecanvas.hh:309
Gecode::Gist::TreeCanvas::mousePressEvent
void mousePressEvent(QMouseEvent *event)
Handle mouse press event.
Definition treecanvas.cpp:1328
Gecode::Gist::TreeCanvas::navLeft
void navLeft(void)
Move selection to the left sibling of the selected node.
Definition treecanvas.cpp:961
Gecode::Gist::TreeCanvas::scaleBar
QSlider * scaleBar
The scale bar.
Definition treecanvas.hh:283
Gecode::Gist::TreeCanvas::layoutMutex
QMutex layoutMutex
Mutex for synchronizing layout and drawing.
Definition treecanvas.hh:248
Gecode::Gist::TreeCanvas::targetY
int targetY
Target y coordinate after smooth scrolling.
Definition treecanvas.hh:339
Gecode::Gist::TreeCanvas::doubleClickInspectors
QVector< QPair< Inspector *, bool > > doubleClickInspectors
The registered click inspectors, and whether they are active.
Definition treecanvas.hh:266
Gecode::Gist::TreeCanvas::autoZoomChanged
void autoZoomChanged(bool)
The auto-zoom state was changed.
Gecode::Gist::TreeCanvas::setRefresh
void setRefresh(int i)
Set refresh rate.
Definition treecanvas.cpp:1426
Gecode::Gist::TreeCanvas::na
Node::NodeAllocator * na
Allocator for nodes.
Definition treecanvas.hh:256
Gecode::Gist::TreeCanvas::curBest
BestNode * curBest
The currently best solution (for branch-and-bound).
Definition treecanvas.hh:260
Gecode::Gist::TreeCanvas::paintEvent
void paintEvent(QPaintEvent *event)
Paint the tree.
Definition treecanvas.cpp:1178
Gecode::Gist::TreeCanvas::unstopAll
void unstopAll(void)
Do not stop at any stop node.
Definition treecanvas.cpp:498
Gecode::Gist::TreeCanvas::moveDuringSearch
bool moveDuringSearch
Whether to move cursor during search.
Definition treecanvas.hh:306
Gecode::Gist::TreeCanvas::getSmoothScrollAndZoom
bool getSmoothScrollAndZoom(void)
Return preference whether to use smooth scrolling and zooming.
Definition treecanvas.cpp:1438
Gecode::Gist::TreeCanvas::mouseDoubleClickEvent
void mouseDoubleClickEvent(QMouseEvent *event)
Handle mouse double click event.
Definition treecanvas.cpp:1217
Gecode::Gist::TreeCanvas::a_d
int a_d
The adaptive recomputation distance.
Definition treecanvas.hh:311
Gecode::Gist::TreeCanvas::unhideAll
void unhideAll(void)
Unhide all nodes below selected node.
Definition treecanvas.cpp:479
Gecode::Gist::TreeCanvas::reset
void reset(void)
Reset.
Definition treecanvas.cpp:816
Gecode::Gist::TreeCanvas::searchFinished
void searchFinished(void)
Signals that Gist is finished.
Gecode::Gist::TreeCanvas::sourceX
int sourceX
Source x coordinate after smooth scrolling.
Definition treecanvas.hh:337
Gecode::Gist::TreeCanvas::scaleChanged
void scaleChanged(int)
The scale factor has changed.
Gecode::Gist::TreeCanvas::getAutoHideFailed
bool getAutoHideFailed(void)
Return preference whether to automatically hide failed subtrees.
Definition treecanvas.cpp:1416
Gecode::Gist::TreeCanvas::solution
void solution(const Space *)
Signals that a solution has been found.
Gecode::Gist::TreeCanvas::targetW
int targetW
Target width after layout.
Definition treecanvas.hh:344
Gecode::Gist::TreeCanvas::setRecompDistances
void setRecompDistances(int c_d, int a_d)
Set recomputation distances.
Definition treecanvas.cpp:1387
Gecode::Gist::TreeCanvas::addMoveInspector
void addMoveInspector(Inspector *i)
Add inspector i.
Definition treecanvas.cpp:158
Gecode::Gist::TreeCanvas::autoZoom
bool autoZoom
Whether to zoom automatically.
Definition treecanvas.hh:296
Gecode::Gist::TreeCanvas::emitStatusChanged
void emitStatusChanged(void)
Re-emit status change information for current node.
Definition treecanvas.cpp:920
Gecode::Gist::TreeCanvas::setAutoZoom
void setAutoZoom(bool b)
Set preference whether to automatically zoom to fit.
Definition treecanvas.cpp:1397
Gecode::Gist::TreeCanvas::centerCurrentNode
void centerCurrentNode(void)
Center the view on the currently selected node.
Definition treecanvas.cpp:564
Gecode::Gist::TreeCanvas::setSmoothScrollAndZoom
void setSmoothScrollAndZoom(bool b)
Set preference whether to use smooth scrolling and zooming.
Definition treecanvas.cpp:1443
Gecode::Gist::TreeCanvas::finishedFlag
bool finishedFlag
Flag signalling that Gist is ready to be closed.
Definition treecanvas.hh:254
Gecode::Gist::TreeCanvas::removedBookmark
void removedBookmark(int idx)
Signals that a bookmark has been removed.
Gecode::Gist::TreeCanvas::pathHead
VisualNode * pathHead
The head of the currently selected path.
Definition treecanvas.hh:264
Gecode::Gist::TreeCanvas::activateMoveInspector
void activateMoveInspector(int i, bool active)
Set active inspector.
Definition treecanvas.cpp:163
Gecode::Gist::TreeCanvas::setCurrentNode
void setCurrentNode(VisualNode *n, bool finished=true, bool update=true)
Set the selected node to n.
Definition treecanvas.cpp:1293
Gecode::Gist::TreeCanvas::contextMenu
void contextMenu(QContextMenuEvent *)
Context menu triggered.
Gecode::Gist::TreeCanvas::stopSearchFlag
bool stopSearchFlag
Flag signalling the search to stop.
Definition treecanvas.hh:252
Gecode::Gist::TreeCanvas::setShowCopies
void setShowCopies(bool b)
Set preference whether to show copies in the tree.
Definition treecanvas.cpp:1407
Gecode::Gist::TreeCanvas::labelPath
void labelPath(void)
Label all branches on path to root node.
Definition treecanvas.cpp:767
Gecode::Gist::TreeCanvas::layoutDone
void layoutDone(int w, int h, int scale0)
Layout done.
Definition treecanvas.cpp:259
Gecode::Gist::TreeCanvas::timerEvent
virtual void timerEvent(QTimerEvent *e)
Timer invoked for smooth zooming and scrolling.
Definition treecanvas.cpp:508
Gecode::Gist::TreeCanvas::getMoveDuringSearch
bool getMoveDuringSearch(void)
Return preference whether to move cursor during search.
Definition treecanvas.cpp:1448
Gecode::Gist::TreeCanvas::compareNodesBeforeFP
bool compareNodesBeforeFP
Whether node comparison action computes fixpoint.
Definition treecanvas.hh:280
Gecode::Gist::TreeCanvas::toggleStop
void toggleStop(void)
Do not stop at selected stop node.
Definition treecanvas.cpp:489
Gecode::Gist::TreeCanvas::toggleHidden
void toggleHidden(void)
Toggle hidden state of selected node.
Definition treecanvas.cpp:461
Gecode::Gist::TreeCanvas::navRight
void navRight(void)
Move selection to the right sibling of the selected node.
Definition treecanvas.cpp:975
Gecode::Gist::TreeCanvas::navPrevSol
void navPrevSol(void)
Move selection to previous solution (in DFS order).
Definition treecanvas.cpp:1009
Gecode::Gist::TreeCanvas::showCopies
bool showCopies
Whether to show copies in the tree.
Definition treecanvas.hh:298
Gecode::Gist::TreeCanvas::inspectPath
void inspectPath(void)
Call the double click inspector for all nodes on the path from root to head of the path.
Definition treecanvas.cpp:888
Gecode::Gist::TreeCanvas::getShowCopies
bool getShowCopies(void)
Return preference whether to show copies in the tree.
Definition treecanvas.cpp:1411
Gecode::Gist::TreeCanvas::root
VisualNode * root
The root node of the tree.
Definition treecanvas.hh:258
Gecode::Gist::TreeCanvas::stopSearch
void stopSearch(void)
Stop current search.
Definition treecanvas.cpp:810
Gecode::Gist::TreeCanvas::inspectCurrentNode
void inspectCurrentNode(bool fix=true, int inspectorNo=-1)
Call the double click inspector for the currently selected node.
Definition treecanvas.cpp:618
Gecode::Gist::TreeCanvas::sourceY
int sourceY
Target y coordinate after smooth scrolling.
Definition treecanvas.hh:341
Gecode::Gist::TreeCanvas::setAutoHideFailed
void setAutoHideFailed(bool b)
Set preference whether to automatically hide failed subtrees.
Definition treecanvas.cpp:1392
Gecode::Gist::TreeCanvas::addDoubleClickInspector
void addDoubleClickInspector(Inspector *i)
Add inspector i.
Definition treecanvas.cpp:136
Gecode::Gist::TreeCanvas::refreshPause
int refreshPause
Time (in msec) to pause after each refresh.
Definition treecanvas.hh:302
Gecode::Gist::TreeCanvas::moveInspectors
QVector< QPair< Inspector *, bool > > moveInspectors
The registered move inspectors, and whether they are active.
Definition treecanvas.hh:270
Gecode::Gist::TreeCanvas::solutionInspectors
QVector< QPair< Inspector *, bool > > solutionInspectors
The registered solution inspectors, and whether they are active.
Definition treecanvas.hh:268
Gecode::Gist::TreeCanvas::addedBookmark
void addedBookmark(const QString &id)
Signals that a bookmark has been added.
Gecode::Gist::VisualNode
Node class that supports visual layout
Definition visualnode.hh:125
Gecode::Space
Computation spaces.
Definition core.hpp:1742
gist.hh
GECODE_GIST_EXPORT
#define GECODE_GIST_EXPORT
Definition gist.hh:65
Gecode::Gist::bab
int bab(Space *root, const Gist::Options &opt=Gist::Options::def)
Create a new stand-alone Gist for branch-and-bound search of root.
Definition gist.hpp:208
print
void print(const Search::Statistics &stat, bool restart)
Print statistics.
Definition job-shop.cpp:606
kernel.hh
Gecode::Gist::LayoutConfig
Parameters for the tree layout.
Definition treecanvas.hh:50
Gecode::Gist::LayoutConfig::maxScale
const int maxScale
Maximum scale factor.
Definition treecanvas.hh:54
Gecode::Gist::LayoutConfig::defScale
const int defScale
Default scale factor.
Definition treecanvas.hh:56
Gecode::Gist::LayoutConfig::minScale
const int minScale
Minimum scale factor.
Definition treecanvas.hh:52
Gecode::Gist::LayoutConfig::maxAutoZoomScale
const int maxAutoZoomScale
Maximum scale factor for automatic zoom.
Definition treecanvas.hh:58
Gecode::Gist
The Gecode Interactive Search Tool.
Gecode
Gecode toplevel namespace
visualnode.hh