Skip to content

Commit 139b459

Browse files
committed
doc strings.
1 parent c0ea79e commit 139b459

File tree

3 files changed

+125
-16
lines changed

3 files changed

+125
-16
lines changed

NodeGraphQt/base/graph.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ def _on_property_bin_changed(self, node_id, prop_name, prop_value):
239239
Args:
240240
node_id (str): node id.
241241
prop_name (str): node property name.
242-
prop_value (object): python object.
242+
prop_value (object): python built in types.
243243
"""
244244
if not self._editable:
245245
return

NodeGraphQt/base/node.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ def set_property(self, name, value):
319319
320320
Args:
321321
name (str): name of the property.
322-
value (object): property data.
322+
value (object): property data (python built in types).
323323
"""
324324

325325
# prevent signals from causing a infinite loop.

NodeGraphQt/widgets/viewer.py

Lines changed: 123 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,15 @@ def dragLeaveEvent(self, event):
452452
event.ignore()
453453

454454
def keyPressEvent(self, event):
455+
"""
456+
Key press event re-implemented to update the states for attributes:
457+
- ALT_state
458+
- CTRL_state
459+
- SHIFT_state
460+
461+
Args:
462+
event (QtGui.QKeyEvent): key event.
463+
"""
455464
self.ALT_state = event.modifiers() == QtCore.Qt.AltModifier
456465
self.CTRL_state = event.modifiers() == QtCore.Qt.ControlModifier
457466
self.SHIFT_state = event.modifiers() == QtCore.Qt.ShiftModifier
@@ -464,6 +473,15 @@ def keyPressEvent(self, event):
464473
super(NodeViewer, self).keyPressEvent(event)
465474

