18#include <koIconChooser.h>
22#include "kis_icon_item.h"
23#include "kis_resource.h"
24#include "kis_itemchooser.h"
25#include "kis_resourceserver.h"
26#include "kis_resource_mediator.h"
28KisResourceMediator::KisResourceMediator(KisItemChooser *chooser,
30 const char *name) : super(parent, name), m_chooser(chooser)
35 connect(m_chooser, TQ_SIGNAL(selected(KoIconItem*)), TQ_SLOT(setActiveItem(KoIconItem*)));
38KisResourceMediator::~KisResourceMediator()
42void KisResourceMediator::connectServer(KisResourceServerBase* rServer)
45 TQValueList<KisResource*> resources = rServer->resources();
46 TQValueList<KisResource*>::iterator it;
47 for ( it = resources.begin(); it != resources.end(); ++it )
48 rServerAddedResource( *it );
51 connect(rServer, TQ_SIGNAL(resourceAdded(KisResource*)),
52 this, TQ_SLOT(rServerAddedResource(KisResource*)));
55KisResource *KisResourceMediator::currentResource()
const
58 Q_ASSERT(
dynamic_cast<KisIconItem*
>(m_activeItem));
59 return static_cast<KisIconItem*
>(m_activeItem)->resource();
65KisIconItem *KisResourceMediator::itemFor(
KisResource *r)
const
67 if(m_items.contains(r))
74KisResource *KisResourceMediator::resourceFor(KoIconItem *item)
const
76 KisIconItem *kisitem =
dynamic_cast<KisIconItem*
>(item);
78 return kisitem ? kisitem->resource() : 0;
81KisResource *KisResourceMediator::resourceFor(KisIconItem *item)
const
83 return item ? item->resource() : 0;
86TQWidget *KisResourceMediator::chooserWidget()
const
91void KisResourceMediator::setActiveItem(KoIconItem *item)
93 KisIconItem *kisitem =
dynamic_cast<KisIconItem*
>(item);
96 m_activeItem = kisitem;
97 m_chooser->setCurrent(item);
98 emit activatedResource(kisitem ? kisitem->resource() : 0);
102void KisResourceMediator::rServerAddedResource(
KisResource *resource)
104 if (resource && resource->valid()) {
106 KisIconItem *item =
new KisIconItem(resource);
109 m_items[resource] = item;
111 m_chooser->addItem(item);
112 if (m_activeItem == 0) setActiveItem(item);
116#include "kis_resource_mediator.moc"
The KisResource class provides a representation of Chalk image resources.