lib

KoTextViewIface.cpp
1/* This file is part of the KDE project
2 Copyright (C) 2002 Laurent MONTEL <lmontel@mandrakesoft.com>
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18*/
19
20#include "KoTextViewIface.h"
21#include "KoTextView.h"
22#include "KoTextParag.h"
23#include "KoBorder.h"
24#include <tdeapplication.h>
25#include <dcopclient.h>
26#include <kdebug.h>
27#include <KoVariable.h>
28#include <kcommand.h>
29
30
31KoTextViewIface::KoTextViewIface( KoTextView *_textview )
32 : DCOPObject( /*TODO name*/ )
33{
34 m_textView = _textview;
35}
36
37void KoTextViewIface::insertSoftHyphen()
38{
39 m_textView->insertSoftHyphen();
40}
41
42void KoTextViewIface::insertText( const TQString &text )
43{
44 m_textView->insertText(text);
45}
46
47void KoTextViewIface::newParagraph()
48{
49 m_textView->newParagraph();
50}
51
52
53void KoTextViewIface::setBold(bool b)
54{
55 KCommand *cmd=m_textView->setBoldCommand(b);
56 delete cmd;
57}
58
59void KoTextViewIface::setItalic(bool on)
60{
61 KCommand *cmd=m_textView->setItalicCommand(on);
62 delete cmd;
63}
64
65void KoTextViewIface::setUnderline(bool on)
66{
67 KCommand *cmd=m_textView->setUnderlineCommand(on);
68 delete cmd;
69}
70
71void KoTextViewIface::setDoubleUnderline(bool on)
72{
73 KCommand *cmd=m_textView->setDoubleUnderlineCommand(on);
74 delete cmd;
75}
76
77
78void KoTextViewIface::setStrikeOut(bool on)
79{
80 KCommand *cmd=m_textView->setStrikeOutCommand(on);
81 delete cmd;
82}
83
84void KoTextViewIface::setPointSize( int s )
85{
86 KCommand *cmd=m_textView->setPointSizeCommand(s);
87 delete cmd;
88}
89
90void KoTextViewIface::setTextSubScript(bool on)
91{
92 KCommand *cmd=m_textView->setTextSubScriptCommand(on);
93 delete cmd;
94}
95
96void KoTextViewIface::setTextSuperScript(bool on)
97{
98 KCommand *cmd=m_textView->setTextSuperScriptCommand(on);
99 delete cmd;
100}
101
102void KoTextViewIface::setLanguage(const TQString & _lang)
103{
104 KCommand *cmd=m_textView->setLanguageCommand(_lang);
105 delete cmd;
106}
107
108TQString KoTextViewIface::language() const
109{
110 return m_textView->language();
111}
112
113void KoTextViewIface::setDefaultFormat()
114{
115 KCommand *cmd=m_textView->setDefaultFormatCommand();
116 delete cmd;
117}
118
119TQColor KoTextViewIface::textColor() const
120{
121 return m_textView->textColor();
122}
123
124TQString KoTextViewIface::textFontFamily()const
125{
126 return m_textView->textFontFamily();
127}
128
129TQColor KoTextViewIface::textBackgroundColor()const
130{
131 return m_textView->textBackgroundColor();
132}
133
134TQColor KoTextViewIface::textUnderlineColor() const
135{
136 return m_textView->textUnderlineColor();
137}
138
139double KoTextViewIface::relativeTextSize() const
140{
141 return m_textView->relativeTextSize();
142}
143
144void KoTextViewIface::setRelativeTextSize( double _size)
145{
146 KCommand *cmd=m_textView->setRelativeTextSizeCommand(_size);
147 delete cmd;
148}
149
150void KoTextViewIface::setUnderlineColor( const TQColor & color )
151{
152 KCommand *cmd=m_textView->setUnderlineColorCommand(color);
153 delete cmd;
154}
155
156void KoTextViewIface::setTextColor(const TQColor &color)
157{
158 KCommand *cmd=m_textView->setTextColorCommand(color);
159 delete cmd;
160}
161
162void KoTextViewIface::setTextBackgroundColor(const TQColor &color)
163{
164 KCommand *cmd=m_textView->setTextBackgroundColorCommand(color);
165 delete cmd;
166}
167
168void KoTextViewIface::setAlign(int align)
169{
170 KCommand *cmd=m_textView->setAlignCommand(align);
171 delete cmd;
172}
173
174void KoTextViewIface::setAlign(const TQString &align)
175{
176 KCommand *cmd=0L;
177 if( align=="AlignLeft")
178 cmd=m_textView->setAlignCommand(TQt::AlignLeft);
179 else if (align=="AlignRight")
180 cmd=m_textView->setAlignCommand(TQt::AlignRight);
181 else if (align=="AlignCenter" || align=="AlignHCenter")
182 cmd=m_textView->setAlignCommand(TQt::AlignHCenter);
183 else if (align=="AlignJustify")
184 cmd=m_textView->setAlignCommand(TQt::AlignJustify);
185 else
186 {
187 kdDebug(32500)<<"Align value not recognized...\n";
188 cmd=m_textView->setAlignCommand(TQt::AlignLeft);
189 }
190 delete cmd;
191}
192
193bool KoTextViewIface::textDoubleUnderline() const
194{
195 return m_textView->textDoubleUnderline();
196}
197
198bool KoTextViewIface::textItalic() const
199{
200 return m_textView->textItalic();
201}
202
203bool KoTextViewIface::textBold() const
204{
205 return m_textView->textBold();
206}
207
208bool KoTextViewIface::textUnderline()const
209{
210 return m_textView->textUnderline();
211}
212
213bool KoTextViewIface::textStrikeOut()const
214{
215 return m_textView->textStrikeOut();
216}
217
218bool KoTextViewIface::textSubScript() const
219{
220 return m_textView->textSubScript();
221}
222
223bool KoTextViewIface::textSuperScript() const
224{
225 return m_textView->textSuperScript();
226}
227
228bool KoTextViewIface::isReadWrite() const
229{
230 return m_textView->isReadWrite();
231}
232
233void KoTextViewIface::setReadWrite( bool b )
234{
235 m_textView->setReadWrite(b);
236}
237
238void KoTextViewIface::hideCursor()
239{
240 m_textView->hideCursor();
241}
242
243void KoTextViewIface::showCursor()
244{
245 m_textView->showCursor();
246}
247
248int KoTextViewIface::cursorParagraph() const
249{
250 return m_textView->cursor()->parag()->paragId();
251}
252
253int KoTextViewIface::cursorIndex() const
254{
255 return m_textView->cursor()->index();
256}
257
258void KoTextViewIface::moveCursorLeft(bool select)
259{
260 m_textView->moveCursor(KoTextView::MoveBackward,select);
261}
262
263void KoTextViewIface::moveCursorRight(bool select)
264{
265 m_textView->moveCursor(KoTextView::MoveForward,select);
266}
267
268void KoTextViewIface::moveCursorUp(bool select)
269{
270 m_textView->moveCursor(KoTextView::MoveUp,select);
271}
272
273void KoTextViewIface::moveCursorDown(bool select)
274{
275 m_textView->moveCursor(KoTextView::MoveDown,select);
276}
277
278void KoTextViewIface::moveCursorHome(bool select)
279{
280 m_textView->moveCursor(KoTextView::MoveHome,select);
281}
282
283void KoTextViewIface::moveCursorEnd(bool select)
284{
285 m_textView->moveCursor(KoTextView::MoveEnd,select);
286}
287
288void KoTextViewIface::moveCursorWordLeft(bool select)
289{
290 m_textView->moveCursor(KoTextView::MoveWordBackward,select);
291}
292
293void KoTextViewIface::moveCursorWordRight(bool select)
294{
295 m_textView->moveCursor(KoTextView::MoveWordForward,select);
296}
297
298void KoTextViewIface::moveCursorLineEnd(bool select)
299{
300 m_textView->moveCursor(KoTextView::MoveLineEnd,select);
301}
302
303void KoTextViewIface::moveCursorLineStart(bool select)
304{
305 m_textView->moveCursor(KoTextView::MoveLineStart,select);
306}
307
308bool KoTextViewIface::paragraphHasBorder() const
309{
310 return m_textView->cursor()->parag()->hasBorder();
311}
312
313double KoTextViewIface::lineSpacing() const
314{
315 return m_textView->cursor()->parag()->kwLineSpacing();
316}
317
318double KoTextViewIface::leftMargin() const
319{
320 return m_textView->cursor()->parag()->margin( TQStyleSheetItem::MarginLeft);
321}
322
323double KoTextViewIface::rightMargin() const
324{
325 return m_textView->cursor()->parag()->margin( TQStyleSheetItem::MarginRight);
326}
327
328double KoTextViewIface::spaceBeforeParag() const
329{
330 return m_textView->cursor()->parag()->margin( TQStyleSheetItem::MarginTop);
331}
332
333double KoTextViewIface::spaceAfterParag() const
334{
335 return m_textView->cursor()->parag()->margin( TQStyleSheetItem::MarginBottom);
336}
337
338double KoTextViewIface::marginFirstLine() const
339{
340 return m_textView->cursor()->parag()->margin( TQStyleSheetItem::MarginFirstLine);
341}
342
343void KoTextViewIface::setMarginFirstLine(double pt)
344{
345 m_textView->cursor()->parag()->setMargin( TQStyleSheetItem::MarginFirstLine,pt);
346}
347
348void KoTextViewIface::setLineSpacing(double pt)
349{
350 m_textView->cursor()->parag()->setLineSpacing(pt);
351}
352
353void KoTextViewIface::setLeftMargin(double pt)
354{
355 m_textView->cursor()->parag()->setMargin( TQStyleSheetItem::MarginLeft,pt);
356}
357
358void KoTextViewIface::setRightMargin(double pt)
359{
360 m_textView->cursor()->parag()->setMargin( TQStyleSheetItem::MarginRight,pt);
361}
362
363void KoTextViewIface::setSpaceBeforeParag(double pt)
364{
365 m_textView->cursor()->parag()->setMargin( TQStyleSheetItem::MarginTop,pt);
366}
367
368void KoTextViewIface::setSpaceAfterParag(double pt)
369{
370 m_textView->cursor()->parag()->setMargin( TQStyleSheetItem::MarginBottom,pt);
371}
372
373
374void KoTextViewIface::setLeftBorder( const TQColor & c,double width )
375{
376 KoTextParag *parag= m_textView->cursor()->parag();
377 parag->setLeftBorder(KoBorder( c, KoBorder::SOLID, width ));
378
379}
380
381void KoTextViewIface::setRightBorder( const TQColor & c,double width )
382{
383 KoTextParag *parag= m_textView->cursor()->parag();
384 parag->setRightBorder(KoBorder( c, KoBorder::SOLID, width ));
385}
386
387void KoTextViewIface::setTopBorder( const TQColor & c,double width )
388{
389 KoTextParag *parag= m_textView->cursor()->parag();
390 parag->setTopBorder(KoBorder( c, KoBorder::SOLID, width ));
391}
392
393void KoTextViewIface::setBottomBorder(const TQColor & c,double width )
394{
395 KoTextParag *parag= m_textView->cursor()->parag();
396 parag->setBottomBorder(KoBorder( c, KoBorder::SOLID, width ));
397}
398
399double KoTextViewIface::leftBorderWidth() const
400{
401 KoTextParag *parag= m_textView->cursor()->parag();
402 return parag->leftBorder().width();
403}
404
405double KoTextViewIface::rightBorderWidth() const
406{
407 KoTextParag *parag= m_textView->cursor()->parag();
408 return parag->rightBorder().width();
409
410}
411double KoTextViewIface::topBorderWidth() const
412{
413 KoTextParag *parag= m_textView->cursor()->parag();
414 return parag->topBorder().width();
415
416}
417
418double KoTextViewIface::bottomBorderWidth() const
419{
420 KoTextParag *parag= m_textView->cursor()->parag();
421 return parag->bottomBorder().width();
422
423}
424
425TQColor KoTextViewIface::leftBorderColor() const
426{
427 KoTextParag *parag= m_textView->cursor()->parag();
428 return parag->leftBorder().color;
429}
430
431TQColor KoTextViewIface::rightBorderColor() const
432{
433 KoTextParag *parag= m_textView->cursor()->parag();
434 return parag->rightBorder().color;
435}
436
437TQColor KoTextViewIface::topBorderColor() const
438{
439 KoTextParag *parag= m_textView->cursor()->parag();
440 return parag->topBorder().color;
441}
442
443TQColor KoTextViewIface::bottomBorderColor() const
444{
445 KoTextParag *parag= m_textView->cursor()->parag();
446 return parag->bottomBorder().color;
447}
448
449void KoTextViewIface::setLeftBorderColor( const TQColor & c )
450{
451 KoTextParag *parag= m_textView->cursor()->parag();
452 parag->leftBorder().color = c ;
453}
454
455void KoTextViewIface::setRightBorderColor( const TQColor & c )
456{
457 KoTextParag *parag= m_textView->cursor()->parag();
458 parag->rightBorder().color = c ;
459}
460
461void KoTextViewIface::setTopBorderColor( const TQColor & c )
462{
463 KoTextParag *parag= m_textView->cursor()->parag();
464 parag->topBorder().color = c ;
465}
466
467void KoTextViewIface::setBottomBorderColor(const TQColor & c )
468{
469 KoTextParag *parag= m_textView->cursor()->parag();
470 parag->bottomBorder().color = c ;
471}
472
473void KoTextViewIface::setLeftBorderWidth( double _witdh )
474{
475 KoTextParag *parag= m_textView->cursor()->parag();
476 parag->leftBorder().setPenWidth(_witdh) ;
477}
478
479void KoTextViewIface::setRightBorderWidth( double _witdh )
480{
481 KoTextParag *parag= m_textView->cursor()->parag();
482 parag->rightBorder().setPenWidth(_witdh) ;
483}
484
485void KoTextViewIface::setTopBorderWidth( double _witdh )
486{
487 KoTextParag *parag= m_textView->cursor()->parag();
488 parag->topBorder().setPenWidth(_witdh) ;
489}
490
491void KoTextViewIface::setBottomBorderWidth( double _witdh )
492{
493 KoTextParag *parag= m_textView->cursor()->parag();
494 parag->bottomBorder().setPenWidth(_witdh) ;
495}
496
497
498void KoTextViewIface::changeCaseOfText( const TQString & caseType)
499{
500 KCommand *cmd=0L;
501 if( caseType.lower() == "uppercase" )
502 {
503 cmd=m_textView->setChangeCaseOfTextCommand( KoChangeCaseDia::UpperCase );
504 }
505 else if( caseType.lower() =="lowercase" )
506 {
507 cmd=m_textView->setChangeCaseOfTextCommand( KoChangeCaseDia::LowerCase );
508 }
509 else if( caseType.lower() =="titlecase" )
510 {
511 cmd=m_textView->setChangeCaseOfTextCommand( KoChangeCaseDia::TitleCase );
512 }
513 else if( caseType.lower() =="togglecase" )
514 {
515 cmd=m_textView->setChangeCaseOfTextCommand( KoChangeCaseDia::ToggleCase );
516 }
517 else if ( caseType.lower() =="sentencecase" )
518 {
519 cmd=m_textView->setChangeCaseOfTextCommand( KoChangeCaseDia::SentenceCase );
520
521 }
522 else
523 kdDebug(32500)<<"Error in void KoTextViewIface::changeCaseOfText( const TQString & caseType) parameter\n";
524 delete cmd;
525}
526
527bool KoTextViewIface::isALinkVariable() const
528{
529 return (m_textView->linkVariable()!=0);
530}
531
532TQString KoTextViewIface::linkVariableUrl( ) const
533{
534 KoLinkVariable *var=m_textView->linkVariable();
535 if ( !var)
536 return TQString();
537 else
538 {
539 return var->url();
540 }
541}
542
543TQString KoTextViewIface::linkVariableName( ) const
544{
545 KoLinkVariable *var=m_textView->linkVariable();
546 if ( !var)
547 return TQString();
548 else
549 {
550 return var->value();
551 }
552}
553
554
555bool KoTextViewIface::changeLinkVariableUrl( const TQString & _url) const
556{
557 KoLinkVariable *var=m_textView->linkVariable();
558 if ( !var)
559 return false;
560 else
561 {
562 var->setLink(var->value(), _url);
563 var->recalc();
564 }
565 return true;
566}
567
568bool KoTextViewIface::changeLinkVariableName( const TQString & _name) const
569{
570 KoLinkVariable *var=m_textView->linkVariable();
571 if ( !var)
572 return false;
573 else
574 {
575 var->setLink(_name, var->url());
576 var->recalc();
577 }
578 return true;
579}
580
581bool KoTextViewIface::isANoteVariable() const
582{
583 KoNoteVariable *var = dynamic_cast<KoNoteVariable *>(m_textView->variable());
584 return (var!=0);
585}
586
587TQString KoTextViewIface::noteVariableText() const
588{
589 KoNoteVariable *var = dynamic_cast<KoNoteVariable *>(m_textView->variable());
590 if( var )
591 return var->note();
592 else
593 return TQString();
594}
595
596bool KoTextViewIface::setNoteVariableText(const TQString & note) const
597{
598 KoNoteVariable *var = dynamic_cast<KoNoteVariable *>(m_textView->variable());
599 if( var )
600 {
601 var->setNote( note);
602 return true;
603 }
604 else
605 return false;
606}
607
608void KoTextViewIface::removeComment()
609{
610 removeComment();
611}
612
613TQString KoTextViewIface::underlineStyle() const
614{
615 return KoTextFormat::underlineStyleToString( m_textView->underlineStyle() );
616}
617
618TQString KoTextViewIface::strikeOutStyle()const
619{
620 return KoTextFormat::strikeOutStyleToString( m_textView->strikeOutStyle() );
621}
622
623void KoTextViewIface::addBookmarks(const TQString &url)
624{
625 m_textView->addBookmarks(url);
626}
627
628void KoTextViewIface::copyLink()
629{
630 m_textView->copyLink();
631}
632
633void KoTextViewIface::removeLink()
634{
635 m_textView->removeLink();
636}
637
638bool KoTextViewIface::wordByWord() const
639{
640 return m_textView->wordByWord();
641}
642
643void KoTextViewIface::setWordByWord( bool _b )
644{
645 KCommand *cmd=m_textView->setWordByWordCommand(_b );
646 delete cmd;
647}
648
649void KoTextViewIface::copyTextOfComment()
650{
651 m_textView->copyTextOfComment();
652}
653
654TQString KoTextViewIface::fontAttibute()const
655{
656 return KoTextFormat::attributeFontToString( m_textView->fontAttribute() );
657}
658
659void KoTextViewIface::insertNonbreakingSpace()
660{
661 m_textView->insertNonbreakingSpace();
662}
663
664void KoTextViewIface::insertNonbreakingHyphen()
665{
666 m_textView->insertNonbreakingHyphen();
667}
This class represents a border - for anything, like paragraph, or frame.
Definition KoBorder.h:34
Object that is created to edit a KoTextObject.
Definition KoTextView.h:54