Changeset 8782:8da761589111 in orange


Ignore:
Timestamp:
08/25/11 16:37:52 (3 years ago)
Author:
miha <miha.stajdohar@…>
Branch:
default
Convert:
62ef54d7e22a7bf8ce241f8eb0c6f2570f895f3d
Message:

Build data table automatically from the network file.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/Unsupervised/OWNxFile.py

    r8735 r8782  
    1919class OWNxFile(OWWidget): 
    2020     
    21     settingsList=["recentFiles", "recentDataFiles", "recentEdgesFiles"] 
     21    settingsList=["recentFiles", "recentDataFiles", "recentEdgesFiles", "auto_table"] 
    2222     
    2323    def __init__(self,parent=None, signalManager = None): 
     
    3131        self.recentDataFiles = ["(none)"] 
    3232        self.recentEdgesFiles = ["(none)"] 
     33        self.auto_table = False 
    3334         
    3435        self.domain = None 
    3536        self.graph = None 
     37        self.auto_items = None 
     38         
    3639        #get settings from the ini file, if they exist 
    3740        self.loadSettings() 
     
    3942        #GUI 
    4043        self.controlArea.layout().setMargin(4) 
    41         self.box = OWGUI.widgetBox(self.controlArea, box = "Graph File", orientation = "horizontal") 
    42         self.filecombo = OWGUI.comboBox(self.box, self, "filename") 
     44        self.box = OWGUI.widgetBox(self.controlArea, box = "Graph File", orientation = "vertical") 
     45        hb = OWGUI.widgetBox(self.box, orientation = "horizontal")         
     46        self.filecombo = OWGUI.comboBox(hb, self, "filename") 
    4347        self.filecombo.setMinimumWidth(250) 
    44         button = OWGUI.button(self.box, self, '...', callback = self.browseNetFile, disabled=0) 
     48        button = OWGUI.button(hb, self, '...', callback = self.browseNetFile, disabled=0) 
    4549        button.setIcon(self.style().standardIcon(QStyle.SP_DirOpenIcon)) 
    4650        button.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Fixed) 
     51        OWGUI.checkBox(self.box, self, "auto_table", "Build graph data table automatically", callback=lambda: self.selectNetFile(self.filecombo.currentIndex())) 
    4752         
    4853        self.databox = OWGUI.widgetBox(self.controlArea, box = "Vertices Data File", orientation = "horizontal") 
     
    193198         
    194199        #try: 
    195         net = Orange.network.readwrite.read(fn) 
    196         if fileExt == ".net": 
    197             self.infoc.setText("Vertices data generated and added automatically") 
     200        net = Orange.network.readwrite.read(fn, auto_table=self.auto_table) 
     201         
    198202        #except: 
    199203        #    self.readingFailed(infob='Could not read file') 
     
    204208            return 
    205209 
     210        if self.auto_table: 
     211            self.infoc.setText("Vertices data generated and added automatically") 
     212            self.auto_items = net.items() 
     213        else: 
     214            self.auto_items = None 
     215         
    206216        self.infoa.setText("%d nodes" % net.number_of_nodes()) 
    207217         
     
    260270    def addDataFile(self, fn): 
    261271        if fn == "(none)" or self.graph == None: 
    262             self.infoc.setText("No vertices data file specified") 
    263             self.graph.set_items(None) 
     272             
     273            if self.auto_items is not None: 
     274                self.infoc.setText("Vertices data generated and added automatically") 
     275                self.graph.set_items(self.auto_items) 
     276            else: 
     277                self.infoc.setText("No vertices data file specified") 
     278                self.graph.set_items(None) 
     279                 
    264280            self.send("Network", self.graph) 
    265             self.send("Items", None) 
     281            self.send("Items", self.graph.items()) 
    266282            return 
    267283          
Note: See TracChangeset for help on using the changeset viewer.