1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>FreeMat: vtkBorderWidget</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">FreeMat
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('vtkwidgets_vtkborderwidget.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">vtkBorderWidget </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Section: <a class="el" href="sec_vtkwidgets.html">Visualization Toolkit Widget Classes</a> </p>
<h1><a class="anchor" id="Usage"></a>
Usage</h1>
<p>This class is a superclass for 2D widgets that may require a rectangular border. Besides drawing a border, the widget provides methods for resizing and moving the rectangular region (and associated border). The widget provides methods and internal data members so that subclasses can take advantage of this widgets capabilities, requiring only that the subclass defines a "representation", i.e., some combination of props or actors that can be managed in the 2D rectangular region.</p>
<p>The class defines basic positioning functionality, including the ability to size the widget with locked x/y proportions. The area within the border may be made "selectable" as well, meaning that a selection event interior to the widget invokes a virtual SelectRegion() method, which can be used to pick objects or otherwise manipulate data interior to the widget.</p>
<p>.SECTION Event Bindings By default, the widget responds to the following VTK events (i.e., it watches the vtkRenderWindowInteractor for these events): </p>
<pre>
On the boundary of the widget:
LeftButtonPressEvent - select boundary
LeftButtonReleaseEvent - deselect boundary
MouseMoveEvent - move/resize widget depending on which portion of the
boundary was selected.
On the interior of the widget:
LeftButtonPressEvent - invoke SelectButton() callback (if the ivar
Selectable is on)
Anywhere on the widget:
MiddleButtonPressEvent - move the widget
</pre><p>Note that the event bindings described above can be changed using this class's vtkWidgetEventTranslator. This class translates VTK events into the vtkBorderWidget's widget events: </p>
<pre>
vtkWidgetEvent::Select – some part of the widget has been selected
vtkWidgetEvent::EndSelect – the selection process has completed
vtkWidgetEvent::Translate – the widget is to be translated
vtkWidgetEvent::Move – a request for slider motion has been invoked
</pre><p>In turn, when these widget events are processed, this widget invokes the following VTK events on itself (which observers can listen for): </p>
<pre>
vtkCommand::StartInteractionEvent (on vtkWidgetEvent::Select)
vtkCommand::EndInteractionEvent (on vtkWidgetEvent::EndSelect)
vtkCommand::InteractionEvent (on vtkWidgetEvent::Move)
</pre><p>To create an instance of class vtkBorderWidget, simply invoke its constructor as follows </p>
<pre class="fragment"> obj = vtkBorderWidget
</pre> <h1><a class="anchor" id="Methods"></a>
Methods</h1>
<p>The class vtkBorderWidget has several methods that can be used. They are listed below. Note that the documentation is translated automatically from the VTK sources, and may not be completely intelligible. When in doubt, consult the VTK website. In the methods listed below, <code>obj</code> is an instance of the vtkBorderWidget class. </p>
<ul>
<li>
<code>string = obj.GetClassName ()</code> </li>
<li>
<code>int = obj.IsA (string name)</code> </li>
<li>
<code>vtkBorderWidget = obj.NewInstance ()</code> </li>
<li>
<code>vtkBorderWidget = obj.SafeDownCast (vtkObject o)</code> </li>
<li>
<code>obj.SetSelectable (int )</code> - Indicate whether the interior region of the widget can be selected or not. If not, then events (such as left mouse down) allow the user to "move" the widget, and no selection is possible. Otherwise the SelectRegion() method is invoked. </li>
<li>
<code>int = obj.GetSelectable ()</code> - Indicate whether the interior region of the widget can be selected or not. If not, then events (such as left mouse down) allow the user to "move" the widget, and no selection is possible. Otherwise the SelectRegion() method is invoked. </li>
<li>
<code>obj.SelectableOn ()</code> - Indicate whether the interior region of the widget can be selected or not. If not, then events (such as left mouse down) allow the user to "move" the widget, and no selection is possible. Otherwise the SelectRegion() method is invoked. </li>
<li>
<code>obj.SelectableOff ()</code> - Indicate whether the interior region of the widget can be selected or not. If not, then events (such as left mouse down) allow the user to "move" the widget, and no selection is possible. Otherwise the SelectRegion() method is invoked. </li>
<li>
<code>obj.SetResizable (int )</code> - Indicate whether the boundary of the widget can be resized. If not, the cursor will not change to "resize" type when mouse over the boundary. </li>
<li>
<code>int = obj.GetResizable ()</code> - Indicate whether the boundary of the widget can be resized. If not, the cursor will not change to "resize" type when mouse over the boundary. </li>
<li>
<code>obj.ResizableOn ()</code> - Indicate whether the boundary of the widget can be resized. If not, the cursor will not change to "resize" type when mouse over the boundary. </li>
<li>
<code>obj.ResizableOff ()</code> - Indicate whether the boundary of the widget can be resized. If not, the cursor will not change to "resize" type when mouse over the boundary. </li>
<li>
<code>obj.SetRepresentation (vtkBorderRepresentation r)</code> - Create the default widget representation if one is not set. </li>
<li>
<code>obj.CreateDefaultRepresentation ()</code> - Create the default widget representation if one is not set. </li>
</ul>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="index.html">FreeMat Documentation</a></li><li class="navelem"><a class="el" href="sec_vtkwidgets.html">Visualization Toolkit Widget Classes</a></li>
<li class="footer">Generated on Thu Jul 25 2013 17:18:36 for FreeMat by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.1 </li>
</ul>
</div>
</body>
</html>
|