* The New project toolbar button now works. A druid will display the

available workflows and ask you to select one of them. There are still
   a couple of unresolved issues, but it works, so i upload it to ease
   the use of the program.
This commit is contained in:
2006-04-22 21:46:44 +00:00
parent 357cd1a1a6
commit efcdafe843
7 changed files with 253 additions and 58 deletions

50
fluent
View File

@@ -4,6 +4,7 @@ import sys
sys.path.append('system')
sys.path.append('workflows')
import dialogs
import pygtk
pygtk.require('2.0')
import gtk
@@ -18,7 +19,7 @@ import dataset
import logger
import plots
import navigator
import go_workflow
#import go_workflow
#import pca_workflow
import scipy
@@ -30,25 +31,23 @@ class FluentApp:
def __init__(self):
# Application variables
self.project = project.Project()
# add test data ##################
x = scipy.rand(200,3)
def_list = [ ['samples',[]], ['genes',['a','b','c']] ]
test_data1 = dataset.Dataset(x,def_list)
self.project.add_dataset(test_data1)
#y = scipy.rand(200,2)
#def_list = [ ['samples',[]], ['yclasses',['C','N']] ]
#test_data2 = dataset.Dataset(y,def_list)
####################
self.project = None
self.current_data = None
gtk.glade.set_custom_handler(self.custom_object_factory)
self.widget_tree = gtk.glade.XML(GLADEFILENAME, 'appwindow')
# self.workflow = pca_workflow.PCAWorkflow(self)
self.workflow = go_workflow.EinarsWorkflow(self)
self.workflow = workflow.EmptyWorkflow(self)
# self.workflow.add_project(self.project)
def set_project(self, project):
logger.log('notice', 'Creating a new project')
self.project = project
self.workflow.add_project(self.project)
self.navigator_view.add_project(self.project)
def set_workflow(self, workflow):
self.workflow = workflow
self.wf_menu.set_workflow(self.workflow)
def custom_object_factory(self, glade, function_name, widget_name,\
str1, str2, int1, int2):
@@ -77,8 +76,8 @@ class FluentApp:
return self.large_view
def create_navigator_view(self, str1, str2, int1, int2):
tree = self.project.data_tree
self.navigator_view = navigator.NavigatorView(self.project, self)
# tree = self.project.data_tree
self.navigator_view = navigator.NavigatorView(None, self)
self.navigator_view.show()
return self.navigator_view
@@ -89,9 +88,9 @@ class FluentApp:
self['appwindow'].set_size_request(800, 600)
# Set up workflow
wf_menu = workflow.WorkflowView(self.workflow)
wf_menu.show()
self['workflow_vbox'].pack_end(wf_menu)
self.wf_menu = workflow.WorkflowView(self.workflow)
self.wf_menu.show()
self['workflow_vbox'].pack_end(self.wf_menu)
# Set up plot toolbar
# self['plot_toolbar_dock'].add(plot.get_toolbar(self.app))
@@ -100,7 +99,9 @@ class FluentApp:
signals = {'on_quit1_activate' : (gtk.main_quit),
'on_appwindow_delete_event' : (gtk.main_quit),
'on_zoom_in_button_clicked' : (self.on_single_view),
'on_zoom_out_button_clicked' : (self.on_multiple_view)}
'on_zoom_out_button_clicked' : (self.on_multiple_view),
'on_new1_activated' : (self.on_create_project),
'on_button_new_clicked' : (self.on_create_project)}
self.widget_tree.signal_autoconnect(signals)
# Log that we've set up the app now
@@ -121,6 +122,11 @@ class FluentApp:
def __getitem__(self, key):
return self.widget_tree.get_widget(key)
def on_create_project(self, *rest):
logger.log('error', 'FIXME: Create project')
d = dialogs.CreateProjectDruid(self)
d.run()
if __name__ == '__main__':
gnome.program_init(PROGRAM_NAME, VERSION)
app = FluentApp()