Esempio n. 1
0
    def __init__(self):
        vtkCameraManipulator.__init__(self)

        self.picked_data = None
        self.box_picker = vtk.vtkExtractSelectedFrustum()
        self._start_position = [0, 0]
        self._end_position = [0, 0]
        self._pixel_array = vtk.vtkUnsignedCharArray()

        self.ex = vtk.vtkExtractSelection()
        self.selection_node = vtk.vtkSelectionNode()
        self.selection_node.SetContentType(vtk.vtkSelectionNode.THRESHOLDS)
        self.ex_selection = vtk.vtkSelection()
        self.ex_selection.AddNode(self.selection_node)

        self.ex.SetInputConnection(0, self.box_picker.GetOutputPort())
        self.ex.SetInputData(1, self.ex_selection)

        self._down_pos = None
        self._up_pos = None

        self.iren = None
        self.ren_win = None
        self.ren_win_size = None

        self.data_picked = MrSignal()
        self.done_picking = MrSignal()

        self._picking_active = False

        # self.vtk_graphics = VTKGraphics.instance()

        from .picking_manager import PickingManager
        self.picking_manager = PickingManager.instance()
Esempio n. 2
0
    def __init__(self, table_view=None, *args):
        super(MrDataTable2, self).__init__(*args)

        if table_view is None:
            table_view = QtWidgets.QTableView(self)

        self.table_view = table_view
        self.table_view.keyPressEvent = self.keyPressEvent
        self.table_view.keyReleaseEvent = self.keyReleaseEvent

        self.table_model = MrTableModel(self.table_view)
        self.table_view.setModel(self.table_model)

        self.selection_model = self.table_view.selectionModel()
        """:type: QtGui.QItemSelectionModel"""

        self.selection_model.selectionChanged.connect(self._selection_changed)

        self._old_row = -1
        self._old_column = -1

        self._enter_down = False

        self.data_changed = self.table_model.data_changed
        self.data_changed.connect(self._data_changed)

        self.copy = MrSignal()
        self.paste = MrSignal()
        self.show()
Esempio n. 3
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args)

        self._scroll_factor = 1.
        self._enter_down = True

        self.undo = MrSignal()
        self.redo = MrSignal()
Esempio n. 4
0
    def __init__(self):
        self._database_exe = None

        self._application_name = 'N/A'

        self._user_manual = None
        self._email_recipient = None

        self._long_name = None
        self._date_created = None
        self._date_modified = None
        self._author = None
        self._description = None

        self._icon = None

        self._file_extension = None
        self._macro_extension = None

        tmp = scriptinfo()

        self._executable = tmp['name']
        self._executable_directory = tmp['dir']
        self._frozen = tmp['frozen']

        self._directory = None
        self._filename = ''

        self._dpi = 0

        self._app_data_path = None
        self._settings_file = None
        self._default_settings_file = None

        self._release_file = None
        self._beta_file = None

        self._app = None
        """:type: PyQt5.QtWidgets.QApplication.QApplication"""

        self._main_window = None
        """:type: PyQt5.QtWidgets.QMainWindow.QMainWindow"""

        self._main_data = None

        self.dispatcher = CommandDispatcher()

        ##############################################################################

        self._msgs = []

        self.message = MrSignal()
        self.msg = MrSignal()

        self._read_config()

        self.picking_manager = None
        """:type: fem.gui.vtk_widget.vtk_graphics.picking.PickingManager"""
Esempio n. 5
0
    def __init__(self, *args):
        super(TableModel, self).__init__(*args)
        self.headers = None
        self._data = None
        self._get_data = None
        self._set_data = None

        self.editable_columns = set()

        self.data_changed = MrSignal()

        self.set_data_signal = MrSignal()
Esempio n. 6
0
    def __init__(self, dock_name='BasicDockWidget'):
        super(BasicDockWidget, self).__init__()

        self.dock_name = dock_name

        self.setWindowTitle(dock_name)

        self.dispatcher = _CommandDispatcher(dock_name, self)

        self.widget = None

        self.show_dock = MrSignal()

        self.data_changed = MrSignal()
        """:type: MrSignal"""
Esempio n. 7
0
    def init(self):
        self.table_model = TableModel(self)
        self.setModel(self.table_model)

        self.selection_model = self.selectionModel()
        """:type: QtGui.QItemSelectionModel"""
        self.selection_model.selectionChanged.connect(self._selection_changed)

        self._old_row = -1
        self._old_column = -1

        self._enter_down = False

        self.data_changed = self.table_model.data_changed

        self.data_changed.connect(self._data_changed)

        self.copy = MrSignal()
        self.paste = MrSignal()

        self.row_changed = MrSignal()
        self.column_changed = MrSignal()
        self.selection_changed = MrSignal()

        self.undo = MrSignal()
        self.redo = MrSignal()

        self.set_data_signal = self.table_model.set_data_signal
