20#include <tqcheckbox.h>
22#include <koIconChooser.h>
24#include "kis_double_widget.h"
25#include "kis_brush_chooser.h"
26#include "kis_global.h"
27#include "kis_icon_item.h"
30KisBrushChooser::KisBrushChooser(TQWidget *parent,
const char *name)
33 m_lbSpacing =
new TQLabel(i18n(
"Spacing:"),
this);
34 m_slSpacing =
new KisDoubleWidget(0.0, 10,
this,
"double_widget");
35 m_slSpacing->setTickmarks(TQSlider::Below);
36 m_slSpacing->setTickInterval(1);
37 TQObject::connect(m_slSpacing, TQ_SIGNAL(valueChanged(
double)),
this, TQ_SLOT(slotSetItemSpacing(
double)));
39 m_chkColorMask =
new TQCheckBox(i18n(
"Use color as mask"),
this);
40 TQObject::connect(m_chkColorMask, TQ_SIGNAL(toggled(
bool)),
this, TQ_SLOT(slotSetItemUseColorAsMask(
bool)));
42 m_lbName =
new TQLabel(
this);
44 TQVBoxLayout *mainLayout =
new TQVBoxLayout(
this, 2, -1,
"main layout");
46 mainLayout->addWidget(m_lbName);
47 mainLayout->addWidget(chooserWidget(), 10);
49 TQGridLayout *spacingLayout =
new TQGridLayout( 2, 2);
51 mainLayout->addLayout(spacingLayout, 1);
53 spacingLayout->addWidget(m_lbSpacing, 0, 0);
54 spacingLayout->addWidget(m_slSpacing, 0, 1);
56 spacingLayout->addMultiCellWidget(m_chkColorMask, 1, 1, 0, 1);
59KisBrushChooser::~KisBrushChooser()
63void KisBrushChooser::slotSetItemSpacing(
double spacingValue)
65 KisIconItem *item =
static_cast<KisIconItem *
>(currentItem());
68 KisBrush *brush =
static_cast<KisBrush *
>(item->resource());
69 brush->setSpacing(spacingValue);
73void KisBrushChooser::slotSetItemUseColorAsMask(
bool useColorAsMask)
75 KisIconItem *item =
static_cast<KisIconItem *
>(currentItem());
78 KisBrush *brush =
static_cast<KisBrush *
>(item->resource());
79 brush->setUseColorAsMask(useColorAsMask);
80 item->updatePixmaps();
81 emit selected(currentItem());
85void KisBrushChooser::update(KoIconItem *item)
87 KisIconItem *kisItem =
static_cast<KisIconItem *
>(item);
90 KisBrush *brush =
static_cast<KisBrush *
>(kisItem->resource());
92 TQString text = TQString(
"%1 (%2 x %3)").arg(brush->name()).arg(brush->width()).arg(brush->height());
94 m_lbName->setText(text);
95 m_slSpacing->setValue(brush->spacing());
96 m_chkColorMask->setChecked(brush->useColorAsMask());
97 m_chkColorMask->setEnabled(brush->hasColor());
101#include "kis_brush_chooser.moc"