Generated on Mon Nov 30 23:53:48 2009 for Gecode by doxygen 1.6.1

Gecode::Gist::TreeCanvas Class Reference

A canvas that displays the search tree. More...

#include <treecanvas.hh>

List of all members.

Public Slots

void scaleTree (int scale0)
 Set scale factor to scale0.
void searchAll (void)
 Explore complete subtree of selected node.
void searchOne (void)
 Find next solution below selected node.
void toggleHidden (void)
 Toggle hidden state of selected node.
void hideFailed (void)
 Hide failed subtrees of selected node.
void unhideAll (void)
 Unhide all nodes below selected node.
void exportPDF (void)
 Export pdf of the current subtree.
void exportWholeTreePDF (void)
 Export pdf of the whole tree.
void print (void)
 Print the tree.
void zoomToFit (void)
 Zoom the canvas so that the whole tree fits.
void centerCurrentNode (void)
 Center the view on the currently selected node.
void inspectCurrentNode (void)
 Call the double click inspector for the currently selected node.
void stopSearch (void)
 Stop current search.
void reset (void)
 Reset.
void navUp (void)
 Move selection to the parent of the selected node.
void navDown (void)
 Move selection to the first child of the selected node.
void navLeft (void)
 Move selection to the left sibling of the selected node.
void navRight (void)
 Move selection to the right sibling of the selected node.
void navRoot (void)
 Move selection to the root node.
void navNextSol (bool back=false)
 Move selection to next solution (in DFS order).
void navPrevSol (void)
 Move selection to previous solution (in DFS order).
void markCurrentNode (int pit)
 Recall selection of point in time pit.
void setPath (void)
 Set the current node to be the head of the path.
void inspectPath (void)
 Call the double click inspector for all nodes on the path from root to head of the path.
void emitStatusChanged (void)
 Re-emit status change information for current node.
void setRecompDistances (int c_d, int a_d)
 Set recomputation distances.
void setAutoHideFailed (bool b)
 Set preference whether to automatically hide failed subtrees.
void setAutoZoom (bool b)
 Set preference whether to automatically zoom to fit.
bool getAutoHideFailed (void)
 Return preference whether to automatically hide failed subtrees.
bool getAutoZoom (void)
 Return preference whether to automatically zoom to fit.
void setShowCopies (bool b)
 Set preference whether to show copies in the tree.
bool getShowCopies (void)
 Return preference whether to show copies in the tree.
void setRefresh (int i)
 Set refresh rate.
bool getSmoothScrollAndZoom (void)
 Return preference whether to use smooth scrolling and zooming.
void setSmoothScrollAndZoom (bool b)
 Set preference whether to use smooth scrolling and zooming.
void resizeToOuter (void)
 Resize to the outer widget size if auto zoom is enabled.
bool finish (void)
 Stop search and wait for it to finish.
void update (void)
 Update display.
void layoutDone (int w, int h, int scale0)
 Layout done.

Signals

void scaleChanged (int)
 The scale factor has changed.
void autoZoomChanged (bool)
 The auto-zoom state was changed.
void contextMenu (QContextMenuEvent *)
 Context menu triggered.
void statusChanged (VisualNode *, const Statistics &, bool)
 Status bar update.
void pointInTimeChanged (int pit)
 The point in time changed to pit.
void solution (const Space *)
 Signals that a solution has been found.
void finished (void)
 Signals that Gist is finished.

Public Member Functions

 TreeCanvas (Space *rootSpace, bool bab, QWidget *parent, const Options &opt)
 Constructor.
 ~TreeCanvas (void)
 Destructor.
void addDoubleClickInspector (Inspector *i)
 Add inspector i.
void activateDoubleClickInspector (int i, bool active)
 Set active inspector.
void addSolutionInspector (Inspector *i)
 Add inspector i.
void activateSolutionInspector (int i, bool active)
 Set active inspector.

Protected Member Functions

VisualNodeeventNode (QEvent *event)
 Return the node corresponding to the event position.
bool event (QEvent *event)
 General event handler, used for displaying tool tips.
void paintEvent (QPaintEvent *event)
 Paint the tree.
void mousePressEvent (QMouseEvent *event)
 Handle mouse press event.
void mouseDoubleClickEvent (QMouseEvent *event)
 Handle mouse double click event.
void contextMenuEvent (QContextMenuEvent *event)
 Handle context menu event.
void setCurrentNode (VisualNode *n)
 Set the selected node to n.
void saveCurrentNode (void)
 Log the current node as new point in time.
