diff --git a/modules/gui/pymod/scene/custom_widget.py b/modules/gui/pymod/scene/custom_widget.py
index 5699c4ea940ca6e2499e24241d0c7c64daeb3020..9f8c3ffc0b9c08bd72829d0856b841451fc3724d 100644
--- a/modules/gui/pymod/scene/custom_widget.py
+++ b/modules/gui/pymod/scene/custom_widget.py
@@ -38,6 +38,12 @@ class CustomWidget(RenderModeWidget):
     min_arc_detail = 1
     max_arc_detail = 20
     
+    min_rad = 0.05
+    max_bond_rad = 0.5
+    max_sphere_rad = 1
+    
+    
+    
     #Set Render Mode
     self.mode_ = gfx.RenderMode.CUSTOM
         
@@ -48,6 +54,33 @@ class CustomWidget(RenderModeWidget):
     
     self.arc_spinbox_ = QtGui.QSpinBox()
     self.arc_spinbox_.setRange(min_arc_detail, max_arc_detail)
+  
+    #Bond Radius
+    radius_bond_label = QtGui.QLabel("Bond Radius")
+    
+    self.radius_bond_spinbox_ = QtGui.QDoubleSpinBox()
+    self.radius_bond_spinbox_.setRange(min_rad, max_bond_rad)
+    self.radius_bond_spinbox_.setDecimals(2)
+    self.radius_bond_spinbox_.setSingleStep(0.05)
+    
+    self.radius_bond_slider_ = QtGui.QSlider(QtCore.Qt.Horizontal, self)
+    self.radius_bond_slider_.setRange(min_rad*100.0, max_bond_rad*100.0)
+    self.radius_bond_slider_.setTickPosition(QtGui.QSlider.NoTicks)
+    self.radius_bond_slider_.setTickInterval(5)
+    
+    
+    #Sphere Radius
+    radius_sphere_label = QtGui.QLabel("Sphere Radius")
+    
+    self.radius_sphere_spinbox_ = QtGui.QDoubleSpinBox()
+    self.radius_sphere_spinbox_.setRange(min_rad, max_sphere_rad)
+    self.radius_sphere_spinbox_.setDecimals(2)
+    self.radius_sphere_spinbox_.setSingleStep(0.05)
+    
+    self.radius_sphere_slider_ = QtGui.QSlider(QtCore.Qt.Horizontal, self)
+    self.radius_sphere_slider_.setRange(min_rad*100.0, max_sphere_rad*100.0)
+    self.radius_sphere_slider_.setTickPosition(QtGui.QSlider.NoTicks)
+    self.radius_sphere_slider_.setTickInterval(5)
     
     custom_label = QtGui.QLabel(self.text_)
     font = custom_label.font()
@@ -61,13 +94,36 @@ class CustomWidget(RenderModeWidget):
     grid.addWidget(self.sphere_spinbox_, 1, 2, 1, 1)
     grid.addWidget(arc_label,2,0,1,3)
     grid.addWidget(self.arc_spinbox_,2,2,1,1)
+    
+    grid.addWidget(radius_bond_label, 3, 0, 1, 1)
+    grid.addWidget(self.radius_bond_slider_, 3, 1, 1, 3)
+    grid.addWidget(self.radius_bond_spinbox_, 3, 4, 1, 1)
+    
+    grid.addWidget(radius_sphere_label, 4, 0, 1, 1)
+    grid.addWidget(self.radius_sphere_slider_, 4, 1, 1, 3)
+    grid.addWidget(self.radius_sphere_spinbox_, 4, 4, 1, 1)
+    
     grid.setRowStretch(3,1)
     self.setLayout(grid)
   
     QtCore.QObject.connect(self.sphere_spinbox_, QtCore.SIGNAL("valueChanged(int)"), self.UpdateSphereDetail)
     QtCore.QObject.connect(self.arc_spinbox_, QtCore.SIGNAL("valueChanged(int)"), self.UpdateArcDetail)
     
-    self.setMinimumSize(250,90)
+    QtCore.QObject.connect(self.radius_bond_spinbox_, 
+                           QtCore.SIGNAL("valueChanged(double)"), 
+                           self.UpdateBondRadius)
+    QtCore.QObject.connect(self.radius_bond_slider_, 
+                           QtCore.SIGNAL("valueChanged(int)"), 
+                           self.UpdateSliderBondRadius)
+    
+    QtCore.QObject.connect(self.radius_sphere_spinbox_, 
+                           QtCore.SIGNAL("valueChanged(double)"), 
+                           self.UpdateSphereRadius)
+    QtCore.QObject.connect(self.radius_sphere_slider_, 
+                           QtCore.SIGNAL("valueChanged(int)"), 
+                           self.UpdateSliderSphereRadius)
+    
+    self.setMinimumSize(250,150)
     
   def UpdateSphereDetail(self, value):
     self.GetOptions().SetSphereDetail(value)
@@ -77,9 +133,38 @@ class CustomWidget(RenderModeWidget):
     self.GetOptions().SetArcDetail(value)
     self.ApplyOptions()
 
+  def UpdateBondRadius(self, value):
+    self.GetOptions().SetBondRad(value)
+    if(self.GetOptions().GetSphereRad()<self.GetOptions().GetBondRad()):
+      self.GetOptions().SetSphereRad(value)
+    
+  def UpdateSliderBondRadius(self, value):
+    self.GetOptions().SetBondRad(value/100.0)
+
+  def UpdateSphereRadius(self, value):
+    self.GetOptions().SetSphereRad(value)
+    if(self.GetOptions().GetSphereRad()<self.GetOptions().GetBondRad()):
+      self.GetOptions().SetBondRad(value)
+    
+  def UpdateSliderSphereRadius(self, value):
+    self.GetOptions().SetSphereRad(value/100.0)
+
+  def UpdateSphereRadiusGui(self,value):
+    if(abs(value*100.0 - self.radius_sphere_slider_.value())>=self.radius_sphere_spinbox_.singleStep()):
+      self.radius_sphere_slider_.setValue(value*100.0)
+    self.radius_sphere_spinbox_.setValue(value)
+
+  def UpdateBondRadiusGui(self,value):
+    if(abs(value*100.0 - self.radius_bond_slider_.value())>=self.radius_bond_spinbox_.singleStep()):
+      self.radius_bond_slider_.setValue(value*100.0)
+    self.radius_bond_spinbox_.setValue(value)
+
   def UpdateGui(self,options):
     self.sphere_spinbox_.setValue(options.GetSphereDetail())    
     self.arc_spinbox_.setValue(options.GetArcDetail())
+    
+    self.UpdateBondRadiusGui(options.GetBondRad())
+    self.UpdateSphereRadiusGui(options.GetSphereRad())
 
   def GetText(self):
     return self.text_