18#include <tqbuttongroup.h>
19#include <tqpushbutton.h>
20#include <tqradiobutton.h>
21#include <tqgroupbox.h>
26#include <tqtextedit.h>
27#include <tqcheckbox.h>
30#include <kcolorcombo.h>
32#include <KoUnitWidgets.h>
34#include "kis_factory.h"
35#include "kis_meta_registry.h"
36#include "kis_colorspace_factory_registry.h"
37#include "kis_dlg_image_properties.h"
38#include "kis_profile.h"
41#include "kis_config.h"
43#include "kis_cmb_idlist.h"
45#include "wdgnewimage.h"
47KisDlgImageProperties::KisDlgImageProperties(KisImageSP image, TQWidget *parent,
const char *name)
48 : super(parent, name, true,
"", Ok | Cancel)
51 setCaption(i18n(
"Image Properties"));
52 m_page =
new WdgNewImage(
this);
54 m_page->lblResolution->hide();
55 m_page->doubleResolution->hide();
60 setMainWidget(m_page);
61 resize(m_page->sizeHint());
63 m_page->txtName->setText(image->name());
64 m_page->m_createButton->hide();
67 m_page->intWidth->setValue(image->width());
68 m_page->intHeight->setValue(image->height());
69 m_page->txtDescription->setText(image->description());
70 m_page->doubleResolution->setValue(image->xRes());
74 KisIDList colorSpaces = KisMetaRegistry::instance()->csRegistry()->listKeys();
75 KisIDList::iterator i = colorSpaces.find(
KisID(
"WET",
""));
76 if (i != colorSpaces.end()) {
77 colorSpaces.remove(i);
79 m_page->cmbColorSpaces->setIDList(colorSpaces);
80 m_page->cmbColorSpaces->setCurrent(image->colorSpace()->id());
82 fillCmbProfiles(image->colorSpace()->id());
84 if (image->getProfile()) {
85 m_page->cmbProfile->setCurrentText(image->getProfile()->productName());
88 m_page->cmbProfile->setCurrentItem(0);
91 m_page->sliderOpacity->setEnabled(
false);
92 m_page->opacityPanel->hide();
93 m_page->lblOpacity->hide();
95 m_page->cmbColor->setEnabled(
false);
96 m_page->cmbColor->hide();
97 m_page->lblColor->hide();
99 connect(m_page->cmbColorSpaces, TQ_SIGNAL(activated(
const KisID &)),
100 this, TQ_SLOT(fillCmbProfiles(
const KisID &)));
105KisDlgImageProperties::~KisDlgImageProperties()
110int KisDlgImageProperties::imageWidth()
112 return m_page->intWidth->value();
115int KisDlgImageProperties::imageHeight()
117 return m_page->intHeight->value();
120int KisDlgImageProperties::opacity()
122 return m_page->sliderOpacity->value();
125TQString KisDlgImageProperties::imageName()
127 return m_page->txtName->text();
130double KisDlgImageProperties::resolution()
132 return m_page->doubleResolution->value();
135TQString KisDlgImageProperties::description()
137 return m_page->txtDescription->text();
142 return KisMetaRegistry::instance()->csRegistry()->
getColorSpace(m_page->cmbColorSpaces->currentItem(), m_page->cmbProfile->currentText());
145KisProfile * KisDlgImageProperties::profile()
147 TQValueVector<KisProfile *> profileList = KisMetaRegistry::instance()->csRegistry()->
profilesFor( m_image->colorSpace()->id() );
148 TQ_UINT32 index = m_page->cmbProfile->currentItem();
150 if (index < profileList.count()) {
151 return profileList.at(index);
158void KisDlgImageProperties::fillCmbProfiles(
const KisID & s)
161 KisColorSpaceFactory * csf = KisMetaRegistry::instance()->csRegistry()->
get(s);
162 m_page->cmbProfile->clear();
163 TQValueVector<KisProfile *> profileList = KisMetaRegistry::instance()->csRegistry()->
profilesFor( csf );
164 TQValueVector<KisProfile *> ::iterator it;
165 for ( it = profileList.begin(); it != profileList.end(); ++it ) {
166 m_page->cmbProfile->insertItem((*it)->productName());
172#include "kis_dlg_image_properties.moc"
TQValueVector< KisProfile * > profilesFor(KisColorSpaceFactory *cs)
Return the vector of profiles for this colorspacefactory.
KisColorSpace * getColorSpace(const KisID &csID, const TQString &profileName)
Return the colorspace + profile as named, or NULL if impossible combination.
A colorspace is the definition of a certain color model in Chalk.
_T get(const KisID &name) const
This function allow to get an object from its KisID.
Chalk has a large number of extensible resources.