Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:28:08

0001 // -*- C++ -*-
0002 // AID-GENERATED
0003 // =========================================================================
0004 // This class was generated by AID - Abstract Interface Definition          
0005 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it. 
0006 // =========================================================================
0007 #ifndef AIDA_IBASESTYLE_H
0008 #define AIDA_IBASESTYLE_H 1
0009 
0010 //  This file is part of the AIDA library
0011 //  Copyright (C) 2002 by the AIDA team.  All rights reserved.
0012 //  This library is free software and under the terms of the
0013 //  GNU Library General Public License described in the LGPL.txt 
0014 
0015 #include <string>
0016 #include <vector>
0017 
0018 namespace AIDA {
0019 
0020 /**
0021  * Superclass for all styles in AIDA Plotting package.
0022  * All styles can be reset to their original values at construction 
0023  * time. In the case of styles which 'contain' other styles (like IStyle 
0024  * or IAxisStyle), reset() calls reset() on the aggregated styles too.
0025  * All styles are hierarchical, so the plotter's current style is overridden by the
0026  * region's current style, which is overridden by any 'associated' style 
0027  * which is overwritten by any style passed in explicitly at plotting time.
0028  * Parameters and options which have been explicitly set to 
0029  * non-default (or default!) values are 'sticky'. For example, if a style
0030  * has the default 'red' and this has been set explicitly to 'blue' at the 
0031  * Plotter level, then it will override the default 'red' at the Region level.
0032  * IF the user explicitly sets the region to 'green' (or 'red'!) then it will
0033  * not be overridden by the 'parent' style.
0034  *
0035  * @author The AIDA team (http://aida.freehep.org/)
0036  */
0037 
0038 class IBaseStyle {
0039 
0040 public: 
0041     /// Destructor.
0042     virtual ~IBaseStyle() { /* nop */; }
0043 
0044   /**
0045    * Return to original (construction time) state. Explicitly 
0046    * set parameters will be set to defaults and may be overridden 
0047    */
0048     virtual void reset() = 0;
0049 
0050   /**
0051    * Set a parameter. 
0052    * @param paramName Name of the parameter.
0053    * @param options String of options.
0054    * @return false if parameter (or its options) unknown or invalid.
0055    */
0056     virtual bool setParameter(const std::string & paramName, const std::string & options = "") = 0;
0057 
0058   /**
0059    * Get value of a parameter. 
0060    * @param paramName Name of the parameter.
0061    * @return the value.
0062    */
0063     virtual std::string parameterValue(const std::string & parameter) const = 0;
0064 
0065   /**
0066    * Get list of the available parameters (implementation-dependent)
0067    */
0068     virtual std::vector<std::string>  availableParameters() const = 0;
0069 
0070   /** 
0071    * Get list of the available options for a given parameter 
0072    * (implementation-dependent).
0073    */
0074     virtual std::vector<std::string>  availableParameterOptions(const std::string & paramName) const = 0;
0075 }; // class
0076 } // namespace AIDA
0077 #endif /* ifndef AIDA_IBASESTYLE_H */