1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
/* (C) Marcin Kwadrans <quarter@users.sourceforge.net> */
/*! \file environment.h
\brief Zarządzanie całym środowiskiem
*/
#ifndef __LW_ENVIRONMENT_H
#define __LW_ENVIRONMENT_H
#include <libxml/tree.h>
#include "project.h"
#include "pixmapset.h"
#include "program.h"
/*! \class LWEnvironment
\brief Środowisko programistyczne i uruchomieniowe
Główna klasa zarządzająca całym środowiskiem. Każda aplikacja
przed wykonaniem jakich kolwiek metod w bibliotece musi zaincjować
bibliotekę przez metodę init w tej klasie.
*/
enum LWDesign {
LW_DESIGN_WORLD=0,
LW_DESIGN_PROGRAM=1,
LW_DESIGN_MIXED=2
};
class LWEnvironment {
static GtkWidget *widget;
static GtkWidget *program_paned;
static GtkWidget *world_paned;
static GtkWidget *both_paned;
static LWPixmapSet *pixmapset;
static LWBoardSet *icons;
static LWBoardSet *commands;
static LWProject *project;
static LWProgram *program;
static xmlNode *wizard_xml;
static LWDesign mode;
static GData *symbols;
static gboolean enabled_grid;
static xmlNode *initializeXMLTree (xmlDocPtr &doc);
static void clear();
public:
static void init(GData *the_symbols);
static void uninit ();
static LWPixmapSet *getPixmapSet ();
static xmlNode *getWizardXML ();
static void setDesignMode (LWDesign a_mode);
static void setProject (LWProject *a_project);
static void unsetProject ();
static LWProject *getProject ();
static void registerProgram (LWProgram *a_program);
static void unregisterProgram ();
static LWProgram *getProgram ();
static gchar *buildPixmapFilename (const gchar *file);
static GData *getSymbols ();
static void enableGrid (gboolean enable);
static GtkWidget *getWidget ();
};
#endif
|