summaryrefslogtreecommitdiffstats
path: root/lib/kformula/contextstyle.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/kformula/contextstyle.cc')
-rw-r--r--lib/kformula/contextstyle.cc765
1 files changed, 0 insertions, 765 deletions
diff --git a/lib/kformula/contextstyle.cc b/lib/kformula/contextstyle.cc
deleted file mode 100644
index a744e02d..00000000
--- a/lib/kformula/contextstyle.cc
+++ /dev/null
@@ -1,765 +0,0 @@
-/* This file is part of the KDE project
- Copyright (C) 2001 Andrea Rizzi <rizzi@kde.org>
- Ulrich Kuettler <ulrich.kuettler@mailbox.tu-dresden.de>
- 2006 Alfredo Beaumont Sainz <alfredo.beaumont@gmail.com>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
-*/
-
-#include <tqfontmetrics.h>
-#include <tqstring.h>
-
-#include <kdebug.h>
-#include <KoGlobal.h>
-
-#include "contextstyle.h"
-#include "fontstyle.h"
-
-
-KFORMULA_NAMESPACE_BEGIN
-
-
-ContextStyle::ContextStyle()
- : symbolFont( "Symbol" ),
- defaultColor(TQt::black), numberColor(TQt::blue),
- operatorColor(TQt::darkGreen), errorColor(TQt::darkRed),
- emptyColor(TQt::blue), helpColor( TQt::gray ), m_sizeFactor( 0 )
-{
-// kdDebug() << "ContextStyle::ContextStyle" << endl
-// << "defaultFont: " << defaultFont.rawName() << endl
-// << "nameFont: " << nameFont.rawName() << endl
-// << "numberFont: " << numberFont.rawName() << endl
-// << "operatorFont: " << operatorFont.rawName() << endl
-// << "symbolFont: " << symbolFont.rawName() << endl;
-
- textStyleValues[ displayStyle ].setup( 1. );
- textStyleValues[ textStyle ].setup( 1. );
- textStyleValues[ scriptStyle ].setup( .7 );
- textStyleValues[ scriptScriptStyle ].setup( .49 );
-
- m_baseTextStyle = displayStyle;
-
- lineWidth = 1;
- linearMovement = false;
- centerSymbol = true;
- m_syntaxHighlighting = true;
-
- m_fontStyle = 0;
-}
-
-
-ContextStyle::~ContextStyle()
-{
- delete m_fontStyle;
-}
-
-
-void ContextStyle::init( bool init )
-{
- setup();
- setFontStyle( m_fontStyleName, init );
-}
-
-
-void ContextStyle::setFontStyle( const TQString& fontStyle, bool init )
-{
- delete m_fontStyle;
- m_fontStyleName = fontStyle;
- m_fontStyle = new FontStyle();
- m_fontStyle->init( this, init );
-}
-
-
-const SymbolTable& ContextStyle::symbolTable() const
-{
- return *( m_fontStyle->symbolTable() );
-}
-
-
-void ContextStyle::readConfig( TDEConfig* config, bool init )
-{
- config->setGroup( "kformula Font" );
- TQString fontName = config->readEntry( "defaultFont", "Times,12,-1,5,50,1,0,0,0,0" );
- defaultFont.fromString( fontName );
- fontName = config->readEntry( "nameFont", "Times,12,-1,5,50,0,0,0,0,0" );
- nameFont.fromString( fontName );
- fontName = config->readEntry( "numberFont", "Times,12,-1,5,50,0,0,0,0,0" );
- numberFont.fromString( fontName );
- fontName = config->readEntry( "operatorFont", "Times,12,-1,5,50,0,0,0,0,0" );
- operatorFont.fromString( fontName );
- TQString baseSize = config->readEntry( "baseSize", "20" );
- m_baseSize = baseSize.toInt();
-
- if ( ! FontStyle::missingFonts( init ).isEmpty() ) {
- kdWarning( DEBUGID) << "Not all basic fonts found\n";
- }
- mathFont.fromString("Arev Sans");
- bracketFont.fromString("cmex10");
-
-
- // There's no gui right anymore but I'll leave it here...
- config->setGroup( "kformula Color" );
- defaultColor = config->readColorEntry( "defaultColor", &defaultColor );
- numberColor = config->readColorEntry( "numberColor", &numberColor );
- operatorColor = config->readColorEntry( "operatorColor", &operatorColor );
- emptyColor = config->readColorEntry( "emptyColor", &emptyColor );
- errorColor = config->readColorEntry( "errorColor", &errorColor );
- helpColor = config->readColorEntry( "helpColor", &helpColor );
-
- m_syntaxHighlighting = config->readBoolEntry( "syntaxHighlighting", true );
-}
-
-void ContextStyle::setZoomAndResolution( int zoom, int dpiX, int dpiY )
-{
- KoZoomHandler::setZoomAndResolution( zoom, dpiX, dpiY );
-}
-
-bool ContextStyle::setZoomAndResolution( int zoom, double zoomX, double zoomY, bool, bool )
-{
- bool changes = m_zoom != zoom || m_zoomedResolutionX != zoomX || m_zoomedResolutionY != zoomY;
- m_zoom = zoom;
- m_zoomedResolutionX = zoomX;
- m_zoomedResolutionY = zoomY;
- return changes;
-}
-
-TQColor ContextStyle::getNumberColor() const
-{
- if ( edit() && syntaxHighlighting() ) {
- return numberColor;
- }
- return getDefaultColor();
-}
-
-TQColor ContextStyle::getOperatorColor() const
-{
- if ( edit() && syntaxHighlighting() ) {
- return operatorColor;
- }
- return getDefaultColor();
-}
-
-TQColor ContextStyle::getErrorColor() const
-{
- if ( edit() && syntaxHighlighting() ) {
- return errorColor;
- }
- return getDefaultColor();
-}
-
-TQColor ContextStyle::getEmptyColor() const
-{
- if ( edit() && syntaxHighlighting() ) {
- return emptyColor;
- }
- return getDefaultColor();
-}
-
-TQColor ContextStyle::getHelpColor() const
-{
- if ( edit() && syntaxHighlighting() ) {
- return helpColor;
- }
- return getDefaultColor();
-}
-
-void ContextStyle::setDefaultColor( const TQColor& color )
-{
- defaultColor = color;
-}
-void ContextStyle::setNumberColor( const TQColor& color )
-{
- numberColor = color;
-}
-void ContextStyle::setOperatorColor( const TQColor& color )
-{
- operatorColor = color;
-}
-void ContextStyle::setErrorColor( const TQColor& color )
-{
- errorColor = color;
-}
-void ContextStyle::setEmptyColor( const TQColor& color )
-{
- emptyColor = color;
-}
-void ContextStyle::setHelpColor( const TQColor& color )
-{
- helpColor = color;
-}
-
-#if 0
-const TQStringList& ContextStyle::requestedFonts() const
-{
- return m_requestedFonts;
-}
-
-void ContextStyle::setRequestedFonts( const TQStringList& list )
-{
- m_requestedFonts = list;
- //table.init( this );
-}
-#endif
-
-double ContextStyle::getReductionFactor( TextStyle tstyle ) const
-{
- return textStyleValues[ tstyle ].reductionFactor;
-}
-
-luPt ContextStyle::getAdjustedSize( TextStyle tstyle, double factor ) const
-{
- return tqRound( ptToLayoutUnitPt( m_sizeFactor
- * m_baseSize
- * getReductionFactor( tstyle )
- * factor
- * zoom() / 100.0 ) );
-}
-
-luPixel ContextStyle::getSpace( TextStyle tstyle, SpaceWidth space, double factor ) const
-{
- switch ( space ) {
- case NEGTHIN: return -getThinSpace( tstyle, factor );
- case THIN: return getThinSpace( tstyle, factor );
- case MEDIUM: return getMediumSpace( tstyle, factor );
- case THICK: return getThickSpace( tstyle, factor );
- case QUAD: return getQuadSpace( tstyle, factor );
- }
- return 0;
-}
-
-luPixel ContextStyle::getThinSpace( TextStyle tstyle, double factor ) const
-{
- return ptToPixelX( m_sizeFactor
- * textStyleValues[ tstyle ].thinSpace( quad )
- * factor
- * zoom() / 100.0 );
-}
-
-luPixel ContextStyle::getMediumSpace( TextStyle tstyle, double factor ) const
-{
- return ptToPixelX( m_sizeFactor
- * textStyleValues[ tstyle ].mediumSpace( quad )
- * factor
- * zoom() / 100.0 );
-}
-
-luPixel ContextStyle::getThickSpace( TextStyle tstyle, double factor ) const
-{
- return ptToPixelX( m_sizeFactor
- * textStyleValues[ tstyle ].thickSpace( quad )
- * factor
- * zoom() / 100.0 );
-}
-
-luPixel ContextStyle::getQuadSpace( TextStyle tstyle, double factor ) const
-{
- return ptToPixelX( m_sizeFactor
- * textStyleValues[ tstyle ].quadSpace( quad )
- * factor
- * zoom() / 100.0 );
-}
-
-luPixel ContextStyle::axisHeight( TextStyle tstyle, double factor ) const
-{
- //return ptToPixelY( textStyleValues[ tstyle ].axisHeight( m_axisHeight ) );
- return static_cast<luPixel>( m_sizeFactor
- * textStyleValues[ tstyle ].axisHeight( m_axisHeight )
- * factor
- * zoom() / 100.0 );
-}
-
-luPt ContextStyle::getBaseSize() const
-{
- return static_cast<luPt>( ptToLayoutUnitPt( m_sizeFactor*m_baseSize ) );
-}
-
-void ContextStyle::setBaseSize( int size )
-{
- //kdDebug( 40000 ) << "ContextStyle::setBaseSize" << endl;
- if ( size != m_baseSize ) {
- m_baseSize = size;
- setup();
- }
-}
-
-void ContextStyle::setSizeFactor( double factor )
-{
- m_sizeFactor = factor;
-}
-
-
-luPixel ContextStyle::getLineWidth( double factor ) const
-{
- return ptToLayoutUnitPixX( m_sizeFactor*lineWidth*factor*zoom() / 100.0 );
-}
-
-luPixel ContextStyle::getEmptyRectWidth( double factor ) const
-{
- return ptToLayoutUnitPixX( m_sizeFactor*m_baseSize*factor*(zoom() / 100.0)/1.8 );
-}
-
-luPixel ContextStyle::getEmptyRectHeight( double factor ) const
-{
- return ptToLayoutUnitPixX( m_sizeFactor*m_baseSize*factor*(zoom() / 100.0)/1.8 );
-}
-
-
-ContextStyle::TextStyle ContextStyle::convertTextStyleFraction( TextStyle tstyle ) const
-{
- TextStyle result;
-
- switch ( tstyle ){
- case displayStyle:
- result = textStyle;
- break;
- case textStyle:
- result = scriptStyle;
- break;
- default:
- result = scriptScriptStyle;
- break;
- }
-
- return result;
-}
-
-
-ContextStyle::TextStyle ContextStyle::convertTextStyleIndex( TextStyle tstyle ) const
-{
- TextStyle result;
-
- switch ( tstyle ){
- case displayStyle:
- result = scriptStyle;
- break;
- case textStyle:
- result = scriptStyle;
- break;
- default:
- result = scriptScriptStyle;
- break;
- }
-
- return result;
-}
-
-
-void ContextStyle::setup()
-{
- luPt size = static_cast<luPt>( m_baseSize );
- TQFont font = symbolFont;
- font.setPointSize( size );
- TQFontMetrics fm( font );
-
- // Or better the real space required? ( boundingRect )
- quad = ptToLayoutUnitPt( fm.width( 'M' ) );
-
- font = TQFont(defaultFont);
- font.setPointSize( size );
- TQFontMetrics fm2( font );
- //m_axisHeight = ptToLayoutUnitPt( fm2.strikeOutPos() );
- //ptToLayoutUnitPixY
- //m_axisHeight = ptToLayoutUnitPt( pixelYToPt( fm2.strikeOutPos() ) );
- m_axisHeight = ptToLayoutUnitPixY( pixelYToPt( fm2.strikeOutPos() ) );
-}
-
-
-double StyleAttributes::sizeFactor() const
-{
- if ( m_size.empty() ) {
-// kdWarning( DEBUGID ) << "SizeFactor stack is empty.\n";
- return 1.0;
- }
- return m_size.top();
-}
-
-bool StyleAttributes::customMathVariant() const
-{
- if ( m_customMathVariant.empty() ) {
- return false;
- }
- return m_customMathVariant.top();
-}
-
-CharStyle StyleAttributes::charStyle() const
-{
- if ( m_charStyle.empty() ) {
-// kdWarning( DEBUGID ) << "CharStyle stack is empty.\n";
- return anyChar;
- }
- return m_charStyle.top();
-}
-
-CharFamily StyleAttributes::charFamily() const
-{
- if ( m_charFamily.empty() ) {
-// kdWarning( DEBUGID ) << "CharFamily stack is empty.\n";
- return anyFamily;
- }
- return m_charFamily.top();
-}
-
-TQColor StyleAttributes::color() const
-{
- if ( m_color.empty() ) {
-// kdWarning( DEBUGID ) << "Color stack is empty.\n";
- return TQColor( TQt::black );
- //return getDefaultColor();
- }
- return m_color.top();
-}
-
-TQColor StyleAttributes::background() const
-{
- if ( m_background.empty() ) {
-// kdWarning( DEBUGID ) << "Background stack is empty.\n";
- return TQColor( TQt::color0 );
- }
- return m_background.top();
-}
-
-TQFont StyleAttributes::font() const
-{
- if ( m_font.empty() ) {
- return TQFont();
- }
- return m_font.top();
-}
-
-bool StyleAttributes::fontWeight() const
-{
- if ( m_fontWeight.empty() ) {
- return false;
- }
- return m_fontWeight.top();
-}
-
-bool StyleAttributes::customFontWeight() const
-{
- if ( m_customFontWeight.empty() ) {
- return false;
- }
- return m_customFontWeight.top();
-}
-
-bool StyleAttributes::fontStyle() const
-{
- if ( m_fontStyle.empty() ) {
- return false;
- }
- return m_fontStyle.top();
-}
-
-bool StyleAttributes::customFontStyle() const
-{
- if ( m_customFontStyle.empty() ) {
- return false;
- }
- return m_customFontStyle.top();
-}
-
-bool StyleAttributes::customFont() const
-{
- if ( m_customFontFamily.empty() ) {
- return false;
- }
- return m_customFontFamily.top();
-}
-
-int StyleAttributes::scriptLevel() const
-{
- if ( m_scriptLevel.empty() ) {
- return 0;
- }
- return m_scriptLevel.top();
-}
-
-double StyleAttributes::scriptSizeMultiplier() const
-{
- if ( m_scriptSizeMultiplier.empty() ) {
- return scriptsizemultiplier;
- }
- return m_scriptSizeMultiplier.top();
-}
-
-double StyleAttributes::scriptMinSize() const
-{
- if ( m_scriptMinSize.empty() ) {
- return scriptminsize;
- }
- return m_scriptMinSize.top();
-}
-
-double StyleAttributes::veryVeryThinMathSpace() const
-{
- if ( m_veryVeryThinMathSpace.empty() ) {
- return veryverythinmathspace;
- }
- return m_veryVeryThinMathSpace.top();
-}
-
-double StyleAttributes::veryThinMathSpace() const
-{
- if ( m_veryThinMathSpace.empty() ) {
- return verythinmathspace;
- }
- return m_veryThinMathSpace.top();
-}
-
-double StyleAttributes::thinMathSpace() const
-{
- if ( m_thinMathSpace.empty() ) {
- return thinmathspace;
- }
- return m_thinMathSpace.top();
-}
-
-double StyleAttributes::mediumMathSpace() const
-{
- if ( m_mediumMathSpace.empty() ) {
- return mediummathspace;
- }
- return m_mediumMathSpace.top();
-}
-
-double StyleAttributes::thickMathSpace() const
-{
- if ( m_thickMathSpace.empty() ) {
- return thickmathspace;
- }
- return m_thickMathSpace.top();
-}
-
-double StyleAttributes::veryThickMathSpace() const
-{
- if ( m_veryThickMathSpace.empty() ) {
- return verythickmathspace;
- }
- return m_veryThickMathSpace.top();
-}
-
-double StyleAttributes::veryVeryThickMathSpace() const
-{
- if ( m_veryVeryThickMathSpace.empty() ) {
- return veryverythickmathspace;
- }
- return m_veryVeryThickMathSpace.top();
-}
-
-bool StyleAttributes::displayStyle() const
-{
- if ( m_displayStyle.empty() ) {
- return true;
- }
- return m_displayStyle.top();
-}
-
-bool StyleAttributes::customDisplayStyle() const
-{
- if ( m_customDisplayStyle.empty() ) {
- return false;
- }
- return m_customDisplayStyle.top();
-}
-
-double StyleAttributes::getSpace( SizeType type, double length ) const
-{
- switch ( type ) {
- case NegativeVeryVeryThinMathSpace:
- return - veryVeryThinMathSpace();
- case NegativeVeryThinMathSpace:
- return - veryThinMathSpace();
- case NegativeThinMathSpace:
- return - thinMathSpace();
- case NegativeMediumMathSpace:
- return - mediumMathSpace();
- case NegativeThickMathSpace:
- return - thickMathSpace();
- case NegativeVeryThickMathSpace:
- return - veryThickMathSpace();
- case NegativeVeryVeryThickMathSpace:
- return - veryVeryThickMathSpace();
- case VeryVeryThinMathSpace:
- return veryVeryThinMathSpace();
- case VeryThinMathSpace:
- return veryThinMathSpace();
- case ThinMathSpace:
- return thinMathSpace();
- case MediumMathSpace:
- return mediumMathSpace();
- case ThickMathSpace:
- return thickMathSpace();
- case VeryThickMathSpace:
- return veryThickMathSpace();
- case VeryVeryThickMathSpace:
- return veryVeryThickMathSpace();
- default:
- break;
- }
- return length;
-}
-
-void StyleAttributes::resetSize()
-{
- if ( ! m_size.empty() ) {
- m_size.pop();
- }
-}
-
-void StyleAttributes::resetCharStyle()
-{
- if ( ! m_charStyle.empty() ) {
- m_charStyle.pop();
- }
-}
-
-void StyleAttributes::resetCharFamily()
-{
- if ( ! m_charFamily.empty() ) {
- m_charFamily.pop();
- }
-}
-
-void StyleAttributes::resetColor()
-{
- if ( ! m_color.empty() ) {
- m_color.pop();
- }
-}
-
-void StyleAttributes::resetBackground()
-{
- if ( ! m_background.empty() ) {
- m_background.pop();
- }
-}
-
-void StyleAttributes::resetFontFamily()
-{
- if ( ! m_customFontFamily.empty() ) {
- if ( m_customFontFamily.pop() ) {
- if ( ! m_font.empty() ) {
- m_font.pop();
- }
- }
- }
-}
-
-void StyleAttributes::resetFontWeight()
-{
- if ( ! m_customFontWeight.empty() ) {
- if ( m_customFontWeight.pop() ) {
- if ( ! m_fontWeight.empty() ) {
- m_fontWeight.pop();
- }
- }
- }
-}
-
-void StyleAttributes::resetFontStyle()
-{
- if ( ! m_customFontStyle.empty() ) {
- if ( m_customFontStyle.pop() ) {
- if ( ! m_fontStyle.empty() ) {
- m_fontStyle.pop();
- }
- }
- }
-}
-
-void StyleAttributes::resetScriptLevel()
-{
- if ( ! m_scriptLevel.empty() ) {
- m_scriptLevel.pop();
- }
-}
-
-void StyleAttributes::resetScriptSizeMultiplier()
-{
- if ( ! m_scriptSizeMultiplier.empty() ) {
- m_scriptSizeMultiplier.pop();
- }
-}
-
-void StyleAttributes::resetScriptMinSize()
-{
- if ( ! m_scriptMinSize.empty() ) {
- m_scriptMinSize.pop();
- }
-}
-
-void StyleAttributes::resetVeryVeryThinMathSpace()
-{
- if ( ! m_veryVeryThinMathSpace.empty() ) {
- m_veryVeryThinMathSpace.pop();
- }
-}
-
-void StyleAttributes::resetVeryThinMathSpace()
-{
- if ( ! m_veryThinMathSpace.empty() ) {
- m_veryThinMathSpace.pop();
- }
-}
-
-void StyleAttributes::resetThinMathSpace()
-{
- if ( ! m_thinMathSpace.empty() ) {
- m_thinMathSpace.pop();
- }
-}
-
-void StyleAttributes::resetMediumMathSpace()
-{
- if ( ! m_mediumMathSpace.empty() ) {
- m_mediumMathSpace.pop();
- }
-}
-
-void StyleAttributes::resetThickMathSpace()
-{
- if ( ! m_thickMathSpace.empty() ) {
- m_thickMathSpace.pop();
- }
-}
-
-void StyleAttributes::resetVeryThickMathSpace()
-{
- if ( ! m_veryThickMathSpace.empty() ) {
- m_veryThickMathSpace.pop();
- }
-}
-
-void StyleAttributes::resetVeryVeryThickMathSpace()
-{
- if ( ! m_veryVeryThickMathSpace.empty() ) {
- m_veryVeryThickMathSpace.pop();
- }
-}
-
-void StyleAttributes::resetDisplayStyle()
-{
- if ( ! m_customDisplayStyle.empty() ) {
- if ( m_customDisplayStyle.pop() ) {
- if ( ! m_displayStyle.empty() ) {
- m_displayStyle.pop();
- }
- }
- }
-}
-
-
-KFORMULA_NAMESPACE_END