Ignore:
Files:
205 added
74 edited

Legend:

Unmodified
Added
Removed
  • MANIFEST.in

    r10845 r11173  
    22recursive-include Orange/doc * 
    33 
    4 recursive-include Orange/OrangeWidgets *.png *.gs *.vs *.obj *.html 
    5 recursive-include Orange/OrangeCanvas *.png *.pyw *.txt 
     4recursive-include Orange/OrangeWidgets *.png *.svg *.gs *.vs *.obj *.html 
     5recursive-include Orange/OrangeCanvas *.png *.svg *.qss *.pyw *.txt 
    66recursive-include Orange/orng *.cfg *.c 
    77 
  • Orange/OrangeWidgets/Associate/__init__.py

    r10423 r11095  
     1""" 
     2========= 
     3Associate 
     4========= 
    15 
     6Widgets for association rules. 
     7 
     8""" 
     9 
     10# Category description for the widget registry 
     11 
     12NAME = "Associate" 
     13 
     14DESCRIPTION = "Widgets for association rules." 
     15 
     16BACKGROUND = "#ACE3CE" 
     17 
     18PRIORITY = 7 
  • Orange/OrangeWidgets/Classify/OWC45Tree.py

    r10844 r11096  
    22<name>C4.5</name> 
    33<description>C45 (classification tree) learner/classifier.</description> 
    4 <icon>icons/C45.png</icon> 
     4<icon>icons/C4.5.svg</icon> 
    55<contact>Janez Demsar (janez.demsar(@at@)fri.uni-lj.si)</contact> 
    66<priority>35</priority> 
  • Orange/OrangeWidgets/Classify/OWCN2.py

    r9671 r11096  
    22<name>CN2</name> 
    33<description>Rule-based (CN2) learner/classifier.</description> 
    4 <icon>icons/CN2.png</icon> 
     4<icon>icons/CN2.svg</icon> 
    55<contact>Ales Erjavec (ales.erjavec(@at@)fri.uni-lj.si)</contact> 
    66<priority>300</priority> 
  • Orange/OrangeWidgets/Classify/OWCN2RulesViewer.py

    r9671 r11096  
    22<name>CN2 Rules Viewer</name> 
    33<description>Viewer of classification rules.</description> 
    4 <icon>icons/CN2RulesViewer.png</icon> 
     4<icon>icons/CN2RulesViewer.svg</icon> 
    55<contact>Ales Erjavec (ales.erjavec(@at@)fri.uni-lj.si)</contact> 
    66<priority>2120</priority> 
  • Orange/OrangeWidgets/Classify/OWClassificationTree.py

    r11015 r11216  
    22<name>Classification Tree</name> 
    33<description>Classification tree learner/classifier.</description> 
    4 <icon>icons/ClassificationTree.png</icon> 
     4<icon>icons/ClassificationTree.svg</icon> 
    55<contact>Janez Demsar (janez.demsar(@at@)fri.uni-lj.si)</contact> 
    66<priority>30</priority> 
  • Orange/OrangeWidgets/Classify/OWClassificationTreeGraph.py

    r11038 r11216  
    11"""<name>Classification Tree Graph</name> 
    22<description>Classification tree viewer (graph view).</description> 
    3 <icon>icons/ClassificationTreeGraph.png</icon> 
     3<icon>icons/ClassificationTreeGraph.svg</icon> 
    44<contact>Blaz Zupan (blaz.zupan(@at@)fri.uni-lj.si)</contact> 
    55<priority>2110</priority> 
  • Orange/OrangeWidgets/Classify/OWClassificationTreeViewer.py

    r10552 r11096  
    22<name>Classification Tree Viewer</name> 
    33<description>Classification tree viewer (hierarchical list view).</description> 
    4 <icon>icons/ClassificationTreeViewer.png</icon> 
     4<icon>icons/ClassificationTreeViewer.svg</icon> 
    55<contact>Janez Demsar (janez.demsar(@at@)fri.uni-lj.si)</contact> 
    66<priority>2100</priority> 
  • Orange/OrangeWidgets/Classify/OWEnsemble.py

    r10759 r11096  
    22<name>Ensemble</name> 
    33<description>Ensemble classification</description> 
    4 <icons>icons/Ensemble.png</icons> 
     4<icon>icons/Ensemble.svg</icon> 
    55<contact>Ales Erjavec (ales.erjavec(@at@)fri.uni-lj.si)</contact> 
    66<priority>330</priority> 
  • Orange/OrangeWidgets/Classify/OWITree.py

    r10743 r11096  
    22<name>Interactive Tree Builder</name> 
    33<description>Interactive Tree Builder</description> 
    4 <icon>icons/ITree.png</icon> 
     4<icon>icons/InteractiveTreeBuilder.svg</icon> 
    55<contact>Janez Demsar (janez.demsar(@at@)fri.uni-lj.si)</contact> 
    66<priority>50</priority> 
  • Orange/OrangeWidgets/Classify/OWKNN.py

    r9671 r11096  
    22<name>k Nearest Neighbours</name> 
    33<description>K-nearest neighbours learner/classifier.</description> 
    4 <icon>icons/kNearestNeighbours.png</icon> 
     4<icon>icons/kNearestNeighbours.svg</icon> 
    55<contact>Janez Demsar (janez.demsar(@at@)fri.uni-lj.si)</contact> 
    66<priority>25</priority> 
  • Orange/OrangeWidgets/Classify/OWLoadClassifier.py

    r10595 r11096  
    11"""<name>Load Classifier</name> 
    22<description>Load saved orange classifiers from a file</description> 
    3 <icon>icons/LoadClassifier.png</icon> 
     3<icon>icons/LoadObject.png</icon> 
    44<contact>Ales Erjavec (ales.erjavec(@at@)fri.uni.uni-lj.si)</contact> 
    55<priority>3050</priority> 
  • Orange/OrangeWidgets/Classify/OWLogisticRegression.py

    r9671 r11096  
    22<name>Logistic Regression</name> 
    33<description>Logistic regression learner/classifier.</description> 
    4 <icon>icons/LogisticRegression.png</icon> 
     4<icon>icons/LogisticRegression.svg</icon> 
    55<contact>Martin Mozina (martin.mozina(@at@)fri.uni-lj.si)</contact> 
    66<priority>15</priority> 
  • Orange/OrangeWidgets/Classify/OWMajority.py

    r9671 r11096  
    22<name>Majority</name> 
    33<description>Majority class learner/classifier.</description> 
    4 <icon>icons/Majority.png</icon> 
     4<icon>icons/Majority.svg</icon> 
    55<contact>Janez Demsar (janez.demsar(@at@)fri.uni-lj.si)</contact> 
    66<priority>20</priority> 
  • Orange/OrangeWidgets/Classify/OWNaiveBayes.py

    r9671 r11096  
    22<name>Naive Bayes</name> 
    33<description>Naive Bayesian learner/classifier.</description> 
    4 <icon>icons/NaiveBayes.png</icon> 
     4<icon>icons/NaiveBayes.svg</icon> 
    55<contact>Janez Demsar (janez.demsar(@at@)fri.uni-lj.si)</contact> 
    66<priority>10</priority> 
     
    1111from orngWrap import PreprocessedLearner 
    1212from exceptions import Exception 
     13 
     14NAME = "Naive Bayes" 
     15DESCRIPTION = "Naive Bayesian learner/classifier." 
     16 
     17ICON = "icons/NaiveBayes.svg" 
     18CATEGORY = "Classify" 
     19PRIORITY = 10 
     20 
     21INPUTS = [("Data", ExampleTable, "setData"), 
     22          ("Preprocess", PreprocessedLearner, "setPreprocessor")] 
     23 
     24OUTPUTS = [("Learner", orange.Learner), 
     25           ("Naive Bayesian Classifier", orange.BayesClassifier)] 
     26 
    1327 
    1428import warnings 
  • Orange/OrangeWidgets/Classify/OWNomogram.py

    r9671 r11096  
    22<name>Nomogram</name> 
    33<description>Nomogram viewer for Naive Bayesian, logistic regression or CN2 (EVC only) classifiers.</description> 
    4 <icon>icons/Nomogram.png</icon> 
     4<icon>icons/Nomogram.svg</icon> 
    55<contact>Martin Mozina (martin.mozina(@at@)fri.uni-lj.si)</contact> 
    66<priority>2500</priority> 
  • Orange/OrangeWidgets/Classify/OWRandomForest.py

    r10587 r11096  
    22<name>Random Forest</name> 
    33<description>Random forest learner/classifier.</description> 
    4 <icon>icons/RandomForest.png</icon> 
     4<icon>icons/RandomForest.svg</icon> 
    55<contact>Marko Toplak (marko.toplak(@at@)gmail.com)</contact> 
    66<priority>320</priority> 
  • Orange/OrangeWidgets/Classify/OWSVM.py

    r10730 r11096  
    33<name>SVM</name> 
    44<description>Support Vector Machines learner/classifier.</description> 
    5 <icon>icons/BasicSVM.png</icon> 
     5<icon>icons/SVM.svg</icon> 
    66<contact>Ales Erjavec (ales.erjavec(@at@)fri.uni-lj.si)</contact> 
    77<priority>100</priority> 
  • Orange/OrangeWidgets/Classify/OWSaveClassifier.py

    r10595 r11096  
    11"""<name>Save Classifier</name> 
    22<description>Save orange classifiers to a file</description> 
    3 <icon>icons/SaveClassifier.png</icon> 
     3<icon>icons/SaveClassifier.svg</icon> 
    44<contact>Ales Erjavec (ales.erjavec(@at@)fri.uni-lj.si)</contact> 
    55<priority>3000</priority> 
  • Orange/OrangeWidgets/Classify/__init__.py

    r10423 r11095  
     1""" 
     2======== 
     3Classify 
     4======== 
     5 
     6Classification algorithms. 
     7 
     8""" 
     9 
     10# Category description for the widget registry 
     11 
     12NAME = "Classify" 
     13 
     14DESCRIPTION = "Classification algorithms." 
     15 
     16BACKGROUND = "#FAC1D9" 
     17 
     18ICON = "icons/Category-Classify.svg" 
     19 
     20PRIORITY = 3 
  • Orange/OrangeWidgets/Data/OWConcatenate.py

    r9671 r11096  
    22<name>Concatenate</name> 
    33<description>Concatenates Example Tables.</description> 
    4 <icon>icons/Concatenate.png</icon> 
     4<icon>icons/Concatenate.svg</icon> 
    55<priority>1111</priority> 
    66<contact>Janez Demsar (janez.demsar(@at@)fri.uni-lj.si)</contact> 
  • Orange/OrangeWidgets/Data/OWContinuize.py

    r9671 r11096  
    22<name>Continuize</name> 
    33<description>Turns discrete attributes into continuous and, optionally, normalizes the continuous values.</description> 
    4 <icon>icons/Continuize.png</icon> 
     4<icon>icons/Continuize.svg</icon> 
    55<contact>Janez Demsar (janez.demsar(@at@)fri.uni-lj.si)</contact> 
    66<priority>2110</priority> 
  • Orange/OrangeWidgets/Data/OWDataDomain.py

    r9996 r11096  
    22<name>Select Attributes</name> 
    33<description>Manual selection of attributes.</description> 
    4 <icon>icons/SelectAttributes.png</icon> 
     4<icon>icons/SelectAttributes.svg</icon> 
    55<priority>1100</priority> 
    66<contact>Ales Erjavec (ales.erjavec@fri.uni-lj.si)</contact> 
  • Orange/OrangeWidgets/Data/OWDataSampler.py

    r9671 r11096  
    22<name>Data Sampler</name> 
    33<description>Selects a subset of instances from the data set.</description> 
    4 <icon>icons/DataSampler.png</icon> 
     4<icon>icons/DataSampler.svg</icon> 
    55<contact>Aleksander Sadikov (aleksander.sadikov(@at@)fri.uni-lj.si)</contact> 
    66<priority>1125</priority> 
  • Orange/OrangeWidgets/Data/OWDataTable.py

    r10703 r11096  
    77""" 
    88 
    9 # OWDataTable.py 
    10 # 
    11 # wishes: 
    12 # ignore attributes, filter examples by attribute values, do 
    13 # all sorts of preprocessing (including discretization) on the table, 
    14 # output a new table and export it in variety of formats. 
    15  
    169from OWWidget import * 
    1710import OWGUI 
     
    1912from orngDataCaching import * 
    2013import OWColorPalette 
     14 
     15 
     16NAME = "Data Table" 
     17 
     18DESCRIPTION = "Shows data in a spreadsheet." 
     19 
     20LONG_DESCRIPTION = """Data Table widget takes one or more data sets 
     21on its input and presents them in a spreadsheet format. 
     22 
     23""" 
     24 
     25ICON = "icons/DataTable.svg" 
     26 
     27PRIORITY = 100 
     28 
     29AUTHOR = "Peter Juvan" 
     30 
     31AUTHOR_EMAIL = "peter.juvan(@at@)fri.uni-lj.si" 
     32 
     33INPUTS = [("Data", ExampleTable, "dataset", Multiple + Default)] 
     34 
     35OUTPUTS = [("Selected Data", ExampleTable, Default), 
     36           ("Other Data", ExampleTable)] 
    2137 
    2238############################################################################## 
  • Orange/OrangeWidgets/Data/OWDiscretize.py

    r9671 r11096  
    22<name>Discretize</name> 
    33<description>Discretization of continuous attributes.</description> 
    4 <icon>icons/Discretize.png</icon> 
     4<icon>icons/Discretize.svg</icon> 
    55<contact>Ales Erjavec (ales.erjavec(@at@)fri.uni-lj.si)</contact> 
    66<priority>2100</priority> 
    77""" 
     8 
    89import orange 
    910from OWWidget import * 
    1011from OWGraph import * 
    1112import OWGUI 
     13 
     14 
     15NAME = "Discretize" 
     16DESCRIPTION = "Discretization of continuous attributes." 
     17 
     18MAINTAINER = "Ales Erjavec" 
     19MAINTAINER_EMAIL = "ales.erjavec < at > fri.uni-lj.si" 
     20 
     21CATEGORY = "Data" 
     22PRIORITY = 2100 
     23ICON = "icons/Discretize.svg" 
     24 
     25HELP = "docs/html/data/discretize.html" 
     26 
     27INPUTS = [("Data", orange.ExampleTable, "setData")] 
     28OUTPUTS = [("Data", orange.ExampleTable,)] 
     29 
     30WIDGET_CLASS = "OWDiscretize" 
     31 
    1232 
    1333def frange(low, up, steps): 
  • Orange/OrangeWidgets/Data/OWEditDomain.py

    r10726 r11096  
    22<name>Edit Domain</name> 
    33<description>Edit domain variables</description> 
    4 <icon>icons/EditDomain.png</icon> 
     4<icon>icons/EditDomain.svg</icon> 
    55<contact>Ales Erjavec (ales.erjavec(@ at @)fri.uni-lj.si)</contact> 
    66<priority>3125</priority> 
  • Orange/OrangeWidgets/Data/OWFeatureConstructor.py

    r9671 r11096  
    22<name>Feature Constructor</name> 
    33<description>Construct a new continuous attribute computed from existing attributes.</description> 
    4 <icon>icons/FeatureConstructor.png</icon> 
     4<icon>icons/FeatureConstructor.svg</icon> 
    55<priority>3100</priority> 
    66<contact>Janez Demsar (janez.demsar(@at@)fri.uni-lj.si)</contact> 
  • Orange/OrangeWidgets/Data/OWFile.py

    r10856 r11096  
    22<name>File</name> 
    33<description>Reads data from a file.</description> 
    4 <icon>icons/File.png</icon> 
     4<icon>icons/File.svg</icon> 
    55<contact>Janez Demsar (janez.demsar(@at@)fri.uni-lj.si)</contact> 
    66<priority>10</priority> 
     
    2929        if "type" in var.attributes and "origin" not in var.attributes: 
    3030            var.attributes["origin"] = dirname 
    31                   
     31 
     32 
     33NAME = "File" 
     34DESCRIPTION = "Reads a data table from a file." 
     35 
     36LONG_DESCRIPTION = """Read a data table from a supported file format on 
     37the the filesystem and send it to the the output.""" 
     38 
     39ICON = "icons/File.svg" 
     40AUTHOR = "Janez Demsar" 
     41MAINTAINER_EMAIL = "janez.demsar(@at@)fri.uni-lj.si" 
     42PRIORITY = 10 
     43CATEGORY = "Data" 
     44HELP = "docs/html/data/file.html" 
     45 
     46OUTPUTS = [("Data", orange.ExampleTable,)] 
     47 
     48WIDGET_CLASS = "OWFile" 
     49 
    3250 
    3351class OWFile(OWWidget): 
  • Orange/OrangeWidgets/Data/OWImageViewer.py

    r9671 r11096  
    33<contact>Ales Erjavec (ales.erjavec(@at@)fri.uni-lj.si)</contact> 
    44<priority>4050</priority> 
    5 <icon>icons/ImageViewer.png</icon> 
     5<icon>icons/ImageViewer.svg</icon> 
    66""" 
    77 
  • Orange/OrangeWidgets/Data/OWImpute.py

    r9671 r11096  
    22<name>Impute</name> 
    33<description>Imputes unknown values.</description> 
    4 <icon>icons/Impute.png</icon> 
     4<icon>icons/Impute.svg</icon> 
    55<priority>2130</priority> 
    66<contact>Janez Demsar</contact> 
  • Orange/OrangeWidgets/Data/OWMergeData.py

    r9671 r11096  
    22<name>Merge Data</name> 
    33<description>Merge datasets based on values of selected attributes.</description> 
    4 <icon>icons/MergeData.png</icon> 
     4<icon>icons/MergeData.svg</icon> 
    55<priority>1110</priority> 
    66<contact>Peter Juvan (peter.juvan@fri.uni-lj.si)</contact> 
  • Orange/OrangeWidgets/Data/OWMultiMergeData.py

    r10692 r11096  
    22<name>Multi-key Merge Data</name> 
    33<description>Merge datasets based on values of selected tuples of attributes.</description> 
    4 <icon>icons/MergeData.png</icon> 
     4<icon>icons/MergeData.svg</icon> 
    55<priority>100</priority> 
    66<contact>Peter Husen (phusen@bmb.sdu.dk)</contact> 
  • Orange/OrangeWidgets/Data/OWOutliers.py

    r9671 r11096  
    22<name>Outliers</name> 
    33<description>Indentification of outliers</description> 
    4 <icon>icons/Outliers.png</icon> 
     4<icon>icons/Outliers.svg</icon> 
    55<contact>Marko Toplak (marko.toplak(@at@)gmail.com)</contact>  
    66<priority>2150</priority> 
  • Orange/OrangeWidgets/Data/OWPaintData.py

    r10727 r11096  
    44<contact>Ales Erjavec (ales.erjavec(@at@)fri.uni-lj.si)</contact> 
    55<priority>40</priority> 
    6 <icon>icons/PaintData.png</icon> 
     6<icon>icons/PaintData.svg</icon> 
    77""" 
    88 
  • Orange/OrangeWidgets/Data/OWPreprocess.py

    r10764 r11096  
    11"""<name>Preprocess</name> 
    22<description>Construct and apply data preprocessors</description> 
    3 <icon>icons/Preprocess.png</icon> 
     3<icon>icons/Preprocess.svg</icon> 
    44<priority>2105</priority> 
    55<contact>Ales Erjavec (ales.erjavec(@at@)fri.uni-lj.si)</contact> 
  • Orange/OrangeWidgets/Data/OWPythonScript.py

    r11012 r11216  
    22<name>Python Script</name> 
    33<description>Executes python script.</description> 
    4 <icon>icons/PythonScript.png</icon> 
     4<icon>icons/PythonScript.svg</icon> 
    55<contact>Miha Stajdohar (miha.stajdohar(@at@)gmail.com)</contact>  
    66<priority>3150</priority> 
  • Orange/OrangeWidgets/Data/OWRank.py

    r9671 r11096  
    22<name>Rank</name> 
    33<description>Ranks and filters attributes by their relevance.</description> 
    4 <icon>icons/Rank.png</icon> 
     4<icon>icons/Rank.svg</icon> 
    55<contact>Janez Demsar (janez.demsar(@at@)fri.uni-lj.si)</contact> 
    66<priority>1102</priority> 
  • Orange/OrangeWidgets/Data/OWSave.py

    r10674 r11096  
    22<name>Save</name> 
    33<description>Saves data to a file.</description> 
    4 <icon>icons/Save.png</icon> 
     4<icon>icons/Save.svg</icon> 
    55<contact>Janez Demsar (janez.demsar(@at@)fri.uni-lj.si)</contact> 
    66<priority>90</priority> 
  • Orange/OrangeWidgets/Data/OWSelectData.py

    r9671 r11096  
    22<name>Select Data</name> 
    33<description>Selects instances from the data set based on conditions over attributes.</description> 
    4 <icon>icons/SelectData.png</icon> 
     4<icon>icons/SelectData.svg</icon> 
    55<priority>1150</priority> 
    66<contact>Peter Juvan (peter.juvan@fri.uni-lj.si)</contact> 
  • Orange/OrangeWidgets/Data/__init__.py

    r10423 r11095  
     1""" 
     2Data 
     3==== 
     4 
     5""" 
     6 
     7# Category description for the widget registry 
     8 
     9NAME = "Data" 
     10 
     11DESCRIPTION = """Widgets for data manipulation""" 
     12 
     13LONG_DESRIPTION = """\ 
     14This category contains widgets for data manipulation. 
     15This includes loading, importing, saving, preprocessing, 
     16selection, etc. 
     17 
     18""" 
     19 
     20ICON = "icons/Category-Data.svg" 
     21 
     22BACKGROUND = "#FFD39F" 
     23 
     24PRIORITY = 1 
  • Orange/OrangeWidgets/Evaluate/OWCalibrationPlot.py

    r10752 r11096  
    33<description>Displays calibration plot based on evaluation of classifiers.</description> 
    44<contact>Tomaz Curk</contact> 
    5 <icon>icons/CalibrationPlot.png</icon> 
     5<icon>icons/CalibrationPlot.svg</icon> 
    66<priority>1030</priority> 
    77""" 
  • Orange/OrangeWidgets/Evaluate/OWConfusionMatrix.py

    r10752 r11096  
    33<description>Shows a confusion matrix.</description> 
    44<contact>Janez Demsar</contact> 
    5 <icon>icons/ConfusionMatrix.png</icon> 
     5<icon>icons/ConfusionMatrix.svg</icon> 
    66<priority>1001</priority> 
    77""" 
  • Orange/OrangeWidgets/Evaluate/OWLiftCurve.py

    r10752 r11096  
    33<description>Displays a lift curve based on evaluation of classifiers.</description> 
    44<contact>Tomaz Curk</contact> 
    5 <icon>icons/LiftCurve.png</icon> 
     5<icon>icons/LiftCurve.svg</icon> 
    66<priority>1020</priority> 
    77""" 
  • Orange/OrangeWidgets/Evaluate/OWROC.py

    r10752 r11096  
    33<description>Displays Receiver Operating Characteristics curve based on evaluation of classifiers.</description> 
    44<contact>Tomaz Curk</contact> 
    5 <icon>icons/ROCAnalysis.png</icon> 
     5<icon>icons/ROCAnalysis.svg</icon> 
    66<priority>1010</priority> 
    77""" 
  • Orange/OrangeWidgets/Evaluate/__init__.py

    r10423 r11095  
     1""" 
     2======== 
     3Evaluate 
     4======== 
     5 
     6Evaluate classification/regression performance. 
     7 
     8""" 
     9 
     10# Category description for the widget registry 
     11 
     12NAME = "Evaluate" 
     13 
     14DESCRIPTION = "Evaluate classification/regression performance." 
     15 
     16BACKGROUND = "#C3F3F3" 
     17 
     18ICON = "icons/Category-Evaluate.svg" 
     19 
     20PRIORITY = 5 
  • Orange/OrangeWidgets/OWBaseWidget.py

    r10651 r11205  
    147147        self.savePosition = savePosition 
    148148        if savePosition: 
    149             self.settingsList = getattr(self, "settingsList", []) + ["widgetWidth", "widgetHeight", "widgetXPosition", "widgetYPosition", "widgetShown", "savedWidgetGeometry"] 
     149            self.settingsList = getattr(self, "settingsList", []) + ["widgetShown", "savedWidgetGeometry"] 
    150150 
    151151        # directories are better defined this way, otherwise .ini files get written in many places 
     
    270270    # call this function if needed in __init__ of the widget 
    271271    def safeProcessEvents(self): 
    272         keys = ["widgetXPosition", "widgetYPosition", "widgetShown", "widgetWidth", "widgetHeight"] 
     272        keys = ["widgetShown"] 
    273273        vals = [(key, getattr(self, key, None)) for key in keys] 
    274274        qApp.processEvents() 
     
    330330    def resizeEvent(self, ev): 
    331331        QDialog.resizeEvent(self, ev) 
    332         if self.savePosition: 
    333             self.widgetWidth = self.width() 
    334             self.widgetHeight = self.height() 
     332        # Don't store geometry if the widget is not visible 
     333        # (the widget receives the resizeEvent before showEvent and we must not 
     334        # overwrite the the savedGeometry before then) 
     335        if self.savePosition and self.isVisible(): 
    335336            self.savedWidgetGeometry = str(self.saveGeometry()) 
    336337 
     
    350351        if self.savePosition: 
    351352            self.widgetShown = 0 
    352             self.widgetXPosition = self.frameGeometry().x() 
    353             self.widgetYPosition = self.frameGeometry().y() 
    354353            self.savedWidgetGeometry = str(self.saveGeometry()) 
    355354        QDialog.hideEvent(self, ev) 
     
    372371    def closeEvent(self, ev): 
    373372        if self.savePosition: 
    374             self.widgetXPosition = self.frameGeometry().x() 
    375             self.widgetYPosition = self.frameGeometry().y() 
    376373            self.savedWidgetGeometry = str(self.saveGeometry()) 
    377374        QDialog.closeEvent(self, ev) 
     
    718715        self.needProcessing = 1 
    719716 
    720  
    721717    # ############################################ 
    722718    # PROGRESS BAR FUNCTIONS 
     719 
     720    progressBarValueChanged = pyqtSignal(float) 
     721    """Progress bar value has changed""" 
     722 
     723    processingStateChanged = pyqtSignal(int) 
     724    """Processing state has changed""" 
     725 
    723726    def progressBarInit(self): 
    724727        self.progressBarValue = 0 
     
    727730        if self.progressBarHandler: 
    728731            self.progressBarHandler(self, 0) 
     732        self.processingStateChanged.emit(1) 
    729733 
    730734    def progressBarSet(self, value): 
    731735        if value > 0: 
    732             self.progressBarValue = value 
     736            self.__progressBarValue = value 
    733737            usedTime = max(1, time.time() - self.startTime) 
    734             totalTime = (100.0*usedTime)/float(value) 
     738            totalTime = (100.0 * usedTime) / float(value) 
    735739            remainingTime = max(0, totalTime - usedTime) 
    736             h = int(remainingTime/3600) 
    737             min = int((remainingTime - h*3600)/60) 
    738             sec = int(remainingTime - h*3600 - min*60) 
    739             if h > 0: text = "%(h)d:%(min)02d:%(sec)02d" % vars() 
    740             else:     text = "%(min)d:%(sec)02d" % vars() 
     740            h = int(remainingTime / 3600) 
     741            min = int((remainingTime - h * 3600) / 60) 
     742            sec = int(remainingTime - h * 3600 - min * 60) 
     743            if h > 0: 
     744                text = "%(h)d:%(min)02d:%(sec)02d" % vars() 
     745            else: 
     746                text = "%(min)d:%(sec)02d" % vars() 
    741747            self.setWindowTitle(self.captionTitle + " (%(value).2f%% complete, remaining time: %(text)s)" % vars()) 
    742748        else: 
    743             self.setWindowTitle(self.captionTitle + " (0% complete)" ) 
    744         if self.progressBarHandler: self.progressBarHandler(self, value) 
     749            self.setWindowTitle(self.captionTitle + " (0% complete)") 
     750        if self.progressBarHandler: 
     751            self.progressBarHandler(self, value) 
     752 
     753        self.progressBarValueChanged.emit(value) 
     754 
    745755        qApp.processEvents() 
    746756 
     757    def progressBarValue(self): 
     758        return self.__progressBarValue 
     759 
     760    progressBarValue = pyqtProperty(float, fset=progressBarSet, 
     761                                    fget=progressBarValue) 
     762 
    747763    def progressBarAdvance(self, value): 
    748         self.progressBarSet(self.progressBarValue+value) 
     764        self.progressBarSet(self.progressBarValue + value) 
    749765 
    750766    def progressBarFinished(self): 
    751767        self.setWindowTitle(self.captionTitle) 
    752         if self.progressBarHandler: self.progressBarHandler(self, 101) 
     768        if self.progressBarHandler: 
     769            self.progressBarHandler(self, 101) 
     770        self.processingStateChanged.emit(0) 
    753771 
    754772    # handler must be a function, that receives 2 arguments. First is the widget instance, the second is the value between -1 and 101 
     
    836854            #qApp.processEvents() 
    837855        return changed 
    838      
     856 
     857    widgetStateChanged = pyqtSignal(QString, int, QString) 
     858    """Widget state has changed first arg is the state type 
     859    ('Info', 'Warning' or 'Error') the second is the message id 
     860    and finally the message string.""" 
     861 
    839862    def widgetStateToHtml(self, info=True, warning=True, error=True): 
    840863        pixmaps = self.getWidgetStateIcons() 
     
    844867                    "Error": "canvasIcons:error.png"} 
    845868        for show, what in [(info, "Info"), (warning, "Warning"),(error, "Error")]: 
    846             if self.widgetState[what]: 
     869            if show and self.widgetState[what]: 
    847870                items.append('<img src="%s" style="float: left;"> %s' % (iconPath[what], "\n".join(self.widgetState[what].values()))) 
    848871        return "<br>".join(items) 
  • Orange/OrangeWidgets/Prototypes/__init__.py

    r10423 r11095  
     1""" 
     2========== 
     3Prototypes 
     4========== 
     5 
     6Various widgets not polished for regular use. 
     7 
     8""" 
     9 
     10# Category description for the widget registry 
     11 
     12NAME = "Prototypes" 
     13 
     14DESCRIPTION = "Various widgets not polished for regular use." 
     15 
     16BACKGROUND = "#FAC1D9" 
  • Orange/OrangeWidgets/Regression/OWKNNRegression.py

    r9671 r11096  
    22<name>k Nearest Neighbours Regression</name> 
    33<description>K-nearest neighbours learner/predictor.</description> 
    4 <icon>icons/kNearestNeighbours.png</icon> 
     4<icon>icons/kNearestNeighbours.svg</icon> 
    55<contact>Janez Demsar (janez.demsar(@at@)fri.uni-lj.si)</contact> 
    66<priority>20</priority> 
  • Orange/OrangeWidgets/Regression/OWLinearRegression.py

    r10961 r11096  
    22<name>Linear Regression</name> 
    33<description>Linear Regression</name> 
    4 <icon>icons/LinearRegression.png</icon> 
     4<icon>icons/LinearRegression.svg</icon> 
    55<priority>10</priority> 
    66<category>Regression</category> 
  • Orange/OrangeWidgets/Regression/OWMean.py

    r9671 r11096  
    22<name>Mean</name> 
    33<description>Mean regression</description> 
    4 <icon>icons/Mean.png</icon> 
     4<icon>icons/Mean.svg</icon> 
    55<priority>5</priority> 
    66<contact>Ales Erjavec (ales.erjavec(@at@)fri.uni-lj.si)</contact> 
  • Orange/OrangeWidgets/Regression/OWPade.py

    r9671 r11096  
    22<name>Pade</name> 
    33<description>Computes local partial derivatives</description> 
    4 <icon>icons/Pade.png</icon> 
     4<icon>icons/Pade.svg</icon> 
    55<priority>3500</priority> 
    66""" 
  • Orange/OrangeWidgets/Regression/OWRandomForestRegression.py

    r10587 r11096  
    22<name>Random Forest Regression</name> 
    33<description>Random forest regression.</description> 
    4 <icon>icons/RandomForest.png</icon> 
     4<icon>icons/RandomForestRegression.svg</icon> 
    55<contact>Marko Toplak (marko.toplak(@at@)gmail.com)</contact> 
    66<priority>320</priority> 
  • Orange/OrangeWidgets/Regression/OWRegressionTree.py

    r10552 r11096  
    22<name>Regression Tree</name> 
    33<description>Constructs a tree regression learner and given data a regression tree classifier</description> 
    4 <icon>RegressionTree.png</icon> 
     4<icon>icons/RegressionTree.svg</icon> 
    55<contact>Ales Erjavec (ales.erjavec(@at@)fri.uni-lj.si)</contact> 
    66<priority>110</priority> 
  • Orange/OrangeWidgets/Regression/OWRegressionTreeViewer2D.py

    r10552 r11096  
    22<name> Regression Tree Graph</name> 
    33<description>Regression tree viewer (graph view).</description> 
    4 <icon>icons/RegressionTreeGraph.png</icon> 
     4<icon>icons/RegressionTreeGraph.svg</icon> 
    55<contact>Ales Erjavec (ales.erjavec(@at@)fri.uni-lj.si)</contact> 
    66<priority>2110</priority> 
  • Orange/OrangeWidgets/Regression/OWSVMRegression.py

    r10729 r11096  
    33<name>SVM Regression</name> 
    44<description>Support Vector Machine Regression.</description> 
    5 <icon>icons/BasicSVM.png</icon> 
     5<icon>icons/SVMRegression.svg</icon> 
    66<contact>Ales Erjavec (ales.erjavec(@at@)fri.uni-lj.si)</contact> 
    77<priority>100</priority> 
  • Orange/OrangeWidgets/Regression/__init__.py

    r10423 r11095  
     1""" 
     2========== 
     3Regression 
     4========== 
     5 
     6Prediction of continuous class variables. 
     7 
     8""" 
     9 
     10# Category description for the widget registry 
     11 
     12NAME = "Regression" 
     13 
     14DESCRIPTION = "Prediction of continuous class variables." 
     15 
     16BACKGROUND = "#E5BBFB" 
     17 
     18ICON = "icons/Category-Regression.svg" 
     19 
     20PRIORITY = 4 
  • Orange/OrangeWidgets/Unsupervised/__init__.py

    r10423 r11095  
     1""" 
     2============ 
     3Unsupervised 
     4============ 
    15 
     6Unsupervised learning. 
     7 
     8""" 
     9 
     10# Category description for the widget registry 
     11 
     12NAME = "Unsupervised" 
     13 
     14DESCRIPTION = "Unsupervised learning." 
     15 
     16BACKGROUND = "#CAE1EF" 
     17 
     18PRIORITY = 6 
  • Orange/OrangeWidgets/Visualize/OWAttributeStatistics.py

    r9671 r11096  
    33<description>Basic attribute statistics.</description> 
    44<contact>Jure Zabkar (jure.zabkar@fri.uni-lj.si)</contact> 
    5 <icon>icons/AttributeStatistics.png</icon> 
     5<icon>icons/AttributeStatistics.svg</icon> 
    66<priority>200</priority> 
    77""" 
  • Orange/OrangeWidgets/Visualize/OWCorrespondenceAnalysis.py

    r9671 r11096  
    11"""<name>Correspondence Analysis</name> 
    22<description>Takes a ExampleTable and runs correspondence analysis</description> 
    3 <icon>icons/CorrespondenceAnalysis.png</icon> 
     3<icon>icons/CorrespondenceAnalysis.svg</icon> 
    44<priority>3300</priority> 
    55<contact>Ales Erjavec (ales.erjavec(@ at @)fri.uni-lj.si</contact> 
  • Orange/OrangeWidgets/Visualize/OWDistributions.py

    r10493 r11096  
    33<description>Displays attribute value distributions.</description> 
    44<contact>Tomaz Curk</contact> 
    5 <icon>icons/Distribution.png</icon> 
     5<icon>icons/Distribution.svg</icon> 
    66<priority>100</priority> 
    77""" 
  • Orange/OrangeWidgets/Visualize/OWLinProj.py

    r10913 r11096  
    33<description>Create a linear projection.</description> 
    44<contact>Gregor Leban (gregor.leban@fri.uni-lj.si)</contact> 
    5 <icon>icons/LinearProjection.png</icon> 
     5<icon>icons/LinearProjection.svg</icon> 
    66<priority>2000</priority> 
    77""" 
  • Orange/OrangeWidgets/Visualize/OWMosaicDisplay.py

    r9671 r11096  
    33<description>Shows a mosaic display.</description> 
    44<contact>Gregor Leban (gregor.leban@fri.uni-lj.si)</contact> 
    5 <icon>icons/MosaicDisplay.png</icon> 
     5<icon>icons/MosaicDisplay.svg</icon> 
    66<priority>4100</priority> 
    77""" 
  • Orange/OrangeWidgets/Visualize/OWMultiCorrespondenceAnalysis.py

    r9671 r11096  
    11"""<name>Multi Correspondence Analysis</name> 
    22<description>Takes a ExampleTable and runs multi correspondence analysis</description> 
    3 <icon>icons/CorrespondenceAnalysis.png</icon> 
     3<icon>icons/CorrespondenceAnalysis.svg</icon> 
    44<priority>3350</priority> 
    55<contact>Ales Erjavec (ales.erjavec(@ at @)fri.uni-lj.si</contact> 
  • Orange/OrangeWidgets/Visualize/OWParallelCoordinates.py

    r10466 r11096  
    33<description>Parallel coordinates (multiattribute) visualization.</description> 
    44<contact>Gregor Leban (gregor.leban@fri.uni-lj.si)</contact> 
    5 <icon>icons/ParallelCoordinates.png</icon> 
     5<icon>icons/ParallelCoordinates.svg</icon> 
    66<priority>3200</priority> 
    77""" 
  • Orange/OrangeWidgets/Visualize/OWPolyviz.py

    r9671 r11096  
    33<description>Polyviz (multiattribute) visualization.</description> 
    44<contact>Gregor Leban (gregor.leban@fri.uni-lj.si)</contact> 
    5 <icon>icons/Polyviz.png</icon> 
     5<icon>icons/Polyviz.svg</icon> 
    66<priority>3150</priority> 
    77""" 
  • Orange/OrangeWidgets/Visualize/OWRadviz.py

    r9671 r11096  
    33<description>Create a radviz projection.</description> 
    44<contact>Gregor Leban (gregor.leban@fri.uni-lj.si)</contact> 
    5 <icon>icons/Radviz.png</icon> 
     5<icon>icons/Radviz.svg</icon> 
    66<priority>3100</priority> 
    77""" 
  • Orange/OrangeWidgets/Visualize/OWScatterPlot.py

    r9671 r11096  
    33<description>Scatterplot visualization.</description> 
    44<contact>Gregor Leban (gregor.leban@fri.uni-lj.si)</contact> 
    5 <icon>icons/ScatterPlot.png</icon> 
     5<icon>icons/ScatterPlot.svg</icon> 
    66<priority>1000</priority> 
    77""" 
  • Orange/OrangeWidgets/Visualize/OWSieveDiagram.py

    r9671 r11096  
    33<description>Sieve diagram.</description> 
    44<contact>Gregor Leban (gregor.leban@fri.uni-lj.si)</contact> 
    5 <icon>icons/SieveDiagram.png</icon> 
     5<icon>icons/SieveDiagram.svg</icon> 
    66<priority>4200</priority> 
    77""" 
  • Orange/OrangeWidgets/Visualize/OWSieveMultigram.py

    r9671 r11096  
    33<description>Sieve multigram.</description> 
    44<contact>Gregor Leban (gregor.leban@fri.uni-lj.si)</contact> 
    5 <icon>icons/SieveMultigram.png</icon> 
     5<icon>icons/SieveMultigram.svg</icon> 
    66<priority>4300</priority> 
    77""" 
  • Orange/OrangeWidgets/Visualize/OWSurveyPlot.py

    r9671 r11096  
    33<description>Survey plot (multiattribute) visualization.</description> 
    44<contact>Gregor Leban (gregor.leban@fri.uni-lj.si)</contact> 
    5 <icon>icons/SurveyPlot.png</icon> 
     5<icon>icons/SurveyPlot.svg</icon> 
    66<priority>3250</priority> 
    77""" 
  • Orange/OrangeWidgets/Visualize/__init__.py

    r10423 r11095  
     1""" 
     2========= 
     3Visualize 
     4========= 
     5 
     6Widgets for data visualization. 
     7 
     8""" 
     9 
     10# Category description for the widget registry 
     11 
     12NAME = "Visualize" 
     13 
     14DESCRIPTION = "Widgets for data visualization." 
     15 
     16BACKGROUND = "#FFB7B1" 
     17 
     18ICON = "icons/Category-Visualize.svg" 
     19 
     20PRIORITY = 2 
  • Orange/OrangeWidgets/__init__.py

    r9671 r11095  
    11""" 
    2     This file is here so that the documentation generator can import the 'plot' module.  
     2 
    33""" 
     4import pkg_resources 
     5 
     6 
     7# Entry point for main Orange categories/widgets discovery 
     8def widget_discovery(discovery): 
     9    from . import ( 
     10        Associate, Classify, Data, Evaluate, Regression, 
     11        Unsupervised, Visualize, Prototypes 
     12    ) 
     13    dist = pkg_resources.get_distribution("Orange") 
     14    for pkg in [Data, Visualize, Classify, Regression, Evaluate, Unsupervised, 
     15                Associate, Prototypes]: 
     16        discovery.process_category_package(pkg, distribution=dist) 
  • setup.py

    r11014 r11216  
    640640             all_with_extension(path="doc/datasets", extensions=("tab", "csv", "basket")) +\ 
    641641             all_with_extension(path="testing/regression/tests_20", extensions=("net", "tab", "basket", "csv")), 
    642         "Orange.OrangeCanvas": ["icons/*.png", "orngCanvas.pyw", "WidgetTabs.txt"], 
    643         "Orange.OrangeWidgets": ["icons/*.png", "icons/backgrounds/*.png", "report/index.html"], 
    644         "Orange.OrangeWidgets.Associate": ["icons/*.png"], 
    645         "Orange.OrangeWidgets.Classify": ["icons/*.png"], 
    646         "Orange.OrangeWidgets.Data": ["icons/*.png"], 
    647         "Orange.OrangeWidgets.Evaluate": ["icons/*.png"], 
    648         "Orange.OrangeWidgets.Prototypes": ["icons/*.png"], 
    649         "Orange.OrangeWidgets.Regression": ["icons/*.png"], 
    650         "Orange.OrangeWidgets.Unsupervised": ["icons/*.png"], 
    651         "Orange.OrangeWidgets.Visualize": ["icons/*.png"], 
    652         "Orange.OrangeWidgets.Visualize Qt": ["icons/*.png"], 
     642        "Orange.OrangeCanvas": ["icons/*.png", "icons/*.svg", 
     643                                "orngCanvas.pyw", "WidgetTabs.txt"], 
     644        "Orange.OrangeCanvas.styles": ["*.qss", "orange/*.svg"], 
     645        "Orange.OrangeWidgets": ["icons/*.png", "icons/backgrounds/*.png", 
     646                                 "report/index.html"], 
     647        "Orange.OrangeWidgets.Associate": ["icons/*.png", "icons/*.svg"], 
     648        "Orange.OrangeWidgets.Classify": ["icons/*.png", "icons/*.svg"], 
     649        "Orange.OrangeWidgets.Data": ["icons/*.png", "icons/*.svg"], 
     650        "Orange.OrangeWidgets.Evaluate": ["icons/*.png", "icons/*.svg"], 
     651        "Orange.OrangeWidgets.Prototypes": ["icons/*.png", "icons/*.svg"], 
     652        "Orange.OrangeWidgets.Regression": ["icons/*.png", "icons/*.svg"], 
     653        "Orange.OrangeWidgets.Unsupervised": ["icons/*.png", "icons/*.svg"], 
     654        "Orange.OrangeWidgets.Visualize": ["icons/*.png", "icons/*.svg"], 
     655        "Orange.OrangeWidgets.Visualize Qt": ["icons/*.png", "icons/*.svg"], 
    653656        "Orange.OrangeWidgets.plot": ["*.gs", "*.vs"], 
    654657        "Orange.OrangeWidgets.plot.primitives": ["*.obj"], 
     
    747750# http://packages.python.org/distribute/setuptools.html#automatic-script-creation 
    748751ENTRY_POINTS = { 
     752    'gui_scripts': ( 
     753            'orange-canvas = Orange.OrangeCanvas.main:main', 
     754    ) 
    749755} 
    750756 
     
    776782        cmdclass = cmdclass, 
    777783        ext_modules = ext_modules, 
    778         scripts = ( 
    779             "bin/orange-canvas", 
    780         ), 
     784#        scripts = ( 
     785#            "bin/orange-canvas", 
     786#        ), 
    781787    ) 
    782788 
Note: See TracChangeset for help on using the changeset viewer.