virtual void timerEvent (QTimerEvent *e)
 Timer invoked for smooth zooming and scrolling.

Protected Attributes

QMutex mutex
 Mutex for synchronizing acccess to the tree.
QMutex layoutMutex
 Mutex for synchronizing layout and drawing.
SearcherThread searcher
 Search engine thread.
bool stopSearchFlag
 Flag signalling the search to stop.
bool finishedFlag
 Flag signalling that Gist is ready to be closed.
Node::NodeAllocatorna
 Allocator for nodes.
VisualNoderoot
 The root node of the tree.
BestNodecurBest
 The currently best solution (for branch-and-bound).
VisualNodecurrentNode
 The currently selected node.
VisualNodepathHead
 The head of the currently selected path.
QVector< VisualNode * > nodeMap
 The history of inspected nodes.
QVector< QPair< Inspector
*, bool > > 
doubleClickInspectors
 The registered click inspectors, and whether they are active.
QVector< QPair< Inspector
*, bool > > 
solutionInspectors
 The registered solution inspectors, and whether they are active.
QSlider * scaleBar
 The scale bar.
Statistics stats
 Statistics about the search tree.
double scale
 Current scale factor.
int xtrans
 Offset on the x axis so that the tree is centered.
bool autoHideFailed
 Whether to hide failed subtrees automatically.
bool autoZoom
 Whether to zoom automatically.
bool showCopies
 Whether to show copies in the tree.
int refresh
 Refresh rate.
bool smoothScrollAndZoom
 Whether to use smooth scrolling and zooming.
int c_d
 The recomputation distance.
int a_d
 The adaptive recomputation distance.
int nextPit
 The next point in time.
int targetZoom
 Target zoom value for smooth zooming.
double metaZoomCurrent
 Meta current zoom value.
int zoomTimerId
 Timer id for smooth zooming.
int targetScrollX
 Target x coordinate for smooth scrolling.
int targetScrollY
 Target y coordinate for smooth scrolling.
double metaScrollXCurrent
 Meta current x coordinate.
double metaScrollYCurrent
 Meta current y coordinate.
int scrollTimerId
 Timer id for smooth scrolling.
int targetW
 Target width after layout.
int targetH
 Target height after layout.
int targetScale
 Target scale after layout.
int layoutDoneTimerId
 Timer id for delaying the update.

Detailed Description

A canvas that displays the search tree.

Definition at line 87 of file treecanvas.hh.


Constructor & Destructor Documentation

Gecode::Gist::TreeCanvas::TreeCanvas ( Space rootSpace,
bool  bab,
QWidget *  parent,
const Options opt 
)

Constructor.

Definition at line 55 of file treecanvas.cpp.

Gecode::Gist::TreeCanvas::~TreeCanvas ( void   ) 

Destructor.

Definition at line 106 of file treecanvas.cpp.


Member Function Documentation

void Gecode::Gist::TreeCanvas::addDoubleClickInspector ( Inspector i  ) 

Add inspector i.

Definition at line 109 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::activateDoubleClickInspector ( int  i,
bool  active 
)

Set active inspector.

Definition at line 114 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::addSolutionInspector ( Inspector i  ) 

Add inspector i.

Definition at line 119 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::activateSolutionInspector ( int  i,
bool  active 
)

Set active inspector.

Definition at line 124 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::scaleTree ( int  scale0  )  [slot]

Set scale factor to scale0.

Definition at line 129 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::searchAll ( void   )  [slot]

Explore complete subtree of selected node.

Definition at line 336 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::searchOne ( void   )  [slot]

Find next solution below selected node.

Definition at line 342 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::toggleHidden ( void   )  [slot]

Toggle hidden state of selected node.

Definition at line 348 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::hideFailed ( void   )  [slot]

Hide failed subtrees of selected node.

Definition at line 357 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::unhideAll ( void   )  [slot]

Unhide all nodes below selected node.

Definition at line 366 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::exportPDF ( void   )  [slot]

Export pdf of the current subtree.

Definition at line 804 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::exportWholeTreePDF ( void   )  [slot]

Export pdf of the whole tree.

Definition at line 797 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::print ( void   )  [slot]

Print the tree.

Definition at line 811 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::zoomToFit ( void   )  [slot]

Zoom the canvas so that the whole tree fits.

Definition at line 423 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::centerCurrentNode ( void   )  [slot]

Center the view on the currently selected node.

Definition at line 457 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::inspectCurrentNode ( void   )  [slot]

Call the double click inspector for the currently selected node.