Esempio n. 8
0
    def __init__(self, *args):
        super(TableDataModel, self).__init__(*args)
        # self._headers = None
        self._data = None

        self._editable_columns = None
        """:type: set"""

        self.set_data = MrSignal()
Esempio n. 9
0
    def __init__(self):
        super(MainData, self).__init__()

        self.data = OrderedDict()
        self.data_keys = []

        self.interface1 = MainDataInterface1(self)
        self.interface2 = MainDataInterface2(self)

        self.data_changed = MrSignal()
Esempio n. 10
0
    def __init__(self, tab_name, parent=None):
        super(BasicTabWidget, self).__init__(parent)

        self.tab_name = tab_name

        self.dispatcher = _CommandDispatcher(tab_name, self)

        self.tables = {}

        self.data_changed = MrSignal()
Esempio n. 11
0
    def __init__(self, *args):
        super(DockDataTableModel, self).__init__(*args)
        self._headers = None
        self.model_data = None

        self.editable_columns = set()

        self.set_data = MrSignal()

        self._count = 0
Esempio n. 12
0
    def __init__(self,
                 tree1,
                 tree2,
                 add_btn,
                 del_btn,
                 add_all=None,
                 remove_all=None):

        self.data_added = MrSignal()
        self.data_removed = MrSignal()
        self.selection_changed = MrSignal()

        if not isinstance(tree1, BasicTreeView):
            tree1 = BasicTreeView.wrap_obj(tree1)

        if not isinstance(tree2, BasicTreeView):
            tree2 = BasicTreeView.wrap_obj(tree2)

        self._tree1 = tree1
        self._tree2 = tree2

        self._tree1.sorting_changed.connect(self.update_trees)
        self._tree2.sorting_changed.connect(self.update_trees)

        self.pushButton_add = add_btn
        """:type: QtGui.QPushButton"""
        self.pushButton_delete = del_btn
        """:type: QtGui.QPushButton"""

        self.pushButton_add_all = add_all
        """:type: QtGui.QPushButton"""
        self.pushButton_remove_all = remove_all
        """:type: QtGui.QPushButton"""

        self.pushButton_add_clicked = MrSignal()
        self.pushButton_delete_clicked = MrSignal()
        self.pushButton_add_all_clicked = MrSignal()
        self.pushButton_remove_all_clicked = MrSignal()

        self.pushButton_add.clicked.connect(self.pushButton_add_clicked.emit)
        self.pushButton_delete.clicked.connect(
            self.pushButton_delete_clicked.emit)

        if self.pushButton_add_all:
            self.pushButton_add_all.clicked.connect(
                self.pushButton_add_all_clicked.emit)

        if self.pushButton_remove_all:
            self.pushButton_remove_all.clicked.connect(
                self.pushButton_remove_all_clicked.emit)

        self.pushButton_add_clicked.connect(self._add_btn_clicked)
        self.pushButton_delete_clicked.connect(self._remove_btn_clicked)
        self.pushButton_add_all_clicked.connect(self.add_all)
        self.pushButton_remove_all_clicked.connect(self.remove_all)

        self._data = OrderedDict()
Esempio n. 13
0
    def __init__(self, data_id=None):
        self.data = {}
        """:type: dict[DummyTableData]"""

        self._headers = list(self.DefaultDataType.headers)

        self._data_id = data_id

        self.list_changed = MrSignal()

        self._ids = []
