21#ifndef _KIS_FILTERS_LIST_VIEW_H_
22#define _KIS_FILTERS_LIST_VIEW_H_
31#include "kis_paint_device.h"
32#include "kis_thread.h"
38class KisFiltersIconViewItem;
39class KisFiltersListView;
42class KisThumbnailDoneEvent :
public TQCustomEvent
46 KisThumbnailDoneEvent(KisFiltersIconViewItem * iconItem,
const TQImage & img)
47 : TQCustomEvent(TQEvent::User + 1969)
48 , m_iconItem(iconItem)
51 KisFiltersIconViewItem * m_iconItem;
57class KisFiltersThumbnailThread :
public KisThread
61 KisFiltersThumbnailThread(TQIconView * parent,
62 KisFiltersIconViewItem * iconItem,
63 KisFilterConfiguration * config, KisFilter * filter,
64 KisPaintDeviceSP dev,
const TQRect & bounds,
65 KisProfile * profile);
67 ~KisFiltersThumbnailThread();
74 TQIconView * m_parent;
75 KisFiltersIconViewItem * m_iconItem;
76 KisFilterConfiguration * m_config;
78 KisPaintDeviceSP m_dev;
79 const TQRect m_bounds;
80 KisProfile * m_profile;
84class KisFiltersIconViewItem :
public TQIconViewItem {
86 KisFiltersIconViewItem( TQIconView * parent,
const TQString & text,
const TQPixmap & icon,
87 KisID
id, KisFilter* filter, KisFilterConfiguration* filterConfig,
88 KisPaintDeviceSP thumb,
const TQRect & bounds, KisProfile * profile);
90 virtual ~KisFiltersIconViewItem();
91 KisID id() {
return m_id; }
92 KisFilter* filter() {
return m_filter; }
93 void setFilterConfiguration(KisFilterConfiguration* fc) { m_filterconfig = fc; }
95 void resetThread() { m_thread = 0; };
96 KisThread * thread() {
return m_thread; }
101 KisFilterConfiguration* m_filterconfig;
102 KisFiltersThumbnailThread * m_thread;
105class KisFiltersListView :
public TDEIconView {
108 explicit KisFiltersListView(TQWidget * parent = 0,
const char * name = 0, WFlags f = 0,
bool filterForAdjustmentLayers =
false);
109 KisFiltersListView(TQWidget* parent,
bool filterForAdjustmentLayers =
false,
const char* name = 0);
110 KisFiltersListView(KisLayerSP layer, TQWidget* parent,
bool filterForAdjustmentLayers =
false,
const char * name = 0) TDE_DEPRECATED;
111 KisFiltersListView(KisPaintDeviceSP layer, TQWidget* parent,
bool filterForAdjustmentLayers = false, const
char * name = 0);
113 virtual
void customEvent(TQCustomEvent *);
120 void setLayer(KisLayerSP layer) TDE_DEPRECATED;
121 void setProfile(KisProfile * profile) { m_profile = profile; };
123 inline void setPaintDevice(KisPaintDeviceSP pd) {
124 if( pd != m_original)
131 void setCurrentFilter(KisID filter);
135 KisPaintDeviceSP m_original;
136 KisImageSP m_imgthumb;
137 KisPaintDeviceSP m_thumb;
138 KisProfile * m_profile;
139 KisThreadPool * threadPool;
140 bool m_filterForAdjustmentLayers;
A KisFilterConfiguration is the serializable representation of the filter parameters.
Basic interface of a Chalk filter.
A thread pool starts executing threads some time after they are added, running a maximum number of th...
A KisThread is a TQThread that can be set in the canceled state.
virtual void cancel()
Request the thread to cancel at the first opportunity.