diff --git a/LayerView.py b/LayerView.py index d9d3772f6b..c1039936fe 100644 --- a/LayerView.py +++ b/LayerView.py @@ -4,30 +4,39 @@ from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator from UM.Resources import Resources +## View used to display g-code paths. class LayerView(View): def __init__(self): super().__init__() self._material = None + self._num_layers = 0 + self._layer_percentage = 0 # what percentage of layers need to be shown (SLider gives value between 0 - 100) def beginRendering(self): scene = self.getController().getScene() renderer = self.getRenderer() renderer.setRenderSelection(False) + self._num_layers = 0 if not self._material: self._material = renderer.createMaterial(Resources.getPath(Resources.ShadersLocation, 'basic.vert'), Resources.getPath(Resources.ShadersLocation, 'vertexcolor.frag')) - self._material.setUniformValue("u_color", [1.0, 0.0, 0.0, 1.0]) for node in DepthFirstIterator(scene.getRoot()): if not node.render(renderer): if node.getMeshData() and node.isVisible(): try: - layerData = node.getMeshData().layerData + layer_data = node.getMeshData().layerData + if self._num_layers < len(layer_data.getLayers()): + self._num_layers = len(layer_data.getLayers()) + except AttributeError: continue - renderer.queueNode(node, mesh = layerData, material = self._material, mode = Renderer.RenderLines) - + renderer.queueNode(node, mesh = layer_data, material = self._material, mode = Renderer.RenderLines) + + def setLayer(self, value): + self._layer_percentage = value + def endRendering(self): pass diff --git a/LayerView.qml b/LayerView.qml new file mode 100644 index 0000000000..16c9768eef --- /dev/null +++ b/LayerView.qml @@ -0,0 +1,35 @@ +import QtQuick 2.2 +import QtQuick.Controls 1.2 +import QtQuick.Layouts 1.1 +import QtQuick.Controls.Styles 1.1 + +import UM 1.0 as UM + +Item +{ + width: 250 + height: 250 + /*Rectangle + { + color: "blue" + width: 250 + height:250 + }*/ + Slider + { + width: 10 + height: 250 + anchors.right : parent.right + //anchors.fill: parent + //Layout.preferredHeight: UM.Theme.sizes.section.height; + orientation: Qt.Vertical + minimumValue: 0; + maximumValue: 100; + + value: 50; + onValueChanged: UM.ActiveView.triggerAction("setLayer", value) + + style: UM.Theme.styles.slider; + //Component.onCompleted: {console.log(UM.Theme.styles.slider)} + } +} \ No newline at end of file diff --git a/__init__.py b/__init__.py index 6b8576567d..ace484b15a 100644 --- a/__init__.py +++ b/__init__.py @@ -8,7 +8,8 @@ def getMetaData(): "name": "Layer View" }, 'view': { - 'name': 'Layers' + 'name': 'Layers', + 'view_panel': 'LayerView.qml' } }