Esempio n. 14
0
    def __init__(self, parent=None, main_data=None, *args):
        super(RecursiveTable, self).__init__(parent, *args)

        # FIXME: main_data should be renamed to table_data since it is confusing with app main_data
        self.main_data = main_data

        self.config = Configuration(self.main_data.get_id())

        self.table = EmptyTable(self)

        self.dispatcher = self.config.dispatcher
        self.dispatcher.main_window = self
        self.dispatcher.table = self.table
        self.dispatcher.get_model = self.main_data

        self.Actions = self.config.Actions
        self.Commands = self.config.Commands

        self.Actions.set_main_data(self.main_data)
        self.Commands.set_main_window(self)

        self.table.pushButton_add.clicked.connect(self._add)
        self.table.pushButton_insert.clicked.connect(self._insert)
        self.table.pushButton_delete.clicked.connect(self._delete)

        self.table.pushButton_up.clicked.connect(self._up)
        self.table.pushButton_down.clicked.connect(self._down)

        self.table_model = TableDataModel()
        self.table.set_model(self.table_model)

        self.table.set_data.connect(self._set_data)
        self.table.paste.connect(self._paste)
        self.table.set_rows.connect(self._set_rows)
        self.table.undo.connect(self._undo)
        self.table.redo.connect(self._redo)

        self.table_model.setup_data(self.main_data)

        self._splitter = QtWidgets.QSplitter(QtCore.Qt.Horizontal)
        self._splitter.addWidget(self.table)

        self.setLayout(QtWidgets.QHBoxLayout())

        self.layout().addWidget(self._splitter)

        self.table.selection_changed.connect(self._selection_changed)
        self.table.data_changed.connect(self._data_changed)

        self.subtable = None
        """:type: RecursiveTable"""

        self.data_changed = MrSignal()
Esempio n. 15
0
    def __init__(self, data_id=None):
        self.data = []
        """:type: list[DummyTableData]"""

        self._headers = list(self.DefaultDataType.headers)
        self._formats = list(self.DefaultDataType.formats)
        self._setters = list(self.DefaultDataType.setters)

        self._data_id = data_id

        self.list_changed = MrSignal()

        self._ids = []
Esempio n. 16
0
    def __init__(self, data_id=None):
        super(TableNumpyDataList, self).__init__(data_id)

        self.dtype = self.DefaultDataType.dtype

        self.blank_data = np.zeros(1, dtype=self.dtype)

        self.data = np.zeros(0, dtype=self.dtype)

        self._headers = list(
            self.data.dtype.names)[:self.DefaultDataType.columns()]

        self.list_changed = MrSignal()
Esempio n. 17
0
    def __init__(self, dock_name='BasicDockWidget'):
        super(BasicDockWidget, self).__init__()

        self.dock_name = dock_name

        self.setWindowTitle(dock_name)

        self.dispatcher = _CommandDispatcher(dock_name, self)
        # self.dispatcher.set_prefix(dock_name)

        self.tab_widget = None
        """:type: BasicTabWidget"""
        # self.tab_widget.dispatcher.set_prefix(tab_prefix)

        # self.tab_widget.dispatcher.register_parent_dispatcher(self.dispatcher, self.dock_name)

        # self.setWidget(self.tab_widget)

        self.show_dock = MrSignal()

        self.data_changed = MrSignal()
        """:type: MrSignal"""
Esempio n. 18
0
    def __init__(self):
        self.groups = OrderedDict()
        """:type: OrderedDict[FemGroup]"""

        self.data_changed = MrSignal()

        self._all_groups = FemGroup()

        self._default_group = FemGroup()
        self._default_group.group_name = 'Default'
        self._default_group.data_changed.connect(self._data_changed)

        self.groups['Default'] = self._default_group
Esempio n. 19
0
    def __init__(self):
        vtkCameraManipulator.__init__(self)

        self.cell_picker = CellPicker()

        self.hovered_data = None
        self.visible_filter = None
        self.pickable_types = None

        self.picked_id = -1

        self.vtk_graphics = VTKGraphics.instance()

        self.key_down = MrSignal()
Esempio n. 20
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args)

        self._scroll_factor = 1.
        self._enter_down = False
        self._shift_down = False
        self._ctrl_down = False

        self.undo = MrSignal()
        self.redo = MrSignal()
        
        self._model = self.TableModel()
        self.setModel(self._model)

        self.selection_model = self.selectionModel()
        """:type: QtGui.QItemSelectionModel"""
        self.selection_model.selectionChanged.connect(self._selection_changed)

        self.selection_changed = MrSignal()
        self.row_changed = MrSignal()
        self.column_changed = MrSignal()

        self._old_row = -1
        self._old_column = -1
Esempio n. 21
0
    def __init__(self, main_window):
        super(GroupsDock, self).__init__(main_window)

        self.main_window = main_window

        self.ui = Ui_DockWidget()
        self.ui.setupUi(self)

        self._groups_table_model = GroupsTableModel()
        self.ui.tableView_groups.setModel(self._groups_table_model)

        self._groups_selection_model = self.ui.tableView_groups.selectionModel(
        )
        """:type: QtGui.QItemSelectionModel"""

        self._groups_selection_model.selectionChanged.connect(
            self._groups_selection_changed)

        self.row_changed = MrSignal()
        self.column_changed = MrSignal()
        self.selection_changed = MrSignal()

        self._old_row = -1
        self._old_column = -1

        self.ui.pushButton_add_group.clicked.connect(self.add_group)
        self.ui.pushButton_remove_group.clicked.connect(self.remove_group)

        self.ui.pushButton_add_member.clicked.connect(self.add_members)
        self.ui.pushButton_remove_member.clicked.connect(self.remove_members)

        self._selection = PickedSelection()

        self._selection.data_changed.connect(self._picked_data_changed)

        self.setWindowTitle('Plot/Erase Groups')
