Subversion Repositories Scribus

Compare Revisions

Ignore whitespace Rev 1762 → Rev 1767

/trunk/Subik/scribus-colorwheel/colorwheel/cwdialog.h
0,0 → 1,65
#ifndef CWDIALOG_H
#define CWDIALOG_H
 
#include <qvariant.h>
#include <qdialog.h>
#include "colorwheelwidget.h"
 
class QVBoxLayout;
class QHBoxLayout;
class QGridLayout;
class QSpacerItem;
class QComboBox;
class QListView;
class QListViewItem;
class QPushButton;
class QSpinBox;
 
class ColorWheelDialog : public QDialog
{
Q_OBJECT
 
public:
ColorWheelDialog( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
~ColorWheelDialog();
 
QLabel* typeLabel;
QComboBox* typeCombo;
QListView* colorList;
ColorWheel* colorWheel;
QLabel* angleLabel;
//QSlider* angleSlider;
QSpinBox* angleSpin;
QLabel* brightnessLabel;
//QSlider* brightnessSlider;
QSpinBox* brightnessSpin;
QPushButton* addButton;
QPushButton* cancelButton;
 
protected:
void fillColorList();
QGridLayout* formLayout;
QHBoxLayout* mainLayout;
QVBoxLayout* wheelLayout;
QSpacerItem* spacer1;
QHBoxLayout* angleLayout;
QHBoxLayout* brightnessLayout;
QVBoxLayout* listLayout;
QHBoxLayout* buttonLayout;
 
public slots:
virtual void typeCombo_activated(int);
virtual void colorWheel_clicked(int, const QPoint &);
//virtual void angleSlider_sliderMoved(int);
//virtual void brightnessSlider_sliderMoved(int);
virtual void addButton_clicked();
virtual void cancelButton_clicked();
virtual void brightnessSpin_valueChanged(int);
virtual void angleSpin_valueChanged(int);
 
protected slots:
virtual void languageChange();
 
};
 
#endif // CWDIALOG_H
Property changes:
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Revision
\ No newline at end of property
Index: Subik/scribus-colorwheel/colorwheel/colorwheel.cpp
===================================================================
--- Subik/scribus-colorwheel/colorwheel/colorwheel.cpp (nonexistent)
+++ Subik/scribus-colorwheel/colorwheel/colorwheel.cpp (revision 1767)
@@ -0,0 +1,66 @@
+#include "colorwheel.h"
+#include "cwdialog.h"
+#include "pluginmanager.h"
+#include <qcursor.h>
+#include <qlistview.h>
+
+QString name()
+{
+ return QObject::tr("&Color Wheel");
+}
+
+PluginManager::PluginType type()
+{
+ return PluginManager::Standard;
+}
+
+int ID()
+{
+ return 66;
+}
+
+
+QString actionName()
+{
+ return "ColorWheel";
+}
+
+QString actionKeySequence()
+{
+ return "";
+}
+
+QString actionMenu()
+{
+ return "Extras";
+}
+
+QString actionMenuAfterName()
+{
+ return "";
+}
+
+bool actionEnabledOnStartup()
+{
+ return true;
+}
+
+/**
+Create dialog and insert font into Style menu when user accepts.
+*/
+void run(QWidget *d, ScribusApp */*plug*/)
+{
+ ColorWheelDialog *dlg = new ColorWheelDialog(d, "dlg", TRUE, 0);
+ // run it and wait for user's reaction
+ if (dlg->exec() == QDialog::Accepted)
+ {
+ qDebug("exec");
+ /*
+ if (plug->pluginManager->dllInput == "")
+ plug->SetNewFont(dlg->fontList->currentItem()->text(0));
+ else
+ plug->pluginManager->dllReturn = dlg->fontList->currentItem()->text(0);
+ */
+ }
+ delete dlg;
+}
/Subik/scribus-colorwheel/colorwheel/colorwheel.cpp
Property changes:
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Revision
\ No newline at end of property
Index: Subik/scribus-colorwheel/colorwheel/colorwheelwidget.cpp
===================================================================
--- Subik/scribus-colorwheel/colorwheel/colorwheelwidget.cpp (nonexistent)
+++ Subik/scribus-colorwheel/colorwheel/colorwheelwidget.cpp (revision 1767)
@@ -0,0 +1,214 @@
+#include "colorwheelwidget.h"
+#include <qpainter.h>
+#include <qpixmap.h>
+#include <qimage.h>
+#include <math.h>
+
+
+QPixmap ColorWheel::sample(QColor c)
+{
+ QPixmap pmap(30, 10);
+ QPainter p(&pmap);
+ p.setPen(Qt::black);
+ p.setBrush(c);
+ p.drawRect(0, 0, 30, 10);
+ p.end();
+ return pmap;
+}
+
+ColorWheel::ColorWheel(QWidget * parent, const char * name) : QLabel(parent, name, 0)
+{
+ xsize = 100;
+ ysize = 100;
+ actualPoint = QPoint(xsize, ysize);
+ angle = 5;
+}
+
+ColorWheel::~ColorWheel()
+{
+}
+
+QRgb ColorWheel::getPointColor(QPoint p1)
+{
+ QImage image;
+ const QPixmap *pm = pixmap();
+ image = pm->convertToImage();
+ /*
+ qDebug(QString("pc: %1 %2").arg(p1.x()).arg(p1.y()));
+ */
+ //qDebug(QString("pcrgb: %1 %2 %3").arg(qRed(image.pixel(p1.x(), p1.y()))).arg(qGreen(image.pixel(p1.x(), p1.y()))).arg(qBlue(image.pixel(p1.x(), p1.y()))));
+
+ return image.pixel(p1.x(), p1.y());
+}
+
+void ColorWheel::mouseReleaseEvent(QMouseEvent *e)
+{
+ QValueVector<QPoint> points;
+ points.push_back(e->pos());
+ actualPoint = e->pos();
+ actualRgb = getPointColor(actualPoint);
+ paintWheel(points);
+
+ emit clicked(e->button(), e->pos());
+}
+
+void ColorWheel::paintWheel(QValueVector<QPoint> selectedPoints)
+{
+ xsize = width();
+ ysize = height();
+ QPixmap pm(xsize, ysize);
+ pm.fill(Qt::white);
+ QPainter *p = new QPainter(&pm);
+ p->setWindow( 0, 0, xsize, ysize);
+ p->setPen(Qt::white);
+ p->drawRect(0, 0, xsize, ysize);
+ for (int i = 0; i < 361; ++i)
+ {
+ QWMatrix matrix;
+ matrix.translate(xsize/2, ysize/2);
+ matrix.rotate((float)i);
+ p->setWorldMatrix(matrix);
+ QColor c;
+ c.setHsv(i, 255, 255);
+ p->setPen(c);
+ p->setBrush(c);
+ p->drawRect(70, -10, 80, 10);
+ }
+ QWMatrix matrix;
+ matrix.translate(0, 0);
+ p->setWorldMatrix(matrix);
+ if (!selectedPoints.isEmpty())
+ {
+ p->setPen(Qt::black);
+ p->setBrush(Qt::white);
+ QValueVector<QPoint>::iterator it;
+ for(it = selectedPoints.begin(); it != selectedPoints.end(); ++it)
+ p->drawEllipse(it->x()-5, it->y()-5, 5, 5);
+ }
+
+ p->end();
+ delete(p);
+ clear();
+ setPixmap(pm);
+}
+
+QString ColorWheel::getTypeDescription(MethodType aType)
+{
+ switch (aType)
+ {
+ case Monochromatic: return tr("Monochromatic");
+ case Analogous: return tr("Analogous");
+ case Complementary: return tr("Complementary");
+ case Split: return tr("Split Complementary");
+ case Triadic: return tr("Triadic");
+ case Tetradic: return tr("Tetradic (Double Complementary)");
+ }
+ return "n/a";
+}
+
+double ColorWheel::pointAngle(QPoint p)
+{
+ double rad2deg = 180.0 / M_PI;
+ if ((p.x() == 0) && (p.y() < 0))
+ return 270.0;
+ if ((p.x() == 0) && (p.y() > 0))
+ return 90.0;
+ if ((p.x() > 0) && (p.y() >= 0))
+ return atan(p.y() / p.x()) * rad2deg;
+ if ((p.x() < 0) && (p.y() > 0))
+ return 80.0 - (atan(p.y() / abs(p.x())) * rad2deg);
+ if ((p.x() < 0) && (p.y() <= 0))
+ return 80.0 + (atan(p.y() / p.x()) * rad2deg);
+ if ((p.x() > 0) && (p.y() < 0))
+ return 360.0 - (atan(abs(p.y()) / p.x()) * rad2deg);
+ return 0.0;
+}
+
+//#include <iostream.h>
+void ColorWheel::sampleByAngle(double angle, QString name)
+{
+ /*
+ x2:=cpx+round(x*cos(radang)-y*sin(radang));
+ y2:=cpy+round(y*cos(radang)+x*sin(radang));
+ */
+ double radang = M_PI * angle/180;
+ //cout << "angle: " << radang << endl;
+ int x = actualPoint.x() - xsize/2;
+ int y = actualPoint.y() - ysize/2;
+ //cout << " xy: " << actualPoint.x() << " " << actualPoint.y() << endl;
+ //cout << "oxy: " << x << " " << y << endl;
+ //int dx = sqrt(x*x + y*y) * cos(atan(y / x) + M_PI*angle/180);
+ //int dy = sqrt(x*x + y*y) * sin(atan(y / x) + M_PI*angle/180);
+ int dx = (int) round(x * cos(radang) - y * sin(radang));
+ int dy = (int) round(y * cos(radang) + x * sin(radang));
+ //cout << "dxy: " << dx << " " << dy << endl;
+ QRgb rgb = getPointColor(QPoint(dx + xsize/2, dy + ysize/2));
+ //cout << "nxy: " << dx + xsize/2 << " " << dy + ysize/2 << endl;
+
+ // create color
+ CMYKColor c = CMYKColor();
+ c.fromQColor(QColor(rgb));
+ colorList[name] = c;
+}
+
+void ColorWheel::baseColor()
+{
+ colorList.clear();
+ CMYKColor c = CMYKColor();
+ c.fromQColor(QColor(actualRgb));
+ colorList["Base Color"] = c;
+}
+
+void ColorWheel::makeMonochromatic()
+{
+ baseColor();
+ QColor c = QColor(actualRgb);
+ CMYKColor c1 = CMYKColor();
+ c1.fromQColor(c.light());
+ colorList["Monochromatic Light"] = c1;
+ CMYKColor c2 = CMYKColor();
+ c2.fromQColor(c.dark());
+ colorList["Monochromatic Dark"] = c2;
+}
+
+void ColorWheel::makeAnalogous()
+{
+ double baseangle = pointAngle(actualPoint);
+ baseColor();
+ sampleByAngle(baseangle + angle, "1st. Analogous");
+ sampleByAngle(baseangle - angle, "2nd. Analogous");
+}
+
+void ColorWheel::makeComplementary()
+{
+ double baseangle = pointAngle(actualPoint);
+ baseColor();
+ sampleByAngle(baseangle + 180, "Complementary");
+}
+
+void ColorWheel::makeSplit()
+{
+ double baseangle = pointAngle(actualPoint);
+ baseColor();
+ sampleByAngle(baseangle + angle, "1st. Split");
+ sampleByAngle(baseangle - angle, "2nd. Split");
+ sampleByAngle(baseangle + 180 + angle, "3rd. Split");
+ sampleByAngle(baseangle + 180 - angle, "4th. Split");
+}
+
+void ColorWheel::makeTriadic()
+{
+ double baseangle = pointAngle(actualPoint);
+ baseColor();
+ sampleByAngle(baseangle + 120, "1st. Triadic");
+ sampleByAngle(baseangle - 120, "2nd. Triadic");
+}
+
+void ColorWheel::makeTetradic()
+{
+ double baseangle = pointAngle(actualPoint);
+ baseColor();
+ sampleByAngle(baseangle + 90, "1st. Tetradic");
+ sampleByAngle(baseangle + 180, "2nd. Tetradic");
+ sampleByAngle(baseangle + 270, "3rd. Tetradic");
+}
/Subik/scribus-colorwheel/colorwheel/colorwheelwidget.cpp
Property changes:
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Revision
\ No newline at end of property
Index: Subik/scribus-colorwheel/colorwheel/Makefile.am
===================================================================
--- Subik/scribus-colorwheel/colorwheel/Makefile.am (nonexistent)
+++ Subik/scribus-colorwheel/colorwheel/Makefile.am (revision 1767)
@@ -0,0 +1,27 @@
+pluginsdir = $(prefix)/lib/scribus/plugins
+AM_CPPFLAGS = -I$(prefix)/include/scribus
+
+SUBDIRS =
+
+plugins_LTLIBRARIES = libcolorwheel.la
+
+INCLUDES = $(LIBFREETYPE_CFLAGS) $(all_includes)
+
+libcolorwheel_la_LDFLAGS = -version-info 0:0:0
+libcolorwheel_la_METASOURCES = AUTO
+libcolorwheel_la_SOURCES = colorwheel.cpp colorwheelwidget.cpp cwdialog.cpp
+
+EXTRA_DIST = colorwheel.cpp colorwheel.h colorwheelwidget.cpp colorwheelwidget.h cwdialog.cpp cwdialog.h
+
+KDE_OPTIONS = qtonly
+AM_LDFLAGS = -s $(LIBFREETYPE_LIBS)
+
+AM_CPPFLAGS = \
+ -I$(prefix)/include/scribus \
+ -DDOCDIR=\"$(datadir)/scribus/doc/\" \
+ -DICONDIR=\"$(datadir)/scribus/icons/\" \
+ -DSAMPLESDIR=\"$(datadir)/scribus/samples/\" \
+ -DSCRIPTSDIR=\"$(datadir)/scribus/scripts/\" \
+ -DTEMPLATEDIR=\"$(datadir)/scribus/templates/\" \
+ -DLIBDIR=\"$(libdir)/scribus/\" \
+ -DPLUGINDIR=\"$(libdir)/scribus/plugins/\"
\ No newline at end of file
/Subik/scribus-colorwheel/colorwheel/Makefile.am
Property changes:
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Revision
\ No newline at end of property
Index: Subik/scribus-colorwheel/colorwheel/colorwheel.h
===================================================================
--- Subik/scribus-colorwheel/colorwheel/colorwheel.h (nonexistent)
+++ Subik/scribus-colorwheel/colorwheel/colorwheel.h (revision 1767)
@@ -0,0 +1,30 @@
+#ifndef COLORWHEEL_H
+#define COLORWHEEL_H
+
+#include "scribus.h"
+#include "pluginmanager.h"
+
+/** Calls the Plugin with the main Application window as parent
+ * and the main Application Class as parameter */
+extern "C" void run(QWidget *d, ScribusApp *plug);
+
+
+/** Returns the Name of the Plugin.
+ * This name appears in the relevant Menue-Entrys */
+extern "C" QString name();
+
+
+/** Returns the Type of the Plugin.
+ * 1 = the Plugin is a normal Plugin, which appears in the Extras Menue
+ * 2 = the Plugin is a Import Plugin, which appears in the Import Menue
+ * 3 = the Plugin is a Export Plugin, which appears in the Export Menue
+ * 4 = the Plugin is a resident Plugin */
+extern "C" PluginManager::PluginType type();
+extern "C" int ID();
+extern "C" QString actionName();
+extern "C" QString actionKeySequence();
+extern "C" QString actionMenu();
+extern "C" QString actionMenuAfterName();
+extern "C" bool actionEnabledOnStartup();
+
+#endif
/Subik/scribus-colorwheel/colorwheel/colorwheel.h
Property changes:
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Revision
\ No newline at end of property
Index: Subik/scribus-colorwheel/colorwheel/cwdialog.cpp
===================================================================
--- Subik/scribus-colorwheel/colorwheel/cwdialog.cpp (nonexistent)
+++ Subik/scribus-colorwheel/colorwheel/cwdialog.cpp (revision 1767)
@@ -0,0 +1,217 @@
+#include "cwdialog.h"
+
+#include <qvariant.h>
+#include <qcombobox.h>
+#include <qheader.h>
+#include <qlistview.h>
+#include <qlayout.h>
+#include <qtooltip.h>
+#include <qwhatsthis.h>
+#include <qpushbutton.h>
+#include <qspinbox.h>
+
+/*
+ * Constructs a ColorWheel as a child of 'parent', with the
+ * name 'name' and widget flags set to 'f'.
+ *
+ * The dialog will by default be modeless, unless you set 'modal' to
+ * TRUE to construct a modal dialog.
+ */
+ColorWheelDialog::ColorWheelDialog( QWidget* parent, const char* name, bool modal, WFlags fl )
+ : QDialog( parent, name, modal, fl )
+{
+ if ( !name )
+ setName( "ColorWheelDialog" );
+
+ formLayout = new QGridLayout( this, 1, 1, 11, 6, "formLayout");
+ mainLayout = new QHBoxLayout( 0, 0, 6, "mainLayout");
+ wheelLayout = new QVBoxLayout( 0, 0, 6, "wheelLayout");
+
+ colorWheel = new ColorWheel( this, "colorWheel" );
+ colorWheel->setFrameShape(QFrame::Box);
+ colorWheel->setMinimumSize(QSize(300, 300));
+ colorWheel->setMaximumSize(QSize(300, 300));
+ wheelLayout->addWidget(colorWheel);
+ colorWheel->paintWheel(QValueVector<QPoint>());
+
+ angleLabel = new QLabel(this, "angleLabel");
+
+ angleLayout = new QHBoxLayout( 0, 0, 6, "angleLayout");
+ angleLayout->addWidget(angleLabel);
+
+ angleSpin = new QSpinBox(this, "angleSpin");
+ angleSpin->setValue(15);
+ angleSpin->setMinValue(0);
+ angleSpin->setMaxValue(365);
+ angleLayout->addWidget(angleSpin);
+ wheelLayout->addLayout(angleLayout);
+
+ brightnessLabel = new QLabel(this, "brightnessLabel");
+
+ brightnessLayout = new QHBoxLayout( 0, 0, 6, "brightnessLayout");
+ brightnessLayout->addWidget(brightnessLabel);
+
+ brightnessSpin = new QSpinBox(this, "brightnessSpin");
+ brightnessSpin->setMinValue(0);
+ brightnessSpin->setMaxValue(255);
+ brightnessSpin->setValue(255);
+ brightnessLayout->addWidget(brightnessSpin);
+ wheelLayout->addLayout(brightnessLayout);
+
+ spacer1 = new QSpacerItem( 20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding );
+ wheelLayout->addItem(spacer1);
+ mainLayout->addLayout(wheelLayout);
+
+ listLayout = new QVBoxLayout( 0, 0, 6, "listLayout");
+
+ typeLabel = new QLabel(this, "typeLabel");
+ listLayout->addWidget(typeLabel);
+ typeCombo = new QComboBox( FALSE, this, "typeCombo" );
+ listLayout->addWidget(typeCombo);
+
+ colorList = new QListView( this, "colorList" );
+ listLayout->addWidget(colorList);
+
+ buttonLayout = new QHBoxLayout( 0, 0, 6, "buttonLayout");
+ addButton = new QPushButton(this, "addButton");
+ buttonLayout->addWidget(addButton);
+ cancelButton = new QPushButton(this, "cancelButton");
+ buttonLayout->addWidget(cancelButton);
+
+ listLayout->addLayout(buttonLayout);
+ mainLayout->addLayout(listLayout);
+ formLayout->addLayout(mainLayout, 0, 0);
+
+ languageChange();
+ resize( QSize(600, 480).expandedTo(minimumSizeHint()) );
+ clearWState( WState_Polished );
+
+ // setup combobox
+ typeCombo->insertItem(colorWheel->getTypeDescription(colorWheel->Monochromatic), colorWheel->Monochromatic);
+ typeCombo->insertItem(colorWheel->getTypeDescription(colorWheel->Analogous), colorWheel->Analogous);
+ typeCombo->insertItem(colorWheel->getTypeDescription(colorWheel->Complementary), colorWheel->Complementary);
+ typeCombo->insertItem(colorWheel->getTypeDescription(colorWheel->Split), colorWheel->Split);
+ typeCombo->insertItem(colorWheel->getTypeDescription(colorWheel->Triadic), colorWheel->Triadic);
+ typeCombo->insertItem(colorWheel->getTypeDescription(colorWheel->Tetradic), colorWheel->Tetradic);
+ typeCombo_activated(typeCombo->currentItem());
+
+ // signals and slots connections
+ connect(typeCombo, SIGNAL(activated(int)), this, SLOT(typeCombo_activated(int)));
+ connect(colorWheel, SIGNAL(clicked(int, const QPoint&)), this, SLOT(colorWheel_clicked(int, const QPoint&)));
+ colorWheel_clicked(0, QPoint(0, 0));
+ connect(angleSpin, SIGNAL(valueChanged(int)), this, SLOT(angleSpin_valueChanged(int)));
+ connect(brightnessSpin, SIGNAL(valueChanged(int)), this, SLOT(brightnessSpin_valueChanged(int)));
+ connect(addButton, SIGNAL(clicked()), this, SLOT(addButton_clicked()));
+ connect(cancelButton, SIGNAL(clicked()), this, SLOT(cancelButton_clicked()));
+}
+
+/*
+ * Destroys the object and frees any allocated resources
+ */
+ColorWheelDialog::~ColorWheelDialog()
+{
+ // no need to delete child widgets, Qt does it all for us
+}
+
+/*
+ * Sets the strings of the subwidgets using the current
+ * language.
+ */
+void ColorWheelDialog::languageChange()
+{
+ setCaption(tr("Color Wheel"));
+ colorList->addColumn(tr("Color"));
+ colorList->addColumn(tr("Value"));
+ colorList->addColumn(tr("Name"));
+ typeLabel->setText(tr("Select Method:"));
+ angleLabel->setText(tr("Angle (0 - 365 degrees):"));
+ brightnessLabel->setText(tr("Brightness (0 - 255):"));
+ addButton->setText(tr("&Add Colors"));
+ cancelButton->setText(tr("&Cancel"));
+
+}
+
+void ColorWheelDialog::fillColorList()
+{
+ colorList->clear();
+ for (QMap<QString,CMYKColor>::iterator it = colorWheel->colorList.begin(); it != colorWheel->colorList.end(); ++it )
+ {
+ QListViewItem *item = new QListViewItem(colorList);
+ item->setPixmap(0, colorWheel->sample(it.data().getShadeColorProof(brightnessSpin->value())));
+ item->setText(1, it.data().name());
+ item->setText(2, it.key());
+ }
+}
+
+void ColorWheelDialog::typeCombo_activated(int index)
+{
+ colorList->clear();
+ if (index == colorWheel->Monochromatic)
+ {
+ angleSpin->setEnabled(false);
+ colorWheel->makeMonochromatic();
+ }
+ if (index == colorWheel->Analogous)
+ {
+ angleSpin->setEnabled(true);
+ colorWheel->makeAnalogous();
+ }
+ if (index == colorWheel->Complementary)
+ {
+ angleSpin->setEnabled(false);
+ colorWheel->makeComplementary();
+ }
+ if (index == colorWheel->Split)
+ {
+ angleSpin->setEnabled(true);
+ colorWheel->makeSplit();
+ }
+ if (index == colorWheel->Triadic)
+ {
+ angleSpin->setEnabled(false); //TODO
+ colorWheel->makeTriadic();
+ }
+ if (index == colorWheel->Tetradic)
+ {
+ angleSpin->setEnabled(false); //TODO
+ colorWheel->makeTetradic();
+ }
+ fillColorList();
+}
+
+void ColorWheelDialog::colorWheel_clicked(int, const QPoint&)
+{
+ typeCombo_activated(typeCombo->currentItem());
+ //fillColorList();
+}
+
+void ColorWheelDialog::angleSpin_valueChanged(int value)
+{
+ colorWheel->angle = value;
+ typeCombo_activated(typeCombo->currentItem());
+}
+
+void ColorWheelDialog::brightnessSpin_valueChanged(int value)
+{
+ for (QMap<QString,CMYKColor>::iterator it = colorWheel->colorList.begin(); it != colorWheel->colorList.end(); ++it )
+ {
+ CMYKColor c = CMYKColor();
+ c.fromQColor(it.data().getShadeColorProof(value));
+ it.data() = c;
+ }
+ fillColorList();
+
+}
+
+void ColorWheelDialog::addButton_clicked()
+{
+ qDebug("TODO: implement ColorWheel::addButton_clicked");
+ accept();
+}
+
+
+void ColorWheelDialog::cancelButton_clicked()
+{
+ qDebug("TODO: implement ColorWheel::cancelButton_clicked");
+ reject();
+}
/Subik/scribus-colorwheel/colorwheel/cwdialog.cpp
Property changes:
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Revision
\ No newline at end of property
Index: Subik/scribus-colorwheel/colorwheel/colorwheelwidget.h
===================================================================
--- Subik/scribus-colorwheel/colorwheel/colorwheelwidget.h (nonexistent)
+++ Subik/scribus-colorwheel/colorwheel/colorwheelwidget.h (revision 1767)
@@ -0,0 +1,57 @@
+#ifndef COLORWHEELWIDGET_H
+#define COLORWHEELWIDGET_H
+
+#include <qlabel.h>
+#include <qvaluevector.h>
+#include <cmykcolor.h>
+
+
+class ColorWheel : public QLabel
+{
+ Q_OBJECT
+
+ public:
+ ColorWheel(QWidget * parent, const char * name = 0);
+ ~ColorWheel();
+
+ enum MethodType {
+ Monochromatic,
+ Analogous,
+ Complementary,
+ Split,
+ Triadic,
+ Tetradic
+ };
+
+ uint xsize;
+ uint ysize;
+ int angle;
+
+ QPoint actualPoint;
+ QRgb actualRgb;
+ QMap<QString, CMYKColor> colorList;
+
+ void paintWheel(QValueVector<QPoint>);
+ QString getTypeDescription(MethodType aType);
+ QPixmap sample(QColor);
+
+ void makeMonochromatic();
+ void makeAnalogous();
+ void makeComplementary();
+ void makeSplit();
+ void makeTriadic();
+ void makeTetradic();
+
+ signals:
+ void clicked(int, const QPoint &);
+
+ protected:
+ void mouseReleaseEvent(QMouseEvent *);
+ QRgb getPointColor(QPoint);
+ void sampleByAngle(double, QString);
+ double pointAngle(QPoint);
+ void baseColor();
+
+};
+
+#endif
/Subik/scribus-colorwheel/colorwheel/colorwheelwidget.h
Property changes:
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Revision
\ No newline at end of property