def __init__(self): SavedObject.__init__(self) QtWidgets.QGraphicsObject.__init__(self) # Common movement-related elements self._current_position = (random.random() * 150) - 75, (random.random() * 150) - 75 self._dragged = False self.trees = set() # each Movable belongs to some trees, either formed by Movable # alone or set of Movables. Tree has abstract position adjustment information. # MOVE_TO -elements self.target_position = 0, 0 self.adjustment = 0, 0 self._move_counter = 0 self._use_easing = True self._step = None self.unmoved = True # flag to distinguish newly created nodes self.after_move_function = None self.use_adjustment = False self._high_priority_move = False self.locked_to_node = None # PHYSICS -elements self.locked = False self.physics_x = False self.physics_y = False self.repulsion = 0.2 # Other self._visible_by_logic = True self._fade_anim = None self.is_fading_in = False self.is_fading_out = False self._hovering = False
def __init__(self): SavedObject.__init__(self) QtWidgets.QGraphicsObject.__init__(self) # Common movement-related elements self._current_position = (random.random() * 150) - 75, (random.random() * 150) - 75 self._dragged = False self.trees = set( ) # each Movable belongs to some trees, either formed by Movable # alone or set of Movables. Tree has abstract position adjustment information. # MOVE_TO -elements self.target_position = 0, 0 self.adjustment = 0, 0 self._start_position = 0, 0 self._move_frames = 0 self._move_counter = 0 self._use_easing = True self._distance = None self.unmoved = True # flag to distinguish newly created nodes self.after_move_function = None self.use_adjustment = False self._high_priority_move = False self.locked_to_node = None # PHYSICS -elements self.locked = False self.physics_x = False self.physics_y = False self.repulsion = 0.2 # Other self._visible_by_logic = True self._fade_anim = None self.is_fading_in = False self.is_fading_out = False self._hovering = False
def __init__(self, label='', parts=None, uid='', features=None, **kw): """ BaseConstituent is a default constituent used in syntax. It is Savable, which means that the actual values are stored in separate object that is easily dumped to file. Extending this needs to take account if new elements should also be treated as savable, e.g. put them into. and make necessary property and setter. """ SavedObject.__init__(self, **kw) self.label = label self.features = features or [] self.parts = parts or []
def __init__(self): SavedObject.__init__(self) self.Constituent = classes.get('Constituent') self.Feature = classes.get('Feature') self.trees = [] self.constituents = {} self.features = {} self.lexicon = {} self.rules = {} self.sentence = '' self.parser = None self.syntax_display_mode = 2 for key, value in self.options.items(): self.rules[key] = value.get('default')
def __init__(self, label='', parts=None, uid='', features=None, head=None, **kw): """ BaseConstituent is a default constituent used in syntax. It is Savable, which means that the actual values are stored in separate object that is easily dumped to file. Extending this needs to take account if new elements should also be treated as savable, e.g. put them into. and make necessary property and setter. """ SavedObject.__init__(self, **kw) self.label = label if head: self.heads = [head] else: self.heads = [] self.features = features or [] self.parts = parts or []
def __init__(self, forest=None, start=None, end=None, edge_type='', alpha=None): """ :param Node start: :param Node end: :param string edge_type: :param alpha: optional data for e.g. referring to third object """ FadeInOut.__init__(self) SavedObject.__init__(self) QtWidgets.QGraphicsObject.__init__(self) self.forest = forest self.settings = EdgeSettings(self) self.edge_type = edge_type self.start = start self.start_links_to = None self.end_links_to = None self.end = end self.alpha = alpha self.start_symbol = 0 self.curve_adjustment = None # user's adjustments. contains (dist, angle) tuples. self.path = EdgePath(self) self.selected = False self._nodes_overlap = False self.k_tooltip = '' self.k_action = None self._is_moving = False self._local_drag_handle_position = None # ## Adjustable values, defaults to ForestSettings if None for this # element # based on the relation style # self.center_point = (0, 0, 0) # ## Derivative elements self._indirect_hovering = False self._direct_hovering = False self._start_node_moving = False self._end_node_moving = False self.setZValue(15) self.crossed_out_flag = False self.setFlag(QtWidgets.QGraphicsItem.ItemIsSelectable) self.setAcceptHoverEvents(True) self.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self._visible_by_logic = False self.cached_edge_start_index = (0, 1) self.cached_edge_end_index = (0, 1) self.hide()
def __init__(self): SavedObject.__init__(self) self.Constituent = classes.Constituent self.Feature = classes.Feature self.input_tree = [] self.trees = [] self.constituents = {} self.features = {} self.lexicon = {} self.rules = {} self.input_text = '' self.parser = None self.display_mode = 0 self.current_mode = 0 for key, value in self.options.items(): self.rules[key] = value.get('default')
def __init__(self, label='', parts=None, uid='', features=None, lexical_heads=None, adjunct=False, set_hosts=True, **kw): """ BaseConstituent is a default constituent used in syntax. It is Savable, which means that the actual values are stored in separate object that is easily dumped to file. Extending this needs to take account if new elements should also be treated as savable, e.g. put them into. and make necessary property and setter. """ SavedObject.__init__(self, **kw) self.label = label self.features = features or [] self.parts = parts or [] self.inherited_features = features or [] self.checked_features = [] self.lexical_heads = list(lexical_heads) if lexical_heads else [self] self.adjunct = adjunct self.head = None self.gloss = '' if set_hosts: for feature in self.features: feature.host = self
def __init__(self, selection=None, persistent=True): SavedObject.__init__(self) QtWidgets.QGraphicsObject.__init__(self) # -- Fake as UIItem to make selection groups part of UI: self.ui_key = next_available_ui_key() self.ui_type = self.__class__.__name__ self.ui_manager = ctrl.ui self.role = None self.host = None self.watchlist = [] self.is_fading_in = False self.is_fading_out = False # -- end faking as UIItem self.selection = [] self.selection_with_children = [] self.persistent = persistent self._skip_this = not persistent self._selected = False self.points = [] self.center_point = None self.outline = False self.fill = True self.color_key = '' self.color = None self.color_tr_tr = None self.purpose = None self.path = None self.label_item = None self.label_data = {} self.include_children = False self.allow_overlap = True self._br = None #self.setFlag(QtWidgets.QGraphicsObject.ItemIsMovable) self.setFlag(QtWidgets.QGraphicsObject.ItemIsSelectable) if selection: self.update_selection(selection) self.update_shape() self.update_colors()
def __init__(self, forest=None): FadeInOut.__init__(self) SavedObject.__init__(self) QtWidgets.QGraphicsObject.__init__(self) # Common movement-related elements self._current_position = (random.random() * 150) - 75, (random.random() * 150) - 75 self._dragged = False self.k_tooltip = '' self.k_action = None # MOVE_TO -elements self.target_position = 0, 0 self.adjustment = 0, 0 self._start_position = 0, 0 self._move_frames = 0 self._move_counter = 0 self._is_moving = False self._use_easing = True self._distance = None self.unmoved = True # flag to distinguish newly created nodes self.use_adjustment = False self._high_priority_move = False self.locked_to_node = None # PHYSICS -elements self.locked = False self.physics_x = False self.physics_y = False self.repulsion = 0.2 # Other self._visible_by_logic = True self._fade_anim = None self.is_fading_in = False self.is_fading_out = False self._direct_hovering = False self._indirect_hovering = False self.setZValue(self.preferred_z_value()) self.forest = forest
def __init__(self, kataja_app, no_prefs=False, reset_prefs=False): """ KatajaMain initializes all its children and connects itself to be the main window of the given application. Receives launch arguments: :param no_prefs: bool, don't load or save preferences :param reset_prefs: bool, don't attempt to load preferences, use defaults instead """ QtWidgets.QMainWindow.__init__(self) kataja_app.processEvents() SavedObject.__init__(self) self.use_tooltips = True self.available_plugins = {} self.setDockOptions(QtWidgets.QMainWindow.AnimatedDocks) self.setCorner(QtCore.Qt.TopLeftCorner, QtCore.Qt.LeftDockWidgetArea) self.setCorner(QtCore.Qt.TopRightCorner, QtCore.Qt.RightDockWidgetArea) self.setCorner(QtCore.Qt.BottomLeftCorner, QtCore.Qt.LeftDockWidgetArea) self.setCorner(QtCore.Qt.BottomRightCorner, QtCore.Qt.RightDockWidgetArea) x, y, w, h = (50, 50, 1152, 720) self.setMinimumSize(w, h) self.app = kataja_app self.save_prefs = not no_prefs self.forest = None self.fontdb = QtGui.QFontDatabase() self.color_manager = PaletteManager() self.settings_manager = Settings() self.forest_keepers = [] self.forest_keeper = None ctrl.late_init(self) classes.late_init() prefs.import_node_classes(classes) self.syntax = SyntaxConnection() prefs.load_preferences(disable=reset_prefs or no_prefs) qt_prefs.late_init(running_environment, prefs, self.fontdb, log) self.settings_manager.set_prefs(prefs) self.color_manager.update_custom_colors() self.find_plugins(prefs.plugins_path or running_environment.plugins_path) self.setWindowIcon(qt_prefs.kataja_icon) self.graph_scene = GraphScene(main=self, graph_view=None) self.graph_view = GraphView(main=self, graph_scene=self.graph_scene) self.graph_scene.graph_view = self.graph_view self.ui_manager = UIManager(self) self.settings_manager.set_ui_manager(self.ui_manager) self.ui_manager.populate_ui_elements() # make empty forest and forest keeper so initialisations don't fail because of their absence self.visualizations = VISUALIZATIONS self.init_forest_keepers() self.settings_manager.set_document(self.forest_keeper) kataja_app.setPalette(self.color_manager.get_qt_palette()) self.forest = Forest() self.settings_manager.set_forest(self.forest) self.change_color_theme(prefs.color_theme, force=True) self.update_style_sheet() self.graph_scene.late_init() self.setCentralWidget(self.graph_view) self.setGeometry(x, y, w, h) self.setWindowTitle(self.tr("Kataja")) self.print_started = False self.show() self.raise_() kataja_app.processEvents() self.activateWindow() self.status_bar = self.statusBar() self.install_plugins() self.load_initial_treeset() log.info('Welcome to Kataja! (h) for help') #ctrl.call_watchers(self.forest_keeper, 'forest_changed') # toolbar = QtWidgets.QToolBar() # toolbar.setFixedSize(480, 40) # self.addToolBar(toolbar) gestures = [ QtCore.Qt.TapGesture, QtCore.Qt.TapAndHoldGesture, QtCore.Qt.PanGesture, QtCore.Qt.PinchGesture, QtCore.Qt.SwipeGesture, QtCore.Qt.CustomGesture ] #for gesture in gestures: # self.grabGesture(gesture) self.action_finished(undoable=False) self.forest.undo_manager.flush_pile()
def __init__(self, kataja_app, no_prefs=False, reset_prefs=False): """ KatajaMain initializes all its children and connects itself to be the main window of the given application. Receives launch arguments: :param no_prefs: bool, don't load or save preferences :param reset_prefs: bool, don't attempt to load preferences, use defaults instead """ QtWidgets.QMainWindow.__init__(self) kataja_app.processEvents() SavedObject.__init__(self) self.use_tooltips = True self.available_plugins = {} self.setDockOptions(QtWidgets.QMainWindow.AnimatedDocks) self.setCorner(QtCore.Qt.TopLeftCorner, QtCore.Qt.LeftDockWidgetArea) self.setCorner(QtCore.Qt.TopRightCorner, QtCore.Qt.RightDockWidgetArea) self.setCorner(QtCore.Qt.BottomLeftCorner, QtCore.Qt.LeftDockWidgetArea) self.setCorner(QtCore.Qt.BottomRightCorner, QtCore.Qt.RightDockWidgetArea) x, y, w, h = (50, 50, 1152, 720) self.setMinimumSize(w, h) self.app = kataja_app self.save_prefs = not no_prefs self.forest = None self.fontdb = QtGui.QFontDatabase() self.color_manager = PaletteManager() self.settings_manager = Settings() self.forest_keepers = [] self.forest_keeper = None ctrl.late_init(self) classes.late_init() prefs.import_node_classes(classes) self.syntax = SyntaxConnection() prefs.load_preferences(disable=reset_prefs or no_prefs) qt_prefs.late_init(running_environment, prefs, self.fontdb, log) self.settings_manager.set_prefs(prefs) self.color_manager.update_custom_colors() self.find_plugins(prefs.plugins_path or running_environment.plugins_path) self.setWindowIcon(qt_prefs.kataja_icon) self.graph_scene = GraphScene(main=self, graph_view=None) self.graph_view = GraphView(main=self, graph_scene=self.graph_scene) self.graph_scene.graph_view = self.graph_view ctrl.add_watcher(self, 'ui_font_changed') self.ui_manager = UIManager(self) self.settings_manager.set_ui_manager(self.ui_manager) self.ui_manager.populate_ui_elements() # make empty forest and forest keeper so initialisations don't fail because of their absence self.visualizations = VISUALIZATIONS self.init_forest_keepers() self.settings_manager.set_document(self.forest_keeper) kataja_app.setPalette(self.color_manager.get_qt_palette()) self.forest = Forest() self.settings_manager.set_forest(self.forest) self.change_color_theme(prefs.color_theme, force=True) self.update_style_sheet() self.graph_scene.late_init() self.setCentralWidget(self.graph_view) self.setGeometry(x, y, w, h) self.setWindowTitle(self.tr("Kataja")) self.print_started = False self.show() self.raise_() kataja_app.processEvents() self.activateWindow() self.status_bar = self.statusBar() self.install_plugins() self.load_initial_treeset() log.info('Welcome to Kataja! (h) for help') #ctrl.call_watchers(self.forest_keeper, 'forest_changed') # toolbar = QtWidgets.QToolBar() # toolbar.setFixedSize(480, 40) # self.addToolBar(toolbar) gestures = [QtCore.Qt.TapGesture, QtCore.Qt.TapAndHoldGesture, QtCore.Qt.PanGesture, QtCore.Qt.PinchGesture, QtCore.Qt.SwipeGesture, QtCore.Qt.CustomGesture] #for gesture in gestures: # self.grabGesture(gesture) self.action_finished(undoable=False) self.forest.undo_manager.flush_pile()