Esempio n. 22
0
    def __init__(self, data_id=None):
        self._data_id = data_id

        self.dtype = self.DefaultDataType.dtype

        self.blank_data = np.zeros(1, dtype=self.dtype)

        self.data = np.zeros(0, dtype=self.dtype)

        self._headers = list(
            self.data.dtype.names)[:self.DefaultDataType.columns()]

        self._ids = []

        self.list_changed = MrSignal()
Esempio n. 23
0
    def __init__(self, *args):
        super(TableDataWidget, self).__init__(*args)

        self.ui = Ui_Form()
        self.ui.setupUi(self)

        self.tableView_list = DataTable.wrap_obj(self.ui.tableView_list)
        self.tableView_data = DataTable.wrap_obj(self.ui.tableView_data)

        self.tableView_list.set_editable_columns([0, 1])
        self.tableView_data.set_editable_columns([i for i in range(100)])

        self.ui.pushButton_add.clicked.connect(self._add)
        self.ui.pushButton_insert.clicked.connect(self._insert)
        self.ui.pushButton_delete.clicked.connect(self._delete)

        self.ui.pushButton_up.clicked.connect(self._up)
        self.ui.pushButton_down.clicked.connect(self._down)

        self.ui.pushButton_open.clicked.connect(self._open)

        self.main_data = MainData()
        """:type: fem.utilities.table_data_widget.model.MainData"""

        self.config = Configuration()

        self.tableView_list.setup_data(self.main_data.headers_1, self.main_data.interface1)
        self.tableView_data.setup_data(self.main_data.headers_2, self.main_data.interface2)

        self.tableView_list.selection_changed.connect(self._selection_changed)

        self.tableView_list.set_data_signal.connect(self._set_data_1)
        self.tableView_data.set_data_signal.connect(self._set_data_2)

        self.tableView_list.paste.connect(self._paste_1)
        self.tableView_data.paste.connect(self._paste_2)

        self.tableView_list.undo.connect(self._undo)
        self.tableView_list.redo.connect(self._redo)

        self.tableView_data.undo.connect(self._undo)
        self.tableView_data.redo.connect(self._redo)

        self.data_changed = MrSignal()

        self.main_data.data_changed.connect(self._data_changed)
Esempio n. 24
0
    def __init__(self):
        vtkCameraManipulator.__init__(self)

        self._start_position = [0, 0]
        self._end_position = [0, 0]
        self._pixel_array = vtk.vtkUnsignedCharArray()

        self._left_button_down = False
        self._ctrl_left_button_down = False
        self._right_button_down = False
        self._middle_button_down = False

        self._down_pos = None
        self._up_pos = None

        self._point_list = []

        self.renderer = None
        self.iren = None

        #self.reset_polygon()
        self._points = 0

        self.polygon = vtk.vtkPolygon()

        self.poly_data = vtk.vtkPolyData()
        self.poly_points = vtk.vtkPoints()
        self.poly_data.SetPoints(self.poly_points)

        self.cell_array = vtk.vtkCellArray()
        self.cell_array.InsertNextCell(self.polygon)
        self.cell_array.Squeeze()

        self.poly_data.SetPolys(self.cell_array)

        self.done_picking = MrSignal()
        self._picking_active = False

        self.poly_pick_filter = PolyPickFilter()
        self.poly_pick_filter.set_poly_pick_data(self.poly_data)

        self.vtk_graphics = VTKGraphics.instance()

        from .picking_manager import PickingManager
        self.picking_manager = PickingManager.instance()
Esempio n. 25
0
    def __init__(self, parent, data, options_data, dialog_title):
        """
        :param parent: QtWidgets.QLineEdit to whom the delegate belongs to
        :type parent: QtWidgets.QLineEdit
        :param data: AbstractData to whom the delegate sends _main_data to
        :type data: AbstractData
        """
        AbstractLineEditDelegate.__init__(self, parent, data)

        self.setObjectName(str(parent.objectName()) + "_delegate")

        self._dialog_title = dialog_title
        self._dialog = None
        self._options_data = options_data

        self.update_value = MrSignal()

        self._return_list = False

        if hasattr(self._options_data, 'return_data_list'):
            if self._options_data.return_data_list is True:
                self._return_list = True
