void sheet_connect_node_dots_to_signals (Sheet *sheet) { g_return_if_fail (sheet != NULL); g_return_if_fail (IS_SHEET (sheet)); GList *list; Schematic *sm; sm = schematic_view_get_schematic_from_sheet (sheet); g_signal_connect_object (G_OBJECT (sm), "node_dot_added", G_CALLBACK (node_dot_added_callback), G_OBJECT (sheet), 0); g_signal_connect_object (G_OBJECT (sm), "node_dot_removed", G_CALLBACK (node_dot_removed_callback), G_OBJECT (sheet), 0); list = node_store_get_node_positions (schematic_get_store (sm)); for (; list; list = list->next) node_dot_added_callback (sm, list->data, sheet); }
static void mouse_over_wire_callback (WireItem *item, Sheet *sheet) { GList *iter; Wire *wire; NodeStore *store; if (sheet->state != SHEET_STATE_NONE) return; store = schematic_get_store (schematic_view_get_schematic_from_sheet (sheet)); node_store_node_foreach (store, (GHFunc *)node_foreach_reset, NULL); for (iter = store->wires; iter; iter = iter->next) { wire = iter->data; wire_set_visited (wire, FALSE); } wire = WIRE (sheet_item_get_data (SHEET_ITEM (item))); wire_traverse (wire); }
static void mouse_over_wire_cb (WireItem *item, SchematicView *sv) { GList *wires; Wire *wire; NodeStore *store; Sheet *sheet; sheet = schematic_view_get_sheet (sv); if (sheet->state != SHEET_STATE_NONE) return; store = schematic_get_store (schematic_view_get_schematic (sv)); node_store_node_foreach (store, (GHFunc *) node_foreach_reset, NULL); for (wires = store->wires; wires; wires = wires->next) { wire = wires->data; wire_set_visited (wire, FALSE); } wire = WIRE (sheet_item_get_data (SHEET_ITEM (item))); wire_traverse (wire); }