4
* Copyright (C) 2003 Sun Microsystems, Inc.
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License as
8
* published by the Free Software Foundation; either version 2 of the
9
* License, or (at your option) any later version.
11
* This program is distributed in the hope that it will be useful, but
12
* WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* General Public License for more details.
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
22
* Mark McLoughlin <mark@skynet.ie>
25
#ifndef __PANEL_PROFILE_H__
26
#define __PANEL_PROFILE_H__
30
#include <gconf/gconf-client.h>
32
#include "panel-toplevel.h"
33
#include "panel-enums.h"
34
#include "panel-types.h"
39
void panel_profile_load (void);
41
const char *panel_profile_get_toplevel_id (PanelToplevel *toplevel);
42
PanelToplevel *panel_profile_get_toplevel_by_id (const char *toplevel_id);
43
char *panel_profile_find_new_id (PanelGConfKeyType type);
46
gboolean panel_profile_get_show_program_list (void);
47
void panel_profile_set_show_program_list (gboolean show_program_list);
48
gboolean panel_profile_is_writable_show_program_list (void);
49
gboolean panel_profile_get_enable_program_list (void);
50
gboolean panel_profile_get_enable_autocompletion (void);
53
void panel_profile_add_to_list (PanelGConfKeyType type,
55
void panel_profile_remove_from_list (PanelGConfKeyType type,
57
gboolean panel_profile_id_lists_are_writable (void);
58
void panel_profile_create_toplevel (GdkScreen *screen);
59
PanelToplevel *panel_profile_load_toplevel (GConfClient *client,
60
const char *profile_dir,
61
PanelGConfKeyType type,
62
const char *toplevel_id);
63
void panel_profile_delete_toplevel (PanelToplevel *toplevel);
64
char *panel_profile_prepare_object (PanelObjectType object_type,
65
PanelToplevel *toplevel,
67
gboolean right_stick);
68
char *panel_profile_prepare_object_with_id (PanelObjectType object_type,
69
const char *toplevel_id,
71
gboolean right_stick);
72
void panel_profile_delete_object (AppletInfo *applet_info);
75
void panel_profile_set_toplevel_name (PanelToplevel *toplevel,
77
char *panel_profile_get_toplevel_name (PanelToplevel *toplevel);
78
gboolean panel_profile_is_writable_toplevel_name (PanelToplevel *toplevel);
80
void panel_profile_set_toplevel_orientation (PanelToplevel *toplevel,
81
PanelOrientation orientation);
83
panel_profile_get_toplevel_orientation (PanelToplevel *toplevel);
84
gboolean panel_profile_is_writable_toplevel_orientation (PanelToplevel *toplevel);
86
void panel_profile_set_toplevel_size (PanelToplevel *toplevel,
88
int panel_profile_get_toplevel_size (PanelToplevel *toplevel);
89
gboolean panel_profile_is_writable_toplevel_size (PanelToplevel *toplevel);
91
void panel_profile_set_toplevel_expand (PanelToplevel *toplevel,
93
gboolean panel_profile_get_toplevel_expand (PanelToplevel *toplevel);
94
gboolean panel_profile_is_writable_toplevel_expand (PanelToplevel *toplevel);
96
void panel_profile_set_toplevel_auto_hide (PanelToplevel *toplevel,
98
gboolean panel_profile_get_toplevel_auto_hide (PanelToplevel *toplevel);
99
gboolean panel_profile_is_writable_toplevel_auto_hide (PanelToplevel *toplevel);
101
void panel_profile_set_toplevel_enable_buttons (PanelToplevel *toplevel,
102
gboolean enable_buttons);
103
gboolean panel_profile_get_toplevel_enable_buttons (PanelToplevel *toplevel);
104
gboolean panel_profile_is_writable_toplevel_enable_buttons (PanelToplevel *toplevel);
106
void panel_profile_set_toplevel_enable_arrows (PanelToplevel *toplevel,
107
gboolean enable_arrows);
108
gboolean panel_profile_get_toplevel_enable_arrows (PanelToplevel *toplevel);
109
gboolean panel_profile_is_writable_toplevel_enable_arrows (PanelToplevel *toplevel);
111
/* We don't set this in the panel, so there is no set accessor */
112
void panel_profile_set_background_type (PanelToplevel *toplevel,
113
PanelBackgroundType background_type);
115
panel_profile_get_background_type (PanelToplevel *toplevel);
116
gboolean panel_profile_is_writable_background_type (PanelToplevel *toplevel);
118
void panel_profile_set_background_color (PanelToplevel *toplevel,
120
void panel_profile_get_background_color (PanelToplevel *toplevel,
122
gboolean panel_profile_is_writable_background_color (PanelToplevel *toplevel);
124
void panel_profile_set_background_gdk_color (PanelToplevel *toplevel,
125
GdkColor *gdk_color);
126
void panel_profile_get_background_gdk_color (PanelToplevel *toplevel,
127
GdkColor *gdk_color);
129
void panel_profile_set_background_opacity (PanelToplevel *toplevel,
131
guint16 panel_profile_get_background_opacity (PanelToplevel *toplevel);
132
gboolean panel_profile_is_writable_background_opacity (PanelToplevel *toplevel);
134
void panel_profile_set_background_image (PanelToplevel *toplevel,
136
char *panel_profile_get_background_image (PanelToplevel *toplevel);
137
gboolean panel_profile_is_writable_background_image (PanelToplevel *toplevel);
139
void panel_profile_set_background_fit (PanelToplevel *toplevel,
141
gboolean panel_profile_get_background_fit (PanelToplevel *toplevel);
142
gboolean panel_profile_is_writable_background_fit (PanelToplevel *toplevel);
144
void panel_profile_set_background_stretch (PanelToplevel *toplevel,
146
gboolean panel_profile_get_background_stretch (PanelToplevel *toplevel);
147
gboolean panel_profile_is_writable_background_stretch (PanelToplevel *toplevel);
149
void panel_profile_set_background_rotate (PanelToplevel *toplevel,
151
gboolean panel_profile_get_background_rotate (PanelToplevel *toplevel);
152
gboolean panel_profile_is_writable_background_rotate (PanelToplevel *toplevel);
154
void panel_profile_set_attached_custom_icon (PanelToplevel *toplevel,
155
const char *custom_icon);
156
char *panel_profile_get_attached_custom_icon (PanelToplevel *toplevel);
157
gboolean panel_profile_is_writable_attached_custom_icon (PanelToplevel *toplevel);
158
void panel_profile_set_attached_tooltip (PanelToplevel *toplevel,
159
const char *custom_icon);
160
char *panel_profile_get_attached_tooltip (PanelToplevel *toplevel);
161
gboolean panel_profile_is_writable_attached_tooltip (PanelToplevel *toplevel);
163
guint panel_profile_toplevel_notify_add (PanelToplevel *toplevel,
165
GConfClientNotifyFunc func,
168
const char *panel_profile_map_orientation (PanelOrientation orientation);
169
const char *panel_profile_map_background_type (PanelBackgroundType background_type);
170
gboolean panel_profile_map_orientation_string (const char *str,
171
PanelOrientation *orientation);
172
gboolean panel_profile_map_speed_string (const char *str,
173
PanelAnimationSpeed *speed);
174
gboolean panel_profile_map_background_type_string (const char *str,
175
PanelBackgroundType *background_type);
176
gboolean panel_profile_map_object_type_string (const char *str,
177
PanelObjectType *object_type);
179
/* all keys relevant to moving are writable */
180
gboolean panel_profile_can_be_moved_freely (PanelToplevel *toplevel);
184
#endif /* __PANEL_PROFILE_H__ */