Esempio n. 26
0
    def __init__(self):

        from fem.gui.vtk_widget.vtk_graphics import VTKGraphics

        self.vtk_graphics = VTKGraphics.instance()
        """:type: fem.gui.vtk_widget.vtk_graphics.VTKGraphics"""

        self.picked_selection = self.vtk_graphics.picked_selection
        """:type: fem.gui.vtk_widget.vtk_graphics.picked.PickedSelection"""

        self.default_single_picker = DefaultSinglePicker(self)
        self._single_pickers = [self.default_single_picker]
        """:type: list[SinglePicker]"""

        self.single_picker = self.default_single_picker

        self.picking_option = 1

        self._registered_selection = None
        """:type: fem.gui.vtk_widget.vtk_graphics.picked.PickedSelection"""

        self.picking_finished = MrSignal()
Esempio n. 27
0
    def __init__(self, parent=None, dispatcher_id=None, id_1='Table1', id_2='Table2'):
        super(MultiTable, self).__init__(parent)

        class _Table1(BasicTable):
            MainData = self.MainData_1
            main_data = self.main_data_1

        class _Table2(BasicTable):
            MainData = self.MainData_2
            main_data = self.main_data_2

        self.table_1 = _Table1(self)
        self.table_1.dispatcher.dispatcher_id = id_1

        self.table_2 = _Table2(self)
        self.table_2.dispatcher.dispatcher_id = id_2

        self._splitter = QtWidgets.QSplitter(QtCore.Qt.Horizontal)
        self._splitter.addWidget(self.table_1)
        self._splitter.addWidget(self.table_2)

        self._layout = QtWidgets.QHBoxLayout(self)
        self.setLayout(self._layout)

        self._layout.addWidget(self._splitter)

        self.table_1.table_1.row_changed.connect(self._row_changed)

        self.dispatcher = _CommandDispatcher(self)
        self.dispatcher.dispatcher_id = dispatcher_id

        self.dispatcher.add_child(self.table_1.dispatcher)
        self.dispatcher.add_child(self.table_2.dispatcher)

        self.request_focus = MrSignal()

        self.data = {}
        """:type: dict[str, TableDataList]"""
Esempio n. 28
0
    def __init__(self):
        vtkPVInteractorStyle.__init__(self)

        self._rotate = vtkPVTrackballRotate()
        self._pan = vtkPVTrackballPan()
        self._zoom = vtkPVTrackballZoom()

        self._hover = None
        """:type: gui.vtk_widget.vtk_graphics.interactor_styles.hovered_interactor_style.HoveredInteractorStyle"""

        self._pan.GUIHelper = vtkCameraManipulatorGUIHelper()

        self._buttons_pressed = set()

        # these need to be implemented
        #selection_data.translation_factor_changed.connect(self.set_translation_factor)
        #selection_data.rotation_factor_changed.connect(self.set_rotation_factor)
        #selection_data.zoom_scale_factor_changed.connect(self.set_zoom_scale_factor)

        self._box_picker = None
        """:type: gui.vtk_widget.vtk_graphics.picking.BoxPicker"""

        self._poly_picker = None
        """:type: gui.vtk_widget.vtk_graphics.picking.PolyPicker"""

        #selection_data.box_picker_activate.connect(self.box_picker_activate)
        #selection_data.poly_picker_activate.connect(self.poly_picker_activate)

        self._active_picker = None

        self.vtk_graphics = None
        """:type: VTKGRaphics"""

        self.picking_manager = None
        """:type: PickingManager"""

        self.zoom_changed = MrSignal()
Esempio n. 29
0
    def init(self):
        self.table_model = DockDataTableModel(self)
        self.setModel(self.table_model)

        self.selection_model = self.selectionModel()
        """:type: QtGui.QItemSelectionModel"""
        self.selection_model.selectionChanged.connect(self._selection_changed)

        self._old_row = -1
        self._old_column = -1

        self._enter_down = False

        self.set_data = self.table_model.set_data

        self.copy = MrSignal()
        self.paste = MrSignal()
        self.set_data = self.table_model.set_data
        self.right_click = MrSignal()

        self.row_changed = MrSignal()
        self.column_changed = MrSignal()
        self.selection_changed = MrSignal()
Esempio n. 30
0
 def __init__(self):
     self.data = FemSelectionCpp()
     self.data_changed = MrSignal()