Rapicorn - Experimental UI Toolkit - Source Code
13.07.0
|
00001 // Licensed GNU LGPL v3 or later: http://www.gnu.org/licenses/lgpl.html 00002 #ifndef __RAPICORN_PAINT_CONTAINERS_HH__ 00003 #define __RAPICORN_PAINT_CONTAINERS_HH__ 00004 00005 #include <ui/container.hh> 00006 00007 namespace Rapicorn { 00008 00009 class Ambience : public virtual ContainerImpl { 00010 protected: 00011 virtual const PropertyList& __aida_properties__ (); 00012 public: 00013 virtual void insensitive_background (const String &color) = 0; 00014 virtual String insensitive_background () const = 0; 00015 virtual void prelight_background (const String &color) = 0; 00016 virtual String prelight_background () const = 0; 00017 virtual void impressed_background (const String &color) = 0; 00018 virtual String impressed_background () const = 0; 00019 virtual void normal_background (const String &color) = 0; 00020 virtual String normal_background () const = 0; 00021 virtual void insensitive_lighting (LightingType sh) = 0; 00022 virtual LightingType insensitive_lighting () const = 0; 00023 virtual void prelight_lighting (LightingType sh) = 0; 00024 virtual LightingType prelight_lighting () const = 0; 00025 virtual void impressed_lighting (LightingType sh) = 0; 00026 virtual LightingType impressed_lighting () const = 0; 00027 virtual void normal_lighting (LightingType sh) = 0; 00028 virtual LightingType normal_lighting () const = 0; 00029 virtual void insensitive_shade (LightingType sh) = 0; 00030 virtual LightingType insensitive_shade () const = 0; 00031 virtual void prelight_shade (LightingType sh) = 0; 00032 virtual LightingType prelight_shade () const = 0; 00033 virtual void impressed_shade (LightingType sh) = 0; 00034 virtual LightingType impressed_shade () const = 0; 00035 virtual void normal_shade (LightingType sh) = 0; 00036 virtual LightingType normal_shade () const = 0; 00037 /* group setters */ 00038 void background (const String &color); 00039 void lighting (LightingType sh); 00040 void shade (LightingType sh); 00041 private: 00042 String background () const { RAPICORN_ASSERT_UNREACHED(); } 00043 LightingType lighting () const { RAPICORN_ASSERT_UNREACHED(); } 00044 LightingType shade () const { RAPICORN_ASSERT_UNREACHED(); } 00045 }; 00046 00047 class Frame : public virtual ContainerImpl { 00048 FrameType frame_type () const { RAPICORN_ASSERT_UNREACHED(); } 00049 protected: 00050 virtual const PropertyList& __aida_properties__ (); 00051 public: 00052 void frame_type (FrameType ft); 00053 virtual FrameType normal_frame () const = 0; 00054 virtual void normal_frame (FrameType ft) = 0; 00055 virtual FrameType impressed_frame () const = 0; 00056 virtual void impressed_frame (FrameType ft) = 0; 00057 virtual bool overlap_child () const = 0; 00058 virtual void overlap_child (bool ovc) = 0; 00059 virtual bool tight_focus () const = 0; 00060 virtual void tight_focus (bool ovc) = 0; 00061 }; 00062 00063 class FocusFrame : public virtual Frame { 00064 protected: 00065 virtual const PropertyList& __aida_properties__ (); 00066 public: 00067 virtual void focus_frame (FrameType ft) = 0; 00068 virtual FrameType focus_frame () const = 0; 00069 struct Client : public virtual WidgetImpl { 00070 virtual bool register_focus_frame (FocusFrame &frame) = 0; 00071 virtual void unregister_focus_frame (FocusFrame &frame) = 0; 00072 }; 00073 }; 00074 00075 } // Rapicorn 00076 00077 #endif /* __RAPICORN_PAINT_CONTAINERS_HH__ */