File: symbol.h

package info (click to toggle)
littlewizard 1.2.2-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,436 kB
  • sloc: sh: 9,389; cpp: 7,685; xml: 420; makefile: 380; awk: 40; ansic: 38
file content (43 lines) | stat: -rw-r--r-- 1,027 bytes parent folder | download | duplicates (4)
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
/* (C) Marcin Kwadrans <quarter@users.sourceforge.net> */

/*! \file symbol.h
	\brief Zarządzanie symbolami
*/

#ifndef __LW_SYMBOL_H
#define __LW_SYMBOL_H

class LWPiece;

/*! \class LWSymbol
	\brief Zarządzanie symbol

	Symbol to klasa z której dziedziczą polecenia oraz zmienne, które
	są przypisane klockom znajdującym się na planszy
*/

class LWSymbol {
private:
guint id;
GQuark quark;
static GData *datalist_symbols;
static GData *datalist_symbols_with_id;
public:
LWSymbol();
virtual ~LWSymbol();
LWSymbol *clone ();
guint getId ();
virtual gboolean canClone () = 0;
virtual gchar *getHint () = 0;
virtual const gchar *getName () = 0;
virtual gboolean isCommand ();
virtual gboolean isValue ();
virtual void onDndCopy (LWPiece *sourcepiece, LWPiece *destpiece);
virtual void onDndMove (LWPiece *sourcepiece, LWPiece *destpiece);
virtual void onAttach (LWPiece *piece);
static LWSymbol *factory (const gchar *name);
static LWSymbol *factoryId (const gchar *name, guint id);
static void destroyAll ();
};

#endif