|
From: <mor...@us...> - 2011-01-24 12:46:23
|
Revision: 3893
http://ecell.svn.sourceforge.net/ecell/?rev=3893&view=rev
Author: moriyoshi
Date: 2011-01-24 12:46:14 +0000 (Mon, 24 Jan 2011)
Log Message:
-----------
* Overhaul.
Modified Paths:
--------------
ecell3/trunk/ecell/frontend/session-monitor/ecell/ui/osogo/EntityListWindow.py
ecell3/trunk/ecell/frontend/session-monitor/ecell/ui/osogo/MainWindow.py
ecell3/trunk/ecell/frontend/session-monitor/ecell/ui/osogo/OsogoUtil.py
ecell3/trunk/ecell/frontend/session-monitor/ecell/ui/osogo/StepperWindow.py
ecell3/trunk/ecell/frontend/session-monitor/glade/EntityListWindow.glade
ecell3/trunk/ecell/frontend/session-monitor/glade/MainWindow.glade
ecell3/trunk/ecell/frontend/session-monitor/glade/StepperWindow.glade
ecell3/trunk/ecell/frontend/session-monitor/plugins/BargraphWindow.py
ecell3/trunk/ecell/frontend/session-monitor/plugins/PropertyWindow.glade
ecell3/trunk/ecell/frontend/session-monitor/plugins/PropertyWindow.py
ecell3/trunk/ecell/pyecell/ecell/StepperStub.py
Modified: ecell3/trunk/ecell/frontend/session-monitor/ecell/ui/osogo/EntityListWindow.py
===================================================================
--- ecell3/trunk/ecell/frontend/session-monitor/ecell/ui/osogo/EntityListWindow.py 2011-01-20 11:56:01 UTC (rev 3892)
+++ ecell3/trunk/ecell/frontend/session-monitor/ecell/ui/osogo/EntityListWindow.py 2011-01-24 12:46:14 UTC (rev 3893)
@@ -884,7 +884,6 @@
def updateListLabels( self ):
-
self.__updateViewLabel( 'Variable', self['variable_label'],\
self.variableTree )
self.__updateViewLabel( 'Process', self['process_label'],\
@@ -893,15 +892,11 @@
self.systemTree )
def __updateViewLabel( self, type, label, view ):
-
shownCount = len( view.get_model() )
selectedCount = view.get_selection().count_selected_rows()
- labelText = type + ' (' + str( selectedCount ) + '/' + \
- str( shownCount ) + ')'
- label.set_text( labelText )
+ labelText = '<b>%s</b> (%d / %d)' % (type, selectedCount, shownCount )
+ label.set_markup( labelText )
-
-
def selectProcess( self, selection ):
if self.donotHandle:
return
Modified: ecell3/trunk/ecell/frontend/session-monitor/ecell/ui/osogo/MainWindow.py
===================================================================
--- ecell3/trunk/ecell/frontend/session-monitor/ecell/ui/osogo/MainWindow.py 2011-01-20 11:56:01 UTC (rev 3892)
+++ ecell3/trunk/ecell/frontend/session-monitor/ecell/ui/osogo/MainWindow.py 2011-01-24 12:46:14 UTC (rev 3893)
@@ -57,13 +57,17 @@
import ecell.ui.osogo.MessageWindow as MessageWindow
class SimulationButton:
- def __init__( self ):
+ def __init__( self, container ):
self.startImage = os.path.join(
config.GLADEFILE_PATH, "icon_start.png" )
self.stopImage = os.path.join(
config.GLADEFILE_PATH, "icon_stop.png" )
- self.image = gtk.Image()
- self.image.set_from_file( self.startImage )
+ for widget in container.get_children():
+ if isinstance( widget, gtk.Image ):
+ self.image = widget
+ elif isinstance( widget, gtk.Label ):
+ self.label = widget
+
self.__currentState = 'stop'
self.image.show()
@@ -75,11 +79,12 @@
def setCurrentState( self, aCurrentState ):
self.__currentState = aCurrentState
-
if ( self.__currentState == 'run' ):
self.image.set_from_file( self.stopImage )
+ self.label.set_text( 'Stop' )
elif ( self.__currentState == 'stop' ):
self.image.set_from_file( self.startImage )
+ self.label.set_text( 'Start' )
class LogoAnimation:
iconList = (
@@ -194,11 +199,8 @@
# create SimulationButton
# -------------------------------------
- self.SimulationButton = SimulationButton()
- self['SimulationButton'].add( self.SimulationButton.getCurrentImage() )
- self['SimulationButtonLabel'].set_text('Start')
+ self.SimulationButton = SimulationButton( self['SimulationButton'] )
-
# ---------------------------
# create logo button
# ---------------------------
@@ -341,22 +343,6 @@
"""
pass
- def __resizeVertically( self, height ): #gets entitylistarea or messagebox height
- """__resizeVertically
- Return None
- """
-
- # gets fix components height
- menu_height=self['handlebox22'].get_child_requisition()[1]
- toolbar_height=self['handlebox19'].get_child_requisition()[1]
-
- # gets window_width
- window_width=self['MainWindow'].get_size()[0]
-
- # resizes
- window_height=menu_height+toolbar_height+height
- self['MainWindow'].resize(window_width,window_height)
-
def __setMenuAndButtonsStatus( self, aDataLoadedStatus ):
"""sets initial widgets status
aDataLoadedStatus -- the status of loading data
@@ -652,27 +638,25 @@
if self.theSession.theRunningFlag:
# stop simulation temporarily
self.theSession.stop()
-
running_flag = True
- # If there is no logger data, exit this program.
- if len(self.theSession.getLoggerList()) != 0:
- aMessage = 'Are you sure you want to quit?'
- aTitle = 'Question'
- # Popup confirm window, and check user request
- aDialog = ConfirmWindow(1,aMessage,aTitle)
+ if self.theSession.theSession is not None:
+ # If there is no logger data, exit this program.
+ if len(self.theSession.getLoggerList()) != 0:
+ aMessage = 'Are you sure you want to quit?'
+ aTitle = 'Question'
+ # Popup confirm window, and check user request
+ aDialog = ConfirmWindow(1,aMessage,aTitle)
- # ok is pressed
-
- if aDialog.return_result() != OK_PRESSED:
- if running_flag:
- self.theSession.run()
- return True
+ # ok is pressed
+
+ if aDialog.return_result() != OK_PRESSED:
+ if running_flag:
+ self.theSession.run()
+ return True
self.setStopState()
-
self.close()
-
self.theSession.QuitGUI()
return True
@@ -688,9 +672,7 @@
OsogoWindow.close( self )
def setStartState( self ):
-
self.SimulationButton.setCurrentState( 'run' )
- self['SimulationButtonLabel'].set_text('Stop')
if self.logoMovable:
self.logoAnimation.start()
@@ -700,7 +682,6 @@
def setStopState( self ):
self.SimulationButton.setCurrentState( 'stop' )
- self['SimulationButtonLabel'].set_text('Start')
self.logoAnimation.stop()
self.setTempTime()
@@ -923,10 +904,6 @@
if self.theToolbarVisible:
self['toolbar_handlebox'].hide()
self.theToolbarVisible = False
-
- if self.theMessageWindowVisible == False and \
- self.theEntityListWindowVisible == False:
- self.__resizeVertically( 0 )
else:
self['toolbar_handlebox'].show()
self.theToolbarVisible = True
@@ -937,10 +914,6 @@
if self.theStatusbarVisible:
self['statusbar'].hide()
self.theStatusbarVisible = False
-
- if self.theMessageWindowVisible == False and \
- self.theEntityListWindowVisible == False:
- self.__resizeVertically( 0 )
else:
self['statusbar'].show()
self.theStatusbarVisible = True
@@ -1036,16 +1009,9 @@
if anObject.get_active():
self.theMessageWindowVisible = True
self.showMessageWindow()
- self.__resizeVertically( self.theMessageWindow.getActualSize()[1] )
- # hide
else:
self.theMessageWindowVisible = False
self.hideMessageWindow()
-
- if self.theEntityListWindowVisible:
- self.__resizeVertically( self['entitylistarea'].get_allocation()[3] )
- else:
- self.__resizeVertically( 0 )
self.updateButtons()
@@ -1053,17 +1019,10 @@
if arg[0].get_active():
self.theEntityListWindowVisible = True
self['entitylistarea'].show()
- self.__resizeVertically( self['entitylistarea'].get_allocation()[3] )
-
else:
self.theEntityListWindowVisible = False
self['entitylistarea'].hide()
- if self.theMessageWindowVisible:
- self.__resizeVertically( self.theMessageWindow.getActualSize()[1] )
- else:
- self.__resizeVertically( 0 )
-
def __displayAbout ( self, *args ):
# show about information
self.createAboutSessionMonitor()
@@ -1124,7 +1083,8 @@
delete this window.
Returns True
"""
- return self.__deleted( *arg )
+ pass
+ #return self.__deleted( *arg )
Modified: ecell3/trunk/ecell/frontend/session-monitor/ecell/ui/osogo/OsogoUtil.py
===================================================================
--- ecell3/trunk/ecell/frontend/session-monitor/ecell/ui/osogo/OsogoUtil.py 2011-01-20 11:56:01 UTC (rev 3892)
+++ ecell3/trunk/ecell/frontend/session-monitor/ecell/ui/osogo/OsogoUtil.py 2011-01-24 12:46:14 UTC (rev 3893)
@@ -47,20 +47,6 @@
SINGLE = 0
MULTIPLE = 1
-# ----------------------------------------------------------------------
-# decodeAttribute
-#
-# anAttribute : an attribute ( TRUE or FALSE )
-#
-# return -> '+' or '-'
-# ----------------------------------------------------------------------
-def decodeAttribute(anAttribute):
-
- if anAttribute:
- return '+'
- else:
- return '-'
-
# end of decodeAttribute
Modified: ecell3/trunk/ecell/frontend/session-monitor/ecell/ui/osogo/StepperWindow.py
===================================================================
--- ecell3/trunk/ecell/frontend/session-monitor/ecell/ui/osogo/StepperWindow.py 2011-01-20 11:56:01 UTC (rev 3892)
+++ ecell3/trunk/ecell/frontend/session-monitor/ecell/ui/osogo/StepperWindow.py 2011-01-24 12:46:14 UTC (rev 3893)
@@ -10,7 +10,7 @@
#
# E-Cell System is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
-# License as published by the Free Software Foundation; either
+# License as published by the Free Software Foundation either
# version 2 of the License, or (at your option) any later version.
#
# E-Cell System is distributed in the hope that it will be useful,
@@ -53,468 +53,325 @@
import copy
class StepperWindow(OsogoWindow):
- """StepperWindow
- - displayes all stepper property
- - user can change each stepper property
- """
+ """StepperWindow
+ - displayes all stepper property
+ - user can change each stepper property
+ """
- # ==========================================================================
- def __init__( self, aSession ):
- """Constructor
- aSession --- the reference of session
- aSession --- the reference of Session
- """
+ # ==========================================================================
+ def __init__( self, aSession ):
+ """Constructor
+ aSession --- the reference of session
+ aSession --- the reference of Session
+ """
- # calls superclass's constructor
- OsogoWindow.__init__( self, aSession, 'StepperWindow.glade' )
+ # calls superclass's constructor
+ OsogoWindow.__init__( self, aSession, 'StepperWindow.glade' )
- self.theSession = aSession
+ self.theSession = aSession
- # ==========================================================================
- def openWindow(self):
+ # ==========================================================================
+ def openWindow(self):
+ OsogoWindow.openWindow(self)
+ # initializes attributes
+ self.theSelectedStepperID = None # selected stepperID (str)
+ self.theFirstPropertyIter = {} # key:iter(TreeIter) value:None
+ self.theSelectedPath = {} # key:aStepperID(str) value:Path
+ self.thePropertyMap = {}
+ aListStore = gtk.ListStore( gobject.TYPE_STRING )
+ self['stepper_id_list'].set_model( aListStore )
+ column=gtk.TreeViewColumn('Stepper',gtk.CellRendererText(),text=0)
+ self['stepper_id_list'].append_column(column)
- OsogoWindow.openWindow(self)
+ aPropertyModel = gtk.ListStore(
+ gobject.TYPE_STRING,
+ gobject.TYPE_STRING,
+ gobject.TYPE_BOOLEAN,
+ gobject.TYPE_BOOLEAN )
+ self['property_list'].set_model(aPropertyModel)
- # initializes attributes
- self.theSelectedStepperID = None # selected stepperID (str)
- self.theFirstPropertyIter = {} # key:iter(TreeIter) value:None
- self.theSelectedPath = {} # key:aStepperID(str) value:Path
- self.thePropertyMap = {}
+ column=gtk.TreeViewColumn( 'Property',gtk.CellRendererText(),\
+ text=PROPERTY_INDEX )
+ column.set_resizable(True)
+ self['property_list'].append_column(column)
- aListStore = gtk.ListStore( gobject.TYPE_STRING )
- self['stepper_id_list'].set_model( aListStore )
- column=gtk.TreeViewColumn('Stepper',gtk.CellRendererText(),text=0)
- self['stepper_id_list'].append_column(column)
+ renderer = gtk.CellRendererText()
+ renderer.connect( 'edited', self.__updateProperty )
+ column=gtk.TreeViewColumn( 'Value', renderer,\
+ text=VALUE_INDEX, editable=SET_INDEX, sensitive=SET_INDEX )
+ column.set_resizable(True)
+ self['property_list'].append_column(column)
- aPropertyModel=gtk.ListStore( gobject.TYPE_STRING,
- gobject.TYPE_STRING,
- gobject.TYPE_STRING,
- gobject.TYPE_STRING,
- gobject.TYPE_STRING)
- self['property_list'].set_model(aPropertyModel)
- column=gtk.TreeViewColumn( 'Property',gtk.CellRendererText(),\
- text=PROPERTY_INDEX )
- column.set_resizable(True)
- self['property_list'].append_column(column)
- column=gtk.TreeViewColumn( 'Value',gtk.CellRendererText(),\
- text=VALUE_INDEX )
- column.set_resizable(True)
- self['property_list'].append_column(column)
- column=gtk.TreeViewColumn( 'Get',gtk.CellRendererText(),\
- text=GET_INDEX )
- column.set_resizable(True)
- self['property_list'].append_column(column)
- column=gtk.TreeViewColumn( 'Set',gtk.CellRendererText(),\
- text=SET_INDEX )
- column.set_resizable(True)
- self['property_list'].append_column(column)
-
+ column=gtk.TreeViewColumn( 'Get',gtk.CellRendererToggle(),\
+ active=GET_INDEX )
+ column.set_resizable(True)
+ self['property_list'].append_column(column)
- # adds handlers
- self.addHandlers({ \
- 'on_stepper_id_list_select' : self.__selectStepperID, # StepperID list
- 'on_property_list_select_row' : self.__selectProperty, # Property list
- 'on_update_button_clicked' : self.__updateProperty, # update button
- 'on_close_button_clicked' : self.deleted, # close button
- })
+ column=gtk.TreeViewColumn( 'Set',gtk.CellRendererToggle(),\
+ active=SET_INDEX )
+ column.set_resizable(True)
+ self['property_list'].append_column(column)
+
+ # adds handlers
+ self.addHandlers({ \
+ 'on_stepper_id_list_select' : self.__selectStepperID, # StepperID list
+ 'on_close_button_clicked' : self.deleted, # close button
+ })
- aModel = self['stepper_id_list'].get_model()
- aModel.clear()
- aFirstIter = None
- #for aValue in self.theStepperIDList:
- for aValue in self.theSession.getStepperList():
- anIter = aModel.append()
- if aFirstIter == None:
- aFirstIter = anIter
- aModel.set( anIter, 0, aValue )
+ aModel = self['stepper_id_list'].get_model()
+ aModel.clear()
- self[self.__class__.__name__].show_all()
+ aFirstIter = None
+ #for aValue in self.theStepperIDList:
+ for aValue in self.theSession.getStepperList():
+ anIter = aModel.append()
+ if aFirstIter == None:
+ aFirstIter = anIter
+ aModel.set( anIter, 0, aValue )
- self['stepper_id_list'].get_selection().select_iter(aFirstIter)
- self.__selectStepperID(None)
+ self[self.__class__.__name__].show_all()
- def close( self ):
- self.theSelectedPath = {}
- OsogoWindow.close(self)
+ self['stepper_id_list'].get_selection().select_iter(aFirstIter)
+ self.__selectStepperID(None)
+ def close( self ):
+ self.theSelectedPath = {}
+ OsogoWindow.close(self)
- # ==========================================================================
- def selectStepperID( self, aStepperID ):
- """ selects StepperID on screen and displays its property list
- if StepperID exists returns True, else returns False
- """
- anIter=self['stepper_id_list'].get_model().get_iter_first()
- while True:
- if anIter == None:
- return False
- aTitle = self['stepper_id_list'].get_model().get_value(anIter, 0 )
- if aTitle == aStepperID:
- aPath = self['stepper_id_list'].get_model().get_path ( anIter )
- self['stepper_id_list'].set_cursor( aPath, None, False )
- break
- anIter=self['stepper_id_list'].get_model().iter_next(anIter)
- self.__selectStepperID( None )
- return False
-
+ # ==========================================================================
+ def selectStepperID( self, aStepperID ):
+ """ selects StepperID on screen and displays its property list
+ if StepperID exists returns True, else returns False
+ """
+ anIter=self['stepper_id_list'].get_model().get_iter_first()
+ while True:
+ if anIter == None:
+ return False
+ aTitle = self['stepper_id_list'].get_model().get_value(anIter, 0 )
+ if aTitle == aStepperID:
+ aPath = self['stepper_id_list'].get_model().get_path ( anIter )
+ self['stepper_id_list'].set_cursor( aPath, None, False )
+ break
+ anIter=self['stepper_id_list'].get_model().iter_next(anIter)
+ self.__selectStepperID( None )
+ return False
- # ==========================================================================
- def __selectStepperID( self, *arg ):
- """selects stepper ID
- Return None
- """
+
- # When window is not created, does nothing.
- if not self.exists():
- return None
+ # ==========================================================================
+ def __selectStepperID( self, *arg ):
+ """selects stepper ID
+ Return None
+ """
- # --------------------------------------------------
- # Creates selected StepperSub
- # --------------------------------------------------
- iter = self['stepper_id_list'].get_selection().get_selected()[1]
- # aStepperID is selected stepper id
- aStepperID = self['stepper_id_list'].get_model().get_value(iter,0)
-
- # When same StepperID is selected, does nothing
- if self.theSelectedStepperID != None and aStepperID == self.theSelectedStepperID:
- return None
- self.theSelectedStepperID = aStepperID
- self.thePropertyMap = {}
- # aStepperStub is selected StepperStub of selected stepper
- aStepperStub = self.theSession.StepperStub( aStepperID )
+ # When window is not created, does nothing.
+ if not self.exists():
+ return None
+ # --------------------------------------------------
+ # Creates selected StepperSub
+ # --------------------------------------------------
+ iter = self['stepper_id_list'].get_selection().get_selected()[1]
+ # aStepperID is selected stepper id
+ aStepperID = self['stepper_id_list'].get_model().get_value(iter,0)
+
+ # When same StepperID is selected, does nothing
+ if self.theSelectedStepperID != None and aStepperID == self.theSelectedStepperID:
+ return None
+ self.theSelectedStepperID = aStepperID
+ self.thePropertyMap = {}
+ # aStepperStub is selected StepperStub of selected stepper
+ aStepperStub = self.theSession.createStepperStub( aStepperID )
-
- # updates property list
- aPropertyModel=self['property_list'].get_model()
- aPropertyModel.clear()
+ # updates property list
+ aPropertyModel = self['property_list'].get_model()
+ aPropertyModel.clear()
- # creats list of ClassName's row
- aList = [ 'ClassName', ]
+ # creats list of ClassName's row
+ aList = [ 'ClassName', ]
- # value
- aClassName = aStepperStub.getClassname( )
- aList.append( str(aClassName) )
- self.thePropertyMap[ 'ClassName'] = str( aClassName )
+ # value
+ aClassName = aStepperStub.getClassname( )
+ aList.append( str(aClassName) )
+ self.thePropertyMap[ 'ClassName' ] = str( aClassName )
- # gettable and settable
- aList.append( decodeAttribute( True ) ) # gettable is '+'
- aList.append( decodeAttribute( False ) ) # settable is '-'
+ # gettable and settable
+ aList.append( True ) # gettable is '+'
+ aList.append( False ) # settable is '-'
- # sets this list to TreeModel
- iter = aPropertyModel.append()
- for i in range(0,4):
- aPropertyModel.set_value(iter,i,aList[i])
-
- self.theFirstPropertyIter[aStepperID] = iter
+ # sets this list to TreeModel
+ iter = aPropertyModel.append()
+ for i in range(0, 4):
+ aPropertyModel.set_value(iter, i, aList[i])
+
+ self.theFirstPropertyIter[aStepperID] = iter
- # --------------------------------------------------
- # sets all propertys' row other than ClassName
- # --------------------------------------------------
- for aProperty in aStepperStub.getPropertyList():
+ # --------------------------------------------------
+ # sets all propertys' row other than ClassName
+ # --------------------------------------------------
+ for aProperty in aStepperStub.getPropertyList():
- # property
- aList = [ aProperty, ] # first element
+ # property
+ aList = [ aProperty, ] # first element
- # gettable and settable
- anAttribute = aStepperStub.getPropertyAttributes( aProperty )
- # value
- if anAttribute[GETABLE] == 0:
- continue
- aValue = aStepperStub.getProperty( aProperty )
- self.thePropertyMap[ aProperty ] = aValue
+ # gettable and settable
+ anAttribute = aStepperStub.getPropertyAttributes( aProperty )
+ # value
+ if anAttribute[GETABLE] == 0:
+ continue
+ aValue = aStepperStub.getProperty( aProperty )
+ self.thePropertyMap[ aProperty ] = aValue
- aValueString = str( aValue )
- # second element
- aList.append( shortenString( aValueString,\
- MAX_STRING_NUMBER) )
+ aValueString = str( aValue )
+ # second element
+ aList.append( shortenString( aValueString,\
+ MAX_STRING_NUMBER) )
- aList.append( decodeAttribute(anAttribute[GETABLE]) ) # third element
- aList.append( decodeAttribute(anAttribute[SETTABLE]) ) # forth element
+ aList.append( anAttribute[GETABLE] ) # third element
+ aList.append( anAttribute[SETTABLE] ) # forth element
- # sets this list to TreeModel
- iter = aPropertyModel.append( )
- #anIterListElement = [iter]
- for i in range(0,4):
- aPropertyModel.set_value(iter,i,aList[i])
+ # sets this list to TreeModel
+ iter = aPropertyModel.append()
+ #anIterListElement = [iter]
+ for i in range(0,4):
+ aPropertyModel.set_value(iter, i, aList[i])
- self.update()
+ self.update()
- if self.theSelectedPath.has_key(aStepperID):
- aPath = self.theSelectedPath[aStepperID]
- self['property_list'].get_selection().select_path(aPath)
- else:
- aPath = (0,)
- self.theSelectedPath[aStepperID] = aPath
- self['property_list'].get_selection().select_path(aPath)
+ if self.theSelectedPath.has_key(aStepperID):
+ aPath = self.theSelectedPath[aStepperID]
+ self['property_list'].get_selection().select_path(aPath)
+ else:
+ aPath = (0,)
+ self.theSelectedPath[aStepperID] = aPath
+ self['property_list'].get_selection().select_path(aPath)
- self.__selectProperty()
+ # ==========================================================================
+ def selectProperty(self, aPropertyName):
+ """ selects PropertyName on screen
+ if PropertyName exists returns True, else returns False
+ """
+ anIter=self['property_list'].get_model().get_iter_first()
+ while True:
+ if anIter == None:
+ return False
+ aTitle = self['property_list'].get_model().get_value(anIter, PROPERTY_INDEX )
+ if aTitle == aPropertyName:
+ aPath = self['property_list'].get_model().get_path ( anIter )
+ self['property_list'].set_cursor( aPath, None, False )
+ break
+ anIter=self['property_list'].get_model().iter_next(anIter)
- # ==========================================================================
- def selectProperty(self, aPropertyName):
- """ selects PropertyName on screen
- if PropertyName exists returns True, else returns False
- """
- anIter=self['property_list'].get_model().get_iter_first()
+ return False
- while True:
- if anIter == None:
- return False
- aTitle = self['property_list'].get_model().get_value(anIter, PROPERTY_INDEX )
- if aTitle == aPropertyName:
- aPath = self['property_list'].get_model().get_path ( anIter )
- self['property_list'].set_cursor( aPath, None, False )
- break
- anIter=self['property_list'].get_model().iter_next(anIter)
+ # ==========================================================================
+ # ==========================================================================
+ def __updateProperty( self, renderer, path, aValue, *kwarg ):
+ """updates property
+ Return None
+ """
- self.__selectProperty( None )
- return False
+ # --------------------------------------------------
+ # creates selected StepperSub
+ # --------------------------------------------------
+ iter = self['stepper_id_list'].get_selection().get_selected()[1]
+ aStepperID = self['stepper_id_list'].get_model().get_value(iter,0)
+ aStepperStub = self.theSession.createStepperStub( aStepperID )
+ # gets selected property row
+ aPropertyModel = self['property_list'].get_model()
+ iter = aPropertyModel.get_iter(path)
+ # -----------------------------------------------------------
+ # get a property name from property list
+ # -----------------------------------------------------------
+ aPropertyName = aPropertyModel.get_value( iter, PROPERTY_INDEX )
- # ==========================================================================
- def __selectProperty( self, *arg ):
- """when a property is selected, calls this method.
- updates
- Returns None
- """
+ # converts value type
+ anOldValue = aStepperStub.getProperty( aPropertyName )
- # If Window is closed, do nothing.
- if not self.exists():
- return None
+ # ---------------------------------------------------
+ # checks float and int type of inputted value
+ # does not check str. ( not needed )
+ # ---------------------------------------------------
+ # float
+ if type(anOldValue) == float:
+ try:
+ aValue = float(aValue)
+ except:
+ # displays confirm window
+ anErrorMessage = "Input float value."
+ aDialog = ConfirmWindow(OK_MODE,"Can't set property!\n" + anErrorMessage,'Error!')
+ return None
- # --------------------------------------------------
- # Creates selected StepperSub
- # --------------------------------------------------
- iter_stepper = self['stepper_id_list'].get_selection().get_selected()[1]
- aStepperID = self['stepper_id_list'].get_model().get_value(iter_stepper,0)
- aStepperStub = self.theSession.createStepperStub( aStepperID )
+ # int
+ if type(anOldValue) == int:
+ try:
+ aValue = int(aValue)
+ except:
+ # displays confirm window
+ anErrorMessage = "Input int value."
+ aDialog = ConfirmWindow(OK_MODE,"Can't set property!\n" + anErrorMessage,'Error!')
+ return None
- # --------------------------------------------------
- # gets selected property name
- # --------------------------------------------------
- iter = self['property_list'].get_selection().get_selected()[1]
- # When nothing is selected, does nothing.
- if iter == None:
- return None
- aPropertyName = self['property_list'].get_model().get_value( iter, PROPERTY_INDEX )
- self.theSelectedPath[aStepperID]=self['property_list'].get_model().get_path(iter)
+ # sets new value
+ try:
+ aStepperStub.setProperty( aPropertyName, aValue )
+ aPropertyModel.set_value( iter, VALUE_INDEX, aValue )
+ except:
- # --------------------------------------------------
- # sets value to value_entry
- # --------------------------------------------------
- aValue = None
+ # displays error message to MessageWindow
+ anErrorMessage = '\n'.join( traceback.format_exception( sys.exc_type,sys.exc_value,sys.exc_traceback ) )
+ self.theSession.message( anErrorMessage )
- # If selected Property is 'ClassName'
- if aPropertyName == 'ClassName':
- aValue = aStepperStub.getClassname()
+ # displays confirm window
+ anErrorMessage = "See MessageWindow for details."
+ aDialog = ConfirmWindow(OK_MODE,aMessage,"Can't set property!\n" + anErrorMessage)
+ return False
- # If selected Property is not 'ClassName'
- else:
- aValue = aStepperStub.getProperty( aPropertyName )
+ # when to set property is succeeded,
+ else:
+ # refreshs self['property_list']
+ self.update()
+ return True
- self['value_entry'].set_text( str( aValue ) )
+ # ==========================================================================
+ def update( self ):
+ """overwrites superclass's method
+ updates the value of self['property_list']
+ """
- # --------------------------------------------------
- # when the selected property is settable, set sensitive value_entry
- # when not, set unsensitive value_entry
- # --------------------------------------------------
- if self['property_list'].get_model().get_value( iter, SET_INDEX ) == decodeAttribute( True ):
- self['value_entry'].set_sensitive( True )
- self['update_button'].set_sensitive( True )
- else:
- self['value_entry'].set_sensitive( False )
- self['update_button'].set_sensitive( False )
+ # When this window does not created, does nothing
+ if not self.exists():
+ return None
- # ==========================================================================
- def updateProperty(self, aValue):
- """ overwrites selected Property on screen
- """
- if self['value_entry'].get_editable():
- self['value_entry'].set_text ( str( aValue ) )
- self.__updateProperty(None)
+ # gets stepperID
+ iter_stepper = self['stepper_id_list'].get_selection().get_selected()[1]
+ aStepperID = self['stepper_id_list'].get_model().get_value(iter_stepper,0)
+ aStepperStub = self.theSession.createStepperStub( aStepperID )
- # ==========================================================================
- def __updateProperty( self, *arg ):
- """updates property
- Return None
- """
+ iter = self.theFirstPropertyIter[aStepperID]
- # If Window is closed, do nothing.
- if not self.exists():
- return None
+ # updates all value of self['property_list']
+ while( True ):
+ iter = self['property_list'].get_model().iter_next(iter)
+ if iter == None:
+ break
+ aProperty = self['property_list'].get_model().get_value(iter,0)
+ if type ( self.thePropertyMap[ aProperty ] ) != type( () ):
+ if aStepperStub.getPropertyAttributes( aProperty )[GETABLE]:
+ aValue = str( aStepperStub.getProperty( aProperty ) )
+ else:
+ aValue = ''
+ self['property_list'].get_model().set_value(iter,1,aValue)
- # --------------------------------------------------
- # creates selected StepperSub
- # --------------------------------------------------
- iter = self['stepper_id_list'].get_selection().get_selected()[1]
- aStepperID = self['stepper_id_list'].get_model().get_value(iter,0)
- aStepperStub = self.theSession.createStepperStub( aStepperID )
+ # updates text
- # gets selected property row
- iter = self['property_list'].get_selection().get_selected()[1]
- if iter == None:
- aMessage = 'Select a property.'
- aDialog = ConfirmWindow(OK_MODE,aMessage,'Error!')
- self['statusbar'].push(1,'property is not selected.')
- return None
-
- self['statusbar'].pop(1)
-
- # -----------------------------------------------------------
- # gets a value to update
- # -----------------------------------------------------------
- aValue = self['value_entry'].get_text( )
-
- # -----------------------------------------------------------
- # get a property name from property list
- # -----------------------------------------------------------
- aPropertyName = self['property_list'].get_model().get_value( iter, PROPERTY_INDEX )
-
- # When the property value is scalar
- if type(aValue) != list and type(aValue) != tuple:
-
- # converts value type
- anOldValue = aStepperStub.getProperty( aPropertyName )
-
- # ---------------------------------------------------
- # checks float and int type of inputted value
- # does not check str. ( not needed )
- # ---------------------------------------------------
- # float
- if type(anOldValue) == float:
- try:
- aValue = float(aValue)
- except:
- # displays confirm window
- anErrorMessage = "Input float value."
- self['statusbar'].push(1,anErrorMessage)
- aDialog = ConfirmWindow(OK_MODE,"Can't set property!\n" + anErrorMessage,'Error!')
- return None
-
- # int
- if type(anOldValue) == int:
- try:
- aValue = int(aValue)
- except:
- # displays confirm window
- anErrorMessage = "Input int value."
- self['statusbar'].push(1,anErrorMessage)
- aDialog = ConfirmWindow(OK_MODE,"Can't set property!\n" + anErrorMessage,'Error!')
- return None
-
- # sets new value
- try:
- aStepperStub.setProperty( aPropertyName, aValue )
- except:
-
- # displays error message to MessageWindow
- anErrorMessage = '\n'.join( traceback.format_exception( sys.exc_type,sys.exc_value,sys.exc_traceback ) )
- self.theSession.message( anErrorMessage )
-
- # displays confirm window
- anErrorMessage = "See MessageWindow for details."
- self['statusbar'].push(1,anErrorMessage)
- aDialog = ConfirmWindow(OK_MODE,aMessage,"Can't set property!\n" + anErrorMessage)
- return None
-
- # when to set property is succeeded,
- else:
-
- # refreshs self['property_list']
- self.update()
-
- # displays message to status bar
- aMessage = "Property is changed."
- self['statusbar'].push(1,aMessage)
-
- # ------------------------------------
- # When the property value is tuple
- # ------------------------------------
- else:
-
- # -------------------------------------------
- # converts value type
- # do not check the type of ecah element.
- # -------------------------------------------
- anOldValue = aStepperStub.getProperty( aPropertyName )
- anIndexOfTuple = int(aNumber)-1
-
- # -------------------------------------------
- # create tuple to set
- # -------------------------------------------
- if anIndexOfTuple == 0:
- aNewValue = (aValue,) + aValueTuple[anIndexOfTuple+1:]
- elif anIndexOfTuple == len(aValueTuple)-1:
- aNewValue = aValueTuple[:anIndexOfTuple] + (aValue,)
- else:
- aNewValue = aValueTuple[:anIndexOfTuple] + (aValue,) + aValueTuple[anIndexOfTuple+1:]
-
-
- # -------------------------------------------
- # sets new value
- # -------------------------------------------
- try:
- aStepperStub.setProperty( aPropertyName, aNewValue )
-
- except:
-
- # displays error message to MessageWindow
- anErrorMessage = '\n'.join( traceback.format_exception( sys.exc_type,sys.exc_value,sys.exc_traceback ) )
- self.theSession.message( aErroeMessage )
-
- # displays confirm window
- anErrorMessage = "See MessageWindow for details."
- aDialog = ConfirmWindow(OK_MODE,aMessage,"Can't set property!\n" + anErrorMessage)
- self['statusbar'].push(1,anErrorMessage)
- return None
-
-
- # ==========================================================================
- def update( self ):
- """overwrites superclass's method
- updates the value of self['property_list']
- """
-
- # When this window does not created, does nothing
- if not self.exists():
- return None
-
- # clears message on statusbar.
- self['statusbar'].pop(1)
-
- # gets stepperID
- iter_stepper = self['stepper_id_list'].get_selection().get_selected()[1]
- aStepperID = self['stepper_id_list'].get_model().get_value(iter_stepper,0)
- aStepperStub = self.theSession.createStepperStub( aStepperID )
-
- iter = self.theFirstPropertyIter[aStepperID]
-
- # updates all value of self['property_list']
- while( True ):
- iter = self['property_list'].get_model().iter_next(iter)
- if iter == None:
- break
- aProperty = self['property_list'].get_model().get_value(iter,0)
- if type ( self.thePropertyMap[ aProperty ] ) != type( () ):
- if aStepperStub.getPropertyAttributes( aProperty )[GETABLE]:
- aValue = str( aStepperStub.getProperty( aProperty ) )
- else:
- aValue = ''
- self['property_list'].get_model().set_value(iter,1,aValue)
-
- # updates text
- self.__selectProperty()
-
-
-# end of StepperWindow
-
-
-
Modified: ecell3/trunk/ecell/frontend/session-monitor/glade/EntityListWindow.glade
===================================================================
--- ecell3/trunk/ecell/frontend/session-monitor/glade/EntityListWindow.glade 2011-01-20 11:56:01 UTC (rev 3892)
+++ ecell3/trunk/ecell/frontend/session-monitor/glade/EntityListWindow.glade 2011-01-24 12:46:14 UTC (rev 3893)
@@ -1,630 +1,404 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
+<?xml version="1.0" encoding="UTF-8"?>
<glade-interface>
-<requires lib="gnome"/>
-
-<widget class="GtkWindow" id="EntityListWindow">
- <property name="visible">True</property>
- <property name="title" translatable="yes">EntityList</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-
- <child>
- <widget class="GtkVBox" id="top_frame">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox96">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkComboBox" id="search_scope">
- <property name="visible">True</property>
- <property name="items" translatable="yes">All systems
+ <!-- interface-requires gtk+ 2.6 -->
+ <!-- interface-naming-policy toplevel-contextual -->
+ <widget class="GtkWindow" id="EntityListWindow">
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">EntityList</property>
+ <child>
+ <widget class="GtkVBox" id="top_frame">
+ <property name="visible">True</property>
+ <property name="border_width">6</property>
+ <child>
+ <widget class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
+ <property name="bottom_padding">4</property>
+ <child>
+ <widget class="GtkHBox" id="hbox96">
+ <property name="visible">True</property>
+ <child>
+ <widget class="GtkComboBox" id="search_scope">
+ <property name="visible">True</property>
+ <property name="items" translatable="yes">All systems
Selected systems</property>
- <signal name="changed" handler="on_search_scope_changed" last_modification_time="Thu, 05 Aug 2004 12:04:22 GMT"/>
- </widget>
- <packing>
- <property name="padding">1</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkComboBox" id="search_method">
- <property name="visible">True</property>
- <property name="items" translatable="yes">ID contains</property>
- </widget>
- <packing>
- <property name="padding">1</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkEntry" id="search_entry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="editable">True</property>
- <property name="visibility">True</property>
- <property name="max_length">0</property>
- <property name="text" translatable="yes"></property>
- <property name="has_frame">True</property>
- <property name="invisible_char" translatable="yes">*</property>
- <property name="activates_default">False</property>
- <signal name="key_press_event" handler="on_search_entry_key_press_event" last_modification_time="Wed, 21 Jul 2004 04:35:49 GMT"/>
- </widget>
- <packing>
- <property name="padding">1</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="search_button">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-find</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_search_button_clicked" last_modification_time="Wed, 21 Jul 2004 03:42:47 GMT"/>
- <accelerator key="F" modifiers="GDK_CONTROL_MASK" signal="clicked"/>
- </widget>
- <packing>
- <property name="padding">3</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="clear_button">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-clear</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_clear_button_clicked" last_modification_time="Wed, 04 Aug 2004 13:11:36 GMT"/>
- <accelerator key="c" modifiers="GDK_CONTROL_MASK" signal="clicked"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVSeparator" id="vseparator1">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="padding">3</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox1">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkToolButton" id="backbutton">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-go-back</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- <property name="is_important">False</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkToolButton" id="forwardbutton">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-go-forward</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- <property name="is_important">False</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHPaned" id="hpaned7">
- <property name="width_request">500</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
-
- <child>
- <widget class="GtkVBox" id="hoge_frame">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <placeholder/>
- </child>
-
- <child>
- <widget class="GtkVPaned" id="vpaned2">
- <property name="width_request">300</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
-
- <child>
- <widget class="GtkVBox" id="vbox77">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkFrame" id="_system_tree">
- <property name="width_request">100</property>
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow21">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTreeView" id="system_tree">
- <property name="height_request">120</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="headers_visible">False</property>
- <property name="rules_hint">False</property>
- <property name="reorderable">False</property>
- <property name="enable_search">True</property>
- <signal name="button_press_event" handler="on_system_tree_button_press_event" last_modification_time="Tue, 25 Mar 2003 17:37:41 GMT"/>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="system_label">
- <property name="visible">True</property>
- <property name="label" translatable="yes">System</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="shrink">True</property>
- <property name="resize">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHPaned" id="hpaned8">
- <property name="width_request">300</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
-
- <child>
- <widget class="GtkFrame" id="frame11">
- <property name="width_request">130</property>
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkVBox" id="vbox75">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow15">
- <property name="width_request">80</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTreeView" id="variable_tree">
- <property name="height_request">200</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_BUTTON_PRESS_MASK</property>
- <property name="headers_visible">True</property>
- <property name="rules_hint">False</property>
- <property name="reorderable">False</property>
- <property name="enable_search">True</property>
- <signal name="button_press_event" handler="on_variable_tree_button_press_event" last_modification_time="Tue, 20 Jul 2004 09:09:53 GMT"/>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="variable_label">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Variable</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="shrink">True</property>
- <property name="resize">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame12">
- <property name="width_request">130</property>
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkVBox" id="vbox76">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow16">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTreeView" id="process_tree">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="headers_visible">True</property>
- <property name="rules_hint">False</property>
- <property name="reorderable">False</property>
- <property name="enable_search">True</property>
- <signal name="button_press_event" handler="on_process_tree_button_press_event" last_modification_time="Tue, 20 Jul 2004 09:10:13 GMT"/>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="process_label">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Process</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="shrink">True</property>
- <property name="resize">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="shrink">True</property>
- <property name="resize">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox91">
- <property name="width_request">300</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox92">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">5</property>
-
- <child>
- <widget class="GtkHBox" id="hbox93">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox94">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox95">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow20">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
- <property name="vscrollbar_policy">GTK_POLICY_NEVER</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkViewport" id="viewport7">
- <property name="visible">True</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
-
- <child>
- <widget class="GtkOptionMenu" id="plugin_optionmenu">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Create new PluginWindow</property>
- <property name="can_focus">True</property>
- <property name="history">-1</property>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="view_button">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Create New PluginWindow</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">View Selected</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_view_button_clicked" last_modification_time="Tue, 20 Jul 2004 02:48:22 GMT"/>
- <accelerator key="C" modifiers="GDK_MOD1_MASK" signal="clicked"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- ...
[truncated message content] |