Sophie

Sophie

distrib > PLD > ra > i686 > by-pkgid > dcddc2498c6090d6324872243a403571 > files > 9

ToutDoux-devel-1.2.6-7.i686.rpm

/*****************************************************************************/
/* td_app.h : Objet Gtk+
 * td_app.h : Gtk+ object
 *
 *
 * ToutDoux : Chtit gestionnaire de projet - A littl' project manager
 * Copyright (c) 2000-2001 Philippe Roy
 * Auteur - Author : Philippe Roy <ph_roy@toutdoux.org>
 *
 *
 * Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier
 * sous les termes de la licence publique générale GNU telle qu'elle est publiée par
 * la Free Software Foundation ; soit la version 2 de la licence, ou
 * (comme vous voulez) toute version ultérieure.
 *
 * Ce programme est distribué dans l'espoir qu'il sera utile,
 * mais SANS AUCUNE GARANTIE ; même sans la garantie de
 * COMMERCIALITÉ ou d'ADÉQUATION A UN BUT PARTICULIER. Voir la
 * licence publique générale GNU pour plus de détails.
 *
 * Vous devriez avoir reçu une copie de la licence publique générale GNU
 * avec ce programme ; si ce n'est pas le cas, écrivez à la Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 *
 *
 * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/*****************************************************************************/
#ifdef HAVE_CONFIG_H
#  include <config.h>
#endif

#include <gnome.h>

/*****************************************************************************/
/*** Macros */
/*****************************************************************************/
#define TD_TYPE_APP (td_app_get_type ())
#define TD_APP(obj) (GTK_CHECK_CAST ((obj), TD_TYPE_APP, TdApp))
#define TD_APP_CLASS(klass) (GTK_CHECK_CLASS_CASTS ((klass), TD_TYPE_APP, TdAppClass))
#define TD_IS_APP(obj) (GTK_CHECK_TYPE ((obj), TD_TYPE_APP))
#define TD_IS_APP_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), TD_TYPE_APP))

/*****************************************************************************/
/*** Structure */
/*****************************************************************************/
typedef struct _TdApp TdApp;
typedef struct _TdAppClass TdAppClass;

struct _TdApp
{
  /*< public >*/
  GtkObject object;
  GtkObject *palette; /*** Palette */
  GtkObject *editprop; /*** Etabli - Bench */
  GList *admin_field; /*** Champs d'administration - Administration fields */

  GtkAccelGroup *accel_group; /*** Groupe des accélérateur - Accelerators group */
  GtkWidget *menu_main;  /*** Menu principale - Main menu */
  GnomeUIInfo *menu_gnomeui; /*** Menu principale - Main menu */
  GtkWidget *menu_palette; /*** Menu de la palette - Palette menu */
  GtkWidget *menu_favorites; /*** Menu des favoris - Favorites menu */
  GtkWidget *menu_templates; /*** Menu des gabarits - Templates menu */
  GtkWidget *menu_commands; /*** Menu des commandes - Commands menu */
  GtkWidget *menu_history; /*** Menu de l'historique - History menu */

  GtkObject *connect; /*** Connexion courante - Current connection */
  GtkObject *base; /*** Base courante - Current base */
  gboolean modified; /*** Drapeau de modifications non enregistrées - Flag for unsaved changes */

  GtkObject *about; /*** Description */
  GtkObject *presto_browser; /*** Interface d'aide - Help interface */
  GtkObject *custom_browser; /*** Interface de personnalisation - Customize interface */
  gboolean mode_build; /*** Application en mode construction - Application in build mode */
  gboolean mode_debug; /*** Application en mode debug - Application in debug mode */
  gboolean mode_nocolor; /*** Application en mode sans couleur - Application in no color mode */
  GList *menu_mod; /*** Liste des menus à module - Module menus list */
  GList *mod_core; /*** Liste des modules noyaux - Core modules list */
  GList *mod_data; /*** Liste des modules de données - Data modules list */
};

