|
Rapicorn - Experimental UI Toolkit - Source Code 10.08.1
|
00001 /* Rapicorn 00002 * Copyright (C) 2005 Tim Janik 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * A copy of the GNU Lesser General Public License should ship along 00015 * with this library; if not, see http://www.gnu.org/copyleft/. 00016 */ 00017 #ifndef __RAPICORN_PAINT_CONTAINERS_HH__ 00018 #define __RAPICORN_PAINT_CONTAINERS_HH__ 00019 00020 #include <ui/container.hh> 00021 00022 namespace Rapicorn { 00023 00024 class Ambience : public virtual ContainerImpl { 00025 protected: 00026 virtual const PropertyList& list_properties (); 00027 public: 00028 virtual void insensitive_background (const String &color) = 0; 00029 virtual String insensitive_background () const = 0; 00030 virtual void prelight_background (const String &color) = 0; 00031 virtual String prelight_background () const = 0; 00032 virtual void impressed_background (const String &color) = 0; 00033 virtual String impressed_background () const = 0; 00034 virtual void normal_background (const String &color) = 0; 00035 virtual String normal_background () const = 0; 00036 virtual void insensitive_lighting (LightingType sh) = 0; 00037 virtual LightingType insensitive_lighting () const = 0; 00038 virtual void prelight_lighting (LightingType sh) = 0; 00039 virtual LightingType prelight_lighting () const = 0; 00040 virtual void impressed_lighting (LightingType sh) = 0; 00041 virtual LightingType impressed_lighting () const = 0; 00042 virtual void normal_lighting (LightingType sh) = 0; 00043 virtual LightingType normal_lighting () const = 0; 00044 virtual void insensitive_shade (LightingType sh) = 0; 00045 virtual LightingType insensitive_shade () const = 0; 00046 virtual void prelight_shade (LightingType sh) = 0; 00047 virtual LightingType prelight_shade () const = 0; 00048 virtual void impressed_shade (LightingType sh) = 0; 00049 virtual LightingType impressed_shade () const = 0; 00050 virtual void normal_shade (LightingType sh) = 0; 00051 virtual LightingType normal_shade () const = 0; 00052 /* group setters */ 00053 void background (const String &color); 00054 void lighting (LightingType sh); 00055 void shade (LightingType sh); 00056 private: 00057 String background () const { RAPICORN_ASSERT_NOT_REACHED(); } 00058 LightingType lighting () const { RAPICORN_ASSERT_NOT_REACHED(); } 00059 LightingType shade () const { RAPICORN_ASSERT_NOT_REACHED(); } 00060 }; 00061 00062 class Frame : public virtual ContainerImpl { 00063 FrameType frame_type () const { RAPICORN_ASSERT_NOT_REACHED(); } 00064 protected: 00065 virtual const PropertyList& list_properties (); 00066 public: 00067 void frame_type (FrameType ft); 00068 virtual FrameType normal_frame () const = 0; 00069 virtual void normal_frame (FrameType ft) = 0; 00070 virtual FrameType impressed_frame () const = 0; 00071 virtual void impressed_frame (FrameType ft) = 0; 00072 virtual bool overlap_child () const = 0; 00073 virtual void overlap_child (bool ovc) = 0; 00074 virtual bool tight_focus () const = 0; 00075 virtual void tight_focus (bool ovc) = 0; 00076 }; 00077 00078 class FocusFrame : public virtual Frame { 00079 protected: 00080 virtual const PropertyList& list_properties (); 00081 public: 00082 virtual void focus_frame (FrameType ft) = 0; 00083 virtual FrameType focus_frame () const = 0; 00084 struct Client : public virtual ItemImpl { 00085 virtual bool register_focus_frame (FocusFrame &frame) = 0; 00086 virtual void unregister_focus_frame (FocusFrame &frame) = 0; 00087 }; 00088 }; 00089 00090 } // Rapicorn 00091 00092 #endif /* __RAPICORN_PAINT_CONTAINERS_HH__ */
1.7.4