X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=libdocument%2Fev-form-field.c;h=e819afed943408e68726d926d0aa0cc64c973fbb;hb=e769474337c9a6ffdaed2327056e8de2f7ca9ee4;hp=cfa25f82c84cb98e02b42e9ebdb4294fd8407b03;hpb=1af6600934d1f723e5b492b8322e52a1144fb0af;p=evince.git diff --git a/libdocument/ev-form-field.c b/libdocument/ev-form-field.c index cfa25f82..e819afed 100644 --- a/libdocument/ev-form-field.c +++ b/libdocument/ev-form-field.c @@ -16,7 +16,7 @@ * * 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 @@ -42,14 +42,28 @@ G_DEFINE_TYPE (EvFormFieldSignature, ev_form_field_signature, EV_TYPE_FORM_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 @@ -193,78 +207,3 @@ ev_form_field_signature_new (gint id) 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; -}