/* * Copyright (C) 2012 - Juan Ferrer Toribio * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef VN_FORM_H #define VN_FORM_H #include "vn-builder.h" #define VN_TYPE_FORM (vn_form_get_type ()) #define VN_FORM(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, VN_TYPE_FORM, VnForm)) #define VN_IS_FORM(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, VN_TYPE_FORM)) #define VN_FORM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST (klass, VN_TYPE_FORM, VnFormClass)) #define VN_IS_FORM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE (klass, VN_TYPE_FORM)) #define VN_FORM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS (obj, VN_TYPE_FORM, VnFormClass)) typedef struct _VnForm VnForm; typedef struct _VnFormClass VnFormClass; #include "vn-gui.h" typedef GType (* VnFormGetTypeFunc) (); typedef void (* VnFormOpenFunc) (VnForm * obj, GtkBuilder * builder, gpointer user_data); typedef void (* VnFormActivateFunc) (VnForm * obj); typedef void (* VnFormDeactivateFunc) (VnForm * obj); struct _VnForm { GtkAlignment parent; gchar * name; VnGui * gui; DbConn * conn; GtkBuilder * builder; VnMod * mod; GtkActionGroup * actions; gchar * ui; }; struct _VnFormClass { GtkAlignmentClass parent; void (* open) (VnForm * obj, GtkBuilder * builder, gpointer user_data); void (* activate) (VnForm * obj); void (* deactivate) (VnForm * obj); }; GType vn_form_get_type (); void vn_form_open (VnForm * obj); gpointer vn_form_get (VnForm * obj, const gchar * name); const gchar * vn_form_get_name (VnForm * obj); const gchar * vn_form_get_ui_manager (VnForm * obj); GtkActionGroup * vn_form_get_action_group (VnForm * obj); #endif