1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-19 12:28:22 +01:00
Files
wmaker/WPrefs.app/WPrefs.h
Christophe CURIS 8517f3dcef WPrefs: Added the proper 'const' attribute to the dictionnary functions
A common argument to all these functions is the name of the key to
operate on, and this name is never modified by the functions. Marking
it as const reflects this, and can allow compiler to generate better
results thanks to this info.
2013-05-08 15:05:00 +01:00

123 lines
3.5 KiB
C

/* WPrefs.h- general definitions
*
* WPrefs - Window Maker Preferences Program
*
* Copyright (c) 1998-2003 Alfredo K. Kojima
*
* 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 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, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef WPREFS_H_
#define WPREFS_H_
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <strings.h>
#include <signal.h>
#include <X11/Xlib.h>
#include <wraster.h>
#include <WINGs/WINGs.h>
/* Needed for HAVE_LIBINTL_H and EXTENDED_WINDOWSHORTCUT */
#include "../src/wconfig.h"
/****/
extern char *NOptionValueChanged;
typedef struct _Panel Panel;
typedef struct {
unsigned flags; /* reserved for WPrefs.c Don't access it */
void (*createWidgets)(Panel*); /* called when showing for first time */
void (*updateDomain)(Panel*); /* save the changes to the dictionary */
Bool (*requiresRestart)(Panel*); /* return True if some static option was changed */
void (*undoChanges)(Panel*); /* reset values to those in the dictionary */
void (*prepareForClose)(Panel*); /* called when exiting WPrefs */
void (*showPanel)(Panel*); /* called when entering the panel */
void (*hidePanel)(Panel*); /* called when exiting the panel */
} CallbackRec;
/* all Panels must start with the following layout */
typedef struct PanelRec {
WMBox *box;
char *sectionName; /* section name to display in titlebar */
char *description;
CallbackRec callbacks;
} PanelRec;
void AddSection(Panel *panel, char *iconFile);
char *LocateImage(char *name);
void SetButtonAlphaImage(WMScreen *scr, WMButton *bPtr, char *file,
char *title1, char *title2);
/* Loads `file' into `icon_normal'. If `icon_greyed' is not NULL,
* combine `icon_normal' with some grey and then optionally with image
* `xis', and store it in `icon_greyed' (typically to produce a
* greyed-out, red-crossed version of `icon_normal') */
void CreateImages(WMScreen *scr, RContext *rc, RImage *xis, char *file,
WMPixmap **icon_normal, WMPixmap **icon_greyed);
WMWindow *GetWindow(Panel *panel);
/* manipulate the dictionary for the WindowMaker domain */
WMPropList *GetObjectForKey(const char *defaultName);
void SetObjectForKey(WMPropList *object, const char *defaultName);
void RemoveObjectForKey(const char *defaultName);
char *GetStringForKey(const char *defaultName);
int GetIntegerForKey(const char *defaultName);
Bool GetBoolForKey(const char *defaultName);
int GetSpeedForKey(const char *defaultName);
void SetIntegerForKey(int value, const char *defaultName);
void SetStringForKey(char *value, const char *defaultName);
void SetBoolForKey(Bool value, const char *defaultName);
void SetSpeedForKey(int speed, const char *defaultName);
void AddDeadChildHandler(pid_t pid, void (*handler)(void*), void *data);
#define FRAME_TOP 105
#define FRAME_LEFT -2
#define FRAME_WIDTH 524
#define FRAME_HEIGHT 235
#endif /* WPREFS_H_ */