19#include <KoImageResource.h>
23#include <tqpushbutton.h>
24#include <tqcombobox.h>
26#include <kstandarddirs.h>
27#include <tdetempfile.h>
32#include "kis_paint_device.h"
33#include "kis_pattern.h"
34#include "kis_custom_pattern.h"
35#include "kis_resource_mediator.h"
36#include "kis_resourceserver.h"
37#include "kis_paint_layer.h"
39KisCustomPattern::KisCustomPattern(TQWidget *parent,
const char* name,
const TQString& caption, KisView* view)
40 : KisWdgCustomPattern(parent, name), m_view(view)
48 preview->setScaledContents(
true);
50 connect(addButton, TQ_SIGNAL(pressed()),
this, TQ_SLOT(slotAddPredefined()));
51 connect(patternButton, TQ_SIGNAL(pressed()),
this, TQ_SLOT(slotUsePattern()));
52 connect(exportButton, TQ_SIGNAL(pressed()),
this, TQ_SLOT(slotExport()));
55KisCustomPattern::~KisCustomPattern() {
59void KisCustomPattern::showEvent(TQShowEvent *) {
60 slotUpdateCurrentPattern(0);
63void KisCustomPattern::slotUpdateCurrentPattern(
int) {
65 if (m_view->canvasSubject() && m_view->canvasSubject()->currentImg()) {
67 preview->setPixmap(TQPixmap(m_pattern->img()));
73void KisCustomPattern::slotExport() {
77void KisCustomPattern::slotAddPredefined() {
83 TQString dir = TDEGlobal::dirs()->saveLocation(
"data",
"chalk/patterns");
86 KTempFile file(dir,
".pat");
90 m_pattern->setFilename(file.name());
95 m_server->addResource(m_pattern->clone());
98void KisCustomPattern::slotUsePattern() {
101 KisPattern* copy = m_pattern->clone();
105 emit(activatedResource(copy));
108void KisCustomPattern::createPattern() {
109 KisImageSP img = m_view->canvasSubject()->currentImg();
114 m_pattern =
new KisPattern(img->mergedImage(), 0, 0, img->width(), img->height());
118#include "kis_custom_pattern.moc"