00001 /* 00002 * Copyright (C) 2009, Edmundo Albuquerque de Souza e Silva. 00003 * 00004 * This file may be distributed under the terms of the Q Public License 00005 * as defined by Trolltech AS of Norway and appearing in the file 00006 * LICENSE.QPL included in the packaging of this file. 00007 * 00008 * THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING 00009 * THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00010 * PURPOSE. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, 00011 * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING 00012 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, 00013 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION 00014 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 00015 * 00016 */ 00017 00018 #ifndef __RIOMMQLISTVIEWITEM_H__ 00019 #define __RIOMMQLISTVIEWITEM_H__ 00020 00021 #include <qlistview.h> 00022 #include <qobject.h> 00023 #include <qpainter.h> 00024 #include <qpalette.h> 00025 #include <qcolor.h> 00026 00027 class RioMMQListViewItem : public QListViewItem 00028 { 00029 private: 00030 bool boldfont; // Define se o estilo em negrito da fonte do item est� 00031 // ou n�o habilitado (false para n�o habilitado e true 00032 // para habilitado). 00033 QColor fontcolor; // Objeto que define a cor da fonte. 00034 00035 public: 00036 // As fun��es s�o descritas no arquivo RioMMQListViewItem.cpp. 00037 /*** 00038 * Construtor RioMMQListViewItem: constroi um objeto RioMMQListViewItem que 00039 * sera inserido no objeto parent, abaixo do objeto after,e alinhado a este 00040 * obejto after. 00041 * @param parent objeto pai que contera o objeto. 00042 * @param after objeto abaixo do qual o novo objeto sera inserido. 00043 * @param color cor da fonte do novo objeto. 00044 * @param bold estilo em negrido (ativo ou nao) da fonte do objeto. 00045 */ 00046 RioMMQListViewItem( QListView *parent, RioMMQListViewItem *after, 00047 QColor color, bool bold = false ); 00048 00049 /*** 00050 * Construtor RioMMQListViewItem: constroi um objeto RioMMQListViewItem que 00051 * sera inserido no objeto parent, abaixo do objeto after. Ao contrario do 00052 * outro construtor, ele sera alinhado um nivel acima do objeto after. 00053 * @param parent objeto pai que contera o objeto. 00054 * @param after objeto abaixo do qual o novo objeto sera inserido. 00055 * @param color cor da fonte do novo objeto. 00056 * @param bold estilo em negrido (ativo ou nao) da fonte do objeto. 00057 */ 00058 RioMMQListViewItem( RioMMQListViewItem *parent, 00059 RioMMQListViewItem *after, QColor color, 00060 bool bold = false ); 00061 /*** 00062 * Funcao getBold: retorna o estado atual (ativo ou nao) do estilo em negrito 00063 * da fonte do objeto. 00064 * @return estado do estilo (true - ativo, false - inativo) em negrito da 00065 * fonte. 00066 */ 00067 bool getBold(); 00068 00069 /*** 00070 * Funcao getColor: retorna a cor da fonte do objeto. 00071 * @return cor da fonte. 00072 */ 00073 QColor getColor(); 00074 00075 /*** 00076 * Funcao setBold: altera o estado atual (ativo ou nao) do estilo em negrito da 00077 * fonte do objeto. 00078 * @param bold novo estado do estilo (true - ativo, false - inativo) em negrito 00079 * da fonte. 00080 */ 00081 void setBold( bool bold ); 00082 00083 /*** 00084 * Funcao setColor: altera a cor da fonte do objeto. 00085 * @param color nova cor da fonte. 00086 */ 00087 void setColor( QColor color ); 00088 00089 /*** 00090 * Funcao paintCell: funcao responsavel por desenhar o objeto na interface 00091 * grafica. Simplesmente mudamos o estilo da fonte em negrito (definido pela 00092 * variavel booleana boldfont: true - ativo; false - inativo) e a cor da fonte, 00093 * definida pela variavel fontcolor, e depois chamamos a funcao paintCell da 00094 * classe pai QListViewItem para desenhar o objeto. 00095 * @param p dispositivo de pintura usado para desenhar o objeto. 00096 * @param cg objeto com o grupo de cores usadas para desenhar o objeto. 00097 * @param column coluna do objeto no objeto QListView que o possui. 00098 * @param width tamanho da coluna em que o objeto e desenhado. 00099 * @param alignment modo como o objeto e alinhado na coluna. 00100 */ 00101 virtual void paintCell( QPainter *p, const QColorGroup &cg, 00102 int column, int width, int alignment ); 00103 }; 00104 #endif