466475
def keyReleaseEvent(self, event):
476+
"""
477+
Key release event re-implemented to update the states for attributes:
478+
- ALT_state
479+
- CTRL_state
480+
- SHIFT_state
481+
482+
Args:
483+
event (QtGui.QKeyEvent): key event.
484+
"""
467485
self.ALT_state = event.modifiers() == QtCore.Qt.AltModifier
468486
self.CTRL_state = event.modifiers() == QtCore.Qt.ControlModifier
469487
self.SHIFT_state = event.modifiers() == QtCore.Qt.ShiftModifier
@@ -709,7 +727,11 @@ def establish_connection(self, start_port, end_port):
709727
@staticmethod
710728
def acyclic_check(start_port, end_port):
711729
"""
712-
validate the connection so it doesn't loop itself.
730+
Validate the node connections so it doesn't loop itself.
731+
732+
Args:
733+
start_port (PortItem): port item.
734+
end_port (PortItem): port item.
713735
714736
Returns:
715737
bool: True if port connection is valid.
@@ -761,10 +783,27 @@ def context_menus(self):
761783

762784
@staticmethod
763785
def question_dialog(text, title='Node Graph'):
786+
"""
787+
Prompt node viewer question dialog widget with "yes", "no" buttons.
788+
789+
Args:
790+
text (str): dialog text.
791+
title (str): dialog window title.
792+
793+
Returns:
794+
bool: true if user click yes.
795+
"""
764796
return BaseDialog.question_dialog(text, title)
765797

766798
@staticmethod
767799
def message_dialog(text, title='Node Graph'):
800+
"""
801+
Prompt node viewer message dialog widget with "ok" button.
802+
803+
Args:
804+
text (str): dialog text.
805+
title (str): dialog window title.
806+
"""
768807
BaseDialog.message_dialog(text, title)
769808

770809
def load_dialog(self, current_dir=None, ext=None):
@@ -794,31 +833,56 @@ def save_dialog(self, current_dir=None, ext=None):
794833
return file_path
795834

796835
def all_pipes(self):
797-
pipes = []
836+
"""
837+
Returns all pipe qgraphic items.
838+
839+
Returns:
840+
list[Pipe]: instances of pipe items.
841+
"""
798842
excl = [self._LIVE_PIPE, self._SLICER_PIPE]
799-
for item in self.scene().items():
800-
if isinstance(item, Pipe) and item not in excl:
801-
pipes.append(item)
802-
return pipes
843+
return [i for i in self.scene().items()
844+
if isinstance(i, Pipe) and i not in excl]
803845

804846
def all_nodes(self):
805-
nodes = []
806-
for item in self.scene().items():
807-
if isinstance(item, AbstractNodeItem):
808-
nodes.append(item)
809-
return nodes
847+
"""
848+
Returns all node qgraphic items.
849+
850+
Returns:
851+
list[AbstractNodeItem]: instances of node items.
852+
"""
853+
return [i for i in self.scene().items()
854+
if isinstance(i, AbstractNodeItem)]
810855

811856
def selected_nodes(self):
812-
nodes = [item for item in self.scene().selectedItems() \
857+
"""
858+
Returns selected node qgraphic items.
859+
860+
Returns:
861+
list[AbstractNodeItem]: instances of node items.
862+
"""
863+
nodes = [item for item in self.scene().selectedItems()
813864
if isinstance(item, AbstractNodeItem)]
814865
return nodes
815866

816867
def selected_pipes(self):
817-
pipes = [item for item in self.scene().selectedItems() \
868+
"""
869+
Returns selected pipe qgraphic items.
870+
871+
Returns:
872+
list[Pipe]: pipe items.
873+
"""
874+
pipes = [item for item in self.scene().selectedItems()
818875
if isinstance(item, Pipe)]
819876
return pipes
820877

821878
def selected_items(self):
879+
"""
880+
Return selected graphic items in the scene.
881+
882+
Returns:
883+
tuple(list[AbstractNodeItem], list[Pipe]):
884+
selected (node items, pipe items).
885+
"""
822886
nodes = []
823887
pipes = []
824888
for item in self.scene().selectedItems():
@@ -829,13 +893,26 @@ def selected_items(self):
829893
return nodes, pipes
830894

831895
def add_node(self, node, pos=None):
896+
"""
897+
Add node item into the scene.
898+
899+
Args:
900+
node (AbstractNodeItem): node item instance.
901+
pos (tuple or list): node scene position.
902+
"""
832903
pos = pos or (self._previous_pos.x(), self._previous_pos.y())
833904
node.pre_init(self, pos)
834905
self.scene().addItem(node)
835906
node.post_init(self, pos)
836907

837908
@staticmethod
838909
def remove_node(node):
910+
"""
911+
Remove node item from the scene.
912+
913+
Args:
914+
node (AbstractNodeItem): node item instance.
915+
"""
839916
if isinstance(node, AbstractNodeItem):
840917
node.delete()
841918

@@ -888,25 +965,57 @@ def center_selection(self, nodes=None):
888965
self.centerOn(rect.center().x(), rect.center().y())
889966

890967
def get_pipe_layout(self):
968+
"""
969+
Returns the pipe layout mode.
970+
971+
Returns:
972+
int: pipe layout mode.
973+
"""
891974
return self._pipe_layout
892975

893976
def set_pipe_layout(self, layout):
977+
"""
978+
Sets the pipe layout mode and redraw all pipe items in the scene.
979+
980+
Args:
981+
layout (int): pipe layout mode. (see the contants module)
982+
"""
894983
self._pipe_layout = layout
895984
for pipe in self.all_pipes():
896985
pipe.draw_path(pipe.input_port, pipe.output_port)
897986

898987
def reset_zoom(self, cent=None):
899-
self._scene_range = QtCore.QRectF(0, 0, self.size().width(), self.size().height())
988+
"""
989+
Reset the viewer zoom level.
990+
991+
Args:
992+
cent (QtCore.QPoint): specified center.
993+
"""
994+
self._scene_range = QtCore.QRectF(0, 0,
995+
self.size().width(),
996+
self.size().height())
900997
if cent:
901998
self._scene_range.translate(cent - self._scene_range.center())
902999
self._update_scene()
9031000

9041001
def get_zoom(self):
1002+
"""
1003+
Returns the viewer zoom level.
1004+
1005+
Returns:
1006+
float: zoom level.
1007+
"""
9051008
transform = self.transform()
9061009
cur_scale = (transform.m11(), transform.m22())
9071010
return float('{:0.2f}'.format(cur_scale[0] - 1.0))
9081011

9091012
def set_zoom(self, value=0.0):
1013+
"""
1014+
Set the viewer zoom level.
1015+
1016+
Args:
1017+
value (float): zoom level
1018+
"""
9101019
if value == 0.0:
9111020
self.reset_zoom()
9121021
return

0 commit comments

Comments
 (0)