1 /* Lepton EDA Schematic Capture
2  * Copyright (C) 1998-2010 Ales Hvezda
3  * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details)
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18  */
19 /*!
20  * \file gschem_object_properties_widget.h
21  *
22  * \brief A dialog box for editing an object's line properties.
23  */
24 
25 #define GSCHEM_TYPE_OBJECT_PROPERTIES_WIDGET           (gschem_object_properties_widget_get_type())
26 #define GSCHEM_OBJECT_PROPERTIES_WIDGET(obj)           (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSCHEM_TYPE_OBJECT_PROPERTIES_WIDGET, GschemObjectPropertiesWidget))
27 #define GSCHEM_OBJECT_PROPERTIES_WIDGET_CLASS(klass)   (G_TYPE_CHECK_CLASS_CAST ((klass),  GSCHEM_TYPE_OBJECT_PROPERTIES_WIDGET, GschemObjectPropertiesWidgetClass))
28 #define IS_GSCHEM_OBJECT_PROPERTIES_WIDGET(obj)        (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSCHEM_TYPE_OBJECT_PROPERTIES_WIDGET))
29 #define GSCHEM_OBJECT_PROPERTIES_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),  GSCHEM_TYPE_OBJECT_PROPERTIES_WIDGET, GschemObjectPropertiesWidgetClass))
30 
31 typedef struct _GschemObjectPropertiesWidgetClass GschemObjectPropertiesWidgetClass;
32 typedef struct _GschemObjectPropertiesWidget GschemObjectPropertiesWidget;
33 
34 struct _GschemObjectPropertiesWidgetClass
35 {
36   GschemBinClass parent_class;
37 };
38 
39 struct _GschemObjectPropertiesWidget
40 {
41   GschemBin parent;
42 
43   GschemSelectionAdapter *adapter;
44 
45   GschemToplevel *w_current;
46 
47   GSList *bindings;
48 
49   GtkWidget *colorcb;
50 
51   GtkWidget *width_entry;
52   GtkWidget *line_type;
53   GtkWidget *length_entry;
54   GtkWidget *space_entry;
55   GtkWidget *line_end;
56 
57   GtkWidget *fstylecb;
58   GtkWidget *widthe;
59   GtkWidget *angle1e;
60   GtkWidget *angle2e;
61   GtkWidget *pitch1e;
62   GtkWidget *pitch2e;
63 
64   GtkWidget *pin_type;
65 
66   GtkWidget *fill_section_widget;
67   GtkWidget *general_section_widget;
68   GtkWidget *line_section_widget;
69   GtkWidget *pin_section_widget;
70 };
71 
72 GType
73 gschem_object_properties_widget_get_type();
74 
75 GtkWidget*
76 gschem_object_properties_widget_new (GschemToplevel *w_current);
77