Rapicorn - Experimental UI Toolkit - Source Code 10.08.1
paintcontainers.hh
Go to the documentation of this file.
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__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines