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 RADIOBUTTONTHEME_H
00030 #define RADIOBUTTONTHEME_H
00031
00032 #include ".\ComponentTheme.h"
00033 #include "..\..\event\PropertyListener.h"
00034 #include "..\..\border\BevelBorder.h"
00035 #include "..\..\Icon.h"
00036 #include "..\..\event\KeyListener.h"
00037
00038 namespace ui
00039 {
00040 namespace theme
00041 {
00042 namespace defaulttheme
00043 {
00044 class RadioButtonTheme : public ComponentTheme, public event::PropertyListener, public event::KeyListener
00045 {
00046 public:
00047 RadioButtonTheme();
00048 void installTheme(Component *comp);
00049 void deinstallTheme(Component *comp);
00050 void paint(Graphics& g,Component *comp);
00051 const util::Dimension getPreferredSize(const Component *comp) const;
00052 private:
00053 void propertyChanged(const event::PropertyEvent &e);
00054 util::Color foreground;
00055 border::BevelBorder border;
00056
00057
00058 void keyPressed(const event::KeyEvent &e);
00059 void keyReleased(const event::KeyEvent &e);
00060 void keyTyped(const event::KeyEvent &e);
00061
00062 class SelectedIcon : public Icon
00063 {
00064 public:
00065 SelectedIcon();
00066 int getIconHeight() const;
00067 int getIconWidth() const;
00068 void paint(Component *comp, Graphics &g, int x, int y);
00069 private:
00070 util::Color foreground;
00071 util::Color background;
00072 };
00073
00074 class DefaultIcon : public Icon
00075 {
00076 public:
00077 DefaultIcon();
00078 int getIconHeight() const;
00079 int getIconWidth() const;
00080 void paint( Component *comp, Graphics &g, int x, int y);
00081 private:
00082 util::Color foreground;
00083 util::Color background;
00084 };
00085
00086 DefaultIcon defaultIcon;
00087 SelectedIcon selectedIcon;
00088 };
00089 }
00090 }
00091 }
00092
00093 #endif