LightDialog.h

Go to the documentation of this file.
00001 #ifndef LIGHTDIALOG_H_
00002 #define LIGHTDIALOG_H_
00003 
00004 #include <gtk/gtkwidget.h>
00005 #include <string>
00006 #include "radiant_i18n.h"
00007 #include "gtkutil/TextPanel.h"
00008 #include "gtkutil/LeftAlignedLabel.h"
00009 #include "math/Vector3.h"
00010 
00011 namespace ui
00012 {
00013 
00017     class LightDialog
00018     {
00019             // Main dialog widget
00020             GtkWidget* _widget;
00021 
00022             // Color selection widget
00023             GtkColorSelection* _colorSelector;
00024 
00025             // Intensity widget
00026             gtkutil::TextPanel _intensityEntry;
00027 
00028             Vector3 _color;
00029 
00030             std::string _intensity;
00031 
00032             bool _aborted;
00033 
00034         private:
00035 
00036             // Widget construction
00037             GtkWidget* createColorSelector ();
00038             GtkWidget* createIntensity ();
00039             GtkWidget* createButtons ();
00040 
00041             /* GTK CALLBACKS */
00042             static gboolean _onDelete (GtkWidget* w, GdkEvent* e, LightDialog* self);
00043             static void _onOK (GtkWidget*, LightDialog*);
00044             static void _onCancel (GtkWidget*, LightDialog*);
00045 
00046             Vector3 getNormalizedColor ();
00047 
00048         public:
00049 
00053             LightDialog ();
00054 
00058             ~LightDialog ();
00059 
00063             void show ();
00064 
00069             Vector3 getColor ();
00070 
00075             std::string getIntensity ();
00076 
00080             bool isAborted ();
00081     };
00082 }
00083 
00084 #endif /*LIGHTDIALOG_H_*/

Generated by  doxygen 1.6.2