gnome-control-center/capplets/screensaver/screensaver-prefs-dialog.h
Bradford Hovinen daea41824d Set set->enabled (write_boolean): (write_number): (write_select):
2000-10-07  Bradford Hovinen  <hovinen@helixcode.com>

	* screensaver-prefs-dialog.c (set_widgets_sensitive): Set
 	set->enabled
	(write_boolean):
	(write_number):
	(write_select):
	(write_string): Write only if the enabled flag is set
	(get_spinbutton):
	(get_check_button):
	(get_select_widget):
	(get_file_entry):
	(get_entry):
	(place_number):
	(place_hgroup):
	(populate_table): Set set->enabled
	(read_boolean):
	(read_number):
	(read_select):
	(read_string): Don't set the value if the set is an alias and not
 	enabled
	(read_number):
	(read_string): Set value to default if not supplied
	(read_command_line): Accept argument as negative number if it is a
 	-<digit>

	* screensaver-prefs-dialog.h (struct _PrefsDialogWidgetSet): Add
 	member enabled - TRUE iff the widget is enabled

	* screensaver-prefs-dialog.c (free_set_cb): Don't try to free the
 	widgets if the set is an alias
	(get_spinbutton):
	(get_check_button):
	(get_select_widget):
	(get_file_entry):
	(get_entry):
	(place_number):
	(place_hgroup):
	(populate_table): Set set->alias

	* screensaver-prefs-dialog.h (struct _PrefsDialogWidgetSet): Add
 	member alias - TRUE means don't try to free widgets

	* screensaver-prefs-dialog.c (get_entry): Have entry expand, not label

	* screensavers/flag.xml: Enable selection for text and bitmap,
	Set neg_size same-as to pos_size

	* screensaver-prefs-dialog.c (place_hgroup): Add feature to allow
	multiple widget definitions to share the same widget
2000-10-07 17:27:40 +00:00

84 lines
2.5 KiB
C

/* -*- mode: c; style: linux -*- */
/* screensaver-prefs-dialog.h
* Copyright (C) 2000 Helix Code, Inc.
*
* Written by Bradford Hovinen <hovinen@helixcode.com>
*
* 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 2, 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*/
#ifndef __SCREENSAVER_PREFS_DIALOG_H
#define __SCREENSAVER_PREFS_DIALOG_H
#include <gnome.h>
#include <tree.h>
#include <glade/glade.h>
#include "preferences.h"
#include "prefs-widget.h"
#define SCREENSAVER_PREFS_DIALOG(obj) GTK_CHECK_CAST (obj, screensaver_prefs_dialog_get_type (), ScreensaverPrefsDialog)
#define SCREENSAVER_PREFS_DIALOG_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, screensaver_prefs_dialog_get_type (), ScreensaverPrefsDialogClass)
#define IS_SCREENSAVER_PREFS_DIALOG(obj) GTK_CHECK_TYPE (obj, screensaver_prefs_dialog_get_type ())
typedef struct _PrefsDialogWidgetSet PrefsDialogWidgetSet;
typedef struct _ScreensaverPrefsDialog ScreensaverPrefsDialog;
typedef struct _ScreensaverPrefsDialogClass ScreensaverPrefsDialogClass;
struct _PrefsDialogWidgetSet
{
GList *widgets;
GtkWidget *value_widget;
gboolean alias;
gboolean enabled;
};
struct _ScreensaverPrefsDialog
{
GnomeDialog gnome_dialog;
Screensaver *saver;
PrefsWidget *global_prefs_widget;
xmlDocPtr argument_doc;
xmlNodePtr argument_data;
GTree *widget_db;
GScanner *cli_args_db;
GtkWidget *settings_dialog_frame;
GtkWidget *description;
GtkWidget *cli_entry;
GtkWidget *visual_combo;
GtkWidget *name_entry;
GtkWidget *basic_widget;
};
struct _ScreensaverPrefsDialogClass
{
GnomeDialogClass gnome_dialog_class;
void (*ok_clicked) (ScreensaverPrefsDialog *);
void (*demo) (ScreensaverPrefsDialog *);
};
guint screensaver_prefs_dialog_get_type (void);
GtkWidget *screensaver_prefs_dialog_new (Screensaver *saver);
void screensaver_prefs_dialog_destroy (ScreensaverPrefsDialog *dialog);
#endif /* __SCREENSAVER_PREFS_DIALOG_H */