Definition at line 493 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::stopSearch ( void   )  [slot]

Stop current search.

Definition at line 580 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::reset ( void   )  [slot]

Reset.

Definition at line 586 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::navUp ( void   )  [slot]

Move selection to the parent of the selected node.

Definition at line 647 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::navDown ( void   )  [slot]

Move selection to the first child of the selected node.

Definition at line 660 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::navLeft ( void   )  [slot]

Move selection to the left sibling of the selected node.

Definition at line 685 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::navRight ( void   )  [slot]

Move selection to the right sibling of the selected node.

Definition at line 699 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::navRoot ( void   )  [slot]

Move selection to the root node.

Definition at line 713 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::navNextSol ( bool  back = false  )  [slot]

Move selection to next solution (in DFS order).

Definition at line 720 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::navPrevSol ( void   )  [slot]

Move selection to previous solution (in DFS order).

Definition at line 732 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::markCurrentNode ( int  pit  )  [slot]

Recall selection of point in time pit.

Definition at line 737 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::setPath ( void   )  [slot]

Set the current node to be the head of the path.

Definition at line 612 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::inspectPath ( void   )  [slot]

Call the double click inspector for all nodes on the path from root to head of the path.

Definition at line 626 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::emitStatusChanged ( void   )  [slot]

Re-emit status change information for current node.

Definition at line 642 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::setRecompDistances ( int  c_d,
int  a_d 
) [slot]

Set recomputation distances.

Definition at line 1013 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::setAutoHideFailed ( bool  b  )  [slot]

Set preference whether to automatically hide failed subtrees.

Definition at line 1018 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::setAutoZoom ( bool  b  )  [slot]

Set preference whether to automatically zoom to fit.

Definition at line 1023 of file treecanvas.cpp.

bool Gecode::Gist::TreeCanvas::getAutoHideFailed ( void   )  [slot]

Return preference whether to automatically hide failed subtrees.

Definition at line 1042 of file treecanvas.cpp.

bool Gecode::Gist::TreeCanvas::getAutoZoom ( void   )  [slot]

Return preference whether to automatically zoom to fit.

Definition at line 1047 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::setShowCopies ( bool  b  )  [slot]

Set preference whether to show copies in the tree.

Definition at line 1033 of file treecanvas.cpp.

bool Gecode::Gist::TreeCanvas::getShowCopies ( void   )  [slot]

Return preference whether to show copies in the tree.

Definition at line 1037 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::setRefresh ( int  i  )  [slot]

Set refresh rate.

Definition at line 1052 of file treecanvas.cpp.

bool Gecode::Gist::TreeCanvas::getSmoothScrollAndZoom ( void   )  [slot]

Return preference whether to use smooth scrolling and zooming.

Definition at line 1057 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::setSmoothScrollAndZoom ( bool  b  )  [slot]

Set preference whether to use smooth scrolling and zooming.

Definition at line 1062 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::resizeToOuter ( void   )  [slot]

Resize to the outer widget size if auto zoom is enabled.

Definition at line 901 of file treecanvas.cpp.

bool Gecode::Gist::TreeCanvas::finish ( void   )  [slot]

Stop search and wait for it to finish.

Definition at line 971 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::scaleChanged ( int   )  [signal]

The scale factor has changed.

void Gecode::Gist::TreeCanvas::autoZoomChanged ( bool   )  [signal]

The auto-zoom state was changed.

void Gecode::Gist::TreeCanvas::contextMenu ( QContextMenuEvent *   )  [signal]

Context menu triggered.

void Gecode::Gist::TreeCanvas::statusChanged ( VisualNode ,
const Statistics ,
bool   
) [signal]

Status bar update.

void Gecode::Gist::TreeCanvas::pointInTimeChanged ( int  pit  )  [signal]

The point in time changed to pit.

void Gecode::Gist::TreeCanvas::solution ( const Space  )  [signal]

Signals that a solution has been found.

void Gecode::Gist::TreeCanvas::finished ( void   )  [signal]

Signals that Gist is finished.

VisualNode * Gecode::Gist::TreeCanvas::eventNode ( QEvent *  event  )  [protected]

Return the node corresponding to the event position.

Definition at line 844 of file treecanvas.cpp.

bool Gecode::Gist::TreeCanvas::event ( QEvent *  event  )  [protected]

General event handler, used for displaying tool tips.

Definition at line 882 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::paintEvent ( QPaintEvent *  event  )  [protected]

Paint the tree.

Definition at line 907 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::mousePressEvent ( QMouseEvent *  event  )  [protected]

