Skip to content

Commit 89fac24

Browse files
committed
Merge branch 'master' into 849_prepFillAreaCleanup
2 parents 46105aa + 835a7b1 commit 89fac24

44 files changed

Lines changed: 840 additions & 322 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMake/cdat_modules/vistrails_external.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ get_git_head_revision(refspec sha)
99
string(REGEX REPLACE ".+/(.+)" "\\1" _branch "${refspec}")
1010

1111
# Did we extract out the branch?
12-
if (NOT _branch STREQUAL refspec)
12+
if (NOT _branch STREQUAL "${refspec}")
1313
# Get the remote the branh if from
1414
get_git_remote_for_branch(${_branch} _remote)
1515

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
set(VISTRAILS_VERSION ${VISTRAILS_TAG_POINT})
2-
set(VISTRAILS_SOURCE "${GIT_PROTOCOL}vistrails.org/git/vistrails.git")
3-
set(VISTRAILS_VERSION uvcdat-2.0.0)
2+
set(VISTRAILS_SOURCE "${GIT_PROTOCOL}github.com/UV-CDAT/VisTrails.git")
3+
set(VISTRAILS_VERSION uvcdat-master)
44
## Now tarball so faking md5 to tell checkout point
5-
set(VISTRAILS_MD5 uvcdat-2.0.0)
5+
set(VISTRAILS_MD5 uvcdat-master)
66
add_cdat_package_dependent(vistrails "" "" ON "CDAT_BUILD_GUI" OFF)

Packages/DV3D/ButtonBarWidget.py

Lines changed: 68 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ def __init__( self, iren, **args ):
6464
self.buttonWidget.SetRepresentation( self.buttonRepresentation )
6565
self.buttonWidget.AddObserver( 'StateChangedEvent', self.processStateChangeEvent )
6666
self.buttonRepresentation.Highlight( self._state )
67+
self.buttonWidget.SetPriority(1.0)
6768
self.updateWidgetState()
6869
# if self.id == 'ToggleVolumePlot':
6970
# print "."
@@ -73,6 +74,8 @@ def getState(self):
7374

7475
def setState(self, value):
7576
self._state = value
77+
self.buttonRepresentation.Highlight( self._state )
78+
self.setToggleProps()
7679
self.PrivateStateChangedSignal( value )
7780
# print "----------------->>> Button [%s] Setting state = %s " % ( self.id, str(value) )
7881
self.updateWidgetState()
@@ -135,13 +138,17 @@ def addObserver(self, observer, **args ):
135138
def setToggleProps(self, state = None ):
136139
if self.toggle:
137140
prop = self.buttonRepresentation.GetProperty()
138-
prop.SetOpacity( 0.4 if ( self.getState() == 0 ) else 1.0 )
141+
opacity = 0.4 if ( self.getState() == 0 ) else 1.0
142+
prop.SetOpacity( opacity )
139143
self.buttonRepresentation.SetProperty(prop)
140144
prop = self.buttonRepresentation.GetHoveringProperty()
141-
prop.SetOpacity( 0.7 if ( self.getState() == 0 ) else 1.0 )
145+
h_opacity = 0.7 if ( self.getState() == 0 ) else 1.0
146+
prop.SetOpacity( h_opacity )
142147
self.buttonRepresentation.SetHoveringProperty(prop)
143148
self.buttonRepresentation.Modified()
144149
self.buttonRepresentation.NeedToRenderOn()
150+
#if self.id == "Volume":
151+
# print " ---> Set Volume constituent button opacity: ", str( opacity )
145152

146153
def processKeyEvent( self, key, ctrl = 0 ):
147154
if self.processFunctionKey( key, ctrl ):
@@ -158,8 +165,7 @@ def setToggleState( self, state ):
158165
self.setState(state)
159166
self.setToggleProps()
160167

161-
def processStateChangeEvent( self, obj, event ):
162-
# print "Button[%s]:processStateChangeEvent(%d)" % ( self.id, self.getState() )
168+
def processStateChangeEvent( self, obj, event, indirect = False ):
163169
self.invokingEvent = True
164170
self.setButtonState( ( self.getState() + 1 ) % self.numberOfStates )
165171
self.invokingEvent = False
@@ -185,6 +191,7 @@ def broadcastState(self, state ):
185191
self.PublicStateChangedSignal( self.id, self.key, state )
186192

187193
def place( self, bounds ):
194+
# print " Place Button %s: %s " % ( self.id, str( bounds ) )
188195
self.buttonRepresentation.PlaceWidget( bounds )
189196

190197
def size(self):
@@ -193,18 +200,22 @@ def size(self):
193200
def On(self):
194201
if self.active:
195202
self.buttonWidget.On()
203+
# print " Button %s on " % self.id
196204

