*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
+#include <config.h>
#include "ev-form-field.h"
static void ev_form_field_init (EvFormField *field);
static void
ev_form_field_init (EvFormField *field)
{
- field->page = -1;
+ field->page = NULL;
field->changed = FALSE;
field->is_read_only = FALSE;
}
+static void
+ev_form_field_finalize (GObject *object)
+{
+ EvFormField *field = EV_FORM_FIELD (object);
+
+ g_object_unref (field->page);
+ field->page = NULL;
+
+ (* G_OBJECT_CLASS (ev_form_field_parent_class)->finalize) (object);
+}
+
static void
ev_form_field_class_init (EvFormFieldClass *klass)
{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->finalize = ev_form_field_finalize;
}
static void
return field;
}
-/* EvFormFieldMapping */
-static void
-ev_form_field_mapping_free_foreach (EvFormFieldMapping *mapping)
-{
- g_object_unref (mapping->field);
- g_free (mapping);
-}
-
-void
-ev_form_field_mapping_free (GList *field_mapping)
-{
- if (!field_mapping)
- return;
-
- g_list_foreach (field_mapping, (GFunc)ev_form_field_mapping_free_foreach, NULL);
- g_list_free (field_mapping);
-}
-
-EvFormField *
-ev_form_field_mapping_find (GList *field_mapping,
- gdouble x,
- gdouble y)
-{
- GList *list;
-
- for (list = field_mapping; list; list = list->next) {
- EvFormFieldMapping *mapping = list->data;
-
- if ((x >= mapping->x1) &&
- (y >= mapping->y1) &&
- (x <= mapping->x2) &&
- (y <= mapping->y2)) {
- return mapping->field;
- }
- }
-
- return NULL;
-}
-
-void
-ev_form_field_mapping_get_area (GList *field_mapping,
- EvFormField *field,
- EvRectangle *area)
-{
- GList *list;
-
- for (list = field_mapping; list; list = list->next) {
- EvFormFieldMapping *mapping = list->data;
-
- if (mapping->field->id == field->id) {
- area->x1 = mapping->x1;
- area->y1 = mapping->y1;
- area->x2 = mapping->x2;
- area->y2 = mapping->y2;
-
- break;
- }
- }
-}
-
-EvFormField *
-ev_form_field_mapping_find_by_id (GList *field_mapping,
- gint id)
-{
- GList *list;
-
- for (list = field_mapping; list; list = list->next) {
- EvFormFieldMapping *mapping = list->data;
-
- if (id == mapping->field->id)
- return mapping->field;
- }
-
- return NULL;
-}