diff options
author | Ruben Undheim <ruben.undheim@gmail.com> | 2018-07-12 23:10:08 +0200 |
---|---|---|
committer | Ruben Undheim <ruben.undheim@gmail.com> | 2018-07-12 23:10:08 +0200 |
commit | e1fffcb07ce0d8b0db9e0b4b5e1e0c1128197af5 (patch) | |
tree | 850eead23d896c80df8c02ab0231164a07e8356e /src/sheet/sheet-item-factory.c | |
parent | 1eb59a5d9eedcb2fde4cfcd8f3cf87edf18e71e4 (diff) |
New upstream version 0.82
Diffstat (limited to 'src/sheet/sheet-item-factory.c')
-rw-r--r-- | src/sheet/sheet-item-factory.c | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/src/sheet/sheet-item-factory.c b/src/sheet/sheet-item-factory.c index 97f31b2..9a0041f 100644 --- a/src/sheet/sheet-item-factory.c +++ b/src/sheet/sheet-item-factory.c @@ -6,11 +6,13 @@ * Richard Hult <rhult@hem.passagen.se> * Ricardo Markiewicz <rmarkie@fi.uba.ar> * Andres de Barbara <adebarbara@fi.uba.ar> + * Marc Lorber <lorber.marc@wanadoo.fr> * - * Web page: http://arrakis.lug.fi.uba.ar/ + * Web page: https://github.com/marc-lorber/oregano * * Copyright (C) 1999-2001 Richard Hult * Copyright (C) 2003,2006 Ricardo Markiewicz + * Copyright (C) 2009-2012 Marc Lorber * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -28,43 +30,43 @@ * Boston, MA 02111-1307, USA. */ -#include "schematic-view.h" #include "sheet-item-factory.h" #include "wire-item.h" #include "part-item.h" #include "textbox-item.h" -/* - * Create a SheetItem from an ItemData object. This is a bit ugly. - * It could be beautified by having a method that creates the item. - * E.g. sheet_item->new_from_data (data); - */ +#define NG_DEBUG(s) if (0) g_print ("%s\n", s) +// Create a SheetItem from an ItemData object. This is a bit ugly. +// It could be beautified by having a method that creates the item. +// E.g. sheet_item->new_from_data (data); SheetItem * -sheet_item_factory_create_sheet_item (SchematicView *sv, ItemData *data) +sheet_item_factory_create_sheet_item (Sheet *sheet, ItemData *data) { - Sheet *sheet; SheetItem *item; g_return_val_if_fail (data != NULL, NULL); g_return_val_if_fail (IS_ITEM_DATA (data), NULL); + g_return_val_if_fail (sheet != NULL, NULL); + g_return_val_if_fail (IS_SHEET (sheet), NULL); - sheet = schematic_view_get_sheet (sv); item = NULL; - /* - * Pick the right model. - */ - if (IS_PART(data)) { - item = SHEET_ITEM(part_item_new_from_part(sheet, PART(data))); - } else if (IS_WIRE(data)) { - item = SHEET_ITEM(wire_item_new(sheet, WIRE(data))); - } else if (IS_TEXTBOX(data)) { - item = SHEET_ITEM(textbox_item_new(sheet, TEXTBOX(data))); - } else + // Pick the right model. + if (IS_PART (data)) { + NG_DEBUG ("sheet_item_factory_create_sheet_item part\n\n"); + item = SHEET_ITEM (part_item_new (sheet, PART (data))); + } + else if (IS_WIRE (data)) { + NG_DEBUG ("sheet_item_factory_create_sheet_item wire\n\n"); + item = SHEET_ITEM (wire_item_new (sheet, WIRE (data))); + } + else if (IS_TEXTBOX (data)) { + NG_DEBUG ("sheet_item_factory_create_sheet_item text\n\n"); + item = SHEET_ITEM (textbox_item_new (sheet, TEXTBOX (data))); + } + else g_warning ("Unknown Item type."); return item; } - - |