Handle mouse press event.

Definition at line 996 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::mouseDoubleClickEvent ( QMouseEvent *  event  )  [protected]

Handle mouse double click event.

Definition at line 938 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::contextMenuEvent ( QContextMenuEvent *  event  )  [protected]

Handle context menu event.

Definition at line 955 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::setCurrentNode ( VisualNode n  )  [protected]

Set the selected node to n.

Definition at line 984 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::saveCurrentNode ( void   )  [protected]

Log the current node as new point in time.

Definition at line 747 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::timerEvent ( QTimerEvent *  e  )  [protected, virtual]

Timer invoked for smooth zooming and scrolling.

Definition at line 376 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::update ( void   )  [slot]

Update display.

Definition at line 147 of file treecanvas.cpp.

void Gecode::Gist::TreeCanvas::layoutDone ( int  w,
int  h,
int  scale0 
) [slot]

Layout done.

Definition at line 168 of file treecanvas.cpp.


Member Data Documentation

QMutex Gecode::Gist::TreeCanvas::mutex [protected]

Mutex for synchronizing acccess to the tree.

Definition at line 209 of file treecanvas.hh.

Mutex for synchronizing layout and drawing.

Definition at line 211 of file treecanvas.hh.

Search engine thread.

Definition at line 213 of file treecanvas.hh.

Flag signalling the search to stop.

Definition at line 215 of file treecanvas.hh.

Flag signalling that Gist is ready to be closed.

Definition at line 217 of file treecanvas.hh.

Allocator for nodes.

Definition at line 219 of file treecanvas.hh.

The root node of the tree.

Definition at line 221 of file treecanvas.hh.

The currently best solution (for branch-and-bound).

Definition at line 223 of file treecanvas.hh.

The currently selected node.

Definition at line 225 of file treecanvas.hh.

The head of the currently selected path.

Definition at line 227 of file treecanvas.hh.

The history of inspected nodes.

Definition at line 229 of file treecanvas.hh.

QVector<QPair<Inspector*,bool> > Gecode::Gist::TreeCanvas::doubleClickInspectors [protected]

The registered click inspectors, and whether they are active.

Definition at line 231 of file treecanvas.hh.

QVector<QPair<Inspector*,bool> > Gecode::Gist::TreeCanvas::solutionInspectors [protected]

The registered solution inspectors, and whether they are active.

Definition at line 233 of file treecanvas.hh.

QSlider* Gecode::Gist::TreeCanvas::scaleBar [protected]

The scale bar.

Definition at line 236 of file treecanvas.hh.

Statistics about the search tree.

Definition at line 239 of file treecanvas.hh.

double Gecode::Gist::TreeCanvas::scale [protected]

Current scale factor.

Definition at line 242 of file treecanvas.hh.

Offset on the x axis so that the tree is centered.

Definition at line 244 of file treecanvas.hh.

Whether to hide failed subtrees automatically.

Definition at line 247 of file treecanvas.hh.

Whether to zoom automatically.

Definition at line 249 of file treecanvas.hh.

Whether to show copies in the tree.

Definition at line 251 of file treecanvas.hh.

Refresh rate.

Definition at line 253 of file treecanvas.hh.

Whether to use smooth scrolling and zooming.

Definition at line 255 of file treecanvas.hh.

The recomputation distance.

Definition at line 258 of file treecanvas.hh.

The adaptive recomputation distance.

Definition at line 260 of file treecanvas.hh.

The next point in time.

Definition at line 263 of file treecanvas.hh.

Target zoom value for smooth zooming.

Definition at line 283 of file treecanvas.hh.

Meta current zoom value.

Definition at line 285 of file treecanvas.hh.

Timer id for smooth zooming.

Definition at line 287 of file treecanvas.hh.

Target x coordinate for smooth scrolling.

Definition at line 290 of file treecanvas.hh.

Target y coordinate for smooth scrolling.

Definition at line 292 of file treecanvas.hh.

Meta current x coordinate.

Definition at line 294 of file treecanvas.hh.

Meta current y coordinate.

Definition at line 296 of file treecanvas.hh.

Timer id for smooth scrolling.

Definition at line 298 of file treecanvas.hh.

Target width after layout.

Definition at line 301 of file treecanvas.hh.

Target height after layout.

Definition at line 303 of file treecanvas.hh.

Target scale after layout.

Definition at line 305 of file treecanvas.hh.

Timer id for delaying the update.

Definition at line 307 of file treecanvas.hh.


The documentation for this class was generated from the following files: