All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
TitleModel.h
Go to the documentation of this file.
1 /* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18  */
19 
20 /*!
21  \file TitleModel.h
22 
23  \brief Class that represents a "Model" part of Title MVC component.
24  Its coordinate system is the same of scene (millimeters).
25  This is also son of ItemModelObservable, so it can become observable.
26 
27  \ingroup layout
28 */
29 
30 #ifndef __TERRALIB_LAYOUT_INTERNAL_TITLE_MODEL_H
31 #define __TERRALIB_LAYOUT_INTERNAL_TITLE_MODEL_H
32 
33 // TerraLib
34 #include "TextModel.h"
35 #include "../core/Config.h"
36 
37 namespace te
38 {
39  namespace layout
40  {
41  class TextGridSettingsConfigProperties;
42 
43  /*!
44  \brief Class that represents a "Model" part of Title MVC component.
45  Its coordinate system is the same of scene (millimeters).
46  This is also son of ItemModelObservable, so it can become observable.
47 
48  \ingroup layout
49 
50  \sa te::layout::TextModel
51  */
53  {
54  public:
55 
56  /*!
57  \brief Constructor
58  */
59  TitleModel();
60 
61  /*!
62  \brief Destructor
63  */
64  virtual ~TitleModel();
65 
66  virtual te::layout::Properties* getProperties() const;
67 
68  virtual void updateProperties(te::layout::Properties* properties);
69 
70  virtual void setTitle(std::string title);
71 
72  virtual std::string getTitle();
73 
74  virtual void setSpacing(double value);
75 
76  virtual double getSpacing();
77 
78  virtual void setPadding(double value);
79 
80  virtual double getPadding();
81 
82  virtual void setNumberColumns(int value);
83 
84  virtual int getNumberColumns();
85 
86  virtual void setNumberRows(int value);
87 
88  virtual int getNumberRows();
89 
90  virtual void setTableColor(te::color::RGBAColor color);
91 
92  virtual te::color::RGBAColor getTableColor();
93 
94  virtual void setWidth(double width);
95 
96  virtual double getWidth();
97 
98  virtual void setEvenRow(te::color::RGBAColor color);
99 
100  virtual te::color::RGBAColor getEvenRow();
101 
102  virtual void setOddRow(te::color::RGBAColor color);
103 
104  virtual te::color::RGBAColor getOddRow();
105 
106  virtual void setColumnWidth(double width);
107 
108  virtual double getColumnWidth();
109 
110  virtual void setBorderWidth(double width);
111 
112  virtual double getBorderWidth();
113 
114  virtual void setBorderGridColor(te::color::RGBAColor color);
115 
116  virtual te::color::RGBAColor getBorderGridColor();
117 
118  virtual void setHeaderHorizontalColor(te::color::RGBAColor color);
119 
120  virtual te::color::RGBAColor getHeaderHorizontalColor();
121 
122  virtual void setHeaderVerticalColor(te::color::RGBAColor color);
123 
124  virtual te::color::RGBAColor getHeaderVerticalColor();
125 
126  protected:
127 
129 
130  std::string m_title;
131 
132  /* Text Table Settings */
133 
134  /* General */
135 
136  double m_spacing;
137  double m_padding;
139  //EnumType* m_widthConstraints;
140  double m_width;
141 
142  /* Rows */
143  bool m_addRow;
147 
148  /* Columns */
149 
153  //EnumType* m_columnWidthConstraints;
154 
155  /* Border */
156 
159  //EnumType* m_borderStyle;
160 
161  /* Header */
162 
163  //EnumType* m_headerAlignment;
166 
167  /* Cell */
168 
169  //EnumType* m_cellAlignment;
170  };
171  }
172 }
173 
174 #endif
#define TELAYOUTEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:99
Class that represents a "Model" part of Text MVC component. Its coordinate system is the same of scen...
The Properties class represents a persistent set of properties. The Properties can be saved to a file...
Definition: Properties.h:52
Class that represents a "Model" part of Text MVC component. Its coordinate system is the same of scen...
Definition: TextModel.h:58
te::color::RGBAColor m_tableColor
Definition: TitleModel.h:138
te::color::RGBAColor m_evenRow
Definition: TitleModel.h:145
te::color::RGBAColor m_headerHorizontalColor
Definition: TitleModel.h:164
te::color::RGBAColor m_borderGridColor
Definition: TitleModel.h:158
Class that represents a "Model" part of Title MVC component. Its coordinate system is the same of sce...
Definition: TitleModel.h:52
A helper class for 32-bit RGBA (Red-Green-Blue-Alpha channel) color.
Definition: RGBAColor.h:57
TextGridSettingsConfigProperties * m_textgridProperties
Definition: TitleModel.h:128
te::color::RGBAColor m_headerVerticalColor
Definition: TitleModel.h:165
te::color::RGBAColor m_oddRow
Definition: TitleModel.h:146