X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-dialog-action.h;h=8f79acc4c0dedd9dbec693543c5f1a60ded6dbd9;hb=53241f59ac766997bf67870639f70afb82396640;hp=c753ecf31348bead7e2060d6dd842fd9bddca368;hpb=0bda70f475aad77db5636ae0bca170513353c988;p=pspp diff --git a/src/ui/gui/psppire-dialog-action.h b/src/ui/gui/psppire-dialog-action.h index c753ecf313..8f79acc4c0 100644 --- a/src/ui/gui/psppire-dialog-action.h +++ b/src/ui/gui/psppire-dialog-action.h @@ -14,13 +14,13 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -/* - This is a an abstract base class, deriving from GtkAction. +/* + This is a an abstract base class, which implements GAction. It's purpose is to abstract the way in which dialog boxes behave. - That is, this action will fire whenever a dialog box is to be + That is, this action will fire whenever a dialog box is to be popped up. - - Additionally, most dialog boxes generate syntax to + + Additionally, most dialog boxes generate syntax to be run by the pspp back-end. This provides an abstraction to do that. The programmer needs only to provide the function to generate the syntax. This base class looks after the rest. @@ -67,42 +67,41 @@ typedef struct _PsppireDialogActionClass PsppireDialogActionClass; struct _PsppireDialogAction { - GtkAction parent; + GObject parent; /*< private >*/ - GtkUIManager *uim; - + GVariantType *parameter_type; GtkWidget *source; GtkWidget *dialog; GtkWidget *toplevel; PsppireDict *dict; + + gboolean activated; }; struct _PsppireDialogActionClass { - GtkActionClass parent_class; - void (*activate) (PsppireDialogAction *); - char * (*generate_syntax) (PsppireDialogAction *); + GObjectClass parent_class; + GtkBuilder * (*initial_activate) (PsppireDialogAction *, GVariant *); + void (*activate) (PsppireDialogAction *, GVariant *); + char * (*generate_syntax) (const PsppireDialogAction *); }; GType psppire_dialog_action_get_type (void) ; typedef void (*PsppireDialogActionRefresh) (PsppireDialogAction *) ; -void psppire_dialog_action_set_refresh (PsppireDialogAction *pda, +void psppire_dialog_action_set_refresh (PsppireDialogAction *pda, PsppireDialogActionRefresh refresh); -void psppire_dialog_action_set_valid_predicate (PsppireDialogAction *act, +void psppire_dialog_action_set_valid_predicate (PsppireDialogAction *act, ContentsAreValid dialog_state_valid); -typedef void (*activation) (PsppireDialogAction *); - -void psppire_dialog_action_set_activation (gpointer class, activation a); - -GHashTable *psppire_dialog_action_get_hash_table (PsppireDialogAction *act); +GtkBuilder * psppire_dialog_action_get_xml (PsppireDialogAction *da); +void psppire_dialog_action_activate_null (PsppireDialogAction *act); G_END_DECLS