1 /*
2  * part-item.h
3  *
4  *
5  * Author:
6  *  Richard Hult <rhult@hem.passagen.se>
7  *  Ricardo Markiewicz <rmarkie@fi.uba.ar>
8  *  Andres de Barbara <adebarbara@fi.uba.ar>
9  *  Marc Lorber <lorber.marc@wanadoo.fr>
10  *  Bernhard Schuster <bernhard@ahoi.io>
11  *
12  * Web page: https://ahoi.io/project/oregano
13  *
14  * Copyright (C) 1999-2001  Richard Hult
15  * Copyright (C) 2003,2004  Ricardo Markiewicz
16  * Copyright (C) 2009-2012  Marc Lorber
17  * Copyright (C) 2013-2014  Bernhard Schuster
18  *
19  * This program is free software; you can redistribute it and/or
20  * modify it under the terms of the GNU General Public License as
21  * published by the Free Software Foundation; either version 2 of the
22  * License, or (at your option) any later version.
23  *
24  * This program is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
27  * General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public
30  * License along with this program; if not, write to the
31  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
32  * Boston, MA 02110-1301, USA.
33  */
34 
35 #ifndef __PART_ITEM_H
36 #define __PART_ITEM_H
37 
38 typedef struct _PartItem PartItem;
39 typedef struct _PartItemClass PartItemClass;
40 typedef struct _PartItemPriv PartItemPriv;
41 
42 #include "sheet-item.h"
43 #include "load-library.h"
44 #include "load-common.h"
45 #include "part.h"
46 
47 #define TYPE_PART_ITEM (part_item_get_type ())
48 #define PART_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PART_ITEM, PartItem))
49 #define PART_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PART_ITEM, PartItemClass))
50 #define IS_PART_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PART_ITEM))
51 #define PART_ITEM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_PART_ITEM, PartItemClass))
52 
53 struct _PartItem
54 {
55 	SheetItem parent_object;
56 	PartItemPriv *priv;
57 };
58 
59 struct _PartItemClass
60 {
61 	SheetItemClass parent_class;
62 };
63 
64 GType part_item_get_type (void);
65 PartItem *part_item_new (Sheet *sheet, Part *part);
66 void part_item_create_canvas_items_for_preview (GooCanvasGroup *group, LibraryPart *library_part);
67 void part_item_update_node_label (PartItem *part);
68 void part_item_show_node_labels (PartItem *part, gboolean b);
69 
70 #endif
71