197205
def Off(self):
198206
self.buttonWidget.Off()
207+
# if self.id == "Step":
208+
# print " Button %s off " % self.id
199209

200210
def activate(self):
201211
self.active = True
202212
self.buttonWidget.On()
213+
# print " Button %s on " % self.id
203214

204215
def deactivate(self):
205216
self.active = False
206-
self.buttonWidget.Off()
207-
217+
self.Off()
218+
208219
class ButtonBarHandler:
209220

210221
def __init__( self, cfgMgr, **args ):
@@ -226,7 +237,7 @@ def createControlBar( self, name, interactor, build_args, **args ):
226237
if 'position' not in args: args[ 'position' ] = ( 0.55, 0.08 )
227238
if 'orientation' not in args: args[ 'orientation' ] = Orientation.Horizontal
228239
cbar = ControlBar( name, interactor, **args )
229-
cbar.init( build_args )
240+
cbar.init( build_args, **args )
230241
self.button_bars[ name ] = cbar
231242
return cbar
232243

@@ -310,6 +321,11 @@ def getButton(self, name ):
310321
if b.id == name: return b
311322
return None
312323

324+
def getActiveButton(self):
325+
for b in self.buttons:
326+
if b.getState(): return b
327+
return None
328+
313329
def updateWindowSize(self):
314330
self.windowSize = self.interactor.GetRenderWindow().GetSize() if ( self.interactor <> None ) else [ 100, 100 ]
315331

@@ -319,7 +335,7 @@ def placeButton( self, button, position, **args ):
319335
scale = float(window_size) * self.magnification / self.fullButtonWindowSize
320336
if scale > 1.0: scale = 1.0
321337
if scale < 0.5: scale = 0.5
322-
# print " ################################# Resize Button %s: ws=%d, scale=%s " % ( button.id, window_size, str(scale) )
338+
# print " ################################# Resize Button %s: ws=%d, scale=%s, pos=%s " % ( button.id, window_size, str(scale), str(position) )
323339
size = [ max_size[0]*scale, max_size[1]*scale ]
324340
bounds = self.computeBounds( position, size )
325341
# print " placeButton[%s]: bounds = %s" % ( button.id, str(bounds) )
@@ -340,14 +356,14 @@ def reposition( self, **args ):
340356
self.build( **args )
341357

342358
def getScreenPosition(self, normalized_display_position, buffered = True, **args ):
343-
# print " GetScreenPosition [", self.name, "], position = ", str( normalized_display_position )
344359
self.vtk_coord.SetValue( normalized_display_position[0], normalized_display_position[1] )
345360
ren = self.getRenderer()
346361
screen_pos = self.vtk_coord.GetComputedDisplayValue( ren ) if ( ren <> None ) else [ 100, 100 ]
347362
position_offset = args.get( 'offset', [ 0, 0 ] )
348363
if self.orientation == Orientation.Vertical: position_offset[ 0 ] = 0
349364
elif self.orientation == Orientation.Horizontal: position_offset[ 1 ] = 0
350365
if buffered: screen_pos = self.getBufferedPos( screen_pos, position_offset )
366+
# print " GetScreenPosition [", self.name, "], position = ", str( normalized_display_position ), "], screen position = ", str( screen_pos )
351367
return screen_pos
352368

353369
def getBufferedPos( self, screen_pos, position_offset = [ 0, 0 ] ):
@@ -423,26 +439,28 @@ def create( cls, name, interactor, build_args ):
423439
cbar.init( build_args )
424440
return cbar
425441

426-
def init( self, build_args ): # ( "Step", ("Run","Stop") ), self.processAnimationControl
442+
def init( self, build_args, **args ): # ( "Step", ("Run","Stop") ), self.processAnimationControl
427443
button_specs = build_args[0]
428444
self.processStateChangeEvent = build_args[1]
429445
for bspec in button_specs:
430-
self.addButton( bspec )
446+
if ( len( bspec ) == 2 ) and isinstance( bspec[1], bool ):
447+
self.addButton( bspec[0], toggle=bspec[1], **args )
448+
else:
449+
self.addButton( bspec, **args )
431450

432-
def addButton( self, bspec ):
433-
toggle_button = False
451+
def addButton( self, bspec, **args ):
434452
if hasattr(bspec, "__iter__"):
435-
bnames = [ bspec[0] ]
436-
toggle_button = bspec[1] if len( bspec ) > 1 else True
437-
else: bnames = [ bspec ]
438-
button = Button( self.interactor, names=bnames, toggle = toggle_button )
453+
bnames = bspec
454+
else: bnames = [ bspec ]
455+
toggle = args.get( 'toggle', False )
456+
button = Button( self.interactor, names=bnames, toggle = toggle )
439457
button.PublicStateChangedSignal.connect( self.processStateChangeEvent )
440458
self.buttons.append( button )
441459

