Skip to content

Commit

Permalink
Improved veusz plugin extension utilities, FLTD-63
Browse files Browse the repository at this point in the history
  • Loading branch information
Daniele Paganelli committed Apr 29, 2016
1 parent d712dd7 commit 1fb11b7
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 12 deletions.
2 changes: 1 addition & 1 deletion misura/client/axis_selection.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

def get_best_x_for(y_path, prefix, data, page_or_graph):
# Default x datasets:
if page_or_graph.startswith('/time') or page_or_graph.endswith('/time'):
if page_or_graph.startswith('/time') or page_or_graph.endswith('/time') or page_or_graph.endswith('_t'):
target = 't'
xname = prefix + 't'
else:
Expand Down
2 changes: 1 addition & 1 deletion misura/client/conf/constructor.py
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ def wiring_graph(self):

class InterfaceDialog(QtGui.QDialog):

def __init__(self, server, remObj, prop_dict=False, parent=None):
def __init__(self, server, remObj=False, prop_dict=False, parent=None):
QtGui.QDialog.__init__(self, parent=parent)
self.interface = Interface(server, remObj, prop_dict, self)
lay = QtGui.QVBoxLayout()
Expand Down
11 changes: 6 additions & 5 deletions misura/client/plugin/FieldConfigurationProxy.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@
"""Tools and plugins for Veusz, providing Misura Thermal Analysis functionality"""
import veusz.plugins as plugins
from PyQt4 import QtGui
from ..conf import Interface
from .. import conf

class FieldConfigurationProxy(plugins.Field):

"""Misura Navigator to select"""

"""Misura Field showing a configuration Interface"""

conf_module = conf

def __init__(self, name, descr=None, default=None):
"""name: name of field
descr: description to show to user
Expand All @@ -18,7 +19,7 @@ def __init__(self, name, descr=None, default=None):

def makeControl(self, doc, currentwidget):
label = QtGui.QLabel(self.descr)
control = Interface(self.proxy)
control = conf.Interface(self.proxy)
return (label, control)

def getControlResults(self, cntrls):
Expand Down
11 changes: 8 additions & 3 deletions misura/client/plugin/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,21 +46,26 @@


# Install 3rd-party plugins
from utils import OperationWrapper
import veusz.plugins as plugins
from misura.canon.plugin import veusz_toolsplugins
from misura.canon.plugin import veusz_datasetplugins


def create_veusz_plugin_class(plugin_extension, veusz_plugin_class):
"""Create a new class which inherits also from veusz_plugin_class"""
return type(plugin_extension.__name__ + 'Plugin',
(plugin_extension, veusz_plugin_class),
{'plugins_module': lambda *a: plugins})
new_name = plugin_extension.__name__ + 'Plugin'
new_plugin_class = type(new_name,
(plugin_extension, OperationWrapper, veusz_plugin_class), {})
setattr(plugins, new_name, new_plugin_class)
return new_plugin_class

for plugin_extension in veusz_toolsplugins.itervalues():
print 'Adding veusz_toolsplugin', plugin_extension
new_plugin_class = create_veusz_plugin_class(plugin_extension, plugins.ToolsPlugin)
plugins.toolspluginregistry.append(new_plugin_class)



for plugin_extension in veusz_datasetplugins.itervalues():
print 'Adding veusz_datasetplugins', plugin_extension
Expand Down
9 changes: 7 additions & 2 deletions misura/client/plugin/utils.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""Utilities for veusz-baset plugins"""
import numpy as np

import veusz.plugins as plugins
import veusz.document as document
import numpy as np

from .. import _

def iter_widgets(base, typename, direction = 0):
"""Yields all widgets of type `typename` starting from `base` widget.
Expand Down Expand Up @@ -120,7 +123,9 @@ class OperationWrapper(object):
name = 'OperationWrapper'
_ops = False
preserve = None

translate = [_]
plugins_module = plugins
document_module = document
@property
def ops(self):
if not self._ops:
Expand Down

0 comments on commit 1fb11b7

Please sign in to comment.