[Avida-cvs] [Avida2-svn] r178 - trunk/source/python/AvidaGui2
jclune at myxo.css.msu.edu
jclune at myxo.css.msu.edu
Sun Jun 5 12:57:08 PDT 2005
Author: jclune
Date: 2005-06-05 15:57:08 -0400 (Sun, 05 Jun 2005)
New Revision: 178
Modified:
trunk/source/python/AvidaGui2/pyFreezerCtrl.py
trunk/source/python/AvidaGui2/pyOnePop_PetriDishCtrl.py
trunk/source/python/AvidaGui2/pyOnePopulationCtrl.py
trunk/source/python/AvidaGui2/pyPetriConfigureCtrl.py
Log:
Drag and drop now works (for full petri dishes) for the petri dish view.
Modified: trunk/source/python/AvidaGui2/pyFreezerCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pyFreezerCtrl.py 2005-06-04 19:16:19 UTC (rev 177)
+++ trunk/source/python/AvidaGui2/pyFreezerCtrl.py 2005-06-05 19:57:08 UTC (rev 178)
@@ -64,8 +64,6 @@
def pressed_itemSlot(self, item):
if item != None and item.depth() > 0:
- print "mouse pressed"
- print item.text(0)
dragHolder = self.itemDrag( item.text(0), self )
# maybe play with iconView
Modified: trunk/source/python/AvidaGui2/pyOnePop_PetriDishCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pyOnePop_PetriDishCtrl.py 2005-06-04 19:16:19 UTC (rev 177)
+++ trunk/source/python/AvidaGui2/pyOnePop_PetriDishCtrl.py 2005-06-05 19:57:08 UTC (rev 178)
@@ -3,8 +3,8 @@
from qt import *
from pyMapProfile import pyMapProfile
from pyOnePop_PetriDishView import pyOnePop_PetriDishView
+import os
-
class pyOnePop_PetriDishCtrl(pyOnePop_PetriDishView):
def __init__(self,parent = None,name = None,fl = 0):
@@ -26,11 +26,13 @@
self.connect(self.m_session_mdl.m_session_mdtr, PYSIGNAL("setAvidaSig"), self.setAvidaSlot)
self.connect(self.m_petri_dish_toggle, SIGNAL("clicked()"), self.ToggleDishSlot)
self.connect(self.m_session_mdl.m_session_mdtr, PYSIGNAL("doDefrostDishSig"), self.RenameDishSlot)
- self.connect(self.m_session_mdl.m_session_mdtr, PYSIGNAL("doDefrostDishSig"), self.MakeConfigVisiableSlot)
+ self.connect(self.m_session_mdl.m_session_mdtr, PYSIGNAL("doefrostDishSig"), self.MakeConfigVisiableSlot)
self.connect(self.m_session_mdl.m_session_mdtr, PYSIGNAL("doDisablePetriDishSig"), self.SetDishDisabledSlot)
self.connect(self.m_zoom_spinbox, SIGNAL("valueChanged(int)"), self.m_petri_dish_ctrl.zoomSlot)
self.connect(self.m_petri_dish_ctrl, PYSIGNAL("zoomSig"), self.m_zoom_spinbox.setValue)
self.connect(self.m_mode_combobox, SIGNAL("activated(int)"), self.modeActivatedSlot)
+ self.connect( self.m_session_mdl.m_session_mdtr, PYSIGNAL("petriDishDroppedInPopViewSig"),
+ self.petriDropped)
self.m_mode_combobox.clear()
self.m_mode_combobox.setInsertionPolicy(QComboBox.AtBottom)
@@ -130,3 +132,14 @@
print "send_reset_signal = " + str(send_reset_signal)
print "send_quit_signal = " + str(send_quit_signal)
+ def petriDropped(self, e):
+ print "caught it"
+ # Try to decode to the data you understand...
+ string = QString()
+ if ( QTextDrag.decode( e, string ) ) :
+ dishName = string
+ self.PopulationTextLabel.setText(dishName)
+ current_page = self.m_petri_dish_widget_stack.visibleWidget()
+ current_page_int = self.m_petri_dish_widget_stack.id(current_page)
+ if (current_page_int == 0):
+ self.ToggleDishSlot()
\ No newline at end of file
Modified: trunk/source/python/AvidaGui2/pyOnePopulationCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pyOnePopulationCtrl.py 2005-06-04 19:16:19 UTC (rev 177)
+++ trunk/source/python/AvidaGui2/pyOnePopulationCtrl.py 2005-06-05 19:57:08 UTC (rev 178)
@@ -2,12 +2,13 @@
from qt import *
from pyOnePopulationView import pyOnePopulationView
+import os
-
class pyOnePopulationCtrl(pyOnePopulationView):
def __init__(self,parent = None,name = None,fl = 0):
pyOnePopulationView.__init__(self,parent,name,fl)
+ self.setAcceptDrops(1)
def construct(self, session_mdl):
self.m_session_mdl = session_mdl
@@ -15,3 +16,14 @@
self.m_one_pop_graph_ctrl.construct(self.m_session_mdl)
self.m_one_pop_stats_ctrl.construct(self.m_session_mdl)
self.m_one_pop_timeline_ctrl.hide()
+ self.connect( self, PYSIGNAL("petriDishDroppedInPopViewSig"), self.m_session_mdl.m_session_mdtr, PYSIGNAL("petriDishDroppedInPopViewSig"))
+
+ def dropEvent( self, e ):
+ string = QString()
+ print "dropEvent"
+ if ( QTextDrag.decode( e, string ) ) :
+ if os.path.exists(str('default.workspace/freezer/' + str(string) + '.full/')) == False:
+ print "that was not a valid path"
+ else:
+ self.emit(PYSIGNAL("petriDishDroppedInPopViewSig"), (e,))
+ print "emitted"
\ No newline at end of file
Modified: trunk/source/python/AvidaGui2/pyPetriConfigureCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pyPetriConfigureCtrl.py 2005-06-04 19:16:19 UTC (rev 177)
+++ trunk/source/python/AvidaGui2/pyPetriConfigureCtrl.py 2005-06-05 19:57:08 UTC (rev 178)
@@ -17,6 +17,7 @@
def __init__(self,parent = None,name = None,fl = 0):
pyPetriConfigureView.__init__(self,parent,name,fl)
+ self.setAcceptDrops(1)
def setAvidaSlot(self, avida):
@@ -62,6 +63,7 @@
self.connect(self.m_session_mdl.m_session_mdtr, PYSIGNAL("setAvidaSig"), self.setAvidaSlot)
self.connect(self.m_session_mdl.m_session_mdtr, PYSIGNAL("doInitializeAvidaPhaseIISig"),
self.doLoadPetriDishConfigFileSlot)
+ self.connect( self, PYSIGNAL("petriDishDroppedInPopViewSig"), self.m_session_mdl.m_session_mdtr, PYSIGNAL("petriDishDroppedInPopViewSig"))
self.ChangeMutationTextSlot()
self.ChangeWorldSizeTextSlot()
self.populated = False
@@ -275,3 +277,12 @@
self.m_session_mdl.m_session_mdtr, PYSIGNAL("setAvidaSig"),
self.setAvidaSlot)
+ def dropEvent( self, e ):
+ string = QString()
+ print "dropEvent"
+ if ( QTextDrag.decode( e, string ) ) :
+ if os.path.exists(str('default.workspace/freezer/' + str(string) + '.full/')) == False:
+ print "that was not a valid path"
+ else:
+ self.emit(PYSIGNAL("petriDishDroppedInPopViewSig"), (e,))
+ print "emitted"
\ No newline at end of file
More information about the Avida-cvs
mailing list