Skip to content

Commit

Permalink
Merge pull request #889 from VesnaT/report2
Browse files Browse the repository at this point in the history
Reporting
  • Loading branch information
lanzagar committed Dec 4, 2015
2 parents 3ab80c3 + 5036af4 commit 3a4f625
Show file tree
Hide file tree
Showing 64 changed files with 2,500 additions and 239 deletions.
27 changes: 26 additions & 1 deletion Orange/canvas/application/canvasmain.py
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,12 @@ def setup_actions(self):
triggered=self.open_and_freeze_scheme
)

self.open_report_action = \
QAction(self.tr("Open Report"), self,
objectName="action-open-report",
triggered=self.open_report,
)

self.save_action = \
QAction(self.tr("Save"), self,
objectName="action-save",
Expand Down Expand Up @@ -528,7 +534,8 @@ def setup_actions(self):

self.show_report_action = \
QAction(self.tr("Show Report View"), self,
triggered=self.show_report_view
triggered=self.show_report_view,
shortcut=QKeySequence(Qt.ShiftModifier | Qt.Key_R)
)

if sys.platform == "darwin":
Expand Down Expand Up @@ -593,6 +600,7 @@ def setup_menu(self):
# File -> Open Recent submenu
self.recent_menu = QMenu(self.tr("Open Recent"), file_menu)
file_menu.addMenu(self.recent_menu)
file_menu.addAction(self.open_report_action)
file_menu.addSeparator()
file_menu.addAction(self.save_action)
file_menu.addAction(self.save_as_action)
Expand Down Expand Up @@ -896,6 +904,11 @@ def open_scheme(self):
else:
return QDialog.Rejected

def open_report(self):
from Orange.canvas.report.owreport import OWReport
rep = OWReport()
rep.open_report()

def open_and_freeze_scheme(self):
"""
Open a new scheme and freeze signal propagation. Return
Expand Down Expand Up @@ -948,6 +961,18 @@ def load_scheme(self, filename):

self.add_recent_scheme(new_scheme.title, filename)

def load_scheme_xml(self, xml):
new_scheme = widgetsscheme.WidgetsScheme(parent=self)
scheme_load(new_scheme, xml)
self.set_new_scheme(new_scheme)
return QDialog.Accepted

def get_scheme_xml(self):
buffer = BytesIO()
curr_scheme = self.current_document().scheme()
curr_scheme.save_to(buffer, pretty=True, pickle_fallback=True)
return buffer.getvalue().decode("utf-8")

def new_scheme_from(self, filename):
"""Create and return a new :class:`widgetsscheme.WidgetsScheme`
from a saved `filename`. Return `None` if an error occurs.
Expand Down
1 change: 1 addition & 0 deletions Orange/canvas/report/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .report import *
76 changes: 76 additions & 0 deletions Orange/canvas/report/icons/delete.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
57 changes: 57 additions & 0 deletions Orange/canvas/report/icons/scheme.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
110 changes: 110 additions & 0 deletions Orange/canvas/report/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
<html>
<head>
<title>Orange viewer</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<style>
html, body, table {
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 13px;
margin:0px;
padding:0;
border:0 none;
}

h1, h2 , h3, h4, h5 {
padding: 1px;
font-size:100%;
}

h1 {
color: white;
background-color: black;
padding: 4px;
margin-top: 12px;
margin-bottom: 6px;
}

h2 {
border-bottom: 1px solid black;
padding-left: 2px;
}

ul, table, p {
padding: 10px;
}

table {
margin-left: -6px;
}

span.timestamp {
position: absolute;
right: 40px;
color:#ddd;
}

div.selected, div.normal {
margin: 5px;
}

div.selected {
background: #ddd;
}

div.content {
margin-left: 15px;
}

th, td {
text-align: left;
padding: 2px 6px 2px 6px;
}

.caption {
text-align: center;
font-size: 90%;
}

img {
display: block;
margin-left: auto;
margin-right: auto
}

span.legend-square {
width: 1em;
height: 1em;
margin-right: 6px;
display: inline-block;
}

span.legend-item {
margin-right: 24px;
}

textarea {
border: none;
font-style: italic;
width: 100%;
height: 4em;
}

.textwrapper {
padding: 15px;
}

div.normal textarea:invalid {
display: none;
}

div.selected textarea {
display: block;
}
</style>


<body>

</body>
</html>

0 comments on commit 3a4f625

Please sign in to comment.