442460
def reset( self, active_state=None ):
443461
if ( active_state == None ) or ( self.name <> active_state ):
444462
self.hide()
445-
463+
446464
class ButtonBarWidget(ButtonBar):
447465

448466
def __init__( self, handler, name, interactor, **args ):
@@ -587,12 +605,15 @@ def setSliderValue(self, index, value ):
587605
srep.SetValue( value )
588606

589607
def initializeSliderPosition( self, index ):
590-
( process_mode, interaction_state, swidget ) = self.currentControls.get( index, ( None, None, None ) )
591-
if swidget:
592-
srep = swidget.GetRepresentation( )
593-
values = self.handler.cfgManager.getParameterValue( interaction_state )
594-
value = ( ( srep.GetMinimumValue() + srep.GetMaximumValue() ) / 2.0 ) if ( values == None ) else values[0]
595-
srep.SetValue( value )
608+
try:
609+
( process_mode, interaction_state, swidget ) = self.currentControls.get( index, ( None, None, None ) )
610+
if swidget:
611+
srep = swidget.GetRepresentation( )
612+
values = self.handler.cfgManager.getParameterValue( interaction_state )
613+
value = ( ( srep.GetMinimumValue() + srep.GetMaximumValue() ) / 2.0 ) if ( values == None ) else values[0]
614+
srep.SetValue( value )
615+
except Exception, err:
616+
print str(err)
596617

597618
def createSliderWidget( self, index ):
598619
sliderRep = vtk.vtkSliderRepresentation2D()
@@ -638,14 +659,24 @@ def releaseSliders( self ):
638659

639660
def positionSlider(self, position_index, n_sliders ):
640661
slider_pos = self.slider_postions[ n_sliders ]
641-
( process_mode, interaction_state, swidget ) = self.currentControls.get( position_index, ( None, None, None ) )
642-
if swidget is not None:
643-
sliderRep = swidget.GetRepresentation( )
644-
sliderRep.GetPoint1Coordinate().SetValue( slider_pos[position_index][0], 0.06, 0 )
645-
sliderRep.GetPoint2Coordinate().SetValue( slider_pos[position_index][1], 0.06, 0 )
646-
sliderRep.Modified()
647-
swidget.Modified()
648-
sliderRep.NeedToRenderOn()
662+
( process_mode, interaction_state, swidget ) = self.currentControls[position_index]
663+
sliderRep = swidget.GetRepresentation( )
664+
sliderRep.GetPoint1Coordinate().SetValue( slider_pos[position_index][0], 0.06, 0 )
665+
sliderRep.GetPoint2Coordinate().SetValue( slider_pos[position_index][1], 0.06, 0 )
666+
sliderRep.Modified()
667+
swidget.Modified()
668+
sliderRep.NeedToRenderOn()
669+
670+
def setSliderValues( self, values ):
671+
for index, value in enumerate(values):
672+
widget_item = self.currentControls.get( index, None )
673+
if widget_item == None:
674+
swidget = self.createSliderWidget(index)
675+
self.currentControls[index] = ( self.process_mode, self.InteractionState, swidget )
676+
else:
677+
( process_mode, interaction_state, swidget ) = widget_item
678+
srep = swidget.GetRepresentation( )
679+
srep.SetValue( value )
649680

650681
def commandeerControl(self, index, label, bounds, tvals ):
651682
if bounds == None: return
@@ -672,6 +703,7 @@ def commandeerControl(self, index, label, bounds, tvals ):
672703
swidget.SetEnabled( 1 )
673704
self.currentControls[index] = ( self.process_mode, self.InteractionState, swidget )
674705

706+
675707
def createButtonWidget(self, index, label ):
676708
pass
677709

@@ -917,9 +949,10 @@ def initConfigState( self, **args ):
917949

918950
def initializeConfiguration( self, **args ):
919951
for configFunct in self.configurableFunctions.values():
920-
try: configFunct.init( **args )
921-
except Exception, err:
922-
print>>sys.stderr, "Error initializing configurableFunction %s: %s" % ( configFunct.name, str(err) )
952+
configFunct.init( **args )
953+
# try: configFunct.init( **args )
954+
# except Exception, err:
955+
# print>>sys.stderr, "Error initializing configurableFunction %s: %s" % ( configFunct.name, str(err) )
923956
for button in self.buttons:
924957
if button.toggle:
925958
button.broadcastState( button.getState() )

0 commit comments

Comments
 (0)