• Skip to content
  • Skip to link menu
KDE 3.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

Kate

kateattribute.cpp

Go to the documentation of this file.
00001 /* This file is part of the KDE libraries
00002    Copyright (C) 2003 Hamish Rodda <rodda@kde.org>
00003 
00004    This library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Library General Public
00006    License version 2 as published by the Free Software Foundation.
00007 
00008    This library is distributed in the hope that it will be useful,
00009    but WITHOUT ANY WARRANTY; without even the implied warranty of
00010    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011    Library General Public License for more details.
00012 
00013    You should have received a copy of the GNU Library General Public License
00014    along with this library; see the file COPYING.LIB.  If not, write to
00015    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00016    Boston, MA 02110-1301, USA.
00017 */
00018 
00019 #include "kateattribute.h"
00020 
00021 KateAttribute::KateAttribute()
00022   : m_weight(QFont::Normal)
00023   , m_italic(false)
00024   , m_underline(false)
00025   , m_overline(false)
00026   , m_strikeout(false)
00027   , m_itemsSet(0)
00028 
00029 {
00030 }
00031 
00032 KateAttribute::~KateAttribute()
00033 {
00034 }
00035 
00036 void KateAttribute::clear()
00037 {
00038   m_itemsSet=0;
00039 }
00040 
00041 KateAttribute& KateAttribute::operator+=(const KateAttribute& a)
00042 {
00043   if (a.itemSet(Weight))
00044     setWeight(a.weight());
00045 
00046   if (a.itemSet(Italic))
00047     setItalic(a.italic());
00048 
00049   if (a.itemSet(Underline))
00050     setUnderline(a.underline());
00051 
00052   if (a.itemSet(Overline))
00053     setOverline(a.overline());
00054 
00055   if (a.itemSet(StrikeOut))
00056     setStrikeOut(a.strikeOut());
00057 
00058   if (a.itemSet(Outline))
00059     setOutline(a.outline());
00060 
00061   if (a.itemSet(TextColor))
00062     setTextColor(a.textColor());
00063 
00064   if (a.itemSet(SelectedTextColor))
00065     setSelectedTextColor(a.selectedTextColor());
00066 
00067   if (a.itemSet(BGColor))
00068     setBGColor(a.bgColor());
00069 
00070   if (a.itemSet(SelectedBGColor))
00071     setSelectedBGColor(a.selectedBGColor());
00072 
00073   return *this;
00074 }
00075 
00076 QFont KateAttribute::font(const QFont& ref)
00077 {
00078   QFont ret = ref;
00079 
00080   if (itemSet(Weight))
00081     ret.setWeight(weight());
00082   if (itemSet(Italic))
00083     ret.setItalic(italic());
00084   if (itemSet(Underline))
00085     ret.setUnderline(underline());
00086    if (itemSet(Overline))
00087     ret.setOverline(overline());
00088   if (itemSet(StrikeOut))
00089     ret.setStrikeOut(strikeOut());
00090 
00091   return ret;
00092 }
00093 
00094 void KateAttribute::setWeight(int weight)
00095 {
00096   if (!(m_itemsSet & Weight) || m_weight != weight)
00097   {
00098     m_itemsSet |= Weight;
00099 
00100     m_weight = weight;
00101 
00102     changed();
00103   }
00104 }
00105 
00106 void KateAttribute::setBold(bool enable)
00107 {
00108   setWeight(enable ? QFont::Bold : QFont::Normal);
00109 }
00110 
00111 void KateAttribute::setItalic(bool enable)
00112 {
00113   if (!(m_itemsSet & Italic) || m_italic != enable)
00114   {
00115     m_itemsSet |= Italic;
00116 
00117     m_italic = enable;
00118 
00119     changed();
00120   }
00121 }
00122 
00123 void KateAttribute::setUnderline(bool enable)
00124 {
00125   if (!(m_itemsSet & Underline) || m_underline != enable)
00126   {
00127     m_itemsSet |= Underline;
00128 
00129     m_underline = enable;
00130 
00131     changed();
00132   }
00133 }
00134 
00135 void KateAttribute::setOverline(bool enable)
00136 {
00137   if (!(m_itemsSet & Overline) || m_overline != enable)
00138   {
00139     m_itemsSet |= Overline;
00140 
00141     m_overline = enable;
00142 
00143     changed();
00144   }
00145 }
00146 
00147 void KateAttribute::setStrikeOut(bool enable)
00148 {
00149   if (!(m_itemsSet & StrikeOut) || m_strikeout != enable)
00150   {
00151     m_itemsSet |= StrikeOut;
00152 
00153     m_strikeout = enable;
00154 
00155     changed();
00156   }
00157 }
00158 
00159 void KateAttribute::setOutline(const QColor& color)
00160 {
00161   if (!(m_itemsSet & Outline) || m_outline != color)
00162   {
00163     m_itemsSet |= Outline;
00164 
00165     m_outline = color;
00166 
00167     changed();
00168   }
00169 }
00170 
00171 void KateAttribute::setTextColor(const QColor& color)
00172 {
00173   if (!(m_itemsSet & TextColor) || m_textColor != color)
00174   {
00175     m_itemsSet |= TextColor;
00176 
00177     m_textColor = color;
00178 
00179     changed();
00180   }
00181 }
00182 
00183 void KateAttribute::setSelectedTextColor(const QColor& color)
00184 {
00185   if (!(m_itemsSet & SelectedTextColor) || m_selectedTextColor != color)
00186   {
00187     m_itemsSet |= SelectedTextColor;
00188 
00189     m_selectedTextColor = color;
00190 
00191     changed();
00192   }
00193 }
00194 
00195 void KateAttribute::setBGColor(const QColor& color)
00196 {
00197   if (!(m_itemsSet & BGColor) || m_bgColor != color)
00198   {
00199     m_itemsSet |= BGColor;
00200 
00201     m_bgColor = color;
00202 
00203     changed();
00204   }
00205 }
00206 
00207 void KateAttribute::setSelectedBGColor(const QColor& color)
00208 {
00209   if (!(m_itemsSet & SelectedBGColor) || m_selectedBGColor != color)
00210   {
00211     m_itemsSet |= SelectedBGColor;
00212 
00213     m_selectedBGColor = color;
00214 
00215     changed();
00216   }
00217 }
00218 
00219 bool operator ==(const KateAttribute& h1, const KateAttribute& h2)
00220 {
00221   if (h1.m_itemsSet != h2.m_itemsSet)
00222     return false;
00223 
00224   if (h1.itemSet(KateAttribute::Weight))
00225     if (h1.m_weight != h2.m_weight)
00226       return false;
00227 
00228   if (h1.itemSet(KateAttribute::Italic))
00229     if (h1.m_italic != h2.m_italic)
00230       return false;
00231 
00232   if (h1.itemSet(KateAttribute::Underline))
00233     if (h1.m_underline != h2.m_underline)
00234       return false;
00235 
00236   if (h1.itemSet(KateAttribute::StrikeOut))
00237     if (h1.m_strikeout != h2.m_strikeout)
00238       return false;
00239 
00240   if (h1.itemSet(KateAttribute::Outline))
00241     if (h1.m_outline != h2.m_outline)
00242       return false;
00243 
00244   if (h1.itemSet(KateAttribute::TextColor))
00245     if (h1.m_textColor != h2.m_textColor)
00246       return false;
00247 
00248   if (h1.itemSet(KateAttribute::SelectedTextColor))
00249     if (h1.m_selectedTextColor != h2.m_selectedTextColor)
00250       return false;
00251 
00252   if (h1.itemSet(KateAttribute::BGColor))
00253     if (h1.m_bgColor != h2.m_bgColor)
00254       return false;
00255 
00256   if (h1.itemSet(KateAttribute::SelectedBGColor))
00257     if (h1.m_selectedBGColor != h2.m_selectedBGColor)
00258       return false;
00259 
00260   return true;
00261 }
00262 
00263 bool operator !=(const KateAttribute& h1, const KateAttribute& h2)
00264 {
00265   return !(h1 == h2);
00266 }
00267 
00268 // kate: space-indent on; indent-width 2; replace-tabs on;

Kate

Skip menu "Kate"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • dcop
  • DNSSD
  • interfaces
  • Kate
  • kconf_update
  • KDECore
  • KDED
  • kdefx
  • KDEsu
  • kdeui
  • KDocTools
  • KHTML
  • KImgIO
  • KInit
  • kio
  • kioslave
  • KJS
  • KNewStuff
  • KParts
  • KUtils
Generated for API Reference by doxygen 1.5.9
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal