Changeset 3491:d3ef69450185 in orange


Ignore:
Timestamp:
04/04/07 13:36:30 (7 years ago)
Author:
Gregor <Gregor@…>
Branch:
default
Convert:
6c914b0e19f083ad21bf59b1f65892667b2fc90d
Message:
  • setState
File:
1 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/OWWidget.py

    r3414 r3491  
    1111        """ 
    1212        Initialization 
    13         Parameters:  
     13        Parameters: 
    1414            title - The title of the\ widget, including a "&" (for shortcut in about box) 
    1515            wantGraph - displays a save graph button or not 
     
    3737 
    3838        #self.setSizeGripEnabled(1) 
    39          
     39 
    4040        if wantGraph:    self.graphButton=QPushButton("&Save Graph",self.buttonBackground) 
    4141 
     
    5959        self.statusBarIconArea.setMinimumSize(16*3,16) 
    6060        self.statusBarIconArea.setMaximumSize(16*3,16) 
    61          
     61 
    6262        # create pixmaps used in statusbar to show info, warning and error messages 
    6363        self._infoWidget, self._infoPixmap = self.createPixmapWidget(self.statusBarIconArea, self.widgetDir + "icons/triangle-blue.png") 
     
    6969        if wantStatusBar == 0: 
    7070            self.widgetStatusArea.hide() 
    71          
     71 
    7272        self.resize(640,480) 
    7373 
     
    8080        else: 
    8181            pix = None 
    82              
     82 
    8383        return w, pix 
    8484 
    8585    def setState(self, stateType, id, text): 
    86         if type(id) == str: 
    87             text = id; id = 0 
    88         exState = self.widgetState[stateType].has_key(id) 
    89         OWBaseWidget.setState(self, stateType, id, text) 
     86        if type(id) == list: 
     87            stateChanged = 0 
     88            for val in id: 
     89                if self.widgetState[stateType].has_key(val): 
     90                    self.widgetState[stateType].pop(val) 
     91                    stateChanged = 1 
     92        else: 
     93            if type(id) == str: 
     94                text = id; id = 0 
     95            stateChanged = self.widgetState[stateType].has_key(id) or text 
     96            OWBaseWidget.setState(self, stateType, id, text) 
    9097 
     98        if not stateChanged: 
     99            return 
    91100        for state, widget, icon, use in [("Info", self._infoWidget, self._infoPixmap, self._owInfo), ("Warning", self._warningWidget, self._warningPixmap, self._owWarning), ("Error", self._errorWidget, self._errorPixmap, self._owError)]: 
    92101            if use and self.widgetState[state] != {}: 
     
    97106                widget.setBackgroundPixmap(QPixmap()) 
    98107                QToolTip.remove(widget) 
    99          
     108 
     109        if self.widgetStateHandler: 
     110            self.widgetStateHandler() 
     111 
    100112        if (stateType == "Info" and self._owInfo) or (stateType == "Warning" and self._owWarning) or (stateType == "Error" and self._owError): 
    101113            if text: 
    102114                self.setStatusBarText(stateType + ": " + text) 
    103             elif exState: 
     115            else: 
    104116                self.setStatusBarText("") 
     117        qApp.processEvents() 
    105118 
    106119    def setStatusBarVisible(self, visible): 
     
    113126    def setStatusBarText(self, text): 
    114127        self.statusBarTextArea.setText("  " + text) 
    115         qApp.processEvents()         
     128        qApp.processEvents() 
    116129 
    117130    def startReport(self, name, needDirectory = False): 
     
    125138        else: 
    126139            return True 
    127          
     140 
    128141    def reportSection(self, title): 
    129142        self.reportData += "<H2>%s</H2>\n" % title 
    130          
     143 
    131144    def reportSubsection(self, title): 
    132145        self.reportData += "<H3>%s</H3>\n" % title 
    133          
     146 
    134147    def reportList(self, items): 
    135148        self.startReportList() 
     
    137150            self.addToReportList(item) 
    138151        self.finishReportList() 
    139          
     152 
    140153    def reportImage(self, filename): 
    141154        self.reportData += '<IMG src="%s"/>' % filename 
    142          
     155 
    143156    def startReportList(self): 
    144157        self.reportData += "<UL>\n" 
    145          
     158 
    146159    def addToReportList(self, item): 
    147160        self.reportData += "    <LI>%s</LI>\n" % item 
    148          
     161 
    149162    def finishReportList(self): 
    150163        self.reportData += "</UL>\n" 
    151          
     164 
    152165    def reportSettings(self, settingsList, closeList = True): 
    153166        self.startReportList() 
     
    157170        if closeList: 
    158171            self.finishReportList() 
    159          
     172 
    160173    def reportRaw(self, text): 
    161174        self.reportData += text 
    162          
     175 
    163176    def finishReport(self): 
    164177        import OWReport 
    165178        OWReport.feed(self.reportData or "") 
    166179        self.reportData = None 
    167          
    168 if __name__ == "__main__":   
     180 
     181if __name__ == "__main__": 
    169182    a=QApplication(sys.argv) 
    170183    oww=OWWidget() 
Note: See TracChangeset for help on using the changeset viewer.