struct _TdAppClass
{
  GtkObjectClass parent_class;
  void (*set_palette) (TdApp *app, GtkObject *palette);
  void (*set_editprop) (TdApp *app, GtkObject *editprop);
  void (*set_relation) (TdApp *app, GtkObject *relation);
  void (*add_admin_field) (TdApp *app, GtkObject *field);
  void (*set_accel_group) (TdApp *app, GtkAccelGroup *accel_group);
  void (*set_menu_main) (TdApp *app, GnomeUIInfo *menu_gnomeui);
  void (*set_menu_palette) (TdApp *app, GtkWidget *menu_palette);
  void (*set_menu_favorites) (TdApp *app, GtkWidget *menu_favorites);
  void (*set_menu_templates) (TdApp *app, GtkWidget *menu_templates);
  void (*set_menu_commands) (TdApp *app, GtkWidget *menu_commands);
  void (*set_menu_history) (TdApp *app, GtkWidget *menu_history);
  void (*set_current) (TdApp *app, GtkObject *connect, GtkObject *base);
  void (*set_modified) (TdApp *app, gboolean modified);
  void (*set_about) (TdApp *app, GtkObject *about);
  void (*add_menu_mod) (TdApp *app, GtkObject *menu_mod);
  void (*create) (TdApp *app);
  void (*quit) (TdApp *app);
};

/*****************************************************************************/
/*** Arguments */
/*****************************************************************************/
static void td_app_set_modified (TdApp *app, gboolean modified);
static void td_app_set_mode_build (TdApp *app, gboolean mode_build);
static void td_app_set_mode_debug (TdApp *app, gboolean mode_debug);
static void td_app_set_mode_nocolor (TdApp *app, gboolean mode_nocolor);
static void td_app_set_arg (GtkObject *object, GtkArg *arg, guint arg_id);
static void td_app_get_arg (GtkObject *object, GtkArg *arg, guint arg_id);

/*****************************************************************************/
/*** Initialisation */
/*****************************************************************************/
static void td_app_init (TdApp *app);
static void td_app_class_init (TdAppClass *klass);
GtkType td_app_get_type (void);
GtkObject *td_app_new (void);
void td_app_quit (TdApp *app);

/*****************************************************************************/
/*** Affectations - Allocations*/
/*****************************************************************************/
void td_app_set_palette (TdApp *app, GtkObject *palette);
void td_app_set_editprop (TdApp *app, GtkObject *editprop);
void td_app_add_admin_field (TdApp *app, GtkObject *field);
void td_app_set_accel_group (TdApp *app, GtkAccelGroup *accel_group);
void td_app_set_menu_main (TdApp *app, GnomeUIInfo *menu_gnomeui);
void td_app_set_menu_palette (TdApp *app, GtkWidget *menu_palette);
void td_app_set_menu_favorites (TdApp *app, GtkWidget *menu_favorites);
void td_app_set_menu_templates (TdApp *app, GtkWidget *menu_templates);
void td_app_set_menu_commands (TdApp *app, GtkWidget *menu_commands);
void td_app_set_menu_history (TdApp *app, GtkWidget *menu_history);
void td_app_set_current (TdApp *app, GtkObject *connect, GtkObject *base);
void td_app_set_about (TdApp *app, GtkObject *about);
gboolean td_app_add_mod_core (TdApp *app, gchar *dir, gchar *file);
gboolean td_app_add_mod_data (TdApp *app, gchar *dir, gchar *file);
void td_app_add_menu_mod (TdApp *app, GtkObject *menu_mod);

/*****************************************************************************/
/*** Commandes - Commands */
/*****************************************************************************/
void td_app_create (TdApp *app);
void td_app_custom_show (TdApp *app);
void td_app_presto_show (TdApp *app);
gboolean td_palette_message (gchar *chtit_message, gchar *message, gchar *type);
gpointer *td_app_mod_core_symbol (TdApp *app, gchar *dir, gchar *file, gchar *symbol);
gboolean td_app_mod_core_activate (TdApp *app, gchar *dir, gchar *file, gchar *symbol);
gpointer *td_app_mod_data_symbol (int mod_id, gchar *symbol);
gboolean td_app_mod_data_activate (int mod_id, gchar *symbol);