lib

Kolinestyleaction.cpp
1/* This file is part of the KDE project
2 Copyright (C) 2004 Peter Simonsson <psn@linux.se>
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 "Kolinestyleaction.h"
21
22#include <tqpainter.h>
23#include <tqpixmap.h>
24#include <tqbitmap.h>
25
26#include <tdepopupmenu.h>
27#include <kdebug.h>
28#include <tdelocale.h>
29
30class KoLineStyleAction::KoLineStyleActionPrivate
31{
32 public:
33 KoLineStyleActionPrivate()
34 {
35 m_currentStyle = TQt::SolidLine;
36 }
37
38 ~KoLineStyleActionPrivate()
39 {
40 }
41
42 int m_currentStyle;
43};
44
45KoLineStyleAction::KoLineStyleAction(const TQString &text, const TQString& icon,
46 TQObject* parent, const char* name) : KoSelectAction(text, icon, parent, name)
47{
48 d = new KoLineStyleActionPrivate;
49
50 createMenu();
51}
52
53KoLineStyleAction::KoLineStyleAction(const TQString &text, const TQString& icon, const TQObject* receiver,
54 const char* slot, TQObject* parent, const char* name) : KoSelectAction(text, icon, receiver, slot, parent, name)
55{
56 d = new KoLineStyleActionPrivate;
57
58 createMenu();
59}
60
61KoLineStyleAction::~KoLineStyleAction()
62{
63 delete d;
64}
65
67{
69 TQBitmap mask;
70 TQPixmap pix(70, 21);
71 TQPainter p(&pix, popup);
72 int cindex = 0;
73 TQPen pen;
74 pen.setWidth(2);
75 popup->insertItem(i18n("None"),cindex++);
76
77 for(int i = 1; i < 6; i++) {
78 pix.fill(white);
79 pen.setStyle(static_cast<TQt::PenStyle>(i));
80 p.setPen(pen);
81 p.drawLine(0, 10, pix.width(), 10);
82 mask = pix;
83 pix.setMask(mask);
84 popup->insertItem(pix,cindex++);
85 }
86}
87
88#include "Kolinestyleaction.moc"
KoLineStyleAction(const TQString &text, const TQString &icon, TQObject *parent=0, const char *name=0)
Constructs a KoLineStyleAction with a text and an icon.
void createMenu()
Draws and adds each item of the menu.
TDEPopupMenu * popupMenu() const
Returns a pointer to the popup menu.
KoSelectAction(const TQString &text, const TQString &icon, TQObject *parent=0, const char *name=0)
Constructs a KoSelectAction with a text and an icon.
void popup(const TQPoint &global)
Shows the popup menu.
virtual TQString text() const