00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #pragma once
00029 #ifndef POINTERS_H
00030 #define POINTERS_H
00031
00032 #include <list>
00033 #include <vector>
00034
00035 #include <stack>
00036 #include <sstream>
00037 #include <algorithm>
00038
00039 #include <cassert>
00040
00041 #ifndef NDEBUG
00042
00043 #endif
00044
00049 namespace ui
00050 {
00054 class Graphics;
00055 class Component;
00056 class Container;
00057 class Font;
00058 class GlyphContext;
00059 class ColorTheme;
00060 class ColorFactory;
00061 class Icon;
00062
00063 namespace theme
00064 {
00065 class ThemeComponent;
00066 }
00067
00068 class Window;
00069
00070 namespace border
00071 {
00072 class Border;
00073 class BevelBorder;
00074 }
00075
00076 namespace event
00077 {
00078 class EventListener;
00079 class MouseListener;
00080 class KeyListener;
00081 class FocusListener;
00082 class ItemListener;
00083 class WindowListener;
00084 class PropertyListener;
00085 class ChangeListener;
00086
00087 class Event;
00088 class MouseEvent;
00089 class KeyEvent;
00090 class FocusEvent;
00091 class ItemEvent;
00092 class WindowEvent;
00093 class PropertyEvent;
00094 class ChangeEvent;
00095
00096 typedef std::vector<MouseListener*> MouseListenerList;
00097
00098 typedef std::vector<KeyListener*> KeyListenerList;
00099
00100 typedef std::vector<FocusListener*> FocusListenerList;
00101
00102 typedef std::vector<ItemListener*> ItemListenerList;
00103
00104 typedef std::vector<WindowListener*> WindowListenerList;
00105
00106 typedef std::vector<PropertyListener*> PropertyListenerList;
00107
00108 typedef std::vector<ChangeListener*> ChangeListenerList;
00109 }
00110
00116 namespace util
00117 {
00118 class Color;
00119 class Rectangle;
00120 class Dimension;
00121 class Point;
00122 class Insets;
00123
00124 class Observer;
00125 class Observable;
00126
00127 class Interpolator;
00128
00129 typedef std::vector<Observer*> ObserverList;
00130 typedef std::vector<Interpolator*> InterpolatorList;
00131 }
00132
00133 namespace layout
00134 {
00135 class LayoutManager;
00136 class GridLayout;
00137 class FlowLayout;
00138 class PopupLayout;
00139 }
00140
00141 typedef std::vector<Component*> ComponentList;
00142
00143 typedef std::vector<Font*> FontList;
00144
00145 typedef std::stack<float> FloatStack;
00146 typedef std::vector<Window*> WindowList;
00147 }